ABAP-processor: TYPELOAD_LOST
Hi Guys,
I have transport which gets cancelled with returncode 12.
In the job log it says:
ABAP-processor: TYPELOAD_LOST
I tried importing the request again then it failed with the same error but in a different place. Can anyone tell me what it means and what the problem is.
BR Rasmus
Hi ,
You could have a look at the following notes
Note 943941 - TYPELOAD_LOST when accessing temporary BW tables (type 02)
Note 400195 - Extraction job fails with TYPELOAD_LOST
Note 1031027 - Dump TYPELOAD_LOS with insert in /BI0/06* tables
Let me know if this helps...
Cheers,
Praveen.
Similar Messages
-
Explain about roll area , Dispatcher, ABAP-Processor
Hi all,
Can anyone explain about roll area , Dispatcher, ABAP-Processor?
Thanks,
srikanth.Hi Srikanth.
I would like to suggest a few references,
[SAP HELP Library - Standard Reference for ztta/roll_area: Roll Area|http://help.sap.com/saphelp_nw04/helpdata/en/02/96274f538111d1891b0000e8322f96/content.htm]
[SAP HELP Library - Standard Reference for SAP Roll Area|http://help.sap.com/saphelp_nw04/helpdata/en/28/d1d3f6bcb411d188b30000e83539c3/content.htm]
[SAP HELP Library - Standard Reference for Event Dispatcher|http://help.sap.com/saphelp_nw04s/helpdata/en/10/d57142d868f433e10000000a114b1d/frameset.htm]
[SAP HELP Library - Standard Reference for Special Events of the Event Dispatcher|http://help.sap.com/saphelp_nw04s/helpdata/en/1c/0f754252404559e10000000a114b1d/content.htm]
[SAP HELP Library - Standard Reference for Work Processes - ABAP - Processor|http://help.sap.com/saphelp_nw04s/helpdata/en/fc/eb2e7d358411d1829f0000e829fbfe/frameset.htm]
Hope that's usefull.
Good Luck & Regards.
Harsh Dave -
Error 00 671 Abap processor : COMMIT_IN_POSTING
Hi Eexperts,
I have a requirement to send a smartform as a fax and mail at the time of saving a Sales Order. I have configured it accordingly. But while saving a Order It is throwing an Error into INBOX as below...
Update was terminated
System ID.... DVD
Client....... 224
User..... SEKJ
Transaction.. VA02
Update key... 46CB21AFEAF869A4E1000000921B4FA9
Generated.... 08/22/2007, 12:51:42
Completed.... 08/22/2007, 12:51:49
Error info... 00 671: ABAP/4 processor: COMMIT_IN_POSTING
Can anybody know what this error is and If possible Please send me OSS Notes regarding this..
Regards,
Sekhar.JHi Experts,
The requirement is to update the Qty & Status during POSTing in MIGO if the material is Kanban managed.
Requirement :
Scrapping using 551/ 552 should accordingly increase/ decrease the Kanban Qty and modify the status (visible in PK31 and PKPS table)
Approach:
Implemented BADI "MB_MIGO_BADI" & called the FM to update Kanban status & Qty. But got the error of COMMIT_IN_POSTING.
Any pointers to user-exit/badi which would help to fulfill the above requirement.
Thanks,
Best regards,
Prashant -
SAP paging overflow when storing data in the ABAP/4 memory.
I am trying to create a data source in BI7.0 in the Datawarehousing Workbench. But along the process when i need to select a view i get an error detailed in the following error file extract: Please go through and assist.
untime Errors MEMORY_NO_MORE_PAGING
Date and Time 06.06.2009 14:21:35
Short text
SAP paging overflow when storing data in the ABAP/4 memory.
What happened?
The current program requested storage space from the SAP paging area,
but this request could not be fulfilled.
of this area in the SAP system profile.
What can you do?
Note which actions and input led to the error.
For further help in handling the problem, contact your SAP administrator
You can use the ABAP dump analysis transaction ST22 to view and manage
termination messages, in particular for long term reference.
Error analysis
The ABAP/4 runtime system and the ABAP/4 compiler use a common
interface to store different types of data in different parts of
the SAP paging area. This data includes the
ABAP/4 memory (EXPORT TO MEMORY), the SUBMIT REPORT parameters,
CALL DIALOG and CALL TRANSACTION USING, as well as internally defined
macros (specified with DEFINE).
To store further data in the SAP paging area, you attempted to
allocate a new SAP paging block, but no more blocks were
available.
When the SAP paging overflow occurred, the ABAP/4 memory contained
entries for 20 of different IDs.
Please note:
To facilitate error handling, the ABAP/4 memory was
deleted.
How to correct the error
The amount of storage space (in bytes) filled at termination time was:
Roll area...................... 8176
Extended memory (EM)........... 13587912
Assigned memory (HEAP)......... 0
Short area..................... " "
Paging area.................... 40960
Maximum address space.......... " "
By calling Transaction SM04 and choosing 'Goto' -> 'Block list',
you can display an overview of the current roll and paging memory
levels resulting from active users and their transactions. Try to
decide from this whether another program requires a lot of memory
space (perhaps too much).
The system log contains more detailed information about the
termination. Check for any unwanted recursion.
Determine whether the error also occurs with small volumes of
data. Check the profile (parameter "rdisp/PG_MAXFS", see
Installation Guidelines).
Is the disk or the file system that contains the paging file
full to the extent that it cannot be increased, although it has
not yet reached the size defined in the profile? Is the
operating system configured to accommodate files of such a
size?
The ABAP processor stores different types of data in the SAP
paging area. These include:
(1) Data clusters (EXPORT ... TO MEMORY ...)
(2) Parameters for calling programs (SUBMIT REPORT ...),
Dialog modules (CALL DIALOG ...) and transactions
(CALL TRANSACTION USING ...)
(3) Internally defined program macros (DEFINE ...)
Accordingly, you should check the relevant statements in a program
that results in an overflow of the SAP paging area.
It is critical when many internal tables, possibly with
different IDs, are written to memory (EXPORT).
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:
"MEMORY_NO_MORE_PAGING" " "
"SAPLWDTM" or "LWDTMU20"
"TABC_ACTIVATE_AND_UPDATE"
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".
4. Details about the conditions under which the error occurred or which
actions and input led to the error.Hi Huggins,
Maintenance of the Paging File is owned by your basis team.
They should increase this in order for your transaction to process successfully.
Just for your reference, in case the OS used is windows server 2003, paging file value can be checked through;
Right click in the My Computer>properties.
Then go to Advance tab;
Then there should be a performance section, click the settings
Then Advance tab again. The paging file can be seen from there.
(and can be adjusted from there also)
The value of the paging file in general will be dependent with the available RAM from the hardware.
Hope this helps. Thanks a lot.
- Jeff -
Dear All Gurrus
i am facing an Abap Dump when user send cheque Printing .other document printing are Ok .please see this error
Runtime errors LOAD_PROGRAM_NOT_FOUND
Occurred on 04.06.2007 at 16:18:50
Program " " not found.
What happened?
There are several possible reasons for the error:
or
The current ABAP program had to be terminated because the
ABAP processor detected an internal system error.
The current ABAP program "SAPLF028" had to be terminated because the ABAP
processor discovered an invalid system state.
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
Error analysis
On account of a branch in the program
(CALL FUNCTION/DIALOG, external PERFORM, SUBMIT)
or a transaction call, another ABAP/4 program
is to be loaded, namely " ".
However, program " " does not exist in the library.
Possible reasons:
a) Wrong program name specified in an external PERFORM or
SUBMIT or, when defining a new transaction, a new
dialog module or a new function module.
b) Transport error
b) Transport error
How to correct the error
Check the last transports to the R/3 System.
Are changes currently being made to the program "SAPLF028"?
Has the correct program been entered in table TSTC for Transaction "FBZ4 "?
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
use the following search criteria:
"LOAD_PROGRAM_NOT_FOUND" C
"SAPLF028" or "LF028U06"
"PAYMENT_FORM_PRINT"
If you cannot solve the problem yourself, please send the
following documents to SAP:
1. A hard copy print describing the problem.
To obtain this, select the "Print" function on the current screen.
2. A suitable hardcopy prinout of the system log.
To obtain this, call the system log with Transaction SM21
and select the "Print" function to print out the relevant
part.
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, you can either use the "PRINT" command in the editor or
print the programs using the report RSINCL00.
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
System environment
SAP Release.............. "620"
Application server....... "PKSAPT10"
Network address.......... "184.208.96.235"
Operating system......... "Windows NT"
Release.................. "5.0"
Hardware type............ "4x Intel 801586"
Character length......... 8 Bits
Pointer length........... 32 Bits
Work process number...... 0
Short dump setting....... "full"
Database server.......... "PKSAPT10"
Database type............ "MSSQL"
Database name............ "T10"
Database owner........... "t10"
Character set............ "English_United State"
SAP kernel............... "640"
Created on............... "Oct 29 2006 23:44:46"
Created in............... "NT 5.0 2195 Service Pack 4 x86 MS VC++ 13.10"
Database version......... "SQL_Server_8.00 "
Patch level.............. "155"
Patch text............... " "
Supported environment....
Database................. "MSSQL 7.00.699 or higher, MSSQL 8.00.194"
SAP database version..... "640"
Operating system......... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2"
User, transaction...
Client.............. 210
User................ "AGHAZNAVI"
Language key........ "E"
Transaction......... "FBZ4 "
Program............. "SAPLF028"
Screen.............. "SAPMF05A 0700"
Screen line......... 43
Information on where terminated
The termination occurred in the ABAP program "SAPLF028" in
"PAYMENT_FORM_PRINT".
The main program was "SAPMF05A ".
The termination occurred in line 332 of the source code of the (Include)
program "LF028U06"
of the source code of program "LF028U06" (when calling the editor 3320).
Source code extract
003020 IF sy-subrc NE 0 "bei nicht in PAYR vorhandenen o.
003030 AND payr-vblnr EQ reguh-vblnr. "durch FCH7 (Scheck neu drucken)
003040 opayf-pstap = 0. "in Auftrag gegebene Schecks wird
003050 ELSE. "der Stapel mitgegeben, sonst die
003060 CLEAR payr. "Restart-Schecknummer aus PAYR
003070 ENDIF.
003080
003090 IF t042z-formi IS INITIAL. "alte Zahlungsträger (nur Scheck)
003100 SUBMIT (t042z-progn) WITH zw_laufd = reguh-laufd
003110 WITH zw_laufi = reguh-laufi
003120 WITH zw_zbukr = reguh-zbukr
003130 WITH zw_xvorl = space
003140 WITH sel_zawe = i_opayf-rzawe
003150 WITH par_zdru = 'X'
003160 WITH par_priz = i_opayf-ppriz
003170 WITH par_zfor = i_opayf-pzfor
003180 WITH par_avis = i_opayf-pavis
003190 WITH par_pria = i_opayf-ppria
003200 WITH par_stap = i_opayf-pstap
003210 WITH par_rchk = payr-chect
003220 WITH par_begl = space
003230 WITH sel_hbki = reguh-hbkid
003240 WITH sel_hkti = reguh-hktid
003250 WITH par_anzp = par_anzp
003260 WITH par_fill = i_opayf-pfill
003270 WITH par_espr = i_opayf-pespr
003280 WITH par_isoc = i_opayf-pisoc
003290 WITH par_sofo = i_opayf-psofo
003300 WITH par_novo = i_opayf-xnovo
003310 AND RETURN.
ELSE. "neue Zahlungsträger (z.Zt. nur OFX)
003330 CALL FUNCTION 'PAYMENT_MEDIUM_ONLINE'
003340 EXPORTING
003350 im_formi = t042z-formi
003360 im_reguh = reguh
003370 im_opayf = i_opayf
003380 TABLES
003390 tb_regup = xregup.
003400 ENDIF.
003410
003420 ENDFUNCTION.
Contents of system fields
SY field contents..................... SY field contents.....................
SY-SUBRC 4 SY-INDEX 0
SY-TABIX 1 SY-DBCNT 1
SY-FDPOS 0 SY-LSIND 0
SY-PAGNO 0 SY-LINNO 1
SY-COLNO 1 SY-PFKEY UAN
SY-UCOMM BU
SY-TITLE Payment with Printout: Display Overview
SY-MSGTY I SY-MSGID F5
SY-MSGNO 312 SY-MSGV1 1500000011
SY-MSGV2 KOPK SY-MSGV3
SY-MSGV4
Active calls / events
No.... Type........ Name..........................
Program
Include Line
Class
4 FUNCTION PAYMENT_FORM_PRINT
SAPLF028
LF028U06 332
3 FORM FCODE_BEARBEITUNG
SAPMF05A
MF05AFF0_FCODE_BEARBEITUNG 2333
2 FORM FUSSZEILE_VERARBEITEN
SAPMF05A
MF05AFF0_FUSSZEILE_VERARBEITEN 148
1 MODULE (PAI) FUSSZEILE_BEARBEITEN
SAPMF05A
MF05AI00_FUSSZEILE_BEARBEITEN 46
Chosen variables
4 FUNCTION PAYMENT_FORM_PRINT
SAPLF028
LF028U06 332
I_CC_CURR PKR
54522
0B200
I_OPAYF KOPKLOCL 0002 XCCIT
4454444422222222222222222222233332254445
BF0BCF3C00000000000000000000000020083394
... + 40 IH X 0001000005
4422522222222222333333333322222222222222
9800800000000000000100000500000000000000
... + 80
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 120 00000000000000
2222222222222222222222233333333333333
0000000000000000000000000000000000000
I_REPRI
2
0
I_VBLNR 1500000011
3333333333
1500000011
I_WWERT 20070604
33333333
20070604
REGUH-LAUFI 00001*
333332
00001A
<%_TABLE_LFA1> ???
REGUH-ZBUKR KOPK
4454
BF0B
I_OPAYF-RZAWE C
4
3
I_OPAYF-PPRIZ LOCL
4444
CF3C
I_OPAYF-PZFOR
2222222222222222
0000000000000000
I_OPAYF-PAVIS
2
0
I_OPAYF-PPRIA
2222
0000
I_OPAYF-PSTAP 0002
3333
0002
PAYR-CHECT
2222222222222
0000000000000
REGUH-HBKID CITIH
44544
39498
REGUH-HKTID CTOLH
45444
34FC8
PAR_ANZP 0
3
0
I_OPAYF-PFILL
2
0
I_OPAYF-PESPR
2
0
I_OPAYF-PISOC
2
0
I_OPAYF-PSOFO X
5
8
I_OPAYF-XNOVO
2
0
%_PRINT 000
2222333222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 80 0 ########
2222222222320000000022222222222222222222
0000000000000000000000000000000000000000
... + 120
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 160 0 ####
222222222222223222222222222222220000
000000000000000000000000000000000000
KNBK-KOINH
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
22222222222222222222
00000000000000000000
T042Z-FORMI
222222222222222222222222222222
000000000000000000000000000000
<%_TABLE_T012> ???
REGUH 2007060400001* KOPK0001000005
2223333333333333224454333333333322222222
0002007060400001A0BF0B000100000500000000
... + 40 1500000011 PKR LHP1Co
2222222222222222223333333333254522445346
000000000000000000150000001100B200C8013F
... + 80 mpany Supreme Gas Ind. Pvt. Ltd
6766722222222577766624672466225772247622
D01E90000000035025D5071309E4E0064E0C4400
... + 120
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 160
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 200
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 240 Lahore
222466676222222
000C18F25000000
SYST-REPID SAPLF028
5454433322222222222222222222222222222222
310C602800000000000000000000000000000000
T042I-HBKID CITIH
44544
39498
XREGUP[] Table IT_1065[1x1184]
3 FORM FCODE_BEARBEITUNG
SAPMF05A
MF05AFF0_FCODE_BEARBEITUNG 2333
%_SPACE
2
0
RC 0
0000
0000
SYST-REPID SAPMF05A
5454433422222222222222222222222222222222
310D605100000000000000000000000000000000
SY-REPID SAPMF05A
5454433422222222222222222222222222222222
310D605100000000000000000000000000000000
VORSCHL_GRIRG
222
000
XBKPF-BELNR 1500000011
3333333333
1500000011
%_DUMMY$$
2222
0000
VAKTAB
222222222222222222222222222222
000000000000000000000000000000
XBKPF-BUKRS KOPK
4454
BF0B
VORSCHL_GITYP
22
00
XBKPF-GJAHR 2007
3333
2007
C_INFO_LINK 100
333
100
BKPF 210KOPK15000000112007KZ20070604200706040
3334454333333333333334533333333333333333
210BF0B15000000112007BA20070604200706040
... + 40 620070604161846000000000000000020070604A
3333333333333333333333333333333333333334
6200706041618460000000000000000200706041
... + 80 GHAZNAVI FBZ4
4445445422244532222222222222222222222222
781AE16900062A40000000000000000000000000
... + 120 12345
2222222333332222222222222222222222222222
0000000123450000000000000000000000000000
... + 160 0000 PKR ###
2223333222222222222222222222222254522000
000000000000000000000000000000000B200000
... + 200 ## ##### ####### RFBU
0022222000002200000002544522222222222222
0C000000000C00000000C0262500000000000000
... + 240
222222222222222
000000000000000
BSEG 210KOPK15000000112007002 000000000000000
3334454333333333333333332333333333333333
210BF0B150000001120070020000000000000000
... + 40 0 25K SLHP1 ##########
3222222222233422254453222222220001000000
0000000000025B0003C80100000000000000C000
... + 80 ##################PKR #################
1000000000000010005452200000000000000000
000C000000C000000C0B200000000C000000C000
... + 120 #######################################
0000000000000000000000000000000000000002
000C000000C000000C000000C000000C000000C0
... + 160 000 ###############################
2223332220000000000000000000000000000000
000000000000000C0000C000000C000000C00000
... + 200 ##0000000020070427
0033333333333333332222222222222222222222
0C00000000200704270000000000000000000000
... + 240
222222222222222
000000000000000
SY-SUBRC 4
0000
4000
%_ARCHIVE
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 80
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 120
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 160
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 200
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 240
222222222222222
000000000000000
SAPOS-GITYP
22
00
T001-WAERS PKR
54522
0B200
SAPOS-GRICD
22
00
OPAYF KOPKLOCL 0002 XCCIT
4454444422222222222222222222233332254445
BF0BCF3C00000000000000000000000020083394
... + 40 IH X 0001000005
4422522222222222333333333322222222222222
9800800000000000000100000500000000000000
... + 80
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 120 00000000000000
2222222222222222222222233333333333333
0000000000000000000000000000000000000
SAPOS-GRIRG
222
000
RF05A-KOATX
222222222222
000000000000
BKPF-WWERT 20070604
33333333
20070604
SY-XFORM CONVERSION_EXIT
444545544454545222222222222222
3FE65239FEF5894000000000000000
SY-MSGID F5
43222222222222222222
65000000000000000000
ANL_HKONT
2222222222
0000000000
T001W
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 80
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 120
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 160
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 200
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 240 #
222222222222220
000000000000000
SPACE
2
0
SY-MSGNO 312
333Specification of form is missing in pmnt method C for comp.code KOPK
In the include program RFFORI01 the query "SELECT * FROM t042z WHERE land1 EQ t001-land1 AND zlsch IN sel_zawe AND progn EQ sy-repid" is returning a null value for progn. This null value is passed to "003100 SUBMIT (t042z-progn) WITH zw_laufd = reguh-laufd" (Refer to the short dump).
Refer to IMG for adding specification of form.
Regards,
Khalid Mustafa
Development Consultant Netweaver-ABAP -
SAP Ecc6.0 Installation error during ABAP Import Phase 20 of 24
While I am installing SAP ECC 6.0 with Original DVD. I am getting some Issues.
I had finished upto 4 stpes . and after that IMPORT ABAP, showing error in " Log files are written to C: Program files:sapinst......"
Please Retry , View Log & Stop.
I am clicking Retry again it will be come same issue. Please Let me know.
Log Files Name - "ABAP Processors of Instances SID\DVEMGS00"Still I am getting same problem in mine SAP ECC6.0 Installation.
In Abap Instance Phase 20 of 24. Error in ABAP Instance. I check the mmc.
Disp+work is in Gray Color. Remainiing Server Green Color. After Few minutes it will stopped in Work Process.
Still Going Installation for same Process.
Let me know. -
ABAP- JAVA : How to unzip a zip file sent by ABAP
Hello,
We are using JCO to exchange the XML strings (File Sizes can range upto couple of MBs) between ABAP and JAVA. We were earlier using a STRING parameter for XML data exchange. This approach was resulting in huge performance overheads. As per our initial performance investigations, we have identified that time taken for XML exchange using JCO is the major bottlenecks.
Currently we are evaluating Zip - Exchange - Unzip mechanism for XML exchange.
We now try to ZIP the export content using following ABAP code:
TRY.
CALL METHOD cl_abap_gzip=>compress_text
EXPORTING
text_in = lv_xmlstring
IMPORTING
gzip_out = ev_xmlstring.
This returns an XSTRING (zipped) which is lesser in size as compared to the earlier xml STRING.For zipping the XML String this code works fine. But on java end on using the following code (for unzipping):
public static String unzipStringFromBytes( byte[] bytes ) throws IOException
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
BufferedInputStream bufis = new BufferedInputStream(new InflaterInputStream(bis));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int len;
while( (len = bufis.read(buf)) > 0 )
bos.write(buf, 0, len);
String retval = bos.toString();
bis.close();
bufis.close();
bos.close();
return retval;
We get the following error:
java.util.zip.DataFormatException: unknown compression method
at java.util.zip.Inflater.inflateBytes(Native Method)
at java.util.zip.Inflater.inflate(Inflater.java:215)
Please share java code snippet which we can use in our program to retrieve our initial XML string.
Best Regards,
AayushHi,
i took a sequence '0123456789' and gziped it with your ABAP code snipped.
Result is in HEX:
'33 30 34 32 36 31 35 33 B7 B0 04 00'
Than i took an good old gzip executable and gzipped a text file with the same sequence in compression mode 6(default of ABAP Method).
Result in HEX:
'1F 8B 08 08 BA B1 D1 45 00 0B 31 2E 74 78 74 00'
'33 30 34 32 36 31 35 33 B7 B0 04 00 C6 C7 84 A6' <-- quiet similar with ABAP gzip data
'0A 00 00 00'
It seems that some gzip headers and trailers are missing from ABAP Processor's output, i don't know why, maybe it will help you to fake the file headers's to your data section: http://www.gzip.org/zlib/rfc-gzip.html
Other topic is your Exception: java.util.zip.Inflater.inflate(Inflater.java:215)
Inflater is used for ZLIB compressed files, try to pass your InputStream to an Object of [java.util.zip.GZIPInputStream] like:
http://www.galileocomputing.de/openbook/javainsel6/javainsel_12_010.htm [Listing 12.29]
Let me know if it works and have fun..... -
Can any one give me shot description?
ABAP in the SAP R/3 System.
Architecture of SAP R/3 Applications.
Database Layer.
Application Layer.
Presentation Layer.
Work Processes.
Work Processes.
Screen Processor.
ABAP Processor.
Types of Work Process.
Program Flow and Program Types.
Flow of ABAP Programs.
Executable Programs.
Non-Executable Programs
thanks,
KrishnaHi
Work processes:
the actual Place where the ABAP work is done
there are following work processes:
DIALOG,UPDATE, SPOOL, BACKGROUND, ENQUE/DEQUE,MESSAGE etc
See this
ABAP FAQ:
1. How data is stored in cluster table?
Each field of cluster table behaves as tables which contains the no. of entries.
2. What are client dependant objects in abap/sap?
SAP Script layout, text element, and some DDIC objects.
3. On which even we can validate the input fields in module progams?
In PAI (Write field statement on field you want to validate, if you want to validate group of fields put in chain and End chain statement.)
4. In selection screen I have three fields, plant mat no and material group. If I input plant how do I get the mat no and material group based on plant dynamically?
AT SELECTION-SCREEN ON VALUE-REQUEST FOR MATERIAL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' to get material and material group for the plant.
5. How do you get output from IDOC?
Data in IDOc is stored in segments, the output from Idoc is obtained by reading the data stored in its respective segments.
6. When top of the page event is triggered?
After excuteing first write statement in start-of-selection event.
7. Can we create field without data element and how?
In SE11 one option is available above the fields strip. Data element/ direct type.
8. How do we debug sapscript?
Go to SE71 give lay set name , go to utilities select debugger mode on.
9. Which transaction code can I used to analyze the performance of ABAP program.
TCode AL21.
10. How can I copy a standard table to make my own z_table.
Go to transaction SE11. Then there is one option to copy table. Press that button. Enter the name of the standard table and in the Target table enter Z table name and press enter.
Following are some of the answers which I gave upto my knowledge.
1. What is the use of 'outerjoin'
Ans. With the use of outer join you can join the tables even there is no entry in all the tables used in the view.
In case of inner join there should be an entry in al the tables use in the view.
2. When to use logical database?
Ans. Advantage of Logical databases:
less coding s required to retrieve data compared to normal internel tables.
Tables used LDB are in hierarchial structure.
3. What is the use of 'table index'?
Ans .Index is used for faster access of data base tables.
4. What is the use of 'FOR ALL ENTRIES'?
Ans. To avoid nested select statements we use SELECT FOR ALL ENTRIES statement.
If there r more than 10000 records SELECT FOR ALL ENTRIES is used.
Performance wise SELECT FOR ALL ENTRIES is better to use.
5. Can you set up background processing using CALL TRANSACTION?
Yes,Using No Screen Mode.
6. What are table buffers?
Table buffers reside locally on each application server in the system. The data of buffered tables can thus be accessed
directly from the buffer of the application server. This avoids the time-consuming process of accessing the database.
Buffering is useful if table needs to be accessed more no. of times in a program.
ABAP Technical Interview Questions:
1. What is the typical structure of an ABAP program?
2. What are field symbols and field groups.? Have you used "component idx of structure" clause with field groups?
3. What should be the approach for writing a BDC program?
4. What is a batch input session?
5. What is the alternative to batch input session?
6. A situation: An ABAP program creates a batch input session. We need to submit the program and the batch session in background. How to do it?
7. What is the difference between a pool table and a transparent table and how they are stored at the database level?
8. What are the problems in processing batch input sessions? How is batch input process different from processing on line?
9. What do you define in the domain and data element?
10. What are the different types of data dictionary objects?
11. How many types of tables exist and what are they in data dictionary?
12. What is the step-by-step process to create a table in data dictionary?
13. Can a transparent table exist in data dictionary but not in the database physically?
14. What are the domains and data elements?
15. Can you create a table with fields not referring to data elements?
16. What is the advantage of structures? How do you use them in the ABAP programs?
17. What does an extract statement do in the ABAP program?
18. What is a collect statement? How is it different from append?
19. What is open sql vs native sql?
20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
21. What is the meaning of ABAP editor integrated with ABAP data dictionary?
22. What are the events in ABAP language?
23. What is an interactive report? What is the obvious diff of such report compared with classical type reports?
24. What is a drill down report?
25. How do you write a function module in SAP? Describe.
26. What are the exceptions in function module?
27. What is a function group?
28. How are the date abd time field values stored in SAP?
29. What are the fields in a BDC_Tab Table?
30. Name a few data dictionary objects?
31. What happens when a table is activated in DD?
32. What is a check table and what is a value table?
33. What are match codes? Describe?
34. What transactions do you use for data analysis?
35. What is table maintenance generator?
36. What are ranges? What are number ranges?
37. What are select options and what is the diff from parameters?
38. How do you validate the selection criteria of a report? And how do you display initial values in a selection screen?
39. What are selection texts?
40. What is CTS and what do you know about it?
41. When a program is created and need to be transported to prodn does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? How do you do it?
42. What is the client concept in SAP? What is the meaning of client independent?
43. Are programs client dependent?
44. Name a few system global variables you can use in ABAP programs?
45. What are internal tables? How do you get the number of lines in an internal table? How to use a specific number occurs statement?
46. How do you take care of performance issues in your ABAP programs?
47. What are datasets?
48. How to find the return code of a stmt in ABAP programs?
49. What are interface/conversion programs in SAP?
50. Have you used SAP supplied programs to load master data?
2. Adapted from response by Maram Roja on Tuesday, June 15, 2004
1. What are the techniques involved in using SAP supplied programs? Do you prefer to write your own programs to load master data? Why?
2. What are logical databases? What are the advantages/disadvantages of logical databases?
3. What specific statements do you using when writing a drill down report?
4. What are different tools to report data in SAP? What all have you used?
5. What are the advantages and disadvantages of ABAP query tool?
6. What are the functional areas? User groups? How does ABAP query work in relation to these?
7. Is a logical database a requirement/must to write an ABAP query?
8. What is the structure of a BDC sessions.
9. What are Change header/detail tables? Have you used them?
10. What do you do when the system crashes in the middle of a BDC batch session?
11. What do you do with errors in BDC batch sessions?
12. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?
13. Is it possible to run host command from SAP environment? How do you run?
14. What kind of financial periods exist in SAP? What is the relevant table for that?
15. Does SAP handle multiple currencies? Multiple languages?
16. What is a currency factoring technique?
17. How do you document ABAP programs? Do you use program documentation menu option?
18. What is SAPscript and layout set?
19. What are the ABAP commands that link to a layout set?
20. What is output determination?
ABAP Interview Questions
1.Without using Tcode SE11, How can we enter the values in to the table???
2.What is the difference between Collect statement and Append Statement???
3.What do you mean by correction and Transportation system???
4.What is the difference between User Exits and BADI????
5.How can we identify User exits in our screen???
6.What do you mean by Inbound and Outbound interface???
7.In realtime do we configure ALE systems or Administator will take care of that??
8.How to release an object???
9.What is the flow of a Sales document???
10.What is the flow of Purchase order???
12.What is the flow of Invoice???
13.What are the standard IDOC's used???
14.What do you mean by table control???Where will we use this???
15.What are field symbols??Where will we use these symbols???
Deepti
1. There are other ways of entering data into a DB table. ex. B D C
2. Collect statement collect/adds the records basing on a key field. allows to create summarised data sets.
Append will append/add a record at the end of existing records
8. to release an object - use se10/se9
9. sales doc flow: S. A. - S. O. - Delivery - Billing
12. Delivery - invoice.
15. field symbols are used for dynamic allocation. at runtime u can assign a concrete field to field-symbol.
Kishore
1. you can go to abap editor (se38) and use insert statement for insertion update for update and modify for modifications.
2. collect will not allow duplicate entries, while append can allow duplicates.
3. if any changes are made to objects they are to be transported to different systems i.e, change and transport.
4. in user exits we go by general method for enhancements while BADIs we use objects (oops concepts)
methods for enhancement.
14. table controls are enhanced version for step loops where we can expand rows .main difference between these two
is step loop can be expanded to two lines table controls can`t.
15. field symbols are just like pointers concept which are used in C language. We use them when we want to refer to
the fields considered,it doesnt allocate any memory for it.
Venu Rapolu
1. Ans: Using BDC., LSMW,,ALE., BAPI
2. Ans: Collect: it adds the numeric fields to the existing non numeric key field records., thereby avoiding duplicate
values., and append will simply adds the record
3 . Ans: The CTS contains work bench organizer and transport system :
The workbench organizer is used to record and contol changes to the ABAP/4 development objects;
The transport system is used to move objects from an SAP dev.system to production system
6. Ans: Outbound interface is used to send IDocs to the ALE server.,
Inbound interface is used to Analyse the received Idoc.
7. Ans: We (ABAPers) don't do.
8. Ans: se09 or se10
13. Ans: MATMAS
CREMAS
DEBMAS
GLMAST etc...
14. Ans: to display records in table format., we use in Screens
15. Ans: we assign the field content at run time with ASSIGN stmt.
Satish D
1. goto se16 u can view the table contents
2. collect will collects all the numeric fields of nonnumeric field values
append will append record at the end of table
3. when we are creatiing new task like dev. a new prg.. after completion of dev. that will be trnsported to testing system or production system to do that we are assigning an
transport request from our dev.class(system) by using se09
4. badis are dev. by class and inheritence methods where as user exitsdev by SAP only and empty shells filled wit user logic
5. go to system then status
6. outbound generating an idoc in ale layer with master_idoc_create_messgetype,
inbound is receivng system with idoc_inbound_process, gives an return variable wether it is sucess or not
7. no we have to configur that
8. go to se09 or se01 there write your task no and use release button it will asks whats the other system name
and number enter them and relase by pressing jeep button
9. inquiry
quotation
sales order
shipping
delivery
invoice
return goods
12. after creation of delivry note invoice is prepared
13. master_idoc_distribute will generate standard idoc
Deepti
I am enclosing some of answers which I know.
1. We can use t.Code SE16 to enter values into table only if table maintainence is allowed for that table.
2. Append will add new entries into the table where as collect add into the numeric type fields if other charatcer fields
matches to your selection criteria.
3. CTS used for creation of ABAP development transport requests.The transaction code for this is SE10.
4. UserExits r used for adding additional functionality to the existing SAP standard transactions.Using UserExits we can add additional functionality standard SAP functionality without making any changes to the original code.BADI is a standardized interface for ABAP sources that enables partners and customers to enhance SAP-delivered programs in their namespace.
5 .We can identify User exits by using transactions CMOD and SMOD.
6. After entering transaction code SE10 select the transport request which u want to transport and click on transport icon(Truck symbol) to release it.
10. Purchase Requistion->RFQ->Vendor Evaluation->Purchase Order(ME21).
14. Table control is the only facility provide thru dialog programming when we come acrosse the use of updating standared,deletion,insertion and all database operations.
15. Field symbols r pointers to the existing data types(like 'C') which does not allocate any memory space. These are used faster access of data.
Answers to some ABAP Interview Questions:
Questions which I have faced in an interview:
1) What is runtime analysis? Have you used this?
2) What is meant by performance analysis? Have done anything to improve the performance?
3) How to transfer the objects? Have to transferred any objects?
4) How did you test the developed objects?
5) What is the difference between SAP Memory and ABAP Memory?
6) In order to upload Purchase order details, how you handle multiple values for a single field?
Eg: Item field may contain no. of values for a record
7) What is the procedure you followed to upload the data?
8) How did you handle errors in Call Transaction?
9) Among the Call Transaction and Session Method, which is faster?
10) What are the difference between Interactive and Drill Down Reports?
11) How to pass the variables to forms?
12) How to create a link between modified form and modified print program?
13) What is the table, which contain the details of all the name of the programs and forms?
14) How did you test the form u developed? How did you taken print?
15) What are Standard Texts?
16) What is the difference between Clustered Tables and Pooled Tables?
17) What is pf-status?
18) Among "Move" and "Move Corresponding", which is efficient one?
19) What are the output type and Tcodes?
20) Where we use Chain and Endchain?
21) Do you use select statement in loop endloop, how will be the performance? To improve the performance?
22) In select-options, how to get the default values as current month first date and last date by default?
Eg: 1/12/2004 and 31/12/2004
Go thru these answers:
1) What is runtime analysis? Have you used this?
It's checks program execution time in microseconds. When you go to se30.if you give desired program name in performance file. It will take you to below screen. You can get how much past is your program.
2) What is meant by performance analysis? Have done
3) How to transfer the objects? Have you transferred any objects?
4) How did you test the developed objects?
I was testing a developed object. There are two types of testing
- Negative testing
- Positive testing
In negative testing we will give negative data in input and we check any errors occurs.
In positive testing we will give positive data in input for checking errors.
8) How did you handle errors in Call Transaction?
We can create a internal table like 'bsgmcgcoll'. All the messages will go to internal table. We can get errors in this internal table.
Below messages are go to internal table. when you run the call transaction.
- Message type
- Message id
- Message Number
- Variable1
- Variable2
- Variable3
9) Among the Call Transaction and Session Method, which is faster?
Call transaction is faster then session method. But usually we use session method in real time...because we can transfer large amount of data from internal table to database and if any errors in a session. Process will not complete until session get correct.
10) What are the difference between Interactive and Drill Down Reports?
ABAP/4 provides some interactive events on lists such as AT LINE-SELECTION (double click) or AT USER-COMMAND (pressing a button). You can use these events to move through layers of information about individual items in a list.
Drill down report is nothing but interactive report...drilldown means above paragraph only.
11) How to pass the variables to forms?
12) What is the table, which contain the details of all the name of the programs and forms?
Table contains vertical and horizontal lines. We can store the data in table as blocks. We can scroll depends upon your wish. And these all are stored in database (data dictionary).
Which contain the details of all the name of the programs and forms? (I don't know).
13) How did you test the form u developed? How did you taken print?
14) What are Standard Texts?
16) What is the difference between Clustered Tables and Pooled Tables?
A pooled table is used to combine several logical tables in the ABAP/4 dictionary. Pooled tables are logical tables that must be assigned to a table pool when they are defined.
Cluster table are logical tables that must be assigned to a table cluster when they are defined.
Cluster table can be used to store control data they can also used to store temporary data or text such as documentation.
17) What is pf-status?
Pf status is used in interactive report for enhancing the functionality. If we go to se41, we can get menus, items and different function keys, which we are using for secondary list in interactive report.
18) Among "Move" and "Move Corresponding", which is efficient one?
I guess, 'move corresponding' is very efficient then 'move' statement. Because usually we use this stamtent for internal table fields only...so if we give move corresponding. Those fields only moving to other place (what ever you want).
19) What are the output type and Tcodes?
20) Where we use Chain and End chain?
21) Do you use select statement in loop end loop, how will be the performance? To improve the performance?
22) In select-options, how to get the default values as current month first date and last date by default?
Eg: 1/12/2004 and 31/12/2004
SAP ABAP interview questions
Thanks to the reader who sent in this question set:
1. What is an ABAP data dictionary?- ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views.
2. What are domains and data element?- Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user.
3. What is foreign key relationship?- A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible.
4. Describe data classes.- Master data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself.
5. What are indexes?- Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. Yhe indexes are activated along with the table and are created automatically with it in the database.
6. Difference between transparent tables and pooled tables.- Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.
7. What is an ABAP/4 Query?- ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can generate the following 3 simple reports: Basic List: It is the simple reports. Statistics: Reports with statistical functions like Average, Percentages. Ranked Lists: For analytical reports. - For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional group can be created using with or without logical database table. Finally, assign user group to functional group. Finally, create a query on the functional group generated.
8. What is BDC programming?- Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a automatic procedure referred to as BDC(Batch Data Communications).The central component of the transfer is a queue file which receives the data vie a batch input programs and groups associated data into sessions.
9. What are the functional modules used in sequence in BDC?- These are the 3 functional modules which are used in a sequence to perform a data transfer successfully using BDC programming: BDC_OPEN_GROUP - Parameters like Name of the client, sessions and user name are specified in this functional modules. BDC_INSERT - It is used to insert the data for one transaction into a session. BDC_CLOSE_GROUP - This is used to close the batch input session.
10. What are internal tables?- Internal tables are a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need.
11. What is ITS? What are the merits of ITS?- ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to language-dependent HTML documents at runtime.
12. What is DynPro?- DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic Screen is also called as DynPro.
13. What are screen painter and menu painter?- Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars, menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu painter both are the graphical interface of an ABAP/4 applications.
14. What are the components of SAP scripts?- SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is like a standard normal documents. Layout sets. - Layout set consists of the following components: Windows and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists of Header, paragraph, and character string. ABAP/4 program.
15. What is ALV programming in ABAP? When is this grid used in ABAP?- ALV is Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options.
16. What are the events in ABAP/4 language?- Initialization, At selection-screen, Start-of-selection, end-of-selection, top-of-page, end-of-page, At line-selection, At user-command, At PF, Get, At New, At LAST, AT END, AT FIRST.
17. What is CTS and what do you know about it?- The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project.
18. What are logical databases? What are the advantages/ dis-advantages of logical databases?- To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program. Advantages: i)check functions which check that user input is complete, correct,and plausible. ii)Meaningful data selection. iii)central authorization checks for database accesses. iv)good read access performance while retaining the hierarchical data view determined by the application logic. dis advantages: i)If you donot specify a logical database in the program attributes,the GET events never occur. ii)There is no ENDGET command,so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION).
19. What is a batch input session?- BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.
20. How to upload data using CATT ?- These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input. Download of the source file template. Modification of the source file. Upload of the data from the source file.
21. What is Smart Forms?- Smart Forms allows you to create forms using a graphical design tool with robust functionality, color, and more. Additionally, all new forms developed at SAP will be created with the new Smart Form solution.
22. How can I make a differentiation between dependent and independent data?- Client dependent or independent transfer requirements include client specific or cross client objects in the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are client independent. If you display the object list for one change request, and then for each object the object attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will be client dependent.
23. What is the difference between macro and subroutine? - Macros can only be used in the program the are defined in and only after the definition are expanded at compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine that is called external. Since debugging a MACRO is not really possible, prevent the use of them (Ive never used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the subroutine is called external (used by more than one program) use a FUNCTION.
Please check these links.
http://www.sap-img.com/abap/abap-interview-question.htm
http://www.sap-img.com/abap/answers-to-some-abap-interview-questions.htm
http://sap.ittoolbox.com/documents/document.asp?i=3240
http://www.techinterviews.com/?p=198
Reward points if useful
Regards
Anji -
Regarding EXPORT_COMPRESS_ERROR ABAP dump
Hello Experts,
In our BI System, we are getting EXPORT_COMPRESS_ERROR ABAP dump. And not able to find out any SAP notes regarding this dump.
Waiting for your kind response.
Runtime Errors EXPORT_COMPRESS_ERROR
Date and Time 11.04.2008 16:40:42
Short text
Internal error when compressing data.
What happened?
Error in the SAP kernel.
The current ABAP "SAPLRSDRI_SERVICES" program had to be terminated because the
ABAP processor detected an internal system error.
In the EXPORT TO DATABASE statement, an internal error occurred
when compressing data.
What can you do?
Note which actions and input led to the error.
For further help in handling the problem, contact your SAP administrator
You can use the ABAP dump analysis transaction ST22 to view and manage
termination messages, in particular for long term reference.
Error analysis
There is an internal system error.
eliminated with ABAP/4.
Last error logged in SAP kernel
Component............ "EM"
Place................ "SAP-Server u962004s_P38_67 on host u962004s (wp 23)"
Version.............. 37
Error code........... 7
Error text........... "Warning: EM-Memory exhausted: Workprocess gets PRIV "
Description.......... " "
System call.......... " "
Module............... "emxx.c"
Line................. 1881
The error reported by the operating system is:
Error number..... " "
Error text....... " "
How to correct 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:
"EXPORT_COMPRESS_ERROR" " "
"SAPLRSDRI_SERVICES" or "LRSDRI_SERVICESF01"
"DATA_WRAP_UC"
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".
4. Details about the conditions under which the error occurred or which
actions and input led to the error.
System environment
SAP-Release 700
Application server... "u962004s"
Network address...... "10.200.230.110"
Operating system..... "HP-UX"
Release.............. "B.11.23"
Hardware type........ "ia64"
Character length.... 8 Bits
Pointer length....... 64 Bits
Work process number.. 23
Shortdump setting.... "full"
Database server... "u962004s"
Database type..... "ORACLE"
Database name..... "P38"
Database user ID.. "SAPP38"
Char.set.... "de_DE.iso88591"
SAP kernel....... 700
created (date)... "Dec 30 2007 21:06:56"
create on........ "HP-UX B.11.23 U ia64"
Database version. "OCI_102 (10.2.0.2.0) "
Patch level. 141
Patch text.. " "
Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
SAP database version. 700
Operating system..... "HP-UX B.11"
Memory consumption
Roll.... 6219104
EM...... 2291965488
Heap.... 2302579280
Page.... 16384
MM Used. 4399764848
MM Free. 194652624
User and Transaction
Client.............. 100
User................ "K59461"
Language Key........ "D"
Transaction......... " "
Transactions ID..... "47FF35AD14F65486E10000000AC8E66E"
Program............. "SAPLRSDRI_SERVICES"
Screen.............. "SAPMSSY1 3004"
Screen Line......... 2
Information on caller of Remote Function Call (RFC):
System.............. "P38"
Database Release.... 700
Kernel Release...... 700
Connection Type..... 3 (2=R/2, 3=ABAP System, E=Ext., R=Reg. Ext.)
Call Type........... "asynchron with reply and non-transactional (emode 0,
imode 0)"
Inbound TID.........." "
Inbound Queue Name..." "
Outbound TID........." "
Outbound Queue Name.." "
Client.............. 100
User................ "K59461"
Transaction......... " "
Call Program........."SAPLZ_ZOP01_VCUBES"
Function Module..... "RSDRI_INFOPROV_READ_RFC"
Call Destination.... "NONE"
Source Server....... "u962004s_P38_67"
Source IP Address... "10.200.230.110"
Additional information on RFC logon:
Trusted Relationship " "
Logon Return Code... 0
Trusted Return Code. 0
Note: For releases < 4.0, information on the RFC caller are often
only partially available.
Information on where terminated
Termination occurred in the ABAP program "SAPLRSDRI_SERVICES" - in
"DATA_WRAP_UC".
The main program was "SAPMSSY1 ".
In the source code you have the termination point in line 194
of the (Include) program "LRSDRI_SERVICESF01".
Source Code Extract
Line
SourceCde
164
165
CLEAR: l_string.
166
167
CALL METHOD cl_abap_container_utilities=>fill_container_c
168
EXPORTING
169
im_value = <l_s_data>
170
IMPORTING
171
ex_container = l_string.
172
173
PERFORM wrap_str_to_c255
174
USING l_string
175
CHANGING e_t_outdata.
176
177
ENDLOOP.
178
179
ENDFORM. " data_wrap_std
180
181
*& Form data_wrap_uc
182
183
text
184
185
-->P_I_T_DATA text
186
<--P_E_OUTDATA_UC text
187
188
FORM data_wrap_uc
189
USING i_t_data TYPE STANDARD TABLE
190
i_compress TYPE rs_bool
191
CHANGING e_outdata_uc TYPE xstring.
192
193
IF i_compress = rs_c_true.
>>>>>
EXPORT rsdri = i_t_data
195
TO DATA BUFFER e_outdata_uc
196
COMPRESSION ON.
197
ELSE.
198
EXPORT rsdri = i_t_data
199
TO DATA BUFFER e_outdata_uc
200
COMPRESSION OFF.
201
ENDIF.
202
203
IF sy-subrc <> 0.
204
RAISE conversion_error.
205
ENDIF.
206
207
ENDFORM. " data_wrap_uc
208
209
210
FORM data_wrap_250
211
212
213
Contents of system fields
Name
Val.
SY-SUBRC
0
SY-INDEX
1
SY-TABIX
0
SY-DBCNT
1
SY-FDPOS
25
SY-LSIND
0
SY-PAGNO
0
SY-LINNO
1
SY-COLNO
1
SY-PFKEY
SY-UCOMM
SY-TITLE
CPIC- und RFC-Steuerung
SY-MSGTY
E
SY-MSGID
BL
SY-MSGNO
209
SY-MSGV1
SY-MSGV2
SY-MSGV3
SY-MSGV4
SY-MODNO
0
SY-DATUM
20080411
SY-UZEIT
163555
SY-XPROG
SAPLRSDRI
SY-XFORM
RSDRI_INFOPROV_READ_RFC
Active Calls/Events
No. Ty. Program Include Line
Name
7 FORM SAPLRSDRI_SERVICES LRSDRI_SERVICESF01 194
DATA_WRAP_UC
6 FUNCTION SAPLRSDRI_SERVICES LRSDRI_SERVICESU04 29
RSDRI_DATA_WRAP
5 FORM GP49E5DYREKDNLT28VWMJJ5FAZY GP49E5DYREKDNLT28VWMJJ5FAZY 199
INFOPROV_READ_RSDRI
4 FUNCTION SAPLRSDRI LRSDRIU02 153
RSDRI_INFOPROV_READ_RFC
3 FORM SAPLRSDRI LRSDRIU02 1
RSDRI_INFOPROV_READ_RFC
2 FORM SAPMSSY1 SAPMSSY1 85
REMOTE_FUNCTION_CALL
1 MODULE (PBO) SAPMSSY1 SAPMSSY1 30
%_RFC_START
Chosen variables
Name
Val.
No. 7 Ty. FORM
Name DATA_WRAP_UC
SYST-REPID
SAPLRSDRI_SERVICES
5454554545545544452222222222222222222222
310C23429F352693530000000000000000000000
I_COMPRESS
X
5
8
RS_C_TRUE
X
5
8
SY
###############################################################################À##############
0000000000000000000000000000000000000000000000010000000000000000000000000000000C00000000000000
0001000000000000000000000000000000000000000100090001000000010000000000000000002000000000000000
I_T_DATA
Table IT_4214[3004988x1456]
PROGRAM=GP49E5DYREKDNLT28VWMJJ5FAZYFORM=INFOPROV_READ_RSDRIDATA=L_T_DATA
Table reference: 245
TABH+ 0(20) = C0000005B3A98DB0000000000000000000000000
TABH+ 20(20) = 000000F500001076002DDA3C000005B0FFFFFFFF
TABH+ 40(16) = 0400002A00000B10000824C401800000
store = 0xC0000005B3A98DB0
ext1 = 0x0000000000000000
shmId = 0 (0x00000000)
id = 245 (0x000000F5)
label = 4214 (0x00001076)
fill = 3004988 (0x002DDA3C)
leng = 1456 (0x000005B0)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000040
occu = 8 (0x00000008)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
isCtfyAble = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0xC0000009BB9B2090
pgHook = 0x600000008EAEC160
idxPtr = 0x0000000000000000
shmTabhSet = 0x0000000000000000
id = 3503 (0x00000DAF)
refCount = 0 (0x00000000)
tstRefCount = 0 (0x00000000)
lineAdmin = 3014656 (0x002E0000)
lineAlloc = 3004992 (0x002DDA40)
shmVersId = 0 (0x00000000)
shmRefCount = 1 (0x00000001)
>>>>> 1st level extension part <<<<<
regHook = Not allocated
collHook = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
%_DUMMY$$
2222
0000
E_OUTDATA_UC
ÿ#######1100####ÒWÜ#####°ï6=³$Ç~ßsæ#ä5L#¼ -^##há#°#!&ß3#ð#ô#Á#p6##Òâ¬###Å#.À#6²aÀ#kÀ6´1ÀOp##ú#
F000008033330000D5D01190BE33B2C7D7E8E348BA25816E8B822D30F8F1C07321DEA019C12C93B6C86C3B3C4700F0
F61122001100000027C52FD20F6D347EF36545C1C0DE008100016F3B064D13063B22C59855E056210BB06410F019A0
SYST
###############################################################################À##############
0000000000000000000000000000000000000000000000010000000000000000000000000000000C00000000000000
0001000000000000000000000000000000000000000100090001000000010000000000000000002000000000000000
No. 6 Ty. FUNCTION
Name RSDRI_DATA_WRAP
I_COMPRESS
X
5
8
I_RESULT250
2
0
I_T_DATA
Table IT_4214[3004988x1456]
I_UNICODE_RESULT
X
5
8
E_OUTDATA_UC
ÿ#######1100####ÒWÜ#####°ï6=³$Ç~ßsæ#ä5L#¼ -^##há#°#!&ß3#ð#ô#Á#p6##Òâ¬###Å#.À#6²aÀ#kÀ6´1ÀOp##ú#
F000008033330000D5D01190BE33B2C7D7E8E348BA25816E8B822D30F8F1C07321DEA019C12C93B6C86C3B3C4700F0
F61122001100000027C52FD20F6D347EF36545C1C0DE008100016F3B064D13063B22C59855E056210BB06410F019A0
E_T_OUTDATA
Table[initial]
E_T_OUTDATA250
Table[initial]
RS_C_FALSE
2
0
SY-REPID
SAPLRSDRI_SERVICES
5454554545545544452222222222222222222222
310C23429F352693530000000000000000000000
No. 5 Ty. FORM
Name INFOPROV_READ_RSDRI
SY-SUBRC
0
0000
0000
SY-REPID
GP49E5DYREKDNLT28VWMJJ5FAZY
4533434554444453355444344552222222222222
7049554925B4EC42867DAA561A90000000000000
SY
###############################################################################À##############
0000000000000000000000000000000000000000000000010000000000000000000000000000000C00000000000000
0001000000000000000000000000000000000000000100090001000000010000000000000000002000000000000000
%_DUMMY$$
2222
0000
%_SPACE
2
0
SYST-REPID
GP49E5DYREKDNLT28VWMJJ5FAZY
4533434554444453355444344552222222222222
7049554925B4EC42867DAA561A90000000000000
I_OUTU
X
5
8
RS_C_TRUE
X
5
8
L_T_DATA
Table IT_4214[3004988x1456]
E_RFCOUT_UC
ÿ#######1100####ÒWÜ#####°ï6=³$Ç~ßsæ#ä5L#¼ -^##há#°#!&ß3#ð#ô#Á#p6##Òâ¬###Å#.À#6²aÀ#kÀ6´1ÀOp##ú#
F000008033330000D5D01190BE33B2C7D7E8E348BA25816E8B822D30F8F1C07321DEA019C12C93B6C86C3B3C4700F0
F61122001100000027C52FD20F6D347EF36545C1C0DE008100016F3B064D13063B22C59855E056210BB06410F019A0
I_S_RFCMODE
0.0.0.1.
22222222222222222222222222222222222222220000
00000000000000000000000000000000000000000000
I_S_RFCMODE-RFC_RECEIVER
222222222222222222222222222222
000000000000000000000000000000
E_EOD
X
5
8
I_S_RFCMODE-ID
2222222222
0000000000
No. 4 Ty. FUNCTION
Name RSDRI_INFOPROV_READ_RFC
I_AUTHORITY_CHECK
R
5
2
I_CURRENCY_CONVERSION
X
5
8
I_DEBUG
2
0
I_FILENAME
222222222222222222222222222222222222222222222222222222222222
000000000000000000000000000000000000000000000000000000000000
I_INFOPROV
B100_CB3E
433354434222222222222222222222
2100F3235000000000000000000000
I_MAXROWS
0
0000
0000
I_READ_ODS_DELTA
2
0
I_REFERENCE_DATE
20080411
33333333
20080411
I_RESULTTYPE
U
5
5
I_ROLLUP_ONLY
X
5
8
I_SAVE_IN_FILE
2
0
I_SAVE_IN_TABLE
2
0
I_S_RFCMODE
0.0.0.1.
22222222222222222222222222222222222222220000
00000000000000000000000000000000000000000000
I_TABLENAME
222222222222222222222222222222
000000000000000000000000000000
I_USE_AGGREGATES
X
5
8
I_USE_DB_AGGREGATION
X
5
8
E_AGGREGATE
B100_CB3E$X
433354434252222222222222222222
2100F3235480000000000000000000
E_END_OF_DATA
X
5
8
E_RFCDATA_UC
ÿ#######1100####ÒWÜ#####°ï6=³$Ç~ßsæ#ä5L#¼ -^##há#°#!&ß3#ð#ô#Á#p6##Òâ¬###Å#.À#6²aÀ#kÀ6´1ÀOp##ú#
F000008033330000D5D01190BE33B2C7D7E8E348BA25816E8B822D30F8F1C07321DEA019C12C93B6C86C3B3C4700F0
F61122001100000027C52FD20F6D347EF36545C1C0DE008100016F3B064D13063B22C59855E056210BB06410F019A0
E_SPLIT_OCCURRED
2
0
E_T_FIELD[]
Table IT_4[180x40]
FUNCTION-POOL=RSDRIFORM=RSDRI_INFOPROV_READ_RFCDATA=%_%_E_T_FIELD
Table reference: 4
TABH+ 0(20) = C0000005B3902040C0000005B38D281000000000
TABH+ 20(20) = 0000000400000004000000B400000028FFFFFFFF
TABH+ 40(16) = 0400000100000F700010249401800000
store = 0xC0000005B3902040
ext1 = 0xC0000005B38D2810
shmId = 0 (0x00000000)
id = 4 (0x00000004)
label = 4 (0x00000004)
fill = 180 (0x000000B4)
leng = 40 (0x00000028)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000060
occu = 16 (0x00000010)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 2 (cmpSingleMcmpR)
occu0 = 1
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
isCtfyAble = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0xC0000005B39020A0
pgHook = 0xC0000005B38FC770
idxPtr = 0x0000000000000000
shmTabhSet = 0x0000000000000000
id = 16 (0x00000010)
refCount = 0 (0x00000000)
tstRefCount = 0 (0x00000000)
lineAdmin = 304 (0x00000130)
lineAlloc = 304 (0x00000130)
shmVersId = 0 (0x00000000)
shmRefCount = 1 (0x00000001)
>>>>> 1st level extension part <<<<<
regHook = 0x0000000000000000
collHook = 0x0000000000000000
ext2 = 0xC0000005B38D27A0
>>>>> 2nd level extension part <<<<<
tabhBack = 0xC0000005B38D2740
delta_head = 0000000000000000000000000000000000000000000000000000000000000000000000000000000
pb_func = 0x0000000000000000
pb_handle = 0x0000000000000000
E_T_RFCDATA[]
Table IT_5[0x256]
FUNCTION-POOL=RSDRIFORM=RSDRI_INFOPROV_READ_RFCDATA=%_%_E_T_RFCDATA
Table reference: 5
TABH+ 0(20) = 0000000000000000C0000005B38D292000000000
TABH+ 20(20) = 00000005000000050000000000000100FFFFFFFF
TABH+ 40(16) = 0400000100000E580010249401800000
store = 0x0000000000000000
ext1 = 0xC0000005B38D2920
shmId = 0 (0x00000000)
id = 5 (0x00000005)
label = 5 (0x00000005)
fill = 0 (0x00000000)
leng = 256 (0x00000100)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000055
occu = 16 (0x00000010)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 2 (cmpSingleMcmpR)
occu0 = 1
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
isCtfyAble = 1
>>>>> Shareable Table Header Data <<<<<
tabi = Not allocated
pghook = Not allocated
idxPtr = Not allocated
shmTabhSet = Not allocated
id = Not allocated
refCount = Not allocated
tstRefCount = Not allocated
lineAdmin = Not allocated
lineAlloc = Not allocated
shmVersId = Not allocated
shmRefCount = Not allocated
shmIsReadOnly = Not allocated
>>>>> 1st level extension part <<<<<
regHook = 0x0000000000000000
collHook = 0x0000000000000000
ext2 = 0xC0000005B38D28B0
>>>>> 2nd level extension part <<<<<
tabhBack = 0xC0000005B38D2850
delta_head = 0000000000000000000000000000000000000000000000000000000000000000000000000000000
pb_func = 0x0000000000000000
pb_handle = 0x0000000000000000
E_T_RFCDATAV[]
Table IT_6[0x100]
FUNCTION-POOL=RSDRIFORM=RSDRI_INFOPROV_READ_RFCDATA=%_%_E_T_RFCDATAV
Table reference: 6
TABH+ 0(20) = 0000000000000000C0000005B38D2A3000000000
TABH+ 20(20) = 00000006000000060000000000000064FFFFFFFF
TABH+ 40(16) = 0400000100000F000010249401800000
store = 0x0000000000000000
ext1 = 0xC0000005B38D2A30
shmId = 0 (0x00000000)
id = 6 (0x00000006)
label = 6 (0x00000006)
fill = 0 (0x00000000)
leng = 100 (0x00000064)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000058
occu = 16 (0x00000010)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 2 (cmpSingleMcmpR)
occu0 = 1
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
isCtfyAble = 1
>>>>> Shareable Table Header Data <<<<<
tabi = Not allocated
pghook = Not allocated
idxPtr = Not allocated
shmTabhSet = Not allocated
id = Not allocated
refCount = Not allocated
tstRefCount = Not allocated
lineAdmin = Not allocated
lineAlloc = Not allocated
shmVersId = Not allocated
shmRefCount = Not allocated
shmIsReadOnly = Not allocated
>>>>> 1st level extension part <<<<<
regHook = 0x0000000000000000
collHook = 0x0000000000000000
ext2 = 0xC0000005B38D29C0
>>>>> 2nd level extension part <<<<<
tabhBack = 0xC0000005B38D2960
delta_head = 0000000000000000000000000000000000000000000000000000000000000000000000000000000
pb_func = 0x0000000000000000
pb_handle = 0x0000000000000000
I_T_RANGE[]
Table IT_0[24x153]
FUNCTION-POOL=RSDRIFORM=RSDRI_INFOPROV_READ_RFCDATA=%_%_I_T_RANGE
Table reference: 0
TABH+ 0(20) = C0000005B38C97E0C0000005B38C97A000000000
TABH+ 20(20) = 00000000000000000000001800000099FFFFFFFF
TABH+ 40(16) = 04000001000004B80010249421800000
store = 0xC0000005B38C97E0
ext1 = 0xC0000005B38C97A0
shmId = 0 (0x00000000)
id = 0 (0x00000000)
label = 0 (0x00000000)
fill = 24 (0x00000018)
leng = 153 (0x00000099)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000011
occu = 16 (0x00000010)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 2 (cmpSingleMcmpR)
occu0 = 1
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 1
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
isCtfyAble = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0xC0000005B38C9840
pgHook = 0xC0000005B38CA1F0
idxPtr = 0x0000000000000000
shmTabhSet = 0x0000000000000000
id = 2 (0x00000002)
refCount = 1 (0x00000001)
tstRefCount = 0 (0x00000000)
lineAdmin = 48 (0x00000030)
lineAlloc = 48 (0x00000030)
shmVersId = 0 (0x00000000)
shmRefCount = 3 (0x00000003)
>>>>> 1st level extension part <<<<<
regHook = 0xC0000005B3AB3F70
collHook = 0x0000000000000000
ext2 = 0xC0000005B38C9730
>>>>> 2nd level extension part <<<<<
tabhBack = 0xC0000005B38C96D0
delta_head = 0000000000000000000000000000000000000000000000000000000000000000000000000000000
pb_func = 0x0000000000000000
pb_handle = 0x0000000000000000
I_T_REQUID[]
Table IT_7[0x12]
FUNCTION-POOL=RSDRIFORM=RSDRI_INFOPROV_READ_RFCDATA=%_%_I_T_REQUID
Table reference: 7
TABH+ 0(20) = 0000000000000000C0000005B38D2B4000000000
TABH+ 20(20) = 0000000700000007000000000000000CFFFFFFFF
TABH+ 40(16) = 04000001000006780010249401800000
store = 0x0000000000000000
ext1 = 0xC0000005B38D2B40
shmId = 0 (0x00000000)
id = 7 (0x00000007)
label = 7 (0x00000007)
fill = 0 (0x00000000)
leng = 12 (0x0000000C)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000019
occu = 16 (0x00000010)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 2 (cmpSingleMcmpR)
occu0 = 1
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
isCtfyAble = 1
>>>>> Shareable Table Header Data <<<<<
tabi = Not allocated
pghook = Not allocated
idxPtr = Not allocated
shmTabhSet = Not allocated
id = Not allocated
refCount = Not allocated
tstRefCount = Not allocated
lineAdmin = Not allocated
lineAlloc = Not allocated
shmVersId = Not allocated
shmRefCount = Not allocated
shmIsReadOnly = Not allocated
>>>>> 1st level extension part <<<<<
regHook = 0x0000000000000000
collHook = 0x0000000000000000
ext2 = 0xC0000005B38D2AD0
>>>>> 2nd level extension part <<<<<
tabhBack = 0xC0000005B38D2A70
delta_head = 0000000000000000000000000000000000000000000000000000000000000000000000000000000
pb_func = 0x0000000000000000
pb_handle = 0x0000000000000000
I_T_RTIME[]
Table IT_1[3x121]
FUNCTION-POOL=RSDRIFORM=RSDRI_INFOPROV_READ_RFCDATA=%_%_I_T_RTIME
Table reference: 1
TABH+ 0(20) = C0000005B38CB680C0000005B38CB64000000000
TABH+ 20(20) = 00000001000000010000000300000079FFFFFFFF
TABH+ 40(16) = 04000001000005980010249401800000
store = 0xC0000005B38CB680
ext1 = 0xC0000005B38CB640
shmId = 0 (0x00000000)
id = 1 (0x00000001)
label = 1 (0x00000001)
fill = 3 (0x00000003)
leng = 121 (0x00000079)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000015
occu = 16 (0x00000010)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 2 (cmpSingleMcmpR)
occu0 = 1
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
isCtfyAble = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0xC0000005B38CB6E0
pgHook = 0x0000000000000000
idxPtr = 0x0000000000000000
shmTabhSet = 0x0000000000000000
id = 3 (0x00000003)
refCount = 0 (0x00000000)
tstRefCount = 0 (0x00000000)
lineAdmin = 16 (0x00000010)
lineAlloc = 16 (0x00000010)
shmVersId = 0 (0x00000000)
shmRefCount = 1 (0x00000001)
>>>>> 1st level extension part <<<<<
regHook = 0x0000000000000000
collHook = 0x0000000000000000
ext2 = 0xC0000005B38CB5D0
>>>>> 2nd level extension part <<<<<
tabhBack = 0xC0000005B38CB570
delta_head = 0000000000000000000000000000000000000000000000000000000000000000000000000000000
pb_func = 0x0000000000000000
pb_handle = 0x0000000000000000
I_T_SFC[]
Table IT_2[17x52]
FUNCTION-POOL=RSDRIFORM=RSDRI_INFOPROV_READ_RFCDATA=%_%_I_T_SFC
Table reference: 2
TABH+ 0(20) = C0000005B38CBFA0C0000005B38CBF6000000000
TABH+ 20(20) = 00000002000000020000001100000034FFFFFFFF
TABH+ 40(16) = 0400000100000DB00010249401800000
store = 0xC0000005B38CBFA0
ext1 = 0xC0000005B38CBF60
shmId = 0 (0x00000000)
iHello,
did you resolve the problem ?
Please tell me how if it's resolved.
Best Regards -
Dear Experts,
Background job SAP_COLLECTOR_FOR_PERFMONITOR getting failed with abap dump LOAD_PROGRAM_NOT_FOUND.
As it is hourly scheduled job and it gets finished 22 times in a day but other 2 times fails with abap dump.
Finished Job log
Job started
Step 001 started (program RSCOLL00, variant , user ID Bharath)
Clean_Plan:Cleanup of DB13 Plannings
Clean_Plan:started by RSDBPREV on server
Clean_Plan:Cleaning up jobs of system DEV
Clean_Plan:finished
Job finished
Failed Job Log
Job started
Step 001 started (program RSCOLL00, variant , user ID Bharath)
Internal session terminated with a runtime error (see ST22).
Kindly suggest on this..
Thanks,
Bharath.Dear Divyanshu,
Our system in ERP 6.0 EHP5 with SP level 10. The ABAP Dump shows below error.
|Short text |
| Program "RSORA811" not found. |
|What happened? |
| There are several possibilities: |
| |
| Error in the ABAP Application Program |
| |
| The current ABAP program "RSCOLL00" had to be terminated because it has |
| come across a statement that unfortunately cannot be executed. |
| or |
| Error in the SAP kernel. |
| |
| The current ABAP "RSCOLL00" program had to be terminated because the |
| ABAP processor detected an internal system error. |
|What can you do? |
| Note down which actions and inputs caused the error. |
| |
| |
| To process the problem further, contact you SAP system |
| administrator. |
| |
| Using Transaction ST22 for ABAP Dump Analysis, you can look |
| at and manage termination messages, and you can also |
| keep them for a long time. |
|Error analysis |
| On account of a branch in the program |
| (CALL FUNCTION/DIALOG, external PERFORM, SUBMIT) |
| or a transaction call, another ABAP/4 program |
| is to be loaded, namely "RSORA811". |
| |
| However, program "RSORA811" does not exist in the library. |
| |
| Possible reasons: |
| a) Wrong program name specified in an external PERFORM or |
| SUBMIT or, when defining a new transaction, a new |
| dialog module or a new function module. |
| b) Transport error |
|Information on where terminated |
| Termination occurred in the ABAP program "RSCOLL00" - in |
| "LOOP_AT_SYSTEMS_AND_REPORTS". |
| The main program was "RSCOLL00 ". |
| |
| In the source code you have the termination point in line 535 |
| of the (Include) program "RSCOLL00". |
| The program "RSCOLL00" was started as a background job. |
| Job Name....... "SAP_COLLECTOR_FOR_PERFMONITOR" |
| Job Initiator.. " bharath" |
| Job Number..... 18243400
Kindly check and suggest..
Thanks,
Bharath. -
ABAP dump LOAD_PROGRAM_NOT_FOUND in S_ALR_* transactions
Hi,
I am trying to execute S_ALR_87011792 and S_ALR_87012249 and getting LOAD_PROGRAM_NOT_FOUND abap dumps in tdms receiver client in dev system. We are on ECC6.
Here is the dump details:
Short text
Program "GP4A1HFKFHN7RW6BOFW65F3ZTQ9" not found.
What happened?
There are several possibilities:
Error in the ABAP Application Program
The current ABAP program "SAPLKYP4" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
or
Error in the SAP kernel.
The current ABAP "SAPLKYP4" program had to be terminated because the
ABAP processor detected an internal system error.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
Error analysis
On account of a branch in the program
(CALL FUNCTION/DIALOG, external PERFORM, SUBMIT)
or a transaction call, another ABAP/4 program
is to be loaded, namely "GP4A1HFKFHN7RW6BOFW65F3ZTQ9".
However, program "GP4A1HFKFHN7RW6BOFW65F3ZTQ9" does not exist in the library.
Short text
Program "GP4A1HFKFHN7RW6BOFW65F3ZTQ9" not found.
What happened?
There are several possibilities:
Error in the ABAP Application Program
The current ABAP program "SAPLKYP4" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
or
Error in the SAP kernel.
The current ABAP "SAPLKYP4" program had to be terminated because the
ABAP processor detected an internal system error.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
Error analysis
On account of a branch in the program
(CALL FUNCTION/DIALOG, external PERFORM, SUBMIT)
or a transaction call, another ABAP/4 program
is to be loaded, namely "GP4A1HFKFHN7RW6BOFW65F3ZTQ9".
However, program "GP4A1HFKFHN7RW6BOFW65F3ZTQ9" does not exist in the library.Hello,
Please check the SAP notes 84023 and 361491 and regenerate the reports. It solves this error in 99% percent of the cases.
If you need, please import the report from client 000 in the IMG.
The path to follow is:
Financial Accounting -> General Ledger Accounting
-> Information System -> Drilldown Reports (G/L Accounts)
-> Report -> Import Report from Client 000
Regards,
Renan -
What is the use P type variable in ABAP?
ex:
data <variable name > type p decimals 2.
here what is the use of declaring it to p type.
what is the difference between p type and float type.Hi,
using packed variable we can decide the length of number and number of decimals we want in o/p which is not possible with other types
Packed numbers - type P
Type P data allows digits after the decimal point. The number of decimal places is generic, and is determined in the program. The value range of type P data depends on its size and the number of digits after the decimal point. The valid size can be any value from 1 to 16 bytes. Two decimal digits are packed into one byte, while the last byte contains one digit and the sign. Up to 14 digits are allowed after the decimal point. The initial value is zero. When working with type P data, it is a good idea to set the program attribute Fixed point arithmetic.Otherwise, type P numbers are treated as integers.
You can use type P data for such values as distances, weights, amounts of money, and so on.
Floating point numbers - type F
The value range of type F numbers is 1x10*-307 to 1x10*308 for positive and negative numbers, including 0 (zero). The accuracy range is approximately 15 decimals, depending on the floating point arithmetic of the hardware platform. Since type F data is internally converted to a binary system, rounding errors can occur. Although the ABAP processor tries to minimize these effects, you should not use type F data if high accuracy is required. Instead, use type P data.
You use type F fields when you need to cope with very large value ranges and rounding errors are not critical.
Using I and F fields for calculations is quicker than using P fields. Arithmetic operations using I and F fields are very similar to the actual machine code operations, while P fields require more support from the software. Nevertheless, you have to use type P data to meet accuracy or value range requirements. -
DMS:Redlining tab when clicked gives a ABAP dump in ECL viewer.
Dear All,
I am trying to use the redlining function but it is giving a ABAP dump which says
The current ABAP "CL_ABAP_CLASSDESCR============CP" program had to be terminated because the ABAP processor detected an internal system error.
Does any one had similar errors, i found a note for this 1021125 it is applicable for Sun Solaris x86/64 platform we are using the same platform so i just wanted to know is this note relavant to it since it has 2 patches to be applied.
We are on ERP 2005, ECC 6.0.
RegardsHi Nishant,
Did you check the Version of the ECL viewer with ECC 6.0, check for the latest version and install it even in SAP GUI also you need to check the level & patch matching, while installing GUI you need to select all the components manually, might problem get solved.
Regards
Rehman -
hi all,
i need to design flow chart for checking for a program whether it satifies the abap coding standards or not. who to do it. if possible send me graphical representations [flow charts] or links to find programming standards.
some of my requirements in that folw chart are
1. how to recognize a blank space in a given program,
2. how to recognize a comment,
3. how to check wheteher a keyword is used or not,
4. how to identify the ' :' symbol
thanks & regards,
suresh babu aluri.plz go through this documementaion,
i think its helpful.
ABAP Programming StandardsContents
1. Objective 5
2. Naming Conventions 5
2.1 Codes for naming conventions 5
2.1.1 Module Codes 5
2.1.2 Free text 6
2.2 Naming Convention of Development Objects 6
2.2.1 Package 6
2.2.2 Executable Program 6
2.2.3 BSP Application 7
2.2.4 Logical Database 8
2.2.5 SAP Scripts /Smartforms 9
2.2.6 Idocs 9
2.2.7 Transaction Code 10
2.2.8 Function Groups 10
2.2.9 Dictionary Objects 11
2.2.10 Message Class 11
2.2.11 Enhancement Projects (User Exits) 11
2.2.12 LSMW Objects 12
2.2.13 Classes 12
2.2.14 BOR Object Types 13
2.2.15 Screen / Transaction Variants 13
2.2.16 Area Menu 13
2.3 Naming of Sub-Objects 13
2.3.1 Program Sub-Objects 13
2.3.2 SAP Script /Smartform sub-objects 14
3. General Programming Guidelines 14
3.1 Modification Logs 14
3.2 Program Organization 15
3.2.1 Executable Programs 15
3.2.2 Dialog Programs 15
3.3 Package 15
3.3.1 Adding Components to existing objects 15
3.3.2 Creation of New Objects 15
3.4 Program Messages 15
3.4.1 Adding Messages to existing landscapes 15
3.4.2 Creation of New Objects 16
3.5 Dictionary Objects 16
4. Structure of ABAP Programs 16
4.1 Type 16
4.2 Status 18
4.3 Authority Check 18
4.4 Program Structure 19
4.4.1 Declaration data for global data, classes and selection screens 19
4.4.2 Container for Processing Blocks 19
4.4.3 Calling Processing Blocks 20
4.5 Screen Flow Logic (Dialog Programs) 20
4.5.1 Place the AT EXIT COMMAND at the beginning of the flow logic. 20
4.5.2 Use FIELD and CHAIN statements to keep fields in error open for correction. 20
4.6 Main Program 20
4.6.1 Events 20
5. General Coding Standards 21
5.1 One command per line 21
5.2 Indented Source Code 21
5.3 Extended Syntax Check 21
5.4 Reusability and Modularity 21
5.5 Text Handling 21
5.6 Usage of System Variables 22
5.7 Chaining Statements 22
5.8 Common Routines 22
5.9 Dialog Messages 22
5.10 Function Keys 23
5.11 Enqueuing and Dequeuing Data Objects 23
5.12 Error Handling (SY-SUBRC) 23
5.13 General Conventions and Hints 24
5.14 Parameters in Sub-Routines 24
6. Performance Standards 25
6.1 General Tips on Performance Tuning 25
6.1.1 Avoid Redundant code 25
6.1.2 Subroutine Usage 25
6.1.3 Case vs. Nested IF 25
6.1.4 Using the MOVE Statement 25
6.1.5 SELECT Queries 25
6.1.6 Using the READ statement 27
6.1.7 Hashed table 27
6.1.8 Transporting 28
6.1.9 Using LDB 28
6.1.10 Append Lines of 28
6.1.11 Use WHILE 28
6.1.12 DELETE <itab> WHERE 28
6.1.13 Using WHERE clause in LOOP .ENDLOOP 28
1. Objective
The objective of this document is to describe general programming guidelines, methodologies, Naming conventions and performance guidelines for all the programs developed for SAP Project.
2. Naming Conventions
This chapter describes the naming conventions to be followed for naming the programming objects for SAP project.
2.1 Codes for naming conventions
The variable portion of naming convention is given with Code ID given in angle brackets(<>). Use the following tables for replacing code IDs with codes in the object naming.
2.1.1 Module Codes
Code ID: mm
Code Description
FI Finance
CO Controlling Module
MM Materials Management
PP Production Planning
SD Sales & Distribution
QM Quality Management
PM Plant Maintenance
IM Inventory Management
WM Warehouse Management
BC Basis Module
BW Business Warehouse
WF Workflows (Master Data Management)
HR Human Resources
EBP EBP
PS Project Systems
PCP Synpro: Product Costing
PAP Synpro: COPA
DP APO : Demand Planning
SP APO : Supply Network Planning
DS APO : Production Planning & Detailed Scheduling
AT APO : Global ATP
TP APO : Transportation Planning/Vehicle Scheduling
CI Core Interface
LC Live Cache
2.1.2 Free text
Code ID: ffff
Developer should replace ffff with meaningful text. The text can be multiple words separated by underscore.
2.2 Naming Convention of Development Objects
2.2.1 Package
Naming Convention: Z<mm>_<ffff>.
Notes:
1. Replace <mm> with Module codes given in section 2.1.1 above.
2. Replace <ffff> with the sub-landscape of the Module that this Message Class caters to as illustrated in examples below.
3. The maximum permissible length for development class is 30 characters
Examples:
Dev. Class Description
ZFI_AR FI: Account Receivables
ZCO_CCA CO: Cost Center Accounting
2.2.2 Executable Program
Naming Convention: Z<mm>_<ffff>.
Notes:
1. Replace <mm> with module codes given in section 2.1.1 above.
2. Replace <ffff> with meaningful text as illustrated in examples below.
3. The maximum permissible length for program name is 30 characters. However, the name should be restricted to 25 characters to accommodate appropriate Include naming as described in 2.2.2.
Examples:
Program Name Description
ZFI_VAT_RET FI: Report for VAT Return
ZMM_AUTO_GR MM: Automated Goods Receipt
ZSD_XX_STCK_SHORTAGE SD: Stock shortage report for stock allocation
2.2.2.1 Includes for executable programs
Naming Convention: Z<mm>_<ffff>_<Inn>.
Notes:
1. All includes of executable program will be prefixed by Z, followed by the same program name as described in 2.2.2 above.
2. Replace <Inn> with include type and sequence number. Use the following table for includes.
Include Type ID Description
TOP Top Include.
Fnn Subroutine pool (Forms)
Inn PAI Modules
Onn PBO Modules
Xnn Other Includes
The maximum permissible length for Include name is 30 characters.
Examples:
Include Name Main Program Name Description
ZFI_VAT_RET_TOP ZFI_VAT_RET FI: Report for VAT Return Top Include
ZFI_VAT_RET_F01 ZFI_VAT_RET FI: Report for VAT Return Forms
ZMM_AUTO_GR_TOP ZMM_FR_AUTO_GR MM: Automated Goods Receipt Top include
ZMM_AUTO_GR_F01 ZMM_FR_AUTO_GR MM: Automated Goods Receipt Forms
2.2.3 BSP Application
2.2.3.1 Main Application
Naming Convention: BSP Applications shall follow the same Naming Convention as Executable Programs i.e. Z<mm>_<ffff>.
Notes:
1. Replace <mm> with module codes given in section 2.1.1 above.
2. Replace <ffff> with meaningful text as illustrated in examples below.
2.2.3.2 Pages & Controllers
Naming Convention: <ffff>
Notes:
1. Replace <ffff> with meaningful text, that adequately describes the function of the page/controller
2.2.3.3 Theme
Naming Convention: Z_<ffff>.
Notes:
1. Replace <ffff> with meaningful text
2.2.3.4 Mime Objects:
Naming Convention: <ffff>
1. A MIME Object can be logo for the company.
2. Replace <ffff> with meaningful text, that adequately describes the function of the MIME objects
2.2.3.5 Controller and Handler Classes:
See section Classes (Section 2.2.133)
2.2.3.6 BSP Extension
Naming Convention: Z_<ffff>
Notes:
1. Replace <ffff> with meaningful text
2.2.3.7 BSP Layout elements id
Label: lb_fffff
Input field: if_fffff
Button: b_fffff
Text Edit: te_fffff
Text View: tv_fffff
Radio button Group: rbg_fffff
Radio button: rb_fffff
Check Box Group: cbg_fffff
Check Box cb_fffff
Tray tr_fffff
Tabstrip ts_fffff
Tableview tab_fffff
1. Replace <fffff> with meaningful text
2.2.4 Logical Database
Naming Convention: Z<mm>_<ffff>.
Notes:
1. Replace <mm> with module codes given in section 2.1.1 above.
2. Replace <ffff> with meaningful text
3. The maximum permissible length for LDB name is 20 characters. However, the name should be restricted to 15 characters to accommodate appropriate Include naming
4. LDB Program and LDB Program Includes shall follow the naming convention Auto-Generated by SAP
2.2.5 SAP Scripts /Smartforms
Naming Convention: ZF<mm>_<ffff>.
Notes:
1. Replace <mm> with module codes given in section 2.1.1 above.
2. Replace <ffff> with meaningful text as illustrated in examples below.
Examples:
Form Name Description
ZFFI_EMP_CONF Employee Confirmation Letter
ZFFI_ANN_TO Annual Turnover Letter To Customers and Vendors
2.2.6 Idocs
2.2.6.1 Idoc Types
Basic Type :
Naming Convention : ZB<FFFF>NN
Notes:
1.Replace <NN> with sequence number.
3. Replace <ffff> with meaningful text.
Extension Type : ZX<Basic type name>_NN
Notes:
1. Replace <NN> with sequence number .
2.2.6.2 Message Types
Naming Convention : ZM<mm><ffff>.
Notes :
1. Replace <mm> with module codes given in section 2.1.1 above.
2. Replace <ffff> with meaningful text .
2.2.6.3 Process Code
Naming Convention : Z<ffff>.
Notes :
1. Replace <ffff> with meaningful text ..
2.2.6.4 IDOC Segments
Naming Convention : Z1<ffff>.
Notes :
1.Replace <ffff> with meaningful text as illustrated in examples below.
2.2.7 Transaction Code
Notes:
1. The tcode name is provided by SAP TIN The Developer must write a mail to SAP Tin asking for the T-Code name with a filled form.
The form can be found at :
2.2.8 Function Groups
Naming Convention: Z<mm><ffff>
Notes:
1. Replace <mm> with relevant module code as given above
2. Replace <ffff> with meaningful text.
2.2.8.1 Function Group Include Programs
Naming Convention: LZ<Function Group><Inn>.
Notes:
1. All includes of Function Group program will be prefixed by LZ, followed by the Function Group name
2. Replace <Inn> with include type and sequence number. Use the values from the table given in 2.2.2.1
Examples:
Include Name Function Group Name Description
SAPLZMMPURCHASING ZMMPURCHASING F.Group-Purchasing: Main Program
LZMMPURCHASINGO01 ZMMPURCHASING F.Group-Purchasing: PBO
LZMMPURCHASINGI01 ZMMPURCHASING F.Group-Purchasing: PAI
LZMMPURCHASINGF01 ZMMPURCHASING F.Group-Purchasing: Forms
LZMMPURCHASINGTOP ZMMPURCHASING F.Group-Purchasing: Data Declarations
2.2.8.2 Function Modules
2.2.8.2.1 Normal Function Modules
Convention: Z_<mm>_<ffff>.
Notes:
1. Replace <mm> with relevant module code as given above.
2. Replace <ffff> with meaningful text.
2.2.8.2.2 IDOC Function Modules
Convention: Z_IDOC_<mode>_<msg type>.
Notes:
1. Replace <mode> with INPUT or OUTPUT depending on whether the function processes incoming or outgoing IDOC.
2. Replace <msg type> with the IDOC message type.
2.2.9 Dictionary Objects
Tables: Z<mm><ffff>
Structures: ZS<mm><ffff>
Views: ZV<mm><ffff>
Data Element: ZDE<mm><ffff>
Domain: ZDO<mm><ffff>
Table Type: ZTT<mm><ffff>
Type Group: Z<ffff>
Search Help: ZSH<mm><ffff>
Lock Object: EZ<mm><ffff>
Notes:
1. Replace <mm> with module code given above.
2. Replace <ffff> with meaningful text.
2.2.10 Message Class
Naming Convention: Z<mm>_<ffff>.
Notes:
1. Replace <mm> with Module codes given in section 2.1.1 above.
2. Replace <ffff> with the sub-landscape of the Module that this Message Class caters to as illustrated in examples below.
3. The maximum permissible length for development class is 30 characters
Examples:
Msg. Class Description
ZFI_AR FI: Account Receivables
ZCO_CCA CO: Cost Center Accounting
2.2.11 Enhancement Projects (User Exits)
Convention: Z<XX><nn>.
Notes:
1. XX is the application area code e.g. for sales it is SD etc.
2. 'nn' is one up number for one application area. It starts with 001.
3. Maximum length of the Project name is 8.
Example: The name of the SD enhancement project can be ZSD001.
2.2.12 LSMW Objects
2.2.12.1 Project
Naming Convention: ZM_<ffff>.
Notes:
1. 1. Replace <ffff> with meaningful text
2. The maximum permissible length for Project name is 16 characters. But please limit it to 12.
Example : ZM_VENDOR
2.2.12.2 SubProject
Naming Convention: ZM_<ffff>_<n>.
Notes:
Suffix Project name with a running sequence no.
Example : ZM_VENDOR_1
2.2.12.3 Object
Naming Convention: ZM_<ffff>_<n><n>.
Notes:
Suffix Subproject name with a running sequence no.
Example : ZM_VENDOR_11
2.2.13 Classes
Naming Convention: ZCL_[IM/DF/BSPCO/BSPHN/BADI]_<ffff>.
1. IM: Implementation Class;
DF: Definition Class
BSPCO: BSP Controller class
BSPHN: BSP Handler class
BADI : BADI implementation
2. Replace <ffff> with meaningful text: In case of Implementation classes, it should preferably be the same as that of the Definition Class
3. Example:
IMPLEMENTATION Class: ZCL_IM_REBATE_SETTL
DEFINITION: ZCL_DF_REBATE_SETTL
2.2.14 BOR Object Types
Object Convention Example
Supertype Z<ffff> ZLVAPPL
SubType Z<SuperType><nn> ZZLVAPPL01
Program <Subtype> ZZLVAPPL01
1. Replace <nn> with a running 2 digit serial Number
2. Replace <ffff> with meaningful text
2.2.15 Screen / Transaction Variants
Naming Convention: <tcode>_<ffff>
Where:
1. Replace <tcode> with the t-code that will be assigned to this Variant
2. Replace ffff with a meaningful text
E.g.:
For an SE16 variant for table KONA that will be used by T-Code Z_CH_SD_001:
Z_CH_SD_001_KONA
2.2.16 Area Menu
Naming Convention: Z<mm>_<Main Menu>_<Sub Menu> <ffff>
Where:
1. Replace <mm> with the Module code
2. Followed by the hierarchical position of the immediate parent of this Area Menu
3. Followed by a Meaningful text for this Menu
E.g.:
ZSD
ZSD_TAB
ZSD_TAB_VIEW
ZSD_TAB_UPDT
Notes:
1. Clusters of Transactions should be introduced as Sub-Menus rather than as Folders
2. As a gradual process, the current Clusters that exist as Folders should also be replaced with Sub-Menus
2.3 Naming of Sub-Objects
2.3.1 Program Sub-Objects
Naming of all the internal components of a program will be consistent across the project.
Naming Convention: <Prefix>ffff.
Notes:
1. Replace <Prefix> with the component prefix values given in the table below.
Program Component Prefixed by
Program Constants C_
Global Variables W_
Types Definition T_
Global Structures WA_
Global Internal Tables I_
Select-Options SO_
Parameters PO_
Table Type TT_
Field Symbols FS_
Ranges R_
Local Constants LC_
Local Variables L_
Local Static Variables LS_
Local Internal Tables LI_
Local Work Area LWA_
Local Range LR_
Field Groups FG_
Container CO_
Macro MA_
Important: The Same sequence as above must be followed in the Data declaration part of all the ABAP/4 programs.
2.3.2 SAP Script /Smartform sub-objects
Naming of all the internal components of a SAPScript/SmartForm shall follow the same convention as for Programs (2.2.2), with the addition of the Field Label on the FRS. E.g. if the FRS has labeled a field for Sales Order Number as Field 27 on the Layout, the variable name should be W_27_VBELN.
3. General Programming Guidelines
3.1 Modification Logs
At the top of every ABAP Object Modified by a Developer, there should be a Modification Log Every Line Created/Changed by the developer should be Identifiable by the TR Number.
ABAP Patterns: Following Patterns should be used for Uniform ModLogs:
Nature of Change Pattern to Use
New Development ZZNEWPROG
In-Line Logs ZZLINE
Modification Logs at the Top of Object ZZMODLOG
3.2 Program Organization
All the programs will be organized as described below.
3.2.1 Executable Programs
TOP Include: For global data declarations
Form Include: For definition of all the FORMs.
3.2.2 Dialog Programs
TOP Include: For global data declarations
Form Include: For definition of all the FORMs.
PBO Include: Include for PBO Modules
PAI Include: Include for PAI Modules
3.3 Package
All the related objects within a sub-module of SAP will be developed under a single Package.
3.3.1 Adding Components to existing objects
When adding new workbench components to existing Objects, the same Package will be used as has been used for the existing Components
3.3.2 Creation of New Objects
When creating new Objects or new Sub-lanscapes, Packages used should have the Naming convention as in Section 2 Above
3.4 Program Messages
All the messages within a sub-module of SAP will be grouped under a single Message Class.
3.4.1 Adding Messages to existing landscapes
When adding new messages for existing Objects, the same Message Class will be used as has been used for the existing Objects
3.4.2 Creation of New Objects
When creating new Objects or new Sub-landscapes, Message classes used should have the Naming convention as in Section 2 Above
3.5 Dictionary Objects
Whenever you create a Z table in system always include MANDT field as the first field, except when the table contains client independent data. Also create the table with attribute Data Class as USER.
4. Structure of ABAP Programs
4.1 Type
When an ABAP program is run, its processing blocks are called. ABAP programs are controlled from outside the program itself by the processors in the current work process. For the purposes of program flow, we can summarize the screen processor and ABAP processor into the ABAP runtime environment. The runtime environment controls screens and ABAP processing blocks. It contains a range of special control patterns that call screens and processing blocks in certain orders. These sections are also called processors. When a ABAP program is run, the control passes between various processors.
In the R/3 System, there are various types of ABAP program. The program type determines the basic technical attributes of the program, and must be set when created. The main difference between the different program types is the way in which the runtime environment calls its processing blocks.
When an application program is run, it must at least call the first processing block from outside the program, that is, from the runtime environment. This processing block can then either call further processing blocks or return control to the runtime environment. When an ABAP program is started, the runtime environment starts a processor (dependent on the program type), which calls the first ABAP processing block.
The following program types are relevant to application programming:
Type 1
Type 1 programs have the important characteristic that they do not have to be controlled using user-defined screens. Instead, they are controlled by the runtime environment, which calls a series of processing blocks (and selection screens and lists where necessary) in a fixed sequence. User actions on screens can then trigger further processing blocks.
Type M
The most important technical attribute of a type M program is that it can only be controlled using screen flow logic and run via a transaction code which is linked to the program and one of its screens (initial screen).
ABAP programs with type M contain the dialog modules belonging to the various screens. They are therefore known as module pools.
Type F
Type F programs are containers for function modules, and cannot be started using a transaction code or by entering their name directly.
Type F programs are known as function groups. Function modules may only be programmed in function groups. The Function Builder is a tool in the ABAP Workbench that is used to create function groups and function modules. Apart from function modules, function groups can contain global data declarations and subroutines. These are visible to all function modules in the group. They can also contain event blocks for screens in function modules.
Type K
Type K programs are containers for global classes in ABAP Objects. Type K programs are known as class definitions. The Class Builder is a tool in the ABAP Workbench that can be used to create class definitions.
Type J
Type J programs are containers for global interface in ABAP Objects. Type J programs are known as interface definitions and are created in the Class Builder.
Type I
Type I programs - called includes - are a means of dividing up program code into smaller, more manageable units. The coding of an include program can be inserted at any point in another ABAP program using the INCLUDE statement. There is no technical relationship between include programs and processing blocks. Includes are more suitable for logical programming units, such as data declarations, or sets of similar processing blocks. The ABAP Workbench has a mechanism for automatically dividing up module pools and function groups into include programs.
4.2 Status
P = SAP standard production program
K = Customer production program
S = System program
T = Test program
Application
Categorize the program according to the purpose it fulfills.
4.3 Authority Check
Authority checks will be carried out as given in the respective FRSs.
4.4 Program Structure
ABAP programs are responsible for data processing within the individual dialog steps (ie. events) of an application program. This means that the program cannot be constructed as a single sequential unit, but must be divided into sections that can be assigned to the individual dialog steps. To meet this requirement, ABAP programs should have a modular structure. Each module is called a processing block. A processing block consists of a set of ABAP statements. When a program is run, effectively a series of processing blocks is called. Therefore, they should not be nested but modularized.
Each ABAP program consists of the following two parts:
4.4.1 Declaration data for global data, classes and selection screens
The first part of an ABAP program is the declaration part for global data, classes, and selection screens. This consists of:
All declaration statements for global data. Global data is visible in all internal processing blocks and should be defined using declarative statements that appear before the first processing block, in dialog modules, or in event blocks. Local data should not be declared in dialog modules or event blocks.
All selection screen definitions.
All local class definitions (CLASS DEFINITION statement). Local classes are part of ABAP Objects, the object-oriented extension of ABAP.
Declaration statements which occur in procedures (methods, subroutines, function modules) form the declaration part for local data in those processing blocks. This data is only visible within the procedure in which it is declared.
4.4.2 Container for Processing Blocks
The second part of an ABAP program contains all of the processing blocks for the program. The following types of processing blocks are allowed:
1. Dialog modules (no local data area)
2. Event blocks (no local data area)
3. Procedures (methods, subroutines and function modules with their own local data area).
Whereas dialog modules and procedures are enclosed in the ABAP keywords which define them, event blocks are introduced with event keywords and concluded implicitly by the beginning of the next processing block.
All ABAP statements (except declarative statements in the declaration part of the program) are part of a processing block. Non-declarative ABAP statements, which occur between the declaration of global data and a processing block are automatically assigned to the START-OF-SELECTION processing block.
4.4.3 Calling Processing Blocks
Processing blocks can be called from either the ABAP program or using ABAP commands which are themselves part of a processing block. Dialog modules and event blocks are called from outside the ABAP program. Procedures are called using ABAP statements in ABAP programs.
Calling event blocks is different from calling other processing blocks for the following reasons:
An event block call is triggered by an event. User actions on selection screens and lists, and the runtime environment trigger events that can be processed in ABAP programs. Define event blocks for the events that the program needs to react to (whereas a subroutine call, for example, must have a corresponding subroutine). This ensures that while an ABAP program may react to a particular event, it is not forced to do so.
4.5 Screen Flow Logic (Dialog Programs)
4.5.1 Place the AT EXIT COMMAND at the beginning of the flow logic.
Example:
PROCESS AFTER INPUT
MODULE EXIT_1170 AT EXIT-COMMAND.
MODULE PAINT_1170.
4.5.2 Use FIELD and CHAIN statements to keep fields in error open for correction.
Example:
PROCESS AFTER INPUT.
MODULE EXIT_1170 AT EXIT-COMMAND.
CHAIN.
FIELD BTCH1170-JOBNAME.
FIELD BTCH1170-USERNAME.
FIELD BTCH1170-FROM_DATE.
FIELD BTCH1170-FROM_TIME.
MODULE PAINT_1170.
ENDCHAIN.
4.6 Main Program
4.6.1 Events
The Program MUST NOT be coded without the use of Proper Coding blocks
Initializations
Top-of-page during line-selection
At Selection-Screen
At Line-Selection
At User-Command
At Pfn
Start-Of-Selection
Top-Of-Page
Get
End-Of-Page
End-Of-Selection
NOTE: The coding for each event should be logically split into forms (subroutines). That is to say, each event will comprise mostly of PERFORM statements.
5. General Coding Standards
5.1 One command per line
Each ABAP/4 command consists of a sentence ending with a period. Multiple commands can be on one line; however, as a standard start each new command on a new line. This will allow for easier deleting, commenting, and debugging.
5.2 Indented Source Code
The ABAP/4 editor has a "Pretty Printer" command to indent by 2 positions specific lines of code and add subroutine comments. Event keywords are typically not indented.
5.3 Extended Syntax Check
Extended Program Check (EPC) to be done on each object to make sure the code is Syntactically correct. There should be no Error/warning messages in the code.
5.4 Reusability and Modularity
If a block of code is executed more than once, it should be placed in a subroutine at the bottom of the code. This makes the code more readable, requires less indentation, and is easier to debug since the debugger can jump through an entire subroutine via a PF key. Also, when possible parameters should be passed to and from subroutines to make the purpose easier to understand and reduce the need for global variables. Always document the purpose of each parameter.
5.5 Text Handling
Text elements must be used to display any text messages.
5.6 Usage of System Variables
The system variables should be used wherever possible. The SY-SUBRC is to be checked after any function call, selection operation, etc.
5.7 Chaining Statements
Consecutive sentences with an identical beginning shall be combined into a chained statement.
Example:
Instead of the statements
MOVE SY-MANDT TO D00001-MANDT.
MOVE SY-LANGU TO D00001-SPRAS.
A chained statement shall be used
MOVE:
SY-MANDT TO D00001-MANDT,
SY-LANGU TO D00001-SPRAS,
SY-UNAME TO D00001-BNAME.
5.8 Common Routines
Standard sub-routines should be implemented as FUNCTION's rather than a FORM (ie. SUBROUTINE). A FUNCTION is easier to maintain and can be easily tested without a calling program. Standard SAP function modules are also available and the function library should be used to check if function modules already exist for a function that needs to be performed i.e.POPUP_TO_CONFIRM_LOSS_OF_DATA etc.
Includes can also be created for re-usable or common code e.g. common data declaration statements.
5.9 Dialog Messages
Dialogue messages are stored in table T100. Programmers shall check to see if an appropriate message exists before adding a new message. Programs shall use the message-id which corresponds to the SAP module that the program most relates to.
5.10 Function Keys
PF-keys should be programmed to execute functions where required. SAP Standard function keys should be used where appropriate. The most commonly used buttons should be displayed as pushbuttons in the application toolbar.
5.11 Enqueuing and Dequeuing Data Objects
All database objects being processed by a program, for purposes other than for display, shall be enqueued before such processing is executed. If the enqueue is unsuccessful, then a message shall be returned stating why the enqueue was unsuccessful.
Enqueue and Dequeue objects should be created via the data dictionary.
5.12 Error Handling (SY-SUBRC)
Return codes shall always be checked immediately after an event which returns a code.
Eg. Function calls, Select statements, Updates etc.
The value of SY-SUBRC is 0 when successful and generally produces a value of 4 when unsuccessful (there are a few exceptions).
Therefore, rather check SY-SUBRC with:
IF SY-SUBRC <> 0
than with
IF SY-SUBRC = 4 (which is redundant and makes the system do a double check)
Error messages displayed to the user must be clear and descriptive.
Remember to group related / dependant steps together and to Rollback all changes for steps in that group should any one of them fail, thus maintaining the integrity of the system.
Check whether an Error Log, (file), must be produced by your program and if so check on the format of the file.
If any Error Logging is done to a custom table in the database then make sure this table is maintained and monitored correctly. (Dev. Note)
Transaction SE91 provides the facility to create and utilize messages in their appropriate message class. Elaborate on the message if necessary, using the long text documentation for that message number.
5.13 General Conventions and Hints
There should be NO hard coding of values in programs easy maintainability
For amounts, use the CURRENCY command in write statements to automatically convert fields into their correct decimal format. The currency specified in the write statement is treated as a key for the table TCURX. If no entry exists for the currency specified, the system assumes two decimal places.
For quantities, use the UNIT command in write statements to automatically convert fields into their correct decimal format. The contents of the unit specified are used on table T006. If no entry exists for the unit specified, the formatting has no effect.
Use the LIKE statement as often as possible to declare DATA variables instead of an explicit TYPE declarations.
Try to use the INCLUDE statement with standard SAP structures and tables for your structures and internal tables where possible. If you use the include statement to include other program components in your code then document what those components are, what they do and how to use them.
Try to make use of standard SAP Function Modules wherever possible rather than building your own. Use the pull down functionality in transaction SE37 to find suitable standard function modules.
Make use of the SAP PATTERN tool to automatically insert the standard code for:
CALL FUNCTION
MESSAGE ID
SELECT*FROM
PERFORM
AUTHORITY-CHECK
WRITE
CASE
CALL DIALOG
The standard date format to use is DD/MM/YYYY. (Dev. Note)
The standard time format to use is HH:MM:SS.
5.14 Parameters in Sub-Routines
Naming convention for Parameters in subroutine is P_
6. Performance Standards
6.1 General Tips on Performance Tuning
6.1.1 Avoid Redundant code
Avoid leaving "dead" code in the program. Comment out variables that are not referenced and code that is not executed. To analyze the program, use the Program Analysis function in SE38 -> Utilities -> Program Analysis.
6.1.2 Subroutine Usage
For good modularization, the decision of whether or not to execute a subroutine should be made before the subroutine is called.
Example:
IF f1 NE 0.
PERFORM sub1.
ENDIF.
FORM sub1.
ENDFORM.
6.1.3 Case vs. Nested IF
When testing fields "equal to" something, one can use either the nested IF or the CASE statement. The CASE is better for two reasons. It is easier to read and after about five nested IFs the performance of the CASE is more efficient.
6.1.4 Using the MOVE Statement
When records a and b have the exact same structure, it is more efficient to MOVE a TO b than to MOVE-CORRESPONDING a TO b.
6.1.5 SELECT Queries
The performance of any ABAP program mainly depends on the ABAP Queries used in it. More optimum the queries , better the performance. Take care of the points mentioned nin the following sections while writing any ABAP queries.
6.1.5.1 Using all the keys in SELECT statement
When using the SELECT statement, study the key and always provide as much of the left-most part of the key as possible. The SELECT * command is to be avoided everywhere.
6.1.5.2 Fetching Single Record
If the entire key can be qualified, code a SELECT SINGLE not just a SELECT. If all the keys are not available, we should use SELECT UPTO 1 ROWS if we are interested only in the first record.
6.1.5.3 Avoid SELECT-ENDSELECT
Selecting data into an internal table using an array fetch versus a SELECT-ENDELECT loop will give at least a 2x performance improvement. After the data has been put into the internal data, then row-level processing can be done.
Example:
select ... from table <..>
into <itab>
where ...
loop at <itab>
<do the row-level processing here>
endloop.
6.1.5.4 Using Indexs
Use indexes wherever possible. Tune the Query so that optimum Indexing will happen.
6.1.5.5 Provide all the keys
Give as many keys as possible in the WHERE clause to optimize the database fetching. Use the Index fields in the first position to optimize performance.
6.1.5.6 Avoid INTO CORRESPONDING
Avoid using INTO CORESPONDING FIELDS of Table. Instead, explicitly mention the fields. Else, The Table Fields should be in the same sequence as the selection
6.1.5.7 SELECT statement inside LOOP
Do not write SELECT statements inside the loop. Instead, use the FOR ALL ENTRIES Command
Before using FOR ALL ENTRIES command, check that the
1. Corresponding Internal table is not empty. If the Internal table is empty, the statement will select ALL the entries in the Database
2. The Internal table is sorted by the Filed used in the Where Clause: This makes selection faster
6.1.5.8 Nested SELECT statement
Avoid Using nested SELECT statements. Instead, make use of different internal tables to fetch the data, and Use Nested LOOPS to read them.
6.1.5.9 Select Distinct
Whenever its possible avoid SELECT DISTINCT, instead select data into internal table, sort and use DELETE ADJACENT DUPLICATES
6.1.5.10 Use of OR in Where Clause
Do not use OR when selecting data from DB table using an index because The optimizer generally stops if the WHERE condition contains an OR expression.
e.g.
Instead of
SELECT * FROM spfli WHERE carrid = LH
AND (cityfrom = FRANKFURT OR
city from = NEWYORK)
Use
SELECT * FROM spfli WHERE (carrid = LH AND cityfrom = FRANKFURT)
OR (carrid = LH AND cityfrom = NEWYORK).
6.1.5.11 Order By
ORDER BY will Bypass buffer. So, performance will decrease. If you want to sort data, it is efficient to SORT them in INTERNAL TABLE rather than using ORDER BY. Only use an ORDER BY in your SELECT if the order matches the index, which should be used.
6.1.6 Using the READ statement
When reading a single record in an internal table, the READ TABLE WITH KEY is not a direct READ. The table needs to be sorted by the Key fields and the command READ TABLE WITH KEY BINARY SEARCH is to be used.
6.1.7 Hashed table
If the number of entries in the Internal Table is high then use Hashed Table with Keys to access the table.
6.1.8 Transporting
With READ or MODIFY Statements use TRANSPORTING
6.1.9 Using LDB
In order to improve performance in case of an LDB, individual tables can be excluded from selection. Under the section Table Selection in the Documentation of LDB the fields with proper description has been given those fields can be set in the application report at the time of INITIALIZATION or at the START OF SELECTION. This can enhance the performance.
6.1.10 Append Lines of
Whenever it is possible use APPEND LINES OF to append the internal Tables instead of using loop and then APPEND Statement.
6.1.11 Use WHILE
Use WHILE instead of a DO+EXIT-construction, as WHILE is easier to understand and faster to execute
6.1.12 DELETE <itab> WHERE
Use DELETE <itab> WHERE for deleting records from an internal table.
e.g.
Instead of
LOOP AT <itab> WHERE <field> = 0001
DELETE <itab>.
ENDLOOP.
Use
DELETE <itab> WHERE <field> = 0001.
6.1.13 Using WHERE clause in LOOP .ENDLOOP
Use:
Sort ITAB by NAME.
Loop at itab where name EQ SY-UNAME
Endloop.
Instead Of:
Read itab with key name = SY-UNAME.
L_tabix = sy-tabix.
Loop at itab from l_tabix.
If name eq bijoy
Endif.
Endloop. -
Hi,
Pls explain how ABAP and JRE works in XI environment ?
Thx,
Sofia1.
SAP was developed by ABAP, in which SAP AG developed ABAP and it was and is still is use ABAP to build componentes of SAP. Years to come ABAP will still move on and become more important tool to maintain SAP.
2.
ABAP itself is a 4th generation language in which, if you are asking for its compilers, has an interpreter and a processor. There are called ABAP Interpreters and ABAP processors. To understand how both of these mechanism works, you need to understand how does the screen gets it data flow from forms to underlying coding. So ABAP interpreters functions as a means to interprets dialogs and ABAP processor to process syntaxes and others related ABAP objects. That is why we can enable the '/h' to debug screens and abap code. The underlying coding of SAP is a gargantuan piece of artwork.
So you have it, ABAP has (known as) ABAP interpreters and ABAP processors by ABAP.
Note : To Anyone to rebutt... Some parts of SAP kernel are written by C++
3.
Database is indenpendent in SAP. You can have Oracle, DB2 or SQL Enterprise Server to support SAP's massive or gargantuan data.... but.... SAP still have their own DBMS ... known as SAP DB.
I hope this helps you...
Thanks
William Wilstroth
Maybe you are looking for
-
Updated iTunes 10.5 and now it won't open at all.
I updated it, and I resetted my computer and every time I click on iTunes, it won't load or open. Can anyone help me? :\ I have an XP and I have Service Pack 3. If anyone can help, it'd be much appreciated.
-
Hi, hope someone can help, I am not Mac savvy. I had a system failure for some reason, and did a complete restore from a backup drive, and now no System Preferences. I had since also had the backup disk fail, so no other backups to work from. I am cu
-
Difference between Thin Drivers and Thick Drivers
hi all, can any one tell me the difference between Thin Drivers and Thick Drivers. regards ravi
-
File GEDV0020.MOV is missing
I have imported some clips from my GE DVX HD camera into iPhoto but when I import them into iMovie I get the message that the file GEDV0020.MOV is missing and the movie won't lay correctly without it. I can either cancel the import or search for the
-
System Requirement Specification Functional document --URGENT!!!
Can someone plzz provide me SRS functional document for importing data from legacy system into the Oracle system.It is really urgent... Thanks..