Analog to "IN" operator for ABAP?
If I have a parameter into a function module (or subroutine, for that matter), that's a string and I need to process based upon certain groups of the possible values is there a way I can check using something like an "IN" operator?
For example:
IF p_code_in EQ 'A100' OR p_code_in EQ 'A200' OR p_code_in EQ 'A300'.
PERFORM subroutine1.
ELSE...
would become
IF p_code IN ('A100','A200','A300')
ELSE...
Matthew Billingham wrote:>
> >
Jay Sadaram wrote:
> > How about this
> > IF p_code CS ('A100','A200','A300') .
> >
> > CS is contain string
>
> Shouldn't that be:
>
> IF p_code CS 'A100' OR p_code CS 'A200' OR p_code CS 'A300'.
I think this really depends on what the original poster wanted. I think the point of him wanting to replicate the IN functionality (e.g. SQL query), is for reusability. I think that what he's looking for is not having to append to the IF statement for every new "AXXX" value.
Example:
Today it is = IF p_code CS 'A100' OR p_code CS 'A200' OR p_code CS 'A300'.
Tomorrow it may be Today it is = IF p_code CS 'A100' OR p_code CS 'A200' OR p_code CS 'A300' OR p_code CS 'A400'.
Then = IF p_code CS 'A100' OR p_code CS 'A200' OR p_code CS 'A300' OR p_code CS 'A400' OR p_code CS 'A500'.
You get the idea.
I think that to truely replicate a "IN" functionality, a function module is needed. This way, you can simply append the new AXXX value into the input parameter and be done with it.
E.g.
Today it is = call new_function @conditionstring="A100;A200;A300"
Tomorrow = call new_function @conditionstring="A100;A200;A300;A400"
More time pass = call new_function @conditionstring="A100;A200;A300;A400;A500"
A lot more reusable.
Similar Messages
-
PREPARE for Java complains of wrong OS though it is correct for ABAP
Hello Team
I am in the process of upgrading our CRM 5.0 Unicode (Dual Stack -
ABAPJAVA) systems to CRM 2007 Unicode (Dual Stack - ABAPJAVA) system
on a LINUX X84_64 Operating System env.
I am having issues when I start the JPREPARE from the SAP CRM 2007
Upgrade Master DVD on Linux_X86_64 (51033255_19) for the first time as
mentioned in the CRM 2007 Java Upgrade guide. It complains of SAPCAR
file missing and it says OS Linux not supported by this CD.
This is the command I am using - JPREPARE <upgrade directory> from
the Upgrade Master mount point
This is the exact error message I get:- ERROR: Missing
file /sapcd/CRM60_Upg/51033255_19/LINUX_X86_64/SAPCAR. Operating system
Linux not supported by this CD.
where /sapcd/CRM60_Upg/51033255_19/ is the mount point for the SAP CRM
2007 Upgrade Master DVD on Linux_X86_64 (51033255_19)
The upgrade directory is created correctly with
755 permissions and owned by <sid>adm
All it does is it creates a empty exe directory in the upgrade
directory and throws the above mentioned error.
Where as I was able to launch the PREPARE for ABAP succesfully from the
same CRM 2007 Upgrade Master DVD on Linux_X86_64 (51033255_19)
I am in the middle of the PREPARE phase for ABAP and it wanted me to
start the JAVA Prepare phase. I am surprised by this as it did not
throw an error when I started the PREPARE phase for ABAP.
I am stuck with this error and unable to move forward. Can you please
let me know how do I proceed.
Has anyone faced this problem before or am I doing anything wrong here?
Thank you!I was able to get over this by using the DVD - SAP CRM 2007 Java Upgrade for all OS -(51033255_25) upgrade Master DVD.
Thanks! -
Webdynpro for ABAP call non-SAP webservice
Hi,
We have a WAS 7.0 ABAP only, Can we use webdynpro for ABAP to call a Notes's webservice or Weblogic's webservice.
Where can I get the document link?
Edited by: Jeff Lien on Jan 8, 2008 10:47 AM
Edited by: Jeff Lien on Jan 8, 2008 10:49 AMHi this will help u.
Web Dynpro ABAP
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/db22242d-0701-0010-28a2-aeaa1fefd706
Hope that the following also helps you.
Web Dynpro for ABAP (WD4A, WDA) is the SAP standard UI technology for developing Web
applications in the ABAP environment. It consists of a runtime environment and a graphical
development environment with special Web Dynpro tools that are integrated in the ABAP
Workbench (SE80).
Web Dynpro offers the following advantages for application developers:
The use of declarative and graphical tools significantly reduces the implementation
effort
Web Dynpro supports a structured design process
Strict separation between layout and business data
Reuse and better maintainability by using components
The layout and navigation is easily changed using the Web Dynpro tools
Stateful applications are supported that is, if the page is changed and the required
data remains intact so that you can access it at any time throughout the entire
application context.
Note that stateless applications are not possible.
Automatic data transport using data binding
Automatic input check
Automatic operation of the Web Dynpro application using the keyboard
User interface accessibility is supported
Full integration in the reliable ABAP development environment
Web Dynpro Architecture
Definition
Web Dynpro is the SAP NetWeaver programming model for user interfaces (UIs).
The Web Dynpro model is based on the Model View Controller paradigm, and has the
following features that build on the classic dynpro model:
Clear separation of business logic and display logic
Uniform metamodel for all types of user interfaces
Execution on a number of client platforms.
Extensive platform independence of interfaces
Structure
Metamodel Concept
Web Dynpro provides support for developing Web representation of a business application.
You use specific tools to describe the properties of a Web Dynpro application in the form of
Web Dynpro metadata. The necessary source code is then generated automatically and
executed at runtime. In addition to the events offered by the framework, you can also define
your own events for a Web Dynpro application. However, the event handling must always be
programmed in separate source code areas which are executed automatically when the event
is triggered at runtime.
In Web Dynpro, each user interface is always made up of the same basic elements. These
elements of the metamodel can be statically declared using Web Dynpro tools.
It is also possible to implement elements of the metamodel at runtime and to change them or
reintegrate them at runtime. Using these implementations, you can make any changes or
enhancements to a user interface that has been created by declarative methods by
generating new interface structures at runtime.
This means that you can combine declarative processes and the implementation of source
code.
Graphical Development Tools
To support this declarative concept, both the SAP NetWeaver Developer Studio and the
ABAP Workbench contain a range of Web Dynpro tools. You can therefore generate a large
proportion of a Web Dynpro application using the tools provided, without having to create your
own source code. This applies to the following parts of the application:
Data flow between the front end and back end
Layout of the user interface
Properties of user interface elements
The Web Dynpro tools enable you to create source text areas manually within generated
source texts. These areas are not changed if the source code is regenerated.
Separation of Business and Application Logic
Using Web Dynpro enables a clear separation of business logic and display logic. A Web
Dynpro application runs on the front end and has local or remote access to the back end
system via a service. This means that the display logic is contained in the Web Dynpro
application, while the business logic and the persistence of the business objects run in the
back end system. The following options are currently available for connecting Web Dynpro
applications and the back-end system:
An interface generated using adaptive RFC, through which BAPIs of an SAP system
can be called
An interface for calling Web services
A self-generated interface
The source code required for connecting the Web Dynpro application can be generated
from a UML definition of the Web Dynpro interface. A UML definition can be imported
into the Web Dynpro tools as an XML file.
Conversion of the Model-View-Controller
Conversion of the Model-View-Controller Programming Model
Every Web Dynpro application is structured according to the Model View Controller
programming model:
The model forms the interface to the back end system and thus enables the
Web Dynpro application access to data.
The view is responsible for the representation of the data in the browser.
The controller lies between the view and the model. The controller formats
the model data to be displayed in the view, processes the user entries made by the
user, and returns them to the model.
/people/thomas.jung/blog/2006/06/20/web-dynpro-abap-demonstration-videos
http://help.sap.com/saphelp_nw04s/helpdata/en/77/3545415ea6f523e10000000a155106/frameset.htm
with regards,
Hema.
pls give points if helpful. -
How is ist possible to maintain the time dependencies for Abap Privileges?
How is ist possible to maintain the time dependencies for Abap Privileges?
In our Installation of SAP IDM 7.0 SP2 Patch 4 the time dependencies of Abap Roles are imported in the IC by Initial loads Jobs. How can the see / change the dependencies in our IDM Workflow UI? Presently nothing jet is shown, no Attribute is predefined..
Can anybody give us a hint?
Thank you in advance !!If you click VIEW/SHOW PLAYHEAD INFO, you will see the timecodes as you scrub. (Consumer timecodes, not pro timecodes).
This works if you imported your footage from a camcorder, either miniDV or AVCHD.
However, if you have imported an analog file, or saved a DV file to a QuickTime File, you may just see the file creation date in VIEW PLAYHEAD.
However, there is a trick to getting even these clips to display timecodes if you know the start time.
First pick a clip. Make a copy and drag it to your desktop, just so you don't lose anything.
Rename this copy in the following format clip-yyyy-mm-dd hh;mm;ss.current file extension.
For example, clip-2001-07-14 09;30;45.mov (note the space between the day and the hour)
This would be a .mov clip that starts with the first frame at July 14, 2001 at 9:30:45 AM
Then import the clip into iMovie. You now have timecodes at the playhead. -
Was there a change in method names for ABAP Proxies ???
Hi all,
i am wondering if there was a change in the method names when using ABAP proxies.
In my projects there were always the methods execute_synchronous and execute_asynchronous when generating proxies.
In a current project i created some ABAP proxies and the method names are not the same any longer. Now the method takes the name of the Message interface. I observed this in Backendsystems NW2004s (Basis 7.0) with SP14 and 15. It seems that it has changed since the sproxy was integrated in SE80.
Can anybody tell me, how i can use the "old" method names again when generating proxies ?
Best regards,
martinActually i guess they did in more SOA way. If u see it says connecting to ESR rather than integration repository.
Yes. In order to allow several operations for a message interface, the methods of the ABAP proxies get the operation name as method instead of a constant (the Java proxies alwas had this behaviour).
could u pl highlight what other operations are allowed on message interface rather than sending a message to the XI either in synchronous or asynchronous manner?
Thanks and Regards
Rajeev Patkie -
Daily operations for BW?
Hi ~
I'm learning BW 3.5 now and I would like to know what are the daily operations for a BW person. Also, could you provide me with a list of T-Codes and maybe a brief description of what each of them do?
Thanks in advance,
Denny.
P.S. Since I'm learning version 3.5, is there a big difference with BI 7?List of tcodes:
Again search forum before you post....
BALE Area Menu for Administration
CMOD Enhancements
DB02 Tables and Indexes Monitor
DB12 DBA Backup Logs
DB13 DBA Planning Calendar
DB16 Display DB Check Results
FILE Cross-Client File Names/Paths
LISTCUBE List viewer for InfoCubes
LISTSCHEMA Show InfoCube schema
PFCG Role Maintenance
RRMX Start the Business Explorer Analyzer
RS12 Overview of master data locks
RSA1 BW Administrator Workbench
RSA3 Extractor Checker
RSA5 Install Business Content
RSA7 BW Delta Queue Monitor
RSB1 Display authorization object
RSBBS Maintaining BW Sender-Receiver
RSBMO2 Open Hub Monitor
RSBO Open Hub Maintenance
RSBROWSER BW Browser
RSD1 Characteristic maintenance
RSD2 Maintenance of key figures
RSD3 Maintenance of units
RSD4 Maintenance of time characteristics
RSD5 Internal: Maint. of Tech. Chars
RSDCUBE Start: InfoCube editing
RSDCUBEM Start: InfoCube editing
RSDDV Maintaining Aggregates
RSDIOBCM Start: InfoObject catalog editing
RSDODS Initial Screen: ODS Object Processing
RSFH Test Transaction Data Extractors
RSIMG BW IMG
RSKC Maintaining the Permitted Extra Chars
RSMD Extractor Checker
RSMON BW Administrator Workbench
RSO2 Oltp Metadata Repository
RSPC Process Chain Maintenance
RSPCM Monitor daily process chains
RSQ02 Maintain InfoSets
RSQ10 SAP Query: Role Administration
RSQ11 InfoSet Query: Web reporting
RSRQ Data Load Monitor for a Request
RSRT Start of the report monitor
RSRTRACE Set trace configuration
RSRV Analysis and Repair of BW Objects
RSSM Authorizations for Reporting
RSU1 Create update rules
RSU2 Change update rules
RSU3 Display update rules
RSZC Copying Queries between InfoCubes
RSZDELETE Deletion of query objects
RSZV Call up of view V_RSZGLOBV
RZ10 Maintain Profile Parameters
RZ11 Profile Parameter Maintenance
RZ20 CCMS Monitoring
SALE Display ALE Customizing
SAPBWNEWS PRINT SAP BW NEWS
SBIW BIW in IMG for OLTP
SCC4 Client Administration
SCCL Local Client Copy
SE01 Transport Organizer (Extended)
SE09 Transport Organizer
SE10 Transport Organizer
SE11 ABAP Dictionary
SE14 Utilities for Dictionary Tables
SE16 Data Browser
SE36 Logical Database Builder
SE37 ABAP Function Modules
SE38 ABAP Editor
SE84 R/3 Repository Information System
SE91 Message Maintenance
SGEN SAP Load Generator
SM04 User List
SM12 Display and Delete Locks
SM13 Administrate Update Records
SM30 Call View Maintenance
SM31 Call View Maintenance Like SM30
SM36 Schedule Background Job
SM37 Overview of job selection
SM38 Queue Maintenance Transaction
SM50 Work Process Overview
SM51 List of SAP Systems
SM59 RFC Destinations (Display/Maintain)
SM62 Display/Edit Events
SM64 Trigger Event
SM66 System wide Work Process Overview
SNUM Number Range Driver
SPAD Spool Administration
SPAM Support Package Manager
SPRO Customizing - Edit Project
ST02 Setups/Tune Buffers
ST03 Performance, SAP Statistics, Workload
ST04 DB Performance Monitor
ST22 ABAP dump analysis
STMS Transport Management System
SU01 User Maintenance
SU1 Maintain Own User Address
SWU3 Automatic Workflow Customizing
WE07 IDoc statistics
WE20 Partner Profiles
WE21 Port definition
By no means, above is a complete list of transaction. SAP BW system contains many more standard
transactions. In addition to which, there would be some useful custom transactions as well in any
ongoing production system.
Complete list of transactions in your system can be found in SAP table
TSTC and TSTCT (Descriptions).
Also, one can find them, Using SE84 -> Other Objects -> Transactions. -
What is the conditional operator for AND, OR .....?
what is the conditional operator for AND, OR .....? in ABAP language...
AND, OR .. & is not accepting or recognising.
Is these feature available in abap ??? if yes, how to use?
thanks...
shivaHi,
Conditional operator for AND and OR are same AND and OR.
A logical expression consists of comparisons (see expressions 1 to 4 below) and/or selection criteria checks (expression 5) using the operators AND, OR and NOT , as well as the parentheses " (" and ")".
The individual operators, parentheses, values and fields must be separated by blanks:
Incorrect:
f1 = f2 AND (f3 = f4).
Correct:
f1 = f2 AND ( f3 = f4 ).
NOT takes priority over AND, while AND in turn takes priority over OR:
NOT f1 = f2 OR f3 = f4 AND f5 = f6
thus corresponds to
( NOT ( f1 = f2 ) ) OR ( f3 = f4 AND f5 = f6 )
The selection criteria comparisons or checks are processed from left to right. If evaluation of a comparison or check proves part of an expression to be true or false, the remaining comparisons or checks in the expression are not performed.
All data objects that can be converted among each other can be used as operands for logical expressions.
Check if u are using the AND or OR operator this way.
IF f1 AND f2.
ENDIF.
In this case it will throw error. Here it act as relational operator.
Regards,
Prakash -
How to create a node with attributes at runtime in webdynpro for ABAP?
Hi Experts,
How to create a node with attributes at runtime in webdynpro for ABAP? What classes or interfaces I should use? Please provide some sample code.
I have checked IF_WD_CONTEXT_NODE_INFO and there is ADD_NEW_CHILD_NODE method. But this is not creating any node. I this this creates only a "node info" object.
I even check IF_WD_CONTEXT_NODE but i could not find any method that creates a node with attribute.
Please help!
Thanks
GopalHi
I am getting the following error while creating a dynamic context node with 2 attributes. Please help me resolve this problem.
Note
The following error text was processed in the system PET : Line types of an internal table and a work area not compatible.
The error occurred on the application server FMSAP995_PET_02 and in the work process 0 .
The termination type was: RABAX_STATE
The ABAP call stack was:
Method: IF_WD_CONTEXT_NODE~GET_STATIC_ATTRIBUTES_TABLE of program CL_WDR_CONTEXT_NODE_VAL=======CP
Method: GET_REF_TO_TABLE of program CL_SALV_WD_DATA_TABLE=========CP
Method: EXECUTE of program CL_SALV_WD_SERVICE_MANAGER====CP
Method: APPLY_SERVICES of program CL_SALV_BS_RESULT_DATA_TABLE==CP
Method: REFRESH of program CL_SALV_BS_RESULT_DATA_TABLE==CP
Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE_DATA of program CL_SALV_WD_C_TABLE_V_TABLE====CP
Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
Method: IF_SALV_WD_COMP_TABLE_DATA~UPDATE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
Method: IF_SALV_WD_VIEW~MODIFY of program CL_SALV_WD_C_TABLE_V_TABLE====CP
Method: IF_SALV_WD_COMPONENT~VIEW_MODIFY of program CL_SALV_WD_A_COMPONENT========CP
My code is like the following:
TYPES: BEGIN OF t_type,
CARRID TYPE sflight-carrid,
CONNID TYPE sflight-connid,
END OF t_type.
Data: i_struc type table of t_type,
dyn_node type ref to if_wd_context_node,
rootnode_info type ref to if_wd_context_node_info,
i_node_att type wdr_context_attr_info_map,
wa_node_att type line of wdr_context_attr_info_map.
wa_node_att-name = 'CARRID'.
wa_node_att-TYPE_NAME = 'SFLIGHT-CARRID'.
insert wa_node_att into table i_node_att.
wa_node_att-name = 'CONNID'.
wa_node_att-TYPE_NAME = 'SFLIGHT-CONNID'.
insert wa_node_att into table i_node_att.
clear i_struc. refresh i_struc.
select carrid connid into corresponding fields of table i_struc from sflight where carrid = 'AA'.
rootnode_info = wd_context->get_node_info( ).
rootnode_info->add_new_child_node( name = 'DYNFLIGHT'
attributes = i_node_att
is_multiple = abap_true ).
dyn_node = wd_context->get_child_node( 'DYNFLIGHT' ).
dyn_node->bind_table( i_struc ).
l_ref_interfacecontroller->set_data( dyn_node ).
I am trying to create a new node. That is
CONTEXT
- DYNFLIGHT
CARRID
CONNID
As you see above I am trying to create 'DYNFLIGHT' along with the 2 attributes which are inside this node. The structure of the node that is, no.of attributes may vary based on some condition. Thats why I am trying to create a node dynamically.
Also I cannot define the structure in the ABAP dictionary because it changes based on condition
Message was edited by: gopalkrishna baliga -
hi Experts,
while running SQL Query i am getting an error as
The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator. for the query
select T1. Dscription,T1.docEntry,T1.Quantity,T1.Price ,
T2.LineText
from OQUT T0 INNER JOIN QUT1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN
QUT10 T2 ON T1.DocEntry = T2.DocEntry where T1.DocEntry='590'
group by T1. Dscription,T1.docEntry,T1.Quantity,T1.Price
,T2.LineText
how to resolve the issueDear Meghanath,
Please use the following query, Hope your purpose will serve.
select T1. Dscription,T1.docEntry,T1.Quantity,T1.Price ,
CAST(T2.LineText as nvarchar (MAX))[LineText]
from OQUT T0 INNER JOIN QUT1 T1 ON T0.DocEntry = T1.DocEntry LEFT OUTER JOIN
QUT10 T2 ON T1.DocEntry = T2.DocEntry --where T1.DocEntry='590'
group by T1. Dscription,T1.docEntry,T1.Quantity,T1.Price
,CAST(T2.LineText as nvarchar (MAX))
Regards,
Amit -
Using the Execute Preloaded Option for ABAP Dataflows in SAP BODS
Hello All,
This is regarding the use of Advanced Option in SAP Application Type (ECC) Datastore settings in SAP BODS 4.2, where there are two options to select from for ABAP Execution Option property: (1)Generate and Execute and (2) Execute Preloaded. Since our ECC client is often locked by BASIS team even on DEV environment, we would like to make use of the second option 'Execute Preloaded' so that we could extract the data from ECC tables without having to ask the BASIS team to unlock the ECC client every time before extraction.
The problem is that we are getting an error upon generating and uploading the ABAP program to ECC client. I have searched the blogs and so far I have only found that there are certain ABAP programs or function modules that come with SAP BODS which need to be installed by BASIS team on ECC side to allow the ABAP dataflows to be generated and uploaded to ECC server. I would appreciate it if anyone could provide a list of which function modules BASIS needs to install on ECC or a blog that provides details around using this option.
So far, from the SAP BODS designer, we are performing below steps but getting an error upon generating and uploading the ABAP dataflow program:
1. Create a test ABAP Dataflow using SAP ECC datastore. Provide the ABAP program options.
2. Right click, select Generate ABAP Program.
3. Once the ABAP Program Generation Dialog box appears, check the box "Upload Generated Program".
4. Upon clicking OK, we are getting the following error:
The ABAP program <ZRTEST01> for ABAP data flow <RT_TEST_R3> (datastore <R3_DS>) was not uploaded: < RFC CallReceive error <Function /BODS/RFC_ABAP_INSTALL_AND_RUN: RFC_ABAP_MESSAGE- Exception condition "NOT_SUPPORTED_BY_GUI" trigger[SAP NWRFC 720][SAP Partner ### ][clientname][servername][accountname][4103]>. >.
Any help would be greatly appreciated.
Thanks,
RizwanAll,
The BASIS team reviewed steps provided in the BODS document and attempted to install the Function Modules but now none of the BODS jobs would work. All BODS jobs are being terminted with the Syntax Error error when extracting data from ECC using ABAP dataflows:
17740 16404 R3C-150412 06/17/2014 9:38:46 AM |Data flow RT_DF_TEST_PC207
17740 16404 R3C-150412 06/17/2014 9:38:46 AM RFC CallReceive error <Function /BODS/RFC_ABAP_INSTALL_AND_RUN: RFC_ABAP_RUNTIME_FAILURE-(Exception_Key: SYNTAX_ERROR)- Syntax
17740 16404 R3C-150412 06/17/2014 9:38:46 AM error in program /BODS/SAPLBODS .[SAP NWRFC 720][SAP Partner 740 ][DEV1][Server][account][4103]>.
22052 20572 R3C-150412 06/17/2014 9:38:46 AM |Data flow RT_DF_TEST_PC207
22052 20572 R3C-150412 06/17/2014 9:38:46 AM RFC CallReceive error <Function /BODS/RFC_ABAP_INSTALL_AND_RUN: RFC_ABAP_RUNTIME_FAILURE-(Exception_Key: SYNTAX_ERROR)- Syntax
22052 20572 R3C-150412 06/17/2014 9:38:46 AM error in program /BODS/SAPLBODS .[SAP NWRFC 720][SAP Partner 740 ][DEV1][Server][account][4103]>. -
Follow-up webdynpro for abap using portal theme nw2004s, sp12
Hello,
I wanted to get a follow up to this thread,
Re: webdynpro for abap using portal theme nw2004s, sp12
We are having a problem with the way reports developed in Web Dynpro for ABAP displayed in the portal (the pop-ups and dropdowns look out of wack). The issue appears when we wrap the reports into portal themes (either standard or custom). As per the thread (the link for which I posted above), the suggestion was to apply WDFORCEEXTERNALSTYLESHEET parameter to the WDP, however our system doesn't have this parameter in the system, but it seems like I can create my own parameter. Can some on give me all of the properties assigned to WDFORCEEXTERNALSTYLESHEET in table WDY_APP_PROP_DEF.
Thank youHi Brad, I was trying to apply the note 1033496 but our ABAP servers does not have the WDFORCEEXTERNALSTYLESHEET parameter available in WDY_APP_PROP_DEF table. All other notes are not applicable to our issue.
The portal is NW2004s SP12, the ABAP server is NW2004 SP11
Regards.
Message was edited by:
Aleks Ozerov -
N4S: Web Dynpro for ABAP layout editor not working
Have problem in Layout editor in Web Dynpro for ABAP
I have installed NW04S Testdrive on 64bit Linux and able to login.
SE80 is working alright.
Next I create a Web Dynpro Comp. / Intf. and create a component.
I double click on the View name "V_Default" . The Layout editor opens on the right side. Change into Edit Mode.
The "View Elements" panel on the left side of layout editor is missing. This is where we select the various elements like "Textview" etc.
Even the right click on the "ROOTUIELEMENTCONTAINER" to insert elements using context menu does not work.
In summary I am not able to add any element in WD4A Layout screen.
Is there any special plugin required to be installed?
How to solve this problem?you cannot develope Webdynpro for ABAP using ECC5
This is available with netweaver 2004s (WAS7.0) for which ramp up is going on right now and the general availability is expected sometime around 1st quarter for 2006.
Regards
Raja -
DataTable Exception: Invalid operation for the current cursor position
I have a JSF application that lists rows from a view in a SQL Server database. I have set up a commandLinks in an extra columns.
The data is displayed properly, but when I select one of the commandLinks I get the "Invalid operation for the current cursor position" exception.
Here's the source
Domain.jsp
<?xml version="1.0" encoding="UTF-8"?>
<jsp:root version="1.2" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page">
<jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
<f:view>
<html lang="en-US" xml:lang="en-US">
<head>
<meta content="no-cache" http-equiv="Cache-Control"/>
<meta content="no-cache" http-equiv="Pragma"/>
<title>Page1 Title</title>
<link href="resources/stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body style="-rave-layout: grid">
<h:form binding="#{Domains.form1}" id="form1">
<h:dataTable binding="#{Domains.dataTable1}" headerClass="list-header" id="dataTable1" rowClasses="list-row-even,list-row-odd"
value="#{Domains.dataTable1Model}" var="currentRow">
<h:column binding="#{Domains.column9}" id="column9">
<h:selectBooleanCheckbox binding="#{Domains.checkbox2}" id="checkbox2"/>
<f:facet name="header">
<h:outputText binding="#{Domains.outputText9}" id="outputText9" value="Select"/>
</f:facet>
</h:column>
<h:column binding="#{Domains.column10}" id="column10">
<f:facet name="header">
<h:outputText binding="#{Domains.outputText4}" id="outputText4" value="Name"/>
</f:facet>
<h:commandLink action="#{Domains.groupList}" binding="#{Domains.linkAction1}" id="linkAction1">
<h:graphicImage binding="#{Domains.image1}" id="image1" url="resources/images/domain16.gif" value="resources/images/domain16.gif"/>
<h:outputText binding="#{Domains.linkAction1Text}" id="linkAction1Text" value="#{currentRow['name']}"/>
</h:commandLink>
</h:column>
<h:column binding="#{Domains.column3}" id="column3">
<h:outputText binding="#{Domains.outputText5}" id="outputText5" value="#{currentRow['description']}"/>
<f:facet name="header">
<h:outputText binding="#{Domains.outputText6}" id="outputText6" value="Description"/>
</f:facet>
</h:column>
<h:column binding="#{Domains.column4}" id="column4">
<h:selectBooleanCheckbox binding="#{Domains.checkbox1}" id="checkbox1" value="#{Domains.domainviewRowSet.currentRow['enabled']}==1"/>
<f:facet name="header">
<h:outputText binding="#{Domains.outputText8}" id="outputText8" value="Enabled"/>
</f:facet>
</h:column>
<h:column binding="#{Domains.column7}" id="column7">
<h:outputText binding="#{Domains.outputText13}" id="outputText13" value="#{currentRow['userCount']}"/>
<f:facet name="header">
<h:outputText binding="#{Domains.outputText14}" id="outputText14" value="Users"/>
</f:facet>
</h:column>
<h:column binding="#{Domains.column8}" id="column8">
<h:outputText binding="#{Domains.outputText15}" id="outputText15" value="#{currentRow['groupCount']}"/>
<f:facet name="header">
<h:outputText binding="#{Domains.outputText16}" id="outputText16" value="Groups"/>
</f:facet>
</h:column>
<h:column binding="#{Domains.column5}" id="column5">
<f:facet name="header">
<h:outputText binding="#{Domains.outputText17}" id="outputText17" value="Actions"/>
</f:facet>
<h:commandLink action="#{Domains.editDomain}" binding="#{Domains.linkAction2}" id="linkAction2">
<h:graphicImage binding="#{Domains.image2}" id="image2" title="Edit" value="resources/images/edit.gif"/>
</h:commandLink>
<h:commandLink binding="#{Domains.linkAction3}" id="linkAction3">
<h:graphicImage binding="#{Domains.image3}" id="image3" title="View" url="resources/images/view.gif" value="resources/images/view.gif"/>
</h:commandLink>
<h:commandLink binding="#{Domains.linkAction4}" id="linkAction4">
<h:graphicImage binding="#{Domains.image4}" id="image4" title="Delete" value="resources/images/delete.gif"/>
</h:commandLink>
</h:column>
</h:dataTable>
</h:form>
</body>
</html>
</f:view>
</jsp:root>
Domains.java
* Page1.java
* Created on October 28, 2004, 12:45 PM
* Copyright Gordon.Bell
package usergroupmgt;
import javax.faces.*;
import com.sun.jsfcl.app.*;
import javax.faces.component.html.*;
import com.sun.jsfcl.data.*;
import javax.faces.component.*;
import com.sun.sql.rowset.*;
import javax.faces.convert.*;
public class Domains extends AbstractPageBean {
// <editor-fold defaultstate="collapsed" desc="Creator-managed Component Definition">
private int __placeholder;
private HtmlForm form1 = new HtmlForm();
public HtmlForm getForm1() {
return form1;
public void setForm1(HtmlForm hf) {
this.form1 = hf;
private HtmlDataTable dataTable1 = new HtmlDataTable();
public HtmlDataTable getDataTable1() {
return dataTable1;
public void setDataTable1(HtmlDataTable hdt) {
this.dataTable1 = hdt;
private JdbcRowSetXImpl domainviewRowSet = new JdbcRowSetXImpl();
public JdbcRowSetXImpl getDomainviewRowSet() {
return domainviewRowSet;
public void setDomainviewRowSet(JdbcRowSetXImpl jrsxi) {
this.domainviewRowSet = jrsxi;
private HtmlOutputText outputText4 = new HtmlOutputText();
public HtmlOutputText getOutputText4() {
return outputText4;
public void setOutputText4(HtmlOutputText hot) {
this.outputText4 = hot;
private UIColumn column3 = new UIColumn();
public UIColumn getColumn3() {
return column3;
public void setColumn3(UIColumn uic) {
this.column3 = uic;
private HtmlOutputText outputText5 = new HtmlOutputText();
public HtmlOutputText getOutputText5() {
return outputText5;
public void setOutputText5(HtmlOutputText hot) {
this.outputText5 = hot;
private HtmlOutputText outputText6 = new HtmlOutputText();
public HtmlOutputText getOutputText6() {
return outputText6;
public void setOutputText6(HtmlOutputText hot) {
this.outputText6 = hot;
private UIColumn column4 = new UIColumn();
public UIColumn getColumn4() {
return column4;
public void setColumn4(UIColumn uic) {
this.column4 = uic;
private HtmlOutputText outputText8 = new HtmlOutputText();
public HtmlOutputText getOutputText8() {
return outputText8;
public void setOutputText8(HtmlOutputText hot) {
this.outputText8 = hot;
private UIColumn column7 = new UIColumn();
public UIColumn getColumn7() {
return column7;
public void setColumn7(UIColumn uic) {
this.column7 = uic;
private HtmlOutputText outputText13 = new HtmlOutputText();
public HtmlOutputText getOutputText13() {
return outputText13;
public void setOutputText13(HtmlOutputText hot) {
this.outputText13 = hot;
private HtmlOutputText outputText14 = new HtmlOutputText();
public HtmlOutputText getOutputText14() {
return outputText14;
public void setOutputText14(HtmlOutputText hot) {
this.outputText14 = hot;
private UIColumn column8 = new UIColumn();
public UIColumn getColumn8() {
return column8;
public void setColumn8(UIColumn uic) {
this.column8 = uic;
private HtmlOutputText outputText15 = new HtmlOutputText();
public HtmlOutputText getOutputText15() {
return outputText15;
public void setOutputText15(HtmlOutputText hot) {
this.outputText15 = hot;
private HtmlOutputText outputText16 = new HtmlOutputText();
public HtmlOutputText getOutputText16() {
return outputText16;
public void setOutputText16(HtmlOutputText hot) {
this.outputText16 = hot;
private HtmlSelectBooleanCheckbox checkbox1 = new HtmlSelectBooleanCheckbox();
public HtmlSelectBooleanCheckbox getCheckbox1() {
return checkbox1;
public void setCheckbox1(HtmlSelectBooleanCheckbox hsbc) {
this.checkbox1 = hsbc;
private UIColumn column5 = new UIColumn();
public UIColumn getColumn5() {
return column5;
public void setColumn5(UIColumn uic) {
this.column5 = uic;
private UIColumn column9 = new UIColumn();
public UIColumn getColumn9() {
return column9;
public void setColumn9(UIColumn uic) {
this.column9 = uic;
private HtmlSelectBooleanCheckbox checkbox2 = new HtmlSelectBooleanCheckbox();
public HtmlSelectBooleanCheckbox getCheckbox2() {
return checkbox2;
public void setCheckbox2(HtmlSelectBooleanCheckbox hsbc) {
this.checkbox2 = hsbc;
private HtmlOutputText outputText9 = new HtmlOutputText();
public HtmlOutputText getOutputText9() {
return outputText9;
public void setOutputText9(HtmlOutputText hot) {
this.outputText9 = hot;
private UIColumn column10 = new UIColumn();
public UIColumn getColumn10() {
return column10;
public void setColumn10(UIColumn uic) {
this.column10 = uic;
private RowSetDataModel dataTable1Model = new RowSetDataModel();
public RowSetDataModel getDataTable1Model() {
return dataTable1Model;
public void setDataTable1Model(RowSetDataModel rsdm) {
this.dataTable1Model = rsdm;
private BooleanConverter booleanConverter1 = new BooleanConverter();
public BooleanConverter getBooleanConverter1() {
return booleanConverter1;
public void setBooleanConverter1(BooleanConverter bc) {
this.booleanConverter1 = bc;
private HtmlCommandLink linkAction1 = new HtmlCommandLink();
public HtmlCommandLink getLinkAction1() {
return linkAction1;
public void setLinkAction1(HtmlCommandLink hcl) {
this.linkAction1 = hcl;
private HtmlOutputText linkAction1Text = new HtmlOutputText();
public HtmlOutputText getLinkAction1Text() {
return linkAction1Text;
public void setLinkAction1Text(HtmlOutputText hot) {
this.linkAction1Text = hot;
private HtmlGraphicImage image1 = new HtmlGraphicImage();
public HtmlGraphicImage getImage1() {
return image1;
public void setImage1(HtmlGraphicImage hgi) {
this.image1 = hgi;
private HtmlCommandLink linkAction2 = new HtmlCommandLink();
public HtmlCommandLink getLinkAction2() {
return linkAction2;
public void setLinkAction2(HtmlCommandLink hcl) {
this.linkAction2 = hcl;
private HtmlGraphicImage image2 = new HtmlGraphicImage();
public HtmlGraphicImage getImage2() {
return image2;
public void setImage2(HtmlGraphicImage hgi) {
this.image2 = hgi;
private HtmlCommandLink linkAction3 = new HtmlCommandLink();
public HtmlCommandLink getLinkAction3() {
return linkAction3;
public void setLinkAction3(HtmlCommandLink hcl) {
this.linkAction3 = hcl;
private HtmlGraphicImage image3 = new HtmlGraphicImage();
public HtmlGraphicImage getImage3() {
return image3;
public void setImage3(HtmlGraphicImage hgi) {
this.image3 = hgi;
private HtmlCommandLink linkAction4 = new HtmlCommandLink();
public HtmlCommandLink getLinkAction4() {
return linkAction4;
public void setLinkAction4(HtmlCommandLink hcl) {
this.linkAction4 = hcl;
private HtmlGraphicImage image4 = new HtmlGraphicImage();
private HtmlOutputText outputText17 = new HtmlOutputText();
public HtmlOutputText getOutputText17() {
return outputText17;
public void setOutputText17(HtmlOutputText hot) {
this.outputText17 = hot;
public HtmlGraphicImage getImage4() {
return image4;
public void setImage4(HtmlGraphicImage hgi) {
this.image4 = hgi;
// </editor-fold>
public Domains() {
// <editor-fold defaultstate="collapsed" desc="Creator-managed Component Initialization">
try {
domainviewRowSet.setDataSourceName("java:comp/env/jdbc/HBird");
domainviewRowSet.setCommand("SELECT ALL dbo.DomainView.id, dbo.DomainView.name, dbo.DomainView.description, dbo.DomainView.enabled, dbo.DomainView.created, dbo.DomainView.modified, dbo.DomainView.userCount, dbo.DomainView.groupCount FROM dbo.DomainView");
dataTable1Model.setDataCacheKey("com.sun.datacache.Domains.domainviewRowSet");
dataTable1Model.setRowSet(domainviewRowSet);
dataTable1Model.setSchemaName("");
dataTable1Model.setTableName("");
} catch (Exception e) {
log("Page1 Initialization Failure", e);
throw e instanceof javax.faces.FacesException ? (FacesException) e : new FacesException(e);
// </editor-fold>
// Additional user provided initialization code
// try {
// domainviewRowSet.execute();
// domainviewRowSet.next();
// } catch (Exception ex) {
// throw new FacesException(ex);
protected usergroupmgt.ApplicationBean1 getApplicationBean1() {
return (usergroupmgt.ApplicationBean1)getBean("ApplicationBean1");
protected usergroupmgt.SessionBean1 getSessionBean1() {
return (usergroupmgt.SessionBean1)getBean("SessionBean1");
* Bean cleanup.
protected void afterRenderResponse() {
domainviewRowSet.close();
public String groupList() {
// User event code here...
return "groupList";
public String editDomain() {
// User event code here...
return "editDomain";
}and the exception stack:
Stack trace:
com.sun.jsfcl.data.ResultSetPropertyResolver$RowData.getData(Unknown Source)
com.sun.jsfcl.data.ResultSetPropertyResolver.getValue(Unknown Source)
com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:167)
com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:151)
com.sun.faces.el.MixedELValueBinding.getValue(MixedELValueBinding.java:80)
javax.faces.component.UIOutput.getValue(UIOutput.java:147)
javax.faces.component.UIInput.validate(UIInput.java:639)
javax.faces.component.UIInput.executeValidate(UIInput.java:838)
javax.faces.component.UIInput.processValidators(UIInput.java:412)
javax.faces.component.UIData.iterate(UIData.java:969)
javax.faces.component.UIData.processValidators(UIData.java:781)
javax.faces.component.UIForm.processValidators(UIForm.java:170)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:904)
javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:342)
com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:78)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:246)
java.security.AccessController.doPrivileged(AccessController.java:-2)
javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:236)
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145)
java.security.AccessController.doPrivileged(AccessController.java:-2)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:141)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:214)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:168)
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:144)
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:133)
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:539)
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
com.sun.enterprise.webservice.EjbWebServiceValve.invoke(EjbWebServiceValve.java:134)
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
com.sun.enterprise.security.web.SingleSignOn.invoke(SingleSignOn.java:254)
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
com.sun.enterprise.web.VirtualServerValve.invoke(VirtualServerValve.java:209)
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:114)
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
com.sun.enterprise.web.VirtualServerMappingValve.invoke(VirtualServerMappingValve.java:166)
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:936)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:165)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:683)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:604)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:542)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:647)
java.lang.Thread.run(Thread.java:534)Any help is appreciated.Hi,
Looks like some inconsistency in the jsp source:
in the 2nd link the url property is set. I don't think
you need to set this.
I couldn't tell what action you want to occur when you
click. If you want some action to occur such as
navigating to another page then you can use Page Navigation. Then you would need an action handler
for the LinkAction component.
<h:commandLink action="#{Domains.editDomain}" binding="#{Domains.linkAction2}" id="linkAction2">
<h:graphicImage binding="#{Domains.image2}" id="image2" title="Edit" value="resources/images/edit.gif"/>
</h:commandLink>
<h:commandLink binding="#{Domains.linkAction3}" id="linkAction3">
<h:graphicImage binding="#{Domains.image3}" id="image3" title="View" url="resources/images/view.gif" value="resources/images/view.gif"/>
</h:commandLink>
<h:commandLink binding="#{Domains.linkAction4}" id="linkAction4">
<h:graphicImage binding="#{Domains.image4}" id="image4" title="Delete" value="resources/images/delete.gif"/>
</h:commandLink>
John
JSC QA -
Import Data from Office Control (Web Dynpro for ABAP) into internal-Table
Hello,
I have a question concerning the Office Control UI-Eelement in Web Dynpro for ABAP:
How can I import spreadsheet data from the Office Control into a internal-table?
I have an Excel-sheet (without any data) which is shown initially in the Office Control. First the empty Excel-Sheet will be loaded and in the second step data from an alvxml-transformation will be loaded into the Excel-sheet with the method 'activatexmlsource'. This works so far. When I change the loaded data in the Office Control and save it it will be stored as XLS-File. The problem is that I'm not able to use existing Upload-FM because every function module I tried uses GUI-functions and WebDynpro has no GUI-functionality. I always get the error that data from clipboard cannot be imported.
So now the question is:
How can I import changed data from the Office control into a internal-table staying in Web Dynpro application?
Please give some advice, if you have some useful code or ideas.
Thanks
ram
Edited by: Ramakullay Challa on Sep 24, 2009 9:05 AM
Edited by: Ramakullay Challa on Sep 24, 2009 9:07 AMHi,
Once you save to desktop again you have made some changes to that file, this file you want to upload it right.
Then in that case you need to use the FILEUPLOAD UI element right.
Regards,
Lekha. -
Web Dynpro for ABAP:How to insert and delete a row in a table
I have a table.
My requirement is to insert a row into the table and i want to delete a particular row also.
How can i do it.
Plz reply me..Try the Web Dynpro for ABAP forum:
Web Dynpro ABAP
Kind Regards
Stefanie
Maybe you are looking for
-
Error 500--Internal Server Error when running Facelet in Local Server
Hi Experts, I have installed M2E plugin for eclipse and working on a Maven project in OEPE 12c. Running the facelet on the remote server , the results are returned, wheras running the facelet in the local server , the below error occurs Error 500--In
-
HP Printer 6500a plus losing network connection
My wireless HP 6500a plus will lose connection with router. ATT Netgear. Have tried just about everything. Not exactly sure how to make printer an static ip.....Thanks
-
When i am using the mac. often it will suddenly freeze, only the coloured loading wheel still moving. I will leave it for hours to unfreeze but nothing. The only remedy is to turn it off by the button. Moreover, sometimes when i turn it on it gets st
-
Can a PDF template be created with editable and non-editable areas?
Hi Sorry - probably a bit of a newbie question but i can't find an answer to this anywhere. Hope i'm also posting in the most relevant forum - apologies if i'm not. I have been asked by a client if i can create (from an existing illustrator CS4 file)
-
How to istall windows 7 on macbook pro 15"?
how to istall windows 7 64 bit on macbook pro 15"? i did it but win 7 did not see superdrive , airport , graphic card !!