Enumerations in ABAP?
I am new to ABAP and have come from several years of C# development. I don't see any way to create an enumeration in ABAP. What is the recommended method restricting input to a public attribute to a discrete set of values that can be checked at compile time?
I also tried creating a Domain and then creating an attribute of that type on a class thinking that setting the attribute to something not in the domain list would cause an error but, alas, it did not. Could you use Domains to restrict input to an attribute or am I delusional?
Also, on an unrelated issue, when ABAP says "line type" or "line" is that just another way of saying "row"/"row-type", at least when referring to tables?
Similar Messages
-
Problems with populating Drop Down List (WD ABAP)
Hi,
I am trying to populate two Drop Down fields CARRID and CONNID (Type Table SPFLI) on an Adobe Interactive Form in a Web Dynpro ABAP Application.
In the WD Context I have a node "Flights" with those attributes.
In the WDDOINIT I populate the Context elements (just for test purposes with all entries of SPFLI).
[code]
DATA:
node_flights TYPE REF TO if_wd_context_node,
elem_flights TYPE REF TO if_wd_context_element,
stru_flights TYPE wd_this->element_flights,
it_flights TYPE TABLE OF spfli.
SELECT carrid connid FROM spfli INTO TABLE it_flights.
navigate from <CONTEXT> to <FLIGHTS> via lead selection
node_flights = wd_context->get_child_node( name = wd_this->wdctx_flights ).
node_flights->bind_table(
new_items = it_flights
set_initial_elements = ABAP_FALSE
[/code]
According to this
Re: adobe form/reader error I bound the element values property of the Enumerated Drop Down List to [code]$record.sap-vhlist.CARRID.item[*][/code], whereas <i>Object Text</i> is "Text" and <i>Object Value</i> is "Key".
Unfortunately the DDLs on the Adobe Form are not populated with the values read from the table. I debugged the application and the values are written to the Context node.
Do you have any further hints?
Best regards,
Robin
Message was edited by:
Robin WennemuthRobin:
Did you get this resolved? Would you please tell me how you got it done?
Thank you,
Fred. -
F4 help in online interactive forms using ABAP
Hi,
Question 1:
I am able to get f4 help in online interactive form using ABAP. but after selecting the value from pop-up the value is not populated in PDF field. Can u help regardiing this.
Question 2:
I am able to get f4 help in online interactive form using value help dropdown, first time if i click the dropdown button it is showing the popup, if i click second time it is not showing the popup.
Thanks & Regards,
KrishnaHi,
1. I you are woking from the Web Dynpro for ABAP then after binding the Context variable in the view, and in the Adobe Layout Designer from the Library goto WebDynpro Native Tab and drag and drop the Value Help and for this automatically JavaScript is being generated, go that script and edit the line
Var fieldname = "yourfieldname";
Note: dont forget to link the context attribute to search help. ie. in the context properties of the attributes select the input help mode as dictionary search help and specify the name of the search help present in data dictionary.
And now go to Utilities and click on u201CInsert Web Dynpro Scriptu201D.
Also make sure that you specify the Layout as ZCI Layout in the Propertioes of the Adobe Form.
2. Only the Submit button , the Enumerated Drop-Down List as well as the Value help button from the Web Dynpro Native library of Adobe LiveCycle Designer are supported. Check SAP Note: 1098009
Regards
Pradeep Goli -
Hi All,
Recently there was an SAP audit conducted in our landscape and SAP found as below (SAP User Enumeration (High Risk))
"During our testing and enumeration we managed to extract a list of SAP processes and SAP users from the ABAP syslog.
It is important to note that a number of SAP installations have been identified each with different users. It is also important to note that each of the installations was tested against common and new exploits available for SAP systems without success".
Could any please advice on this.
Warm Regards,
Sudhakar Gsent
-
Closing a Enumerated DropDown List in Adobe form
I have an adobe form where we used Enumerated Drop down Lists for search helps. The problem is right now we dont have option to close the Enumerated DropDown List. It closes when we select a value or sometimes if we try "ESC" key. But we want to have a "Close"/"X" button like in normal search help.
Letme know if there is any solution or an Alternate way to close the Enumerated Drop Down List from Adobe Form by just hitting a close/X button. Each value help has over 500 values, so we cannot use normal dropdowns, letme know if any other suggestions.
Edited by: Phani Rajesh Mullapudi on Jun 21, 2010 8:14 PMHello Arafat,
I am using a drop down list in Adobe Interactive Form for Web Dynpro ABAP.
The form is of ZCI type layout and the form interface is of XML schema-based interface type and the XML schema source is set to "Generated".
I have included the following code in WDDOINIT method of the view:
data: handle1 type ref to if_wd_context_node,
begin of zstruct,
zktokd type kna1-ktokd,
end of zstruct,
zitab type table of zsttxecr.
handle1 = wd_context->get_child_node( name = 'DATA.NODE1' ).
select ktokd from kna1 into corresponding fields of zstruct.
append zstruct to zitab.
endselect.
handle1->bind_table( new_items = zitab ).
In the Adobe Form Designer, i have binded the node NODE1 to the enumerated drop down list from native web dynpro library. Still the drop down box is not getting populated.
Please let me know what is missing.
Thanks and Regards. -
Issue in Creation of XML file from ABAP data
Hi,
I need to create a XML file, but am not facing some issues in creation of XML file, the in the required format.
The required format is
-<Header1 1st field= u201CValueu201D 2nd field= u201CValueu201D>
- <Header2 1st field= u201CValueu201D 2nd field= u201CValueu201Du2026u2026. Upto 10 fields>
<Header3 1st field= u201CValueu201D 2nd field= u201CValueu201Du2026u2026. Upto 6 fields/>
<Header4 1st field= u201CValueu201D 2nd field= u201CValueu201Du2026u2026. Upto 4 fields/.>
<Header5 1st field= u201CValueu201D 2nd field= u201CValueu201Du2026u2026. Upto 6 fields/>
</Header2>
</Header1>
Iu2019m using the call transformation to convert ABAP data to XML file.
So please anybody can help how to define XML structure in transaction XSLT_TOOL.
And one more thing, here I need to put the condition to display the Header 3, Header 4, Header 5 values. If there is no record for a particular line item in header 3, 4 & 5, I donu2019t want to display full line items; this is only for Header 3, 4 & 5.
Please help me in this to get it resolved.Hello,
you can use CALL TRANSFORMATION id, which will create a exact "print" of the ABAP data into the XML.
If you need to change the structure of XML, you can alter your ABAP structure to match the requirements.
Of course you can create your own XSLT but that is not that easy to describe and nobody will do that for you around here. If you would like to start with XSLT, you´d better start the search.
Regards Otto -
Logical command in ABAP.....Urgent
Hi,
i am pretty new using ABAP program so i neeed help urgently. i am trying to move a file on the application server from one directory to the other and i was using the open dataset function to do that. but the file i am trying to move is pretty big and because i am using internal table to store, it is causing problems with the space.
i have consulted the basis guys and they have managed to create a logical file for copying from one directory to the other on the application server. to help you furthter. i am enclosing the mail sent to me.
I have created a logical command which should copy the file from one location to the other but you need to pass it the source dir and file name and the destination dir and file name.
The logical command is ZCOPY and uses cmd /c copy
Copies one or more files to another location.
COPY [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]
source Specifies the file or files to be copied.
/A Indicates an ASCII text file.
/B Indicates a binary file.
destination Specifies the directory and/or filename for the new file(s).
/V Verifies that new files are written correctly.
/N Uses short filename, if available, when copying a file with a
non-8dot3 name.
/Y Suppresses prompting to confirm you want to overwrite an
existing destination file.
/-Y Causes prompting to confirm you want to overwrite an
existing destination file.
/Z Copies networked files in restartable mode.
The switch /Y may be preset in the COPYCMD environment variable.
This may be overridden with /-Y on the command line. Default is
to prompt on overwrites unless COPY command is being executed from
within a batch script.
the problem now is i have no idea about how to use the logical command. can any one help me.
Thank you,
Ravi.If memory is not an issue, then there should be no reason why this should not work.
report zrich_0001.
parameters: d1 type localfile default '/usr/sap/TST/SYS/Data1.txt',
d2 type localfile default '/usr/sap/TST/SYS/Data2.txt'.
data: itab type table of string with header line.
start-of-selection.
* Read old file
open dataset d1 for input in text mode.
if sy-subrc = 0.
do.
read dataset d1 into itab.
if sy-subrc <> 0.
exit.
endif.
append itab.
enddo.
endif.
close dataset d1.
* Write to new file
open dataset d2 for output in text mode.
loop at itab.
transfer itab to d2.
endloop.
close dataset d2.
* Delete the old file
delete dataset d1.
Regards,
Rich Heilman -
Logical Database in Abap Objects
Hi to All
I want do it a program report using a Logical Database.
Is this possible ??? But when I make a GET <node>, occurs the following error:
"" Statement "ENDMETHOD" missing. ""
I'm doing the following:
CLASS MONFIN IMPLEMENTATION.
METHOD TRAER_DATOS.
GET VBRK.
ENDMETHOD.
ENDCLASS.
Please, somebody tell me how I use the logical database in Abap Objects.
Thank you very much
Regards
Dario R.Hi there
Logical databases whilst of "some use" are not really part of OO.
If you want to use a logical database in an abap OO program I would create a special class which just does the get data from your DB and pass this either at record or table level.
Techniques such as GET XXXX LATE aren't really part of any OO type of application since at Object Instantiation time you should be able to access ALL the attributes of that object.
As far as OO is concerned Logical databases are a throwback to "Dinosaur Technology".
Since however modules such as SD and FI are still heavily reliant on relational structures (i.e linked tables etc) then there is still some limited life in this stuff but for OO try and solve it by another method.
If you really must use this stuff in OO then do it via a FMOD call and save the data in a table which your method will pass back to your application program.
You can't issue a GET command directly in a method.
Cheers
Jimbo -
LOGICAL DATABASE IN HR ABAP PRPGRAMMING
Hi Friends,
what is use of LOGICAL DATABASE IN HR ABAP PROGRAMMING
AND END-OF-SELECTION EVENT IN HR PROGRAMMING PROGRAMMING???
regards,
vijay.hi
HR Logical Databases
In Human Resources (HR), the following logical databases can be used as a data source for HR InfoSets:
PNP (PNPCE)
PAP
PCH
By selecting a logical database, you determine the HR data that can be reported on using an InfoSet.
Logical Database PCH
This logical database generally enables you to report on all HR infotypes. However, you are advised not to use this logical database unless you want to report on Personnel Planning data.
Logical Database PNP (or PNPCE)
Use logical database PNP to report on HR master data. It is possible to use logical database PCH to access this data, but PNP meets such reporting requirements more quickly because it is best suited to the task of selecting persons.
Logical database PNP enables you to access HR master data and infotypes from Personnel Planning. For example, you have the following options:
Reporting on the costs, number of attendees booked, and instructor for a business event on which an employee is booked
Reporting on working time and planned compensation for a position that an employee occupies
Reporting on the validity and proficiency of a qualification that an employee fulfils
From a technical perspective, this means you can use PNP to report on all of the infotypes that exist for objects (infotype 1000) that have a direct relationship (infotype 1001) with the Person object.
The ability to access infotypes from Personnel Planning using logical database PNP is a special feature that you can only use in the context of SAP Query and Ad Hoc Query. You cannot use this functionality for ABAP reports you programmed yourself.
You can also use logical database PNP to report on data from Personnel Time Management (infotypes 2000 to 2999) and Payroll (special payroll infotypes for the USA and customer infotypes; for more information, access Customizing for the Human Resources Information System and see Payroll Results).
Logical Database PAP
Logical database PAP enables you to access data from Recruitment.
regards
navjot
reward if helpfull -
Dear SDN,
In an integration scenario we are using sender File Adapter and a ABAP XSLT Mapping.
Is there any way to get the source FileName from such mapping. Im trying to use the adapter-specific message attributes, but it doesn't work, and I didn´t find an example, probably I and doing somthing wrong.
regards,
GPThank you for your help,
I just try to access the adapter-specific attibutes using:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:key="java:com.sap.aii.mapping.api.DynamicConfigurationKey">
<xsl:variable name="filename" select="key:create('http://sap.com/xi/XI/System/File', 'Directory')" />
</xsl:stylesheet>
but the following error raised:
<SAP:Stack>Error while calling mapping program YXSLT_TEST (type Abap-XSLT, kernel error ID CX_XSLT_RUNTIME_ERROR) Call of unknown function</SAP:Stack>
have you had this situation? -
ABAP-- diff between sy-sy-tabix and sy-index
Hi Guru's,
Pleae can anybody expalins me what is the difference between sy-tabix and sy-index(Loop Index) ?
Because in one case i am Modifyimg the internal table inside the do loop by giving sy-index ((Index of Internal Tables)(MODIFY scarr_tab INDEX sy-index FROM scarr_wa TRANSPORTING currcode. ) in the syntax and in other case inside loop statement i am modifyng same record by giving sy-tabix MODIFY scarr_tab INDEX sy-tabix FROM scarr_wa TRANSPORTING currcode.) in the syntax.
in both cases its working fine but i am not getting which one i have to use where to modify the internal table?
regards
SATYAHi Henry,
SY-INDEX is the value of the current iteration. It is applicable for the following programming constructs in ABAP -
DO...ENDDO.
WHILE...ENDWHILE.
SY-TABIX (TABle IndeX) is applicable to internal tables. If you scroll down in the link which Eddie has given, you will find a more detailed explanation for sy-tabix and which statements affect its value.
Regards,
Anand Mandalika. -
Comas(,) are not getting displayed in the output while using OO ABAP
Hi All,
I am using ABAP objects to display the ALV report in which there is a requirement to output Quantity fields. The Quantity fields are getting displayed without comas ','. Please help me in getting back the comas in the output.
Eg:
Below logic is used in my program.
Class name: cl_salv_form_layout_grid
Code:
obj_footer->create_text(
row = v_row_cnt
column = v_col_cnt
text = Quantity).
Expected output:
39,545.000
Current Output:
39545.000
Thanks in advance for your help.
Thanks & Regards,
Siva.Hi,
Please check if the images are in the server and in the /images alias path.
thanks,
Sharmila -
Hi All,
I like to know, is it NULL and Space value is same in ABAP, if it is not how to check null value.
Thank you.
Senthileverything is correct though some answers are not correct.
A Database NULL value represents a field that has never been stored to database - this saving space, potentially.
Usually all SAP tables are stored with all fields, empty fields are stored with their initial value.
But: If a new table append is created and the newly-added fields do not have the 'initial value' marked in table definition, Oracle will just set NULL values for them.
as mentioned: There is no NULL value to be stored in an ABAP field. The IS NULL comparison is valid only for WHERE clause in SELECT statement. WHERE field = space is different from WHERE field IS NULL. That's why you should check for both specially for appended table fields.
If a record is selected (fulfilling another WHERE condition) into an internal table or work area, NULL values are convertted to their initial values anyway.
Hope that sheds some light on the subject!
regards,
Clemens -
Sale order before the regeneration of ABAP report: RSM13000
Hi there,
I am just wondering about something.
After we installed support packages, users could not get any sales order without to get any error message and I we could only see an error message via SM21 which says:
Run-time error "LOAD_TYPEPOOL_VERSION_MISMATCH" occurred.
So after we regenerated the ABAP report: RSM13000 after that everythings seems to be ok.
Now the question is: When we try to find the order numbers which the users created before the regeneration we find nothing.
What about this numbers? Did they have not been created at all or what hapened? They customer is asking now.
Thanks in advance
HanseatikI still do not know. We created them again
-
Report J_1IEWT_CERT getting cancelled, generating ABAP dump!
A long running report J_1IEWT_CERT in background mode is getting cancelled after running for a while and generating the following dump :
Error analysis
When changing or deleting one or more lines of the internal table
"\PROGRAM=J_1IEWT_CERT\DATA=PRINTTAB[]" or when inserting in the table
"\PROGRAM=J_1IEWT_CERT\DATA=PRINTTAB[]", 0 was used as
the line index. An index less than or equal to zero is not
allowed.
The error can occur when using the following options:
1. "INDEX idx" for specifying the line number in the table
"\PROGRAM=J_1IEWT_CERT\DATA=PRINTTAB[]"
where you want to change, insert or delete.
2. "FROM idx" for specifying the start index when deleting a line
area from or inserting a line area into the table
"\PROGRAM=J_1IEWT_CERT\DATA=PRINTTAB[]".
3. "TO idx" for specifying the end index when deleting a line
area from or inserting a line area into the table
"\PROGRAM=J_1IEWT_CERT\DATA=PRINTTAB[]".
At the time of the termination, the table contained 17008 lines.
How to correct the error
If the error occurred in your own ABAP program or in an SAP
program you modified, try to remove the error.
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
"TABLE_INVALID_INDEX" " "
"J_1IEWT_CERT" or "J_1IEWT_CERT_F01"
"FILTER_DATA"
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
1. The description of the current problem (short dump)
To save the description, choose "System->List->Save->Local File
(Unconverted)".
2. Corresponding system log
Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".
3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
In the editor, choose "Utilities->More
Utilities->Upload/Download->Download".
Tried searching for some SAP Notes to fix the issue, no success as of now, Please help me out...Have you checked these notes ?
363107 Short dump occurs during TDS certificate printing.
803806 Error while genrating TDS certificate 03.01.2005
1066049 J1INCERT - Error while generating TDS certificate
Regards,
Subhash
Maybe you are looking for
-
Schedule webi report to destination to Inbox AND send email notification
I'm writing a new process that will schedule a webi report. The output of the report needs to be delivered to multiple user's BO Inboxes AND an email notification (without the report attached) needs to be sent telling them that they have a new repor
-
Listeners keyDown are not being called when keyDown in an popup l
For some reason the listeners titleWindow_keyDown are not being called when keyDown in an popup like so: <?xml version="1.0" encoding="utf-8"?> <s:SkinnablePopUpContainer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="li
-
I canu00B4t get best practices documentation for COPA
Hello all: Can anybody send me the best practices documentation for CO-PA (B86: CO-PA Baseline)? because I can´t get from this link http://help.sap.com/bp_biv133/index.htm You can send to these e-mail [email protected] [email protected] Thanks a lot
-
How to display propagation errors
I have script to display apply errors and i would like to know if there is any scrip to display propagation errors because oracle tools like enreprise manager displays only the last error. Is there any script to display all propagation errors?( i use
-
I want to upgrade my adobe photoshop 7.0 what do I need?
I want to upgrade my adobe photoshop 7.0 what upgrade do i need please?...