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.J

    Hi 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

  • Cheque Printing Abap Dumps

    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                                    
                                   333       

    Specification 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,
    Aayush

    Hi,
    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.....

  • ABAP Workbench in SAP R/3

    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,
    Krishna

    Hi
    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 (I’ve 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)
    i

    Hello,
    did you resolve the problem ?
    Please tell me how if it's resolved.
    Best Regards

  • SAP job SAP_COLLECTOR_FOR_PERFMONITOR getting failed  with abap dump LOAD_PROGRAM_NOT_FOUND

    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.
    Regards

    Hi 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

  • Abap program standards

    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 FRS’s.
    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.

  • ABAP and JRE

    Hi,
    Pls explain how ABAP and JRE works  in XI environment ?
    Thx,
    Sofia

    1.
    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