Decimals Error

I post one document in f-02 the amount value 2000/- if i display document the system showing 200.000 even i check user settings in su3 two decimal places it is showing again same problem & Country settings also i Have Check the error Here their is no problem  if i restart the sap the same problem it is showing

Hi,
Try giving 2 decimal places in the T-code OY04, but be cautions as its a cross-client setting.
VK.

Similar Messages

  • Errori convenrsioni in decimali per euro

    Buongiorno. Ho notato che quando si converte un file da pdf in excel, le cifre vengono sempre espresse in migliaia e questo crea problemi con i decimali (dell'euro), dal momento che quando si cerca di mettere la virgola al posto del punto (es. 17.50 -  cambiandolo in 17,50), la formattazione dei numeri salta completamente. Qualcuno ha la soluzione? La faccenda mi frena un po' nell'abbonamento al servizio.
    Grazie, luca

  • Error trying to change the value property of a cell with decimals

    This is a script question.
    I’m using a system defaulting to Spanish, so the decimal delimiter is the comma.
    During a script I need to change the property value of a cell multiplying it by -1. As an example, I want to change 1,25 into -1,25.
    This is how try to do it:
    tell application "Numbers" to tell document 1 to tell sheet 1 to tell table 1
    set selection range to first cell
    set mi_cell to (value of first cell of selection range) * -1
    set value of first cell of selection range to mi_cell
    end tell
    The expected result is wrong provided that the original value of the cell has decimal value. Otherwise is correct.
    See examples of what happen after running this piece of the script:
    1,25 becomes -125,00 instead of -1,25
    6,00 becomes -6,00 (in this case is correct)
    Does anybody know how to solve this problem?
    Thanks in advance.
    Ratz

    This was described here in several scripts.
    Before setting the value of a cell to a number or a date, the value must be coerced to a string.
    It's the only way available to take care of localization features.
    Your script must be
    tell application "Numbers" to tell document 1 to tell sheet 1 to tell table 1
    set selection range to first cell
    set mi_cell to (value of first cell of selection range) * -1
    set value of first cell of selection range to mi_cell as text
    end tell
    or better
    tell application "Numbers" to tell document 1 to tell sheet 1 to tell table 1
    set mi_cell to (value of first cell) * -1
    set value of first cell to mi_cell as text
    end tell
    CAUTION : don't code
    tell application "Numbers" to tell document 1 to tell sheet 1 to tell table 1
    set mi_cell to -(value of first cell)
    set value of first cell to mi_cell as text
    end tell
    which is supposed to do the same but would return the opposite of *_the integer value_* of the cell.
    Yvan KOENIG (VALLAURIS, France) dimanche 13 février 2011 16:06:39

  • Error con decimales al passar a excel

    Ples admin remove this post

    Hola.
    Revisa que en la instalación del Office estén instaldos todos los componentes posibles:
    - Herramientas VBA, complementos, etc.
    Luego intenta eliminar las carpetas temporales de la cuenta de usuario:
    - Cerrar todas las apicaciones.
    - Ejecutar-> %temp% -> borrar todas las carpetas.
    Abrir SB1 y probar de nuevo.
    Nos cuenta cómo le va.
    Saludos.

  • Error while defining afield in Structure

    Hi All..
    I want to define a field MENGE ( Quantity and the lenght should be 8 and should hold 3 Decimals).
    Hence i opted for a Data element CATSXT_DEFLT which is having QUAN, Length-8 and Decimal-3.
    But while activating the structure, the system is prompting Error message as follow...
    Diagnosis
    You must specify reference tables and reference fields for fields containing currency amounts or quantity data. You have specified either only the reference field or the reference table and have not maintained either entry.
    Procedure
    Add the missing entry. You can do this with the single field maintenance function of the table.
    Please Help me, as it is very urgent....

    hi,
    try to find out a field in table
    having this 'CATSXT_DEFLT' type.
    then in the structure.
    declare like this.
    <b>tables : table_name
    MENGE like table_name-field_name.</b>
    do this.
    <b>tables : TCATX_COMPONENTS.
    data : begin of ..
    MENGE like TCATX_COMPONENTS-DEFLT,
    endof ..</b>
    rgds
    anver
    pls mark hlpful answers
    Message was edited by: Anversha s

  • Runtime error in abap report

    error analysis as in ST22 TRANSACTION:
    AN EXCEPTION OCCURED THE EXCEPTION ASSIGNED TO CLASS CX_SY_CONVERSION_NO_NUMBER WAS NOT CAUGHT WHICH LED TO AN ERROR. THE REASON FOR THIS EXCEPTION IS :
    THE PROGRAM TRIED TO INTERPRET VALUE ':4' AS NUMBER SINCE THE VALUE CONTRAVENES THE CORRECT NUMBER FORMAT THIS WAS NOT POSSIBLE.
    ATTACHED IS MY PROGRAM
    REPORT ZVXR0303
          LINE-COUNT 60(3)
          LINE-SIZE 132
           MESSAGE-ID VN.
    Tables: VBEP, VBAP, NAST.
    DATA: BEGIN OF HEADER,
          ORDER(15) VALUE  'ORDER',
           LINE(5)  VALUE  'LINE',
      MATERIAL(14)  VALUE  'MATERIAL',
           DUE(15)  VALUE  'DUE (MAD)',
       CREATED(10)  VALUE  'CREATED',
           QTY(10)  VALUE  'QUANTITY',
            KEY(5)  VALUE  'KEY',
           TYPE(5)  VALUE  'TYPE',
           END OF HEADER.
    DATA: Begin of IDAT OCCURS 0,
      VBELN         LIKE VBAP-VBELN,
      POSNR         LIKE VBAP-POSNR,
      werks         LIKE VBAP-WERKS,
      cuobj         LIKE vbap-CUOBJ,
      MBDAT         LIKE vbep-mbdat,
      ERDAT         LIKE VBAP-ERDAT,
      MATNR         LIKE VBAP-MATNR,
      KWMENG        LIKE VBAP-KWMENG,
      QTY           TYPE I,
      END of IDAT.
    class cl_abap_char_utilities definition load.
    constants: tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB.
    DATA: t_record(1000) TYPE C.
    DATA: C_KWMENG(20)   TYPE C.
    data: OUTFILE(50) value '/usr/users/ftpsapfi/locks_540318'.
    DATA: BEGIN OF TKOMCON OCCURS 50.
            INCLUDE STRUCTURE CONF_OUT.
    DATA: END   OF TKOMCON.
    DATA: iKEY         TYPE I,
          offset       TYPE I,
          KeyTypeLOC   TYPE I,
          KeyNumberLOC TYPE I,
          type(15)     TYPE C.
        select-options: sVBELN FOR VBEP-VBELN obligatory,
                        sMAD FOR VBEP-MBDAT obligatory,
                        sERDAT FOR VBAP-ERDAT,
                        sMATNR FOR VBAP-MATNR,
                        sWERKS FOR VBAP-WERKS,
                        sKWMENG FOR VBAP-KWMENG.
    SELECT
      vbap~vbeln
      vbap~POSNR
      vbap~werks
      vbap~cuobj
      VBEP~MBDAT
      VBAP~ERDAT
      VBAP~MATNR
      VBAP~KWMENG
    INTO CORRESPONDING FIELDS of IDAT
    FROM ( VBEP INNER JOIN VBAP ON vbepvbeln = vbapvbeln
    AND vbepposnr = vbapposnr )
    WHERE BMENG > 0
    AND vbep~MBDAT IN sMAD
    AND VBEP~VBELN in sVBELN
    AND VBAP~werks IN sWERKS
    AND VBAP~ERDAT IN sERDAT
    AND VBAP~MATNR IN sMATNR
    AND VBAP~KWMENG IN sKWMENG
    AND VBAP~ABGRU = SPACE.
      APPEND IDAT.
    ENDSELECT.
    PERFORM TOP-OF-PAGE.
    if sy-batch = 'x'.
    OPEN DATASET OUTFILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
    TRANSFER t_record  TO OUTFILE.
    endif.
    IF SY-SUBRC = 0.
      LOOP at IDAT.
       write IDAT-KWMENG DECIMALS 0 TO C_KWMENG.
        REFRESH TKOMCON.
        CALL FUNCTION 'VC_I_GET_CONFIGURATION'
             EXPORTING
                  INSTANCE      = idat-cuobj
                  LANGUAGE      = NAST-SPRAS
             TABLES
                  CONFIGURATION = TKOMCON
             EXCEPTIONS
                  OTHERS        = 4.
        LOOP AT TKOMCON
          WHERE ATNAM = 'S_SK_SPEC_KEY' OR ATNAM = 'S_MK_SPEC_KEY'
          OR ATNAM = 'S_SK_CONSC_KEY' OR ATNAM = 'S_MK_CONSC_KEY'.
          IF TKOMCON-ATNAM = 'S_SK_CONSC_KEY'
          OR TKOMCON-ATNAM = 'S_MK_CONSC_KEY'.
            KeyTYPELOC = 0.
            keynumberloc = 2.
            TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.
            IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.
              iKey = TKOMCON-ATWRT+KeyNumberLOC(4).
              IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )
              OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).
                PERFORM OUT-OF-RANGE-FOUND.
              ENDIF.
            ENDIF.
          Else.
            Offset = 0.
            DO.
              IF offset <= 9.
                offset = offset + 1.
                If TKOMCON-ATWRT+Offset(1) = ':'.
                  KeyTypeLOC = Offset + 1.
                  KeyNumberLOC = Offset + 3.
                  EXIT.
                ENDIF.
              ELSE.
                EXIT.
              ENDIF.
            ENDDO.
            TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.
            IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.
              iKey = TKOMCON-ATWRT+KeyNumberLOC(4).
              IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )
              OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).
                IDAT-KWMENG = TKOMCON-ATWRT(3).
                PERFORM OUT-OF-RANGE-FOUND.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    ENDIF.
    CLOSE DATASET OUTFILE.
          FORM OUT-OF-RANGE-FOUND                                       *
    FORM OUT-OF-RANGE-FOUND.
      WRITE: / IDAT-VBELN.
      WRITE: 10 IDAT-POSNR.
      WRITE: 20 IDAT-MATNR.
      WRITE: 35 IDAT-MBDAT.
      WRITE: 50 IDAT-ERDAT.
      WRITE: 65(3) IDAT-KWMENG DECIMALS 0.
      WRITE: 75 TKOMCON-ATWRT+KeyTypeLOC(6).
      IF TKOMCON-ATNAM = 'S_SK_CONSC_KEY'
         OR TKOMCON-ATNAM = 'S_MK_CONSC_KEY'.
        WRITE: 85 'Consecutive'.
      ELSE.
        WRITE: 85 'Specific'.
      ENDIF.
      IF TKOMCON-ATNAM = 'S_SK_CONSC_KEY'
         OR TKOMCON-ATNAM = 'S_MK_CONSC_KEY'.
        TYPE = 'Consecutive'.
      ELSE.
        TYPE = 'Specific'.
      ENDIF.
    * PREPARING A RECORD TO BE SENT TO FILE
      CONCATENATE
      IDAT-VBELN
      IDAT-POSNR
      IDAT-MATNR
      IDAT-MBDAT
      IDAT-ERDAT
      C_KWMENG
      TKOMCON-ATWRT+KeyTypeLOC(6)
      TYPE
      INTO t_record SEPARATED BY tab.
      if sy-batch = 'x'.
      TRANSFER t_record  TO OUTFILE.
      endif.
    ENDFORM.
          FORM TOP-OF-PAGE                                              *
    FORM TOP-OF-PAGE.
      WRITE: / 'ORDER'.
      WRITE: 10 'LINE'.
      WRITE: 20 'MATERIAL'.
      WRITE: 35 'DUE (MAD)'.
      WRITE: 50 'CREATED'.
      WRITE: 65 'QTY'.
      WRITE: 75 'KEY'.
      WRITE: 85 'TYPE'.
    PREPARING A RECORD TO BE SENT TO FILE
      CONCATENATE
      header-ORDER
      header-LINE
      header-MATERIAL
      header-DUE
      header-CREATED
      header-QTY
      header-KEY
      header-TYPE
      INTO t_record SEPARATED BY tab.
    ENDFORM.
    THIS IS WORKING FINE WITH DIFFERENT RANGES BUT WHEN I USE RANGE
    Sales Order 1250000 TO 2250000
    MAD 01/18/2005 TO 03/02/2005
    Material LOCK9250FR TO LOCK9250XF
    PLANT 4500
    IT GIVES THE RUNTIME ERROR I MENTIONED ABOVE
    ANY HELP WOULD BE GREATLY APPRECIATED
    THANKS.

    HI ROB YOUR REPLY LOOKS TO BE VERY CLOSE OTHER GUYS SAID IT MIGHT BE PROBLEM WITH VARIABLE C_KWMENG BUT I REMOVED THAT PIECE OF CODE WITH C_KWMENG BUT STILL I WAS GETTING THE ERROR ATTACHED IS THE COMPLETE ERROR DETAILS FROM ST22
    Runtime Errors         CONVT_NO_NUMBER              
    Exception              CX_SY_CONVERSION_NO_NUMBER
           Occurred on     09/29/2005 at 14:33:21
    Unable to interpret "04:" as a number.                                        
    What happened?
    Error in ABAP application program.                                                                               
    The current ABAP program "ZVXR0303" had to be terminated because one of the              
    statements could not be executed.                                                                               
    This is probably due to an error in the ABAP program.                                    
    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
    An exception occurred. This exception will be dealt with in more detail                  
    below. The exception, assigned to the class 'CX_SY_CONVERSION_NO_NUMBER', was            
    not caught, which                                                                       
    led to a runtime error. The reason for this exception is:                               
    The program attempted to interpret the value "04:" as a number, but                      
    since the value contravenes the rules for correct number formats,                        
    this was not possible.                                                                               
    How to correct the error
    Integers are represented in ABAP using a sequence of digits and, in some                 
    cases, a preceding sign.                                                                
    The system offers the following options for displaying floating point                    
    numbers:                                                                               
    [mantissa]E[sign][exponent]                                                      
      [whole number part].[fractional part]                                            
    e.g. -12E+34, +12E-34, 12E34, 12.34                                                                               
    If the error occurred in one of your own programs or in an SAP program                   
    that you modified, try to correct it yourself.                                                                               
    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:                                                                               
    "CONVT_NO_NUMBER" CX_SY_CONVERSION_NO_NUMBERC                                            
    "ZVXR0303" or "ZVXR0303"                                                                 
    "START-OF-SELECTION"                                                                     
    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....... "grrsap54"                                                     
    Network address.......... "10.80.96.102"                                                 
    Operating system......... "HP-UX"                                                        
    Release.................. "B.11.11"                                                      
    Hardware type............ "9000/800"                                                     
    Character length......... 8 Bits                                                         
    Pointer length........... 64 Bits                                                        
    Work process number...... 3                                                              
    Short dump setting....... "full"                                                                               
    Database server.......... "grrsap54"                                                     
    Database type............ "ORACLE"                                                       
    Database name............ "D01"                                                          
    Database owner........... "SAPR3"                                                                               
    Character set............ "en_US.iso88591"                                                                               
    SAP kernel............... "640"                                                          
    Created on............... "Aug 28 2005 20:25:49"                                         
    Created in............... "HP-UX B.11.00 A 9000/800"                                     
    Database version......... "OCI_920 "                                                                               
    Patch level.............. "88"                                                           
    Patch text............... " "                                                                               
    Supported environment....                                                                
    Database................. "ORACLE 8.1.7.., ORACLE 9.2.0.., ORACLE                    
    10.1.0.."                                                                             
    SAP database version..... "640"                                                          
    Operating system......... "HP-UX B.11"                                                   
    User, transaction...
    Client.............. 050                                                                 
    User................ "NSHAKER"                                                           
    Language key........ "E"                                                                 
    Transaction......... "SE38 "                                                             
    Program............. "ZVXR0303"                                                          
    Screen.............. "SAPMSSY0 1000"                                                     
    Screen line......... 6                                                                   
    Information on where terminated
    The termination occurred in the ABAP program "ZVXR0303" in                               
    "START-OF-SELECTION".                                                                   
    The main program was "ZVXR0303 ".                                                                               
    The termination occurred in line 156 of the source code of the (Include)                 
    program "ZVXR0303"                                                                      
    of the source code of program "ZVXR0303" (when calling the editor 1560).                 
    Source code extract
    Caution: Program has changed            
    Caution: At time of termination,  Active source code no longer available
    001260 ?         TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.            
    001270 ?         IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.             
    001280 ?           iKey = TKOMCON-ATWRT+KeyNumberLOC(4).                        
    001290 ?                                                                        
    001300 ?           IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )    
    001310 ?           OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).  
    001320 ?             PERFORM OUT-OF-RANGE-FOUND.                                
    001330 ?           ENDIF.                                                       
    001340 ?         ENDIF.                                                         
    001350 ?       Else.                                                            
    001360 ?         Offset = 0.                                                    
    001370 ?         DO.                                                            
    001380 ?           IF offset <= 9.                                              
    001390 ?             offset = offset + 1.                                       
    001400 ?             If TKOMCON-ATWRT+Offset(1) = ':'.                          
    001410 ?               KeyTypeLOC = Offset + 1.                                 
    001420 ?               KeyNumberLOC = Offset + 3.                               
    001430 ?               EXIT.                                                    
    001440 ?             ENDIF.                                                     
    001450 ?           ELSE.                                                        
    001460 ?             EXIT.                                                      
    001470 ?           ENDIF.                                                       
    001480 ?         ENDDO.                                                         
    001490 ?                                                                        
    001500 ?         TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.            
    001510 ?                                                                        
    001520 ?         IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.             
    001530 ?           iKey = TKOMCON-ATWRT+KeyNumberLOC(4).                        
    001540 ?           IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )    
    001550 ?           OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).  
    ?             IDAT-KWMENG = TKOMCON-ATWRT(3).                            
    001570 ?             PERFORM OUT-OF-RANGE-FOUND.                                
    001580 ?           ENDIF.                                                       
    001590 ?         ENDIF.                                                         
    001600 ?       ENDIF.                                                           
    001610 ?     ENDLOOP.                                                           
    001620 ?   ENDLOOP.                                                             
    001630 ? ENDIF.                                                                 
    001640 ? CLOSE DATASET OUTFILE.                                                 
    001650 ?                                                                        
    001660 ? *----
    001670 ? *       FORM OUT-OF-RANGE-FOUND                                       *
    001680 ? *----
    001690 ? *       ........                                                      *
    001700 ? *----
    001710 ? FORM OUT-OF-RANGE-FOUND.                                               
    001720 ?                                                                        
    001730 ?   WRITE: / IDAT-VBELN.                                                 
    001740 ?   WRITE: 10 IDAT-POSNR.                                                
    001750 ?   WRITE: 20 IDAT-MATNR.                                                
    Contents of system fields
    SY field contents..................... SY field contents.....................
    SY-SUBRC 0                             SY-INDEX 44                           
    SY-TABIX 7                             SY-DBCNT 1                            
    SY-FDPOS 4                             SY-LSIND 0                            
    SY-PAGNO 2                             SY-LINNO 18                           
    SY-COLNO 94                            SY-PFKEY                              
    SY-UCOMM                               SY-TITLE Out of Range Keys            
    SY-MSGTY I                             SY-MSGID SF                           
    SY-MSGNO 616                           SY-MSGV1                              
    SY-MSGV2                               SY-MSGV3                              
    SY-MSGV4                              
    Active calls / events
    No.... Type........ Name..........................
           Program                                
           Include                                  Line    
           Class                                  
         1 EVENT        START-OF-SELECTION                                          
           ZVXR0303                               
           ZVXR0303                                   156
    Chosen variables
         1 EVENT        START-OF-SELECTION                                          
           ZVXR0303                               
           ZVXR0303                                   156
    %_SPACE                                                                               
    2                                      
                                   0                                      
    SY-REPID                       ZVXR0303                               
                                   5555333322222222222222222222222222222222
                                   A682030300000000000000000000000000000000
    TKOMCON-ATWRT                  04:XF1260                              
                                   333543333222222222222222222222         
                                   04A861260000000000000000000000         
    KEYNUMBERLOC                   5                                      
                                   0000                                   
                                   0005                                   
    SYST-REPID                     ZVXR0303                               
                                   5555333322222222222222222222222222222222
                                   A682030300000000000000000000000000000000
    SY-LDBPG                       SAPDB__S                               
                                   5454455522222222222222222222222222222222
                                   31042FF300000000000000000000000000000000
    IKEY                           1260                                   
                                   000E                                   
                                   004C                                   
    KEYTYPELOC                     3                                      
                                   0000                                   
                                   0003                                   
    SY                             ###,####################################
                                   0002000000000001000000000000000000000000
                                   000C00020007000E00000001000A000000000000
    ... +  40                      ###########^###<########################
                                   0000000000050003000100080000000000000009
                                   00010004000E000C000200040000000000000000
    ... +  80                      ########################################
                                   0000000000000000000000000000000000000000
                                   0000000000000000000A00000000000000000000
    ... + 120                      #######################################_
                                   0000000000000000000000000000000000010005
                                   00000000000000000000000000000000000A000F
    ... + 160                      ############ÿÿ¹°XC#############   E2  X1
                                   000000000000FFBB540000000000000222432253
                                   0000000A0000FF90830040000C0000C000520081
    ... + 200                      000         ####__S                 050
                                   3332222222220000555222222222222222223332
                                   0000000000000000FF3000000000000000000500
    ... + 240                           00                                
                                   222223322222222                        
                                   000000000000000                        
    SVBELN                         IBT00012500000002250000                
                                   44533333333333333333333                
                                   92400012500000002250000                
    IDAT-KWMENG                    ########                               
                                   00000000                               
                                   0000000C                               
    TKOMCON-ATWRT+0(3)             04:                                    
                                   333                                    
                                   04A                                    
    SYST                           ###,####################################
                                   0002000000000001000000000000000000000000
                                   000C00020007000E00000001000A000000000000
    ... +  40                      ###########^###<########################
                                   0000000000050003000100080000000000000009
                                   00010004000E000C000200040000000000000000
    ... +  80                      ########################################
                                   0000000000000000000000000000000000000000
                                   0000000000000000000A00000000000000000000
    ... + 120                      #######################################_
                                   0000000000000000000000000000000000010005
                                   00000000000000000000000000000000000A000F
    ... + 160                      ############ÿÿ¹°XC#############   E2  X1
                                   000000000000FFBB540000000000000222432253
                                   0000000A0000FF90830040000C0000C000520081
    ... + 200                      000         ####__S                 050
                                   3332222222220000555222222222222222223332
                                   0000000000000000FF3000000000000000000500
    ... + 240                           00                                
                                   222223322222222                        
                                   000000000000000                        
    OUTFILE                        /usr/users/ftpsapfi/locks_540318       
                                   2777277677267776766266667533333322222222
                                   F532F53523F64031069FCF3B3F54031800000000
    ... +  40                                                                               
    2222222222                             
                                   0000000000                             
    Application Calls
    No dump information available                    
    Application Information
    No dump information available                    
    Internal notes
    The termination occurred in the function "ab_Move" of the SAP                            
    Basis System, specifically in line 529 of the module                                     
    "//bas/640_REL/src/krn/runt/abmove1.c#6".                                               
    The internal operation just processed is "MOVE".                                         
    The internal session was started at 20050929142552.                                      
    Active calls in SAP kernel
    ( 0)  0x4000000001751924   CTrcStack2 + 0x2bc  dw.sapD01_DVEBMGS00                    
    ( 1)  0x4000000001751658   CTrcStack + 0x18  dw.sapD01_DVEBMGS00                      
    ( 2)  0x4000000001db7478   rabax_CStackSave__Fv + 0x100  dw.sapD01_DVEBMGS00          
    ( 3)  0x4000000001dc3abc   ab_rabax + 0x1e1c  dw.sapD01_DVEBMGS00                     
    ( 4)  0x4000000001b44cb4   ab_cnverr__FiPcPCvN21T2 + 0x18c  dw.sapD01_DVEBMGS00       
    ( 5)  0x40000000016c96f8   ab_Move + 0x1910  dw.sapD01_DVEBMGS00                      
    ( 6)  0x40000000016d4434   ab_jmove__Fv + 0x384  dw.sapD01_DVEBMGS00                  
    ( 7)  0x4000000001022348   ab_extri__Fv + 0x17a0  dw.sapD01_DVEBMGS00                 
    ( 8)  0x4000000001726dc8   ab_xevent__FPCc + 0x38  dw.sapD01_DVEBMGS00                
    ( 9)  0x40000000019f7efc   ab_trigg__Fv + 0x94  dw.sapD01_DVEBMGS00                   
    (10)  0x40000000019dc9ec   ab_run + 0xc4  dw.sapD01_DVEBMGS00                         
    (11)  0x4000000000f65e0c   N_ab_run + 0x14  dw.sapD01_DVEBMGS00                       
    (12)  0x4000000000f5fa88   dynpmcal + 0x198  dw.sapD01_DVEBMGS00                      
    (13)  0x4000000000f5d500   dynppai0 + 0x830  dw.sapD01_DVEBMGS00                      
    (14)  0x4000000000f5b8b4   dynprctl + 0x43c  dw.sapD01_DVEBMGS00                      
    (15)  0x4000000000f56728   dynpen00 + 0x2118  dw.sapD01_DVEBMGS00                     
    (16)  0x400000000102f1b4   Thdynpen00 + 0x69c  dw.sapD01_DVEBMGS00                    
    (17)  0x400000000102e1e4   TskhLoop + 0x523c  dw.sapD01_DVEBMGS00                     
    (18)  0x4000000001022f50   tskhstart + 0x1e0  dw.sapD01_DVEBMGS00                     
    (19)  0x4000000000dce3c4   DpMain + 0x484  dw.sapD01_DVEBMGS00                        
    (20)  0x40000000022784cc   nlsui_main + 0x14  dw.sapD01_DVEBMGS00                     
    (21)  0x4000000000a39534   main + 0x14  dw.sapD01_DVEBMGS00                           
    (22)  0xc00000000000a588   $START$ + 0xa0  /usr/lib/pa20_64/dld.sl                    
    List of ABAP programs affected
    Type  Program                            Gen. Date  Time       Load Size 
    Prg   ZVXR0303                           09/29/2005 14:25:42       39936 
    Prg   SAPMSSY0                           05/01/2005 00:21:19       66560 
    Prg   SAPMSSYD                           06/05/2002 17:09:33       16384 
    Prg   SAPFSYSCALLS                       02/14/2002 14:22:47        6144 
    Prg   RSDBRUNT                           06/13/2004 00:43:20      226304 
    Typ   RSSCR                                /  /       : m:15        5120 
    Prg   RSDBSPBL                           01/07/2003 18:47:02       59392 
    Prg   SAPDB__S                           02/14/2002 14:22:47       15360 
    Typ   VARID                              05/12/1997 16:51:30        4096 
    Prg   %_CSYDB0                           02/14/2002 14:22:46       28672 
    Prg   RSDBSPVA                           09/06/2005 22:54:22      112640 
    Prg   SAPLSVAR                           09/06/2005 22:57:28      625664 
    Typ   VARIS                              05/12/1997 15:27:21        2048 
    Typ   RSVAMEMKEY                         05/07/1997 13:07:49        2048 
    Prg   RSDBSPMC                           06/05/2002 17:09:26       66560 
    Typ   DDSHDESCR                          09/03/1997 03:05:16        3072 
    Typ   SPPARAMS                           05/07/1997 13:10:38        2048 
    Typ   SPPARAMS                           05/07/1997 13:10:38        2048 
    Typ   RSSELINT                           04/04/1995 16:12:37        2048 
    Prg   SAPLICON                           03/12/2004 06:57:52       23552 
    Prg   %_CICON                            02/14/2002 14:22:46       65536 
    Prg   SAPLSABE                           02/14/2002 14:22:47       11264 
    Prg   SAPLSECU                           05/23/2005 14:04:05       64512 
    Typ   RSSUBINFO                          10/14/1999 22:01:03        3072 
    Prg   %_CRSDS                            02/14/2002 14:22:46        8192 
    Typ   RSDSEXPR                           08/20/1998 10:57:18        2048 
    Prg   SAPLDSYA                           02/14/2002 14:22:47       39936 
    Prg   SAPFSDS1                           01/07/2003 18:32:17       47104 
    Typ   TDCLD                              11/02/1998 09:51:35        5120 
    Prg   SAPLSDOD                           04/30/2005 22:53:50       39936 
    Typ   DOKIL                              05/12/1997 16:46:17        3072 
    Prg   SAPCNVE                            02/14/2002 14:22:47        6144 
    Prg   SAPLLANG                           02/14/2002 14:22:47        8192 
    Typ   T002                               02/14/1998 10:24:58        2048 
    Typ   RSEXFCODE                          08/13/1997 12:52:57        1024 
    Prg   SAPFSPOR                           03/13/2004 19:20:44       12288 
    Prg   SAPLOMCV                           05/01/2005 00:14:10       16384 
    Prg   CL_EXITHANDLER================CP   06/13/2004 00:40:58       26624 
    Prg   SAPLSEXV                           09/06/2005 22:55:26      107520 
    Prg   CL_BADI_FLT_DATA_TRANS_AND_DB=CP   05/01/2005 00:21:35       33792 
    Typ   SXS_ATTR                           08/20/2001 12:23:27        4096 
    Typ   V_EXT_ACT                          11/09/2000 14:27:05        2048 
    Typ   SXC_EXIT                           11/09/2000 14:23:43        2048 
    Prg   CL_EX_BADI_MATN1==============CP   05/01/2005 00:14:04       22528 
    Prg   IF_EX_BADI_MATN1==============IP   06/13/2004 00:48:55        4096 
    Typ   TMCNV                              02/24/1999 03:33:25        3072 
    Prg   SAPLSCNT                           02/14/2002 14:22:47       24576 
    Typ   DYCBOX                             08/20/1998 11:16:53        2048 
    Prg   SAPLSVSM                           01/07/2003 18:35:45       22528 
    Prg   SAPLSGUI                           01/09/2003 17:15:12       31744 
    Prg   SAPLSTTM                           05/01/2005 00:24:04       75776 
    Prg   SAPLSBDC                           05/23/2005 14:05:19       38912 
    Prg   CL_DATAPROVIDER===============CP   02/14/2002 14:22:46       40960 
    Prg   %_CCNTL                            02/14/2002 14:22:46       13312 
    Typ   OBJ_RECORD                         02/14/1998 08:30:43        2048 
    Prg   SAPLSTUP                           05/23/2005 14:03:46       65536 
    Prg   SAPLCNDP                           05/23/2005 14:05:47      167936 
    Prg   SAPFGUICNTL                        01/09/2003 17:18:52       20480 
    Prg   SAPLOLEA                           05/23/2005 14:03:56       79872 
    Prg   SAPLSFES                           09/06/2005 22:53:55      191488 
    Prg   SAPLSPLUGIN                        02/14/2002 14:22:48        6144 
    Typ   ARFCRDATA                          11/09/2000 14:04:16        6144 
    Prg   SAPLGRFC                           02/14/2002 14:22:47       13312 
    Typ   SWCBCONT                           11/15/2000 17:55:11        3072 
    Typ   OLE_VERBS                          04/04/1995 16:02:20        2048 
    Typ   OLE_PA                             04/04/1995 16:02:19        2048 
    Prg   SAPSHDTV                           03/12/2004 06:40:27       28672 
    Typ   SSCRTEXTS                          09/03/1997 03:12:33        3072 
    Typ   SSCRFIELDS                         05/13/1997 12:54:26        4096 
    Prg   CL_GUI_PROPS_CONSUMER=========CP   01/07/2003 18:26:56       26624 
    Prg   SAPLTHFB                           09/06/2005 22:52:48      306176 
    Prg   CL_DYNAMIC_GUI_EXTENSIONS=====CP   02/14/2002 14:22:46       33792 
    Prg   CL_GUI_DATAMANAGER============CP   05/01/2005 00:20:36       70656 
    Prg   CL_ABAP_CHAR_UTILITIES========CP   05/01/2005 00:14:49       11264 
    Prg   RSDBSPVD                           05/01/2005 00:15:44       73728 
    Typ   RVARI                              03/30/1998 09:40:50        4096 
    Typ   RSVARIVDAT                         04/04/1995 16:12:54        2048 
    Typ   VBEP                               01/27/2003 16:50:17       10240 
    Typ   VBAP                               09/15/2005 11:15:36       44032 
    Prg   SAPLCEI0                           09/22/2005 14:34:40      936960 
    Typ   API_VALUE                          02/20/1998 08:46:47        2048 
    Prg   SAPLCUEV                           06/07/2001 18:26:56       10240 
    Prg   SAPLSUNI                           06/13/2004 00:42:30      131072 
    Typ   TFDIR                              07/29/1998 19:49:08        3072 
    Prg   %_CIBCO2                           03/13/2004 14:32:13       12288 
    Typ   IBINCOM                            06/01/1999 11:56:27        3072 
    Typ   IBINCONF                           06/01/1999 11:56:27        2048 
    Typ   IBSTCONF                           06/01/1999 11:56:28        1024 
    Prg   SAPLCUCB                           05/23/2005 15:20:17      192512 
    Typ   TCUIBSPECIAL                       06/07/2001 17:50:37        1024 
    Prg   %_CIBXX                            03/13/2004 14:38:45       49152 
    Typ   BAL_S_MSG                          12/04/2000 13:04:01        6144 
    Prg   CX_CBASE_ERROR================CP   01/27/2003 16:58:10       10240 
    Typ   SCX_SRCPOS                         11/09/2000 14:12:15        2048 
    Typ   BAL_S_CONT                         11/02/1998 09:43:07        2048 
    Typ   BAL_S_PARM                         12/04/2000 12:45:14        3072 
    Typ   BAL_S_CLBK                         11/02/1998 09:43:07        2048 
    Prg   CX_STATIC_CHECK===============CP   02/14/2002 14:22:47        8192 
    Prg   CX_ROOT=======================CP   02/14/2002 14:22:47        9216 
    Prg   CL_CBASE======================CP   05/23/2005 15:19:44       87040 
    Typ   T371G                              04/29/1998 10:42:48        2048 
    Prg   SAPLIBCO                           03/13/2004 15:32:40      269312 
    Prg   %_CIBCO                            03/13/2004 14:38:45       11264 
    Prg   SAPLIBXX                           03/13/2004 14:38:46       11264 
    Prg   SAPLIBIBF                          03/13/2004 14:38:46      179200 
    Prg   %_CIBIB                            03/13/2004 14:38:45       18432 
    Prg   SAPLIBINF                          06/12/2004 22:20:22      415744 
    Prg   %_CIBIN                            03/13/2004 15:32:40       48128 
    Prg   CL_IBASE_STRUC================CP   06/07/2001 19:59:10      106496 
    Prg   %_CIBST                            03/13/2004 14:38:45       37888 
    Prg   CL_IBASE_STRUC_BUF============CP   06/07/2001 19:59:10       89088 
    Prg   CL_IBASE_STRUC_STAT===========CP   06/07/2001 19:59:10        8192 
    Prg   CL_IBASE_STRUC_BUF_IBSTREF====CP   06/07/2001 19:59:10       35840 
    Prg   %_CIBCO1                           03/13/2004 14:38:45       14336 
    Typ   IBINVAL                            09/18/2001 10:02:52        2048 
    Prg   SAPLIBCU                           03/13/2004 14:38:46       12288 
    Prg   SAPLIBCUT                          06/07/2001 18:27:19       12288 
    Typ   T371B                              05/14/1998 22:58:43        2048 
    Typ   V_IBINR                            03/13/2004 15:32:40        5120 
    Typ   V_IBINR_CM                         03/13/2004 15:32:40        5120 
    Prg   CL_IBASE_SERVICE==============CP   06/07/2001 19:59:10       13312 
    Prg   CL_IBASE_T371D_BUF============CP   06/07/2001 19:59:10       12288 
    Typ   T371D                              08/27/1999 18:19:44        2048 
    Prg   CL_IBASE_R3_MATERIAL==========CP   05/23/2005 15:08:24       59392 
    Typ   MARA                               05/23/2005 15:08:18       22528 
    Typ   MAKT                               08/28/1997 08:52:19        2048 
    Typ   ICON                               01/03/1996 15:34:02        3072 
    Prg   CL_ABAP_TYPEDESCR=============CP   05/01/2005 00:20:10       21504 
    Prg   CL_ABAP_ELEMDESCR=============CP   05/01/2005 00:20:33       20480 
    Prg   CL_ABAP_DATADESCR=============CP   03/12/2004 07:16:33       14336 
    Prg   CL_ABAP_REFDESCR==============CP   03/12/2004 07:17:23       16384 
    Prg   CL_ABAP_STRUCTDESCR===========CP   05/01/2005 00:20:33       20480 
    Prg   CL_ABAP_COMPLEXDESCR==========CP   03/12/2004 07:16:33       13312 
    Prg   CL_ABAP_TABLEDESCR============CP   03/12/2004 07:17:23       17408 
    Prg   CL_ABAP_CLASSDESCR============CP   03/12/2004 07:17:23       23552 
    Prg   CL_ABAP_OBJECTDESCR===========CP   03/12/2004 07:17:23       25600 
    Prg   CL_ABAP_INTFDESCR=============CP   03/12/2004 07:16:33       19456 
    Prg   CL_ABAP_SOFT_REFERENCE========CP   03/29/2001 16:42:12        7168 
    Prg   CL_ABAP_REFERENCE=============CP   02/14/2002 14:22:46        6144 
    Prg   IF_EX_CM_BADI_VERSION=========IP   01/07/2002 16:09:04        3072 
    Prg   %_CABAP                            01/07/2003 18:31:23       23552 
    Typ   SXS_INTER                          11/30/1998 15:55:16        2048 
    Prg   CL_EX_CM_BADI_VERSION=========CP   05/01/2005 00:14:04       13312 
    Prg   %_CSXRT                            06/13/2004 00:40:55       11264 
    Prg   CL_EXIT_MASTER================CP   06/13/2004 00:40:58       13312 
    Typ   V_EXT_IMP                          11/09/2000 14:27:05        2048 
    Typ   V_EXT_IMP                          11/09/2000 14:27:05        2048 
    Typ   SXC_IMPSWH                         11/09/2000 14:23:44        2048 
    Prg   CL_IM_CM_BADI_VERSION_DEF=====CP   04/17/2002 11:01:00        6144 
    Prg   SAPLASTAT_TRIG                     02/14/2002 14:22:47       11264 
    Typ   ASTAT_TYP2                         11/10/1998 05:35:18        2048 
    Prg   IF_CM_BASELINE================IP   05/23/2005 15:08:24        9216 
    Prg   IF_IBASE_IBOF_TREE_OBJECT=====IP   05/23/2005 15:08:24        5120 
    Prg   IF_IBASE_INSTALL==============IP   06/07/2001 20:08:54        4096 
    Prg   IF_IBASE_MATERIAL=============IP   06/07/2001 20:08:54        3072 
    Prg   IF_IBASE_OBJECT===============IP   06/07/2001 20:08:54        4096 
    Prg   SAPLBOMA                           02/14/2002 14:15:40       10240 
    Typ   IONRA                              03/12/2004 02:09:40       23552 
    Typ   IBIBCOM                            08/30/2001 17:56:57        4096 
    Typ   IBIB                               03/13/2004 14:32:13        5120 
    Prg   CL_IBASE_STRUC_SERVICE========CP   06/07/2001 19:59:10       17408 
    Prg   CL_CU_CBASE_ENQUEUE_CORE======CP   06/07/2001 19:58:59       11264 
    Prg   CL_CU_CBASE_ENQUEUE===========CP   06/07/2001 19:58:59       16384 
    Typ   T371F                              06/01/1999 12:00:49        2048 
    Typ   V_IBIN_SYVAL                       03/13/2004 15:32:41        4096 
    Typ   IBIN                               09/18/2001 10:02:52        6144 
    Typ   IBINOWN                            02/01/2000 14:56:07        2048 
    Prg   CL_IBASE_T371F_BUF============CP   06/07/2001 19:59:11        8192 
    Prg   CL_IBASE_STRUC_FILT_02========CP   06/07/2001 19:59:10       11264 
    Prg   CL_IBASE_STRUC_FILT===========CP   06/07/2001 19:59:10       10240 
    Typ   IBST                               09/18/2001 10:02:52        4096 
    Typ   IBST                               09/18/2001 10:02:52        4096 
    Typ   IBSTREF                            04/15/1998 00:20:43        2048 
    Typ   IBSTREF                            04/15/1998 00:20:43        2048 
    Prg   IF_CBASE_E====================IP   06/07/2001 20:08:25        3072 
    Prg   %_CCXTAB                           02/14/2002 14:22:46        6144 
    Prg   SAPLCUCQ                           09/15/2005 11:15:38       79872 
    Typ   CUCO                               09/18/2001 10:02:34       18432 
    Typ   CUCO_OBJ                           09/18/2001 10:02:34       18432 
    Prg   SAPLCLCA                           09/06/2005 23:33:29       68608 
    Typ   TCLA                               03/13/2004 14:10:20        5120 
    Typ   TCLAO                              08/13/1997 13:57:22        4096 
    Prg   SAPLCUOB                           05/23/2005 14:31:35       31744 
    Typ   INOB                               09/03/1997 03:20:02        4096 
    Prg   SAPLCLSE                           05/23/2005 14:32:26      167936 
    Prg   %_CCC01                            05/01/2005 00:34:57       53248 
    Typ   TABLEKEY                           07/06/1998 21:01:06        2048 
    Typ   KSSK                               09/18/2001 10:02:58        3072 
    Prg   SAPLCLEF                  

  • RECONCILIACION INTERNA ERROR

    Buen día chicos,
    tengo un problema en una bd en 8.8 pl 18 en la que se está reconciliando un pago con una factura. El pago tiene la caracteristica de ser en USD y aplicar para varias facturas, esta ultima factura con la que se está reconciliando corresponde al monto pero si hay una diferencia de decimales de tal forma que aparece en la ventana de reconciliación  IMPORTE DEL PAGO 4804.72, SALDO VENCIDO 299.38 Y SALDO A RECONCILIAR  299.28.   EN LOS IMPORTES DE LA FACTURA 299.28 SALDO VENCIDO 299.28 Y SALDO A RECONCILIAR 299.28.   Como verán hay unadiferencia en los saldos vencdidos de 10 centavos.  a un cuando la cantidad a reconciliar da cero.
    he consultado varias notas en sap, aunque no aplican para la version 8.8, porque los parches que salieron para 2007 no aplican aqui, tambien he corrido queries para escalarlo y no arrojan resultados.
    LAS NOTAS DE SAP QUE HE CONSULTADO SON LAS SIGUIENTES
    1252327 Error: Reconciliation Amount must be less than the Balance 
      Última modificación  05.10.2008 Área de aplicación:  SBO-BK-IN-PMT  
    2 . 1131218 Error Msg: Reconciliation amount must be less than balance 
      Última modificación  16.01.2008 Área de aplicación:  SBO-BK-IN-PMT  
    3 . 1537383 Error when trying to cancel manual reconciliation 
      Última modificación  08.12.2010 Área de aplicación:  SBO-BK-RC-MAN  
    4 . 1531014 Incorrect Applied Amount for an Invoice 
      Última modificación  19.11.2010 Área de aplicación:  SBO-BK-IN-PMT  
    5 . 1369267 Negative BP Balance 
      Última modificación  21.03.2010 Área de aplicación:  SBO-FIN  
    6 . 1335130 Invoice with linked Down Payment Invoice after upgrade 
      Última modificación  17.11.2009 Área de aplicación:  SBO-PUR-INV  
    7 . 1337153 Can not add payments for invoices with several installments 
      Última modificación  10.11.2009 Área de aplicación:  SBO-BK  
    8 . 1290054 IRU Epsilon: Link Invoice to Payment application error 
      Última modificación  10.07.2009 Área de aplicación:  SBO-ADM-UT-IAT  
    9 . 1318821 Handling Internal Reconciliation Mismatch of Decimal Places 
      Última modificación  02.04.2009 Área de aplicación:  SBO-BK-RC-MAN  
    10 . 1291561  Can't create payment for A/P invoice 
      Última modificación  07.01.2009
    Alguien sabe cual es la forma correcta de manejar este incidente para lograr la reconciliación?
    Agradezco de antemano su apoyo.
    saludos cordiales.

    OK, entonces no podras crear la reconciliacion asi, porque los saldos vencidos no son iguales.
    Te recomiendo.
    1) Crear un asiento en el diario por el ajuste (solo si el monto es inmaterial)
    2) Aplicar al menor valor entre los montos reconciliados, el mismo importe de su valor. A que me refiero si uno tiene un saldo vencido de 300,10 y el otro uno de 400,10, aplicar solo una reconciliarion de 300,10, asi el de 400,10 te quedara con un saldo pendiente de 100.
    Slds

  • Start Routine code error of Perform routine 9998

    Hi,
    I have install standard and then migrate to 7.0 all the flow of modeling.
    but after loading data in PSA, while activation i will found following problem (error in routine).
    In PERFORM or CALL FUNCTION ROUTINE_9998, the actual parameter SOURCE_PACKAGE is incompatible with the formal parameter DATA_PACKAGE.
    please suggest me.

    PROGRAM trans_routine.
          CLASS routine DEFINITION
    CLASS lcl_transform DEFINITION.
      PUBLIC SECTION.
    Attributs
        DATA:
          p_check_master_data_exist
                TYPE RSODSOCHECKONLY READ-ONLY,
    *-    Instance for getting request runtime attributs;
        Available information: Refer to methods of
        interface 'if_rsbk_request_admintab_view'
          p_r_request
                TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
      PRIVATE SECTION.
        TYPE-POOLS: rsd, rstr.
      Rule specific types
        TYPES:
          BEGIN OF tys_SC_1,
         InfoObject: 0MPOINT Measuring point.
            MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
            MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
            MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0MPTYP Type of Measuring Point.
            MPTYP           TYPE /BI0/OIMPTYP,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
            PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
            ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
            ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
            MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
            TIME           TYPE /BI0/OITIME,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
            DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
            TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
            MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
            MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
            MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
            SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
            CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
            PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0CREATED_BY Created By.
            CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
            READSI           TYPE /BI0/OIREADSI,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
            READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
            RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
            CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
            CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CAT_TYPE Catalog.
            CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
            CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0FI_STATUS Processing Status.
            FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
            DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
            CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
            EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
            FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
            CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
            MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0DOCAF Measurement Document Included for Associated T
    *ask.
            DOCAF           TYPE /BI0/OIDOCAF,
         InfoObject: 0RECORDMODE BW Delta Process: Update Mode.
            RECORDMODE           TYPE RODMUPDMOD,
         InfoObject: ZSTEXT Object Number Text.
            /BIC/ZSTEXT           TYPE /BIC/OIZSTEXT,
         Field: RECORD.
            RECORD           TYPE RSARECORD,
          END   OF tys_SC_1.
        TYPES:
          tyt_SC_1        TYPE STANDARD TABLE OF tys_SC_1
                            WITH NON-UNIQUE DEFAULT KEY.
    $$ begin of global - insert your declaration only below this line  -
        ... "insert your code here
    $$ end of global - insert your declaration only before this line   -
        METHODS
          start_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              SOURCE_PACKAGE              type tyt_SC_1
            RAISING
              cx_rsrout_abort.
        METHODS
          inverse_start_routine
            IMPORTING
              i_th_fields_outbound         TYPE rstran_t_field_inv
              i_r_selset_outbound          TYPE REF TO cl_rsmds_set
              i_is_main_selection          TYPE rs_bool
              i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
              i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
            CHANGING
              c_th_fields_inbound          TYPE rstran_t_field_inv
              c_r_selset_inbound           TYPE REF TO cl_rsmds_set
              c_exact                      TYPE rs_bool.
    ENDCLASS.                    "routine DEFINITION
    $$ begin of 2nd part global - insert your code only below this line  *
    TYPES:
      BEGIN OF tys_SC_1_full,
         InfoObject: 0MPOINT Measuring point.
        MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
        MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
        MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0MPTYP Type of Measuring Point.
        MPTYP           TYPE /BI0/OIMPTYP,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
        PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
        ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
        ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
        MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
        TIME           TYPE /BI0/OITIME,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
        CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
        PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0CREATED_BY Created By.
        CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
        READSI           TYPE /BI0/OIREADSI,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
        READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CAT_TYPE Catalog.
        CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
        CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0FI_STATUS Processing Status.
        FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
        DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
        EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
        FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
        CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0DOCAF Measurement Document Included for Associated T
    *ask.
        DOCAF           TYPE /BI0/OIDOCAF,
         InfoObject: 0RECORDMODE BW Delta Process: Record Mode.
        RECORDMODE           TYPE RODMUPDMOD,
         Field: RECNO Data record number.
        RECNO           TYPE RSARECORD,
      END   OF tys_SC_1_full.
    TYPES:
      tyt_SC_1_full        TYPE STANDARD TABLE OF tys_SC_1_full
                        WITH NON-UNIQUE DEFAULT KEY.
    TYPES:
      BEGIN OF tys_TG_1_full,
         Field: SID Master data ID.
        SID           TYPE RSSID,
         Field: DATAPAKID Data packet number.
        DATAPAKID           TYPE RSDATAPID,
         Field: RECORD Data record number.
        RECORD           TYPE RSARECORD,
         InfoObject: 0MPOINT Measuring point.
        MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
        MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0FI_STATUS Processing Status.
        FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
        DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
        EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
        FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
        CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0CAT_TYPE Catalog.
        CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
        CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0CREATED_BY Created By.
        CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
        MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
        READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
        CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
        PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
        PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
        ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
        ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
        MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
        TIME           TYPE /BI0/OITIME,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0DESIREU Target Value for Measuring Point in Document
    Entry Unit.
        DESIREU           TYPE /BI0/OIDESIREU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0MRMINEU Lower Meas. Limit or Min. Total Counter Read
    *ing Document UoM.
        MRMINEU           TYPE /BI0/OIMRMINEU,
         InfoObject: 0MRMAXEU Upper Meas. Limit or Max. Total Counter Read
    *ing in Doc. M.U..
        MRMAXEU           TYPE /BI0/OIMRMAXEU,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0CNTRREU Counter Reading in Document Entry Unit.
        CNTRREU           TYPE /BI0/OICNTRREU,
         InfoObject: 0CDIFFEU Counter Reading Difference in Document Entry
    Unit.
        CDIFFEU           TYPE /BI0/OICDIFFEU,
         InfoObject: 0RECORDMODE BW Delta Process: Record Mode.
        RECORDMODE           TYPE RODMUPDMOD,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
        READSI           TYPE /BI0/OIREADSI,
      END   OF tys_TG_1_full.
    TYPES:
      BEGIN OF tys_SC_1__RULE_34,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_34.
    TYPES:
      BEGIN OF tys_SC_1__RULE_35,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_35.
    TYPES:
      BEGIN OF tys_SC_1__RULE_36,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_36.
    TYPES:
      BEGIN OF tys_SC_1__RULE_37,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_37.
    TYPES:
      BEGIN OF tys_SC_1__RULE_38,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_38.
    Additional types for start routine interface
    TYPES:
      data_package_structure type tys_SC_1_full.
    Additional declaration for update rule interface
    DATA:
      MONITOR       type standard table of rsmonitor  WITH HEADER LINE,
      MONITOR_RECNO type standard table of rsmonitors WITH HEADER LINE,
      RECORD_NO     LIKE SY-TABIX,
      RECORD_ALL    LIKE SY-TABIX,
      SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS.
    global definitions from update rules
    TABLES: ...
    DATA:   ...
    *******DATA:  G_T_0EQUIPMENT  TYPE STANDARD TABLE OF /BI0/MEQUIPMENT.
    data: lt_data type ref to data.
    data: ls_data type ref to data.
    field-symbols: <G_T_0EQUIPMENT> type standard table.
    field-symbols: <G_S_0EQUIPMENT> type any.
    field-symbols: <FUNCT_LOC> type any.
    field-symbols: <DATEFROM> type any.
    field-symbols: <DATETO> type any.
    constants: c_tabname type rstlogotab value '/BI0/MEQUIPMENT'.
    *&      Form  routine_9998
          text
         -->DATA_PACKAGE            text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_9998
      TABLES DATA_PACKAGE TYPE tyt_SC_1_full
      CHANGING
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal tables "MONITOR" and/or "MONITOR_RECNO",
    to make monitor entries
    In this start routine missing functional location for
    an equipment is added to a Data Package record, if it is available
    in the master data of the equipment
      create data lt_data type table of (c_tabname).
      assign lt_data->* to <G_T_0EQUIPMENT>.
      create data ls_data type (c_tabname).
      assign ls_data->* to <G_S_0EQUIPMENT>.
      assign component 'FUNCT_LOC' of structure <G_S_0EQUIPMENT> to
    <FUNCT_LOC>.
      assign component 'DATE_FROM' of structure <G_S_0EQUIPMENT> to
    <DATEFROM>.
      assign component 'DATE_TO' of structure <G_S_0EQUIPMENT> to
    <DATETO>.
      CALL FUNCTION 'RSAU_READ_MASTER_DATA'
        EXPORTING
          I_IOBJNM                = '0EQUIPMENT'
          I_FLG_WHOLE_TABLE       = 'X'
        IMPORTING
          E_TABLE                 = <G_T_0EQUIPMENT>
        EXCEPTIONS
          READ_ERROR              = 1
          NO_SUCH_ATTRIBUTE       = 2
          WRONG_IMPORT_PARAMETERS = 3
          CHAVL_NOT_FOUND         = 4
          OTHERS                  = 5.
      CASE SY-SUBRC.
        WHEN 0.
          LOOP AT <G_T_0EQUIPMENT> INTO <G_S_0EQUIPMENT>.
            IF <FUNCT_LOC> IS INITIAL.
              DELETE <G_T_0EQUIPMENT>.
            ENDIF.
    master data collected and condensed
          ENDLOOP.
          LOOP AT DATA_PACKAGE.
            IF ( DATA_PACKAGE-FUNCT_LOC IS INITIAL ) AND
               ( DATA_PACKAGE-EQUIPMENT IS NOT INITIAL ).
              READ TABLE <G_T_0EQUIPMENT> WITH KEY
                ('EQUIPMENT') = DATA_PACKAGE-EQUIPMENT INTO <G_S_0EQUIPMENT>
              IF SY-SUBRC = 0.
                IF ( DATA_PACKAGE-MDATE >= <DATEFROM> )
                   AND ( DATA_PACKAGE-MDATE <= <DATETO> ).
    record for equipment exists and valid
                  DATA_PACKAGE-FUNCT_LOC = <FUNCT_LOC>.
                  MODIFY DATA_PACKAGE.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDLOOP.
        WHEN 4.
    master data is not (yet) loaded
        WHEN OTHERS.
    problem occured, output as warning
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
      ENDCASE.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_9998
    *&      Form  routine_0001
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0001
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_34
      CHANGING
        RESULT         TYPE tys_TG_1_full-DESIREU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-TVIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-DESIRSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0001
    *&      Form  routine_0002
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0002
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_35
      CHANGING
        RESULT         TYPE tys_TG_1_full-MRMINEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-MRMINI = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-MRMINSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0002
    *&      Form  routine_0003
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0003
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_36
      CHANGING
        RESULT         TYPE tys_TG_1_full-MRMAXEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-MRMAXI = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-MRMAXSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0003
    *&      Form  routine_0004
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0004
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_37
      CHANGING
        RESULT         TYPE tys_TG_1_full-CNTRREU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-CNTIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-CNTRRSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0004
    *&      Form  routine_0005
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0005
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_38
      CHANGING
        RESULT         TYPE tys_TG_1_full-CDIFFEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-CNTIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-CDIFFSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0005
    TYPES: BEGIN OF TY_/BI0/PMPOINT,
          MPOINT      TYPE /BI0/PMPOINT-MPOINT,
       MRNGU     TYPE /BI0/PMPOINT-MRNGU,
    END of TY_/BI0/PMPOINT.
    DATA: /BI0/PMPOINT_TEMP TYPE STANDARD TABLE OF
    TY_/BI0/PMPOINT,
          W_/BI0/PMPOINT_TEMP like line of /BI0/PMPOINT_TEMP.
    $$ end of 2nd part global - insert your code only before this line   *
          CLASS routine IMPLEMENTATION
    CLASS lcl_transform IMPLEMENTATION.
          Method start_routine
          Calculation of source package via start routine
      <-> source package
      METHOD start_routine.
    *=== Segments ===
        FIELD-SYMBOLS:
          <SOURCE_FIELDS>    TYPE tys_SC_1.
        DATA:
          MONITOR_REC     TYPE rstmonitor.
    *$*$ begin of routine - insert your code only below this line        *-*
        Data:
          l_subrc          type sy-tabix,
          l_abort          type sy-tabix,
          ls_monitor       TYPE rsmonitor,
          ls_monitor_recno TYPE rsmonitors.
        REFRESH:
          MONITOR,
          MONITOR_RECNO.
    Runtime attributs
        SOURCE_SYSTEM  = p_r_request->get_logsys( ).
    Migrated update rule call
        Perform routine_9998
        TABLES
          SOURCE_PACKAGE
        CHANGING
          l_abort.
    *-- Convert Messages in Transformation format
        LOOP AT MONITOR_RECNO INTO ls_monitor_recno.
          move-CORRESPONDING ls_monitor_recno to MONITOR_REC.
          append monitor_rec to MONITOR.
        ENDLOOP.
        LOOP AT MONITOR INTO ls_monitor.
          move-CORRESPONDING ls_monitor to MONITOR_REC.
          append monitor_rec to MONITOR.
        ENDLOOP.
        IF l_abort <> 0.
          RAISE EXCEPTION TYPE CX_RSROUT_ABORT.
        ENDIF.
    $$ end of routine - insert your code only before this line         -
      ENDMETHOD.                    "start_routine
          Method inverse_start_routine
          This subroutine needs to be implemented only for direct access
          (for better performance) and for the Report/Report Interface
          (drill through).
          The inverse routine should transform a projection and
          a selection for the target to a projection and a selection
          for the source, respectively.
          If the implementation remains empty all fields are filled and
          all values are selected.
      METHOD inverse_start_routine.
    $$ begin of inverse routine - insert your code only below this line-
        ... "insert your code here
    $$ end of inverse routine - insert your code only before this line -
      ENDMETHOD.                    "inverse_start_routine
    ENDCLASS.                    "routine IMPLEMENTATION

  • Dump Error

    Dump Msg
                                                                                    With ABAP/4 Open SQL array select, the output table is too small.                                                                               
    What happened?                                                                               
    Error in ABAP application program.                                                                               
    The current ABAP program "ZFLEXI" had to be terminated because one of the               
    statements could not be executed.                                                               
    This is probably due to an error in the ABAP program.             
    My logic is :
    *& Report  : ZDLYDSPHNEW                                               *
    *& Purpose : Daily Godown dispatches with condition valu details       *
    REPORT ZDLYDSPH NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 30(10)
    MESSAGE-ID SK .
    TYPE-POOLS: SLIS,ABAP.
    CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
    TABLES : VBRK,     "Billing document header detail
             VBRP,     "Billing document item details
             MAKT,     "Material Description
             BHDGD,
             MARA,     "Material Master
             KNA1,     "Customer Master Table
             TSPA,
            J_1IEXCHDR.
    FIELD-SYMBOLS: <DYN_TABLE> TYPE STANDARD TABLE,
                   <DYN_WA>,
                   <DYN_FIELD>.
    DATA: DY_TABLE TYPE REF TO DATA,
          DY_LINE  TYPE REF TO DATA,
          XFC TYPE LVC_S_FCAT,
          IFC TYPE LVC_T_FCAT,
          DYN_TABLE TYPE STANDARD TABLE OF KOMG WITH HEADER LINE.
    DATA: P_TABLE(30) TYPE C VALUE 'VBRK'.
    Selection Screen Started
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF BLOCK B_1 WITH FRAME TITLE TEXT-010.
    SELECT-OPTIONS : S_FKDAT FOR VBRK-FKDAT OBLIGATORY,
                     S_SPART FOR VBRK-SPART OBLIGATORY,
                     S_VBELN FOR VBRK-VBELN,
                     S_KUNAG FOR VBRK-KUNAG,
                     S_FKART FOR VBRK-FKART,
                     S_WERKS FOR VBRP-WERKS," obligatory,
                       S_VKBUR FOR VBRP-VKBUR,
                     S_VKORG FOR VBRK-VKORG OBLIGATORY,
                        S_VKGRP FOR VBRP-VKGRP, " sales group
                     S_RFBSK FOR VBRK-RFBSK OBLIGATORY DEFAULT 'C'.
    SELECTION-SCREEN END OF BLOCK B_1.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF BLOCK B_2 WITH FRAME TITLE TEXT-011.
    PARAMETERS : P_VARI LIKE DISVARIANT-VARIANT.
    SELECTION-SCREEN END OF BLOCK B_2.
    START-OF-SELECTION.
    PERFORM GET_FIELDS.
      PERFORM GET_STRUCTURE.
      PERFORM NEW_DYNAMIC_TABLE.
      PERFORM GET_OUTPUT_DATA.
      PERFORM OUTPUT_WRITE.
      PERFORM GENERATE_OUTPUT.
    *&      Form  NEW_DYNAMIC_TABLE
          text
    -->  p1        text
    <--  p2        text
    FORM NEW_DYNAMIC_TABLE .
    Create dynamic internal table and assign to FS
      CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
        EXPORTING
          IT_FIELDCATALOG = IFC
        IMPORTING
          EP_TABLE        = DY_TABLE.
      ASSIGN DY_TABLE->* TO <DYN_TABLE>.
    Create dynamic work area and assign to FS
      CREATE DATA DY_LINE LIKE LINE OF <DYN_TABLE>.
      ASSIGN DY_LINE->* TO <DYN_WA>.
    PERFORM ASSIGN_VALUES-SELECTED.
    ENDFORM.                    " NEW_DYNAMIC_TABLE
    *&      Form  GENERATE_OUTPUT
          text
    -->  p1        text
    <--  p2        text
    FORM GENERATE_OUTPUT .
    ENDFORM.                    " GENERATE_OUTPUT
    *&      Form  GET_BILLING_HEADER
          text
    -->  p1        text
    <--  p2        text
    FORM GET_BILLING_HEADER .
    SELECT * INTO CORRESPONDING FIELDS OF TABLE I_VBRK
       FROM VBRK
        WHERE VBELN IN S_VBELN
          AND FKART IN S_FKART
          AND VKORG IN S_VKORG
          AND FKDAT IN S_FKDAT
          AND RFBSK IN S_RFBSK
          AND KUNAG IN S_KUNAG
          AND SPART IN S_SPART ORDER BY FKDAT.
    LOOP AT I_VBRK.
       ASSIGN I_VBRK TO <HEADER>.
      ASSIGN I_VBRK TO <DATA_TAB>.
       ASSIGN I_VBRK TO <F>.
       CASE TITEL-FELDNAME.
         WHEN OTHERS.
           READ TABLE G_T_TEXTS_ALL
         WITH KEY TABNAME   = TITEL-TABNAME
                  FIELDNAME = TITEL-FIELD
         INTO G_S_TEXT.
           DATEN-DATEN = <HEADER>.
           DATEN-DATEN = <DATAIN>.
           MOVE-CORRESPONDING <HEADER> TO DATEN.
           CLEAR DATEN-DATEN.
       if titel-tabname+0(5) = 'VBRK'.
           ASSIGN (TITEL-FELDNAME) TO <HEADER>.
           DATEN-DATEN = <HEADER>.
       ENDIF.
       ENDCASE.
       DATEN-ZEILE = ZEILE.
       APPEND DATEN.
    ENDLOOP.
    ENDFORM.                    " GET_BILLING_HEADER
    *&      Form  GET_STRUCTURE
          text
    -->  p1        text
    <--  p2        text
    FORM GET_STRUCTURE .
      DATA : IDETAILS TYPE ABAP_COMPDESCR_TAB,
      XDETAILS TYPE ABAP_COMPDESCR.
      DATA : REF_TABLE_DES TYPE REF TO CL_ABAP_STRUCTDESCR.
    Get the structure of the table.
      REF_TABLE_DES ?=
      CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( P_TABLE ).
      IDETAILS[] = REF_TABLE_DES->COMPONENTS.
      LOOP AT IDETAILS INTO XDETAILS.
        CLEAR XFC.
        XFC-FIELDNAME = XDETAILS-NAME .
        XFC-DATATYPE = XDETAILS-TYPE_KIND.
        XFC-INTTYPE = XDETAILS-TYPE_KIND.
        XFC-INTLEN = XDETAILS-LENGTH.
        XFC-DECIMALS = XDETAILS-DECIMALS.
        APPEND XFC TO IFC.
      ENDLOOP.
    ENDFORM.                    " GET_STRUCTURE
    *&      Form  GET_OUTPUT_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM GET_OUTPUT_DATA .
    Select Data from table.
      SELECT * INTO TABLE <DYN_TABLE>
          FROM ( VBRK )
           WHERE VBELN IN S_VBELN
             AND FKART IN S_FKART
             AND VKORG IN S_VKORG
             AND FKDAT IN S_FKDAT
             AND RFBSK IN S_RFBSK
             AND KUNAG IN S_KUNAG
             AND SPART IN S_SPART ORDER BY FKDAT.
    ENDFORM.                    " GET_OUTPUT_DATA
    *&      Form  OUTPUT_WRITE
          text
    -->  p1        text
    <--  p2        text
    FORM OUTPUT_WRITE .
      LOOP AT <DYN_TABLE> INTO <DYN_WA>.
        DO.
          ASSIGN COMPONENT SY-INDEX
          OF STRUCTURE <DYN_WA> TO <DYN_FIELD>.
          IF SY-SUBRC EQ 0.
            EXIT.
          ENDIF.
          IF SY-INDEX = 1.
            WRITE:/ <DYN_FIELD>.
          ELSE.
            WRITE: <DYN_FIELD>.
          ENDIF.
        ENDDO.
      ENDLOOP.
    ENDFORM.                    " OUTPUT_WRITE
    Edited by: ABHUT on May 27, 2008 11:34 AM

    Dump Msg
    With ABAP/4 Open SQL array select, the output table is too small.
    What happened?
    Error in ABAP application program.
    The current ABAP program "ZFLEXI" had to be terminated because one of the
    statements could not be executed.
    This is probably due to an error in the ABAP program.
    My logic is :
    *& Report : ZDLYDSPHNEW *
    *& Purpose : Daily Godown dispatches with condition valu details *
    REPORT ZDLYDSPH NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 30(10)
    MESSAGE-ID SK .
    TYPE-POOLS: SLIS,ABAP.
    CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
    TABLES : VBRK, "Billing document header detail
    VBRP, "Billing document item details
    MAKT, "Material Description
    BHDGD,
    MARA, "Material Master
    KNA1, "Customer Master Table
    TSPA,
    J_1IEXCHDR.
    FIELD-SYMBOLS: <DYN_TABLE> TYPE STANDARD TABLE,
    <DYN_WA>,
    <DYN_FIELD>.
    DATA: DY_TABLE TYPE REF TO DATA,
    DY_LINE TYPE REF TO DATA,
    XFC TYPE LVC_S_FCAT,
    IFC TYPE LVC_T_FCAT,
    DYN_TABLE TYPE STANDARD TABLE OF KOMG WITH HEADER LINE.
    DATA: P_TABLE(30) TYPE C VALUE 'VBRK'.
    Selection Screen Started
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF BLOCK B_1 WITH FRAME TITLE TEXT-010.
    SELECT-OPTIONS : S_FKDAT FOR VBRK-FKDAT OBLIGATORY,
    S_SPART FOR VBRK-SPART OBLIGATORY,
    S_VBELN FOR VBRK-VBELN,
    S_KUNAG FOR VBRK-KUNAG,
    S_FKART FOR VBRK-FKART,
    S_WERKS FOR VBRP-WERKS," obligatory,
    S_VKBUR FOR VBRP-VKBUR,
    S_VKORG FOR VBRK-VKORG OBLIGATORY,
    S_VKGRP FOR VBRP-VKGRP, " sales group
    S_RFBSK FOR VBRK-RFBSK OBLIGATORY DEFAULT 'C'.
    SELECTION-SCREEN END OF BLOCK B_1.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF BLOCK B_2 WITH FRAME TITLE TEXT-011.
    PARAMETERS : P_VARI LIKE DISVARIANT-VARIANT.
    SELECTION-SCREEN END OF BLOCK B_2.
    START-OF-SELECTION.
    PERFORM GET_FIELDS.
    PERFORM GET_STRUCTURE.
    PERFORM NEW_DYNAMIC_TABLE.
    PERFORM GET_OUTPUT_DATA.
    PERFORM OUTPUT_WRITE.
    PERFORM GENERATE_OUTPUT.
    *& Form NEW_DYNAMIC_TABLE
    text
    --> p1 text
    <-- p2 text
    FORM NEW_DYNAMIC_TABLE .
    Create dynamic internal table and assign to FS
    CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
    EXPORTING
    IT_FIELDCATALOG = IFC
    IMPORTING
    EP_TABLE = DY_TABLE.
    ASSIGN DY_TABLE->* TO <DYN_TABLE>.
    Create dynamic work area and assign to FS
    CREATE DATA DY_LINE LIKE LINE OF <DYN_TABLE>.
    ASSIGN DY_LINE->* TO <DYN_WA>.
    PERFORM ASSIGN_VALUES-SELECTED.
    ENDFORM. " NEW_DYNAMIC_TABLE
    *& Form GENERATE_OUTPUT
    text
    --> p1 text
    <-- p2 text
    FORM GENERATE_OUTPUT .
    ENDFORM. " GENERATE_OUTPUT
    *& Form GET_STRUCTURE
    text
    --> p1 text
    <-- p2 text
    FORM GET_STRUCTURE .
    DATA : IDETAILS TYPE ABAP_COMPDESCR_TAB,
    XDETAILS TYPE ABAP_COMPDESCR.
    DATA : REF_TABLE_DES TYPE REF TO CL_ABAP_STRUCTDESCR.
    Get the structure of the table.
    REF_TABLE_DES ?=
    CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( P_TABLE ).
    IDETAILS[] = REF_TABLE_DES->COMPONENTS.
    LOOP AT IDETAILS INTO XDETAILS.
    CLEAR XFC.
    XFC-FIELDNAME = XDETAILS-NAME .
    XFC-DATATYPE = XDETAILS-TYPE_KIND.
    XFC-INTTYPE = XDETAILS-TYPE_KIND.
    XFC-INTLEN = XDETAILS-LENGTH.
    XFC-DECIMALS = XDETAILS-DECIMALS.
    APPEND XFC TO IFC.
    ENDLOOP.
    ENDFORM. " GET_STRUCTURE
    *& Form GET_OUTPUT_DATA
    text
    --> p1 text
    <-- p2 text
    FORM GET_OUTPUT_DATA .
    Select Data from table.
    SELECT * INTO TABLE <DYN_TABLE>
    FROM ( VBRK )
    WHERE VBELN IN S_VBELN
    AND FKART IN S_FKART
    AND VKORG IN S_VKORG
    AND FKDAT IN S_FKDAT
    AND RFBSK IN S_RFBSK
    AND KUNAG IN S_KUNAG
    AND SPART IN S_SPART ORDER BY FKDAT.
    ENDFORM. " GET_OUTPUT_DATA
    *& Form OUTPUT_WRITE
    text
    --> p1 text
    <-- p2 text
    FORM OUTPUT_WRITE .
    LOOP AT <DYN_TABLE> INTO <DYN_WA>.
    DO.
    ASSIGN COMPONENT SY-INDEX
    OF STRUCTURE <DYN_WA> TO <DYN_FIELD>.
    IF SY-SUBRC EQ 0.
    EXIT.
    ENDIF.
    IF SY-INDEX = 1.
    WRITE:/ <DYN_FIELD>.
    ELSE.
    WRITE: <DYN_FIELD>.
    ENDIF.
    ENDDO.
    ENDLOOP.
    ENDFORM. " OUTPUT_WRITE
    Edited by: ABHUT on May 27, 2008 11:34 AM

  • Report giving runtime error

    hi,
    i HAD MADE A REPORET IN which i havce to display the bolck stock ,it is giving runtime error as i had added 1 more table,plzz help me out as it is really urgent to me. here is d code:-
    *& Report  ZDEMO_SMARTFORM_COPY
    REPORT  ZDEMO_SMARTFORM_COPY.
    TABLES: MCHB,MARA,T001W.
    DATA: BEGIN OF ITAB OCCURS 0,
          ITEMID LIKE MARD-MATNR,
          SPEME LIKE MARD-SPEME,
          WERKS LIKE MARD-SPEME,
          LGORT LIKE MARD-LGORT,
          NTGEW LIKE MARA-NTGEW,
          MEINS LIKE MARA-MEINS,
          GEWEI LIKE MARA-GEWEI,
          CHARG LIKE MCHB-CHARG,
          WTKG LIKE MARA-NTGEW,
          STOCK TYPE P LENGTH 10 DECIMALS 3,
          DESC LIKE MAKT-MAKTX,
          TOTWT LIKE MARD-SPEME,
          WT TYPE P LENGTH 12 DECIMALS 3,
          END OF ITAB.
         ITEMID LIKE MCHB-MATNR,
         CSPEM LIKE MCHB-CSPEM,
         CHARG LIKE MCHB-CHARG,
         WERKS LIKE MCHB-WERKS,
    *PARAMETERS : PLANT LIKE MCHB-WERKS OBLIGATORY.
    PARAMETERS : PLANT LIKE MARD-WERKS OBLIGATORY.
    DATA : DESC LIKE MAKT-MAKTX.
      SELECT AMATNR ASPEME AWERKS ALGORT BNTGEW BMEINS BGEWEI CCHARG FROM MARD AS A
        INNER JOIN MARA AS B ON BMATNR = AMATNR
          INNER JOIN MCHB AS C ON CMATNR = AMATNR
            INTO TABLE ITAB WHERE AWERKS = PLANT AND ASPEME > 0.
    SELECT AMATNR ACSPEM ACHARG AWERKS  BNTGEW BMEINS B~GEWEI FROM MCHB AS A
       INNER JOIN MARA AS B ON BMATNR = AMATNR
         INTO TABLE ITAB WHERE AWERKS = PLANT AND ACSPEM > 0.
    WRITE: / 'ITEMID           DESCRIPTION                              STOCK.QTY  BATCH NO.           NETWT          TOTAL.WEIGHT '.
    ULINE.
    LOOP AT ITAB.
          IF ITAB-NTGEW <> 0 .
            CALL FUNCTION 'ZGET_ITEM_WEIGHT'
             EXPORTING
               P_BUID         = ITAB-WERKS
               P_ITEMID       = ITAB-ITEMID
               P_QTY          = ITAB-NTGEW
               P_UOM          = ITAB-GEWEI
               P_UOM1         = 'KG'
             IMPORTING
               P_RETVAL       = ITAB-WTKG.
          ENDIF.
       CONVERTING ITEM QTY IN KG
          ITAB-WT = ITAB-STOCK.
          IF ITAB-MEINS = 'G'.
            ITAB-WT = ITAB-STOCK / 1000000.
          ELSEIF ITAB-MEINS = 'KG'.
            ITAB-WT = ITAB-STOCK / 1000.
          ELSEIF ITAB-MEINS = 'TO'.
            ITAB-WT = ITAB-STOCK * ITAB-WTKG / 1000.
         ENDIF.
       ITAB-TOTWT = ITAB-WTKG * ITAB-CSPEM.
       ITAB-TOTWT = ITAB-WTKG * ITAB-SPEME.
       SELECT SINGLE MAKTX FROM MAKT INTO DESC WHERE MATNR = ITAB-ITEMID.
         WRITE:/ ITAB-ITEMID,15 DESC,50 ITAB-SPEME,ITAB-CHARG,ITAB-WTKG,ITAB-TOTWT.
       MODIFY ITAB.
       ENDLOOP.

    HI,
    i had tried to ftech data from mard and it isgiving runtime error. dis is the code:-
    TABLES: MCHB,MARA,MARD.
    DATA: BEGIN OF ITAB OCCURS 0,
          MATNR LIKE MARD-MATNR,
          SPEME LIKE MARD-SPEME,
          WERKS LIKE MARD-SPEME,
          LGORT LIKE MARD-LGORT,
          END OF ITAB.
          SELECT MATNR SPEME WERKS LGORT FROM MARD INTO CORRESPONDING FIELDS OF TABLE ITAB.
          LOOP AT ITAB.
          WRITE:/ ITAB-MATNR,ITAB-SPEME,ITAB-WERKS,ITAB-LGORT.
          ENDLOOP.

  • Purchase Order Crystal Report Layout Error

    The stock Crystal Report Layout for Purchase Orders is giving me the following error:
    A subscript must be between 1 and the size of the array.
    Details: errorKind
    Error in File POR20002 {b89f97ad-bf1f-447b-8bb4-b3d2e5219269}
    {3C375C81-7D37-475D-9BCB-1703CE533B65}.rpt
    Error in formula N_Decimal_Places:
    '// To get the length of decimals
    A subscript must be between 1 and the size of the array.
    Details: errorKind
    I looked in the Crystal Reports Formula fields and could not find N_Decimal_Places.
    Has any one else had the problem with the PO layout that comes with Business One?  If so, how did you fix it?

    Couldn't find how to copy the PO layout over using copy express.
    I did compare the RDOC fields for POR20002 in both databases and they are Identical. 
    In Crystal Reports, I did a formula search for N_Decimal_Places and it found nothing.  Then I did a search for 'length' in all formulas and it finds length in N_Decimal_Places.  When I double click on N_Decimal_Places it clears the screen and never shows the formula. This happens in both layouts for my test database and SBODemoUS.
    Again, SBODemoUS works correctly and AAA_TEST give the error.

  • Dump when changing the value for a field (of 13 decimals) in alv grid.

    Hi Group,
    Its giving a dump when user is trying to change the value.
    dump description: Unable to interpret "70,000 " as a number.
    what is happening here is, the original value is 50,000 and he is deleting 5 and replacing it with 7, here its throwing the dump.
    If he removes the complete number 50,000 and then gives 70000 its  taking the value.
    I tried to use, the decimals options in alv field catalog but to no joy.
    Please can you give me an advice on this.
    Many Thanks.

    the problem is the comma in the 70,000....that's an alpha character.... Normally, we expect SAP to display numeric fields in a appropriate format, based upon their numeric type, but trying to forcibly insert '70,000' into a true numeric-type field can generate an 'unable to interpret xxx,xxxx  as number' error.
    You could experiment with changing your ALV column to a char17 (or appropriate width) and putting your numeric value into that to display, then converting back to type P, or other field type in the table, in a column that is not displayed, when the user changes the value....  essentially two columns, one not displayed with a routine to copy/convert the numeric field into the alpha field and the reverse when the field is changed.
    But, the better solution is probably for the user to understand that they're seeing a formatted numeric field, and that they need to replace the entire value with the only possible punctuation being a decimal and (if necessary) a negative sign.

  • Sales order schedule line quantities in decimals

    Gurus - Required your help to resolve the following scenario.
    I'm facing with the problem where schedule lines of a sales order allocated with decimal quantities even though materials with UOM as EA(Each). For example Material A of sales qty 13 has the schedule lines allocated as 11.960 and 2.040. The delivery has been created as per the schedule lines with qty 11.960 and 2.040 and it has been pick/packed and delivered to the customer. Now, while issuing goods for the delivery, received the error message as <b>"Serial number management only allows whole numbers".</b>
    Can anyone provide what are the possible ways to round the delivered qty and issue the goods, when the delivery is complete?

    Sree - Question 1 - Why would you deliver the product and then try goods issue it (In general ;)...anyway....I know, a lot of companies do that way....
    Question 2 - How much exactly did you ship out, surely must not have shipped products in decimals, since you've EACHES defined and not KGs....or LBs...
    I would suggest finding out the correct quantities shipped out and then cancelling this delivery document....you can then go on to modify sales order schedule line accordingly and then process it again..."WHAT ABOUT PICK PACK DETAILS"....before cancelling this delivery doc out..capture the packing details (HUs) and then apply them to the new delivery doc... if you are using external system for packing HUs.....process the IDOC (or file etc) using the new delivery doc number....
    Hope you got the direction )
    Thanks
    Nikhil

  • Error while posting MIRO document

    Dear All
    When i try to post the invoice through MIRO transactions, i get short dump. I am posting this invoice with 3 decimals for example 1.235
    Overflow during the arithmetical operation (type P) in program "SAPLFDMM".
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_ARITHMETIC_OVERFLOW', was not
    caught in
    procedure "DETERMINE_AMOUNTS" "(FORM)", nor was it propagated by a RAISING
    clause.
    If you have access to the SAP notes system first try searching with the
    following keywords:
    "COMPUTE_BCD_OVERFLOW"
    "BCD_FIELD_OVERFLOW" (Until release 4.0a, this runtime error occurred at this
    position)
    "SAPLFDMM" or "LFDMMF00"
    "DETERMINE_AMOUNTS"
    Please help..

    Hi,
    Try Changing the settings for the following
    System --> User Profile --> Own Data --> Maintain User Profile
    In the defaults tab change the Decimal Notation and then do the MIRO transaction.
    I remember similar kind of dump which we were getting and it got resolved by changing the Default Decimal Notation..
    Just try  for remaining values of the decimal notations and execute the MIRO transaction..
    Just try this...
    Regards
    Sindo Ouspeh

  • Error while sending PO output through mail in PDF format - Urgent

    Dear friends,
    Developed program to send sapscript output through mail in pdf format, the program running properly, even function module SO_NEW_DOCUMENT_ATT_SEND_API1 returning sy-subrc 0. But the external mail is not going to user lying in SAP outbox with message <b>"Wait for communications service"</b> . SCOT is properly configured, tested mails sending through SAP office.
    Find below the source code:
    REPORT  zmm_porder_gm
                NO STANDARD PAGE HEADING.
    TABLES: ekko, ekpa, t161t, t052, komv, j_1imocomp, t001, esll.
    Internal Tables
    DATA : txt LIKE tline-tdline,  "HEADER LINE
           your_ref LIKE ekko-ihrez, "your ref
           our_ref  LIKE ekko-unsez, "our ref
           mcompname  LIKE  t001-butxt,
           itemname   LIKE  ekpo-txz01,
           del_text LIKE tline-tdline, "delivery text
           mat_po_text LIKE tline-tdline. "material po text
    DATA: g_ind TYPE i.
    DATA: it_esll LIKE esll OCCURS 0 WITH HEADER LINE.
    DATA: sub_packno LIKE esll-sub_packno.
    DATA : po_flag(1) TYPE c.
    DATA : it_erev LIKE erev OCCURS 0 WITH HEADER LINE.
    DATA : nmebeln LIKE thead-tdname,
           obj LIKE thead-tdname.
    DATA : tline LIKE tline OCCURS 0 WITH HEADER LINE.  "HEADER TEXT
    DATA  : it_ekko LIKE ekko OCCURS 0 WITH HEADER LINE.
    DATA  : it_ekpo LIKE ekpo OCCURS 0 WITH HEADER LINE.
    DATA  : it_zmm_porder  LIKE zmm_porder OCCURS 0 WITH HEADER LINE.
    DATA  : it_konv        LIKE konv OCCURS 0 WITH HEADER LINE.
    DATA  : it_konv_ftr    LIKE konv OCCURS 0 WITH HEADER LINE.
    DATA  : it_konv_rate   LIKE konv OCCURS 0 WITH HEADER LINE.
    DATA  : it_komv_tax    LIKE komv OCCURS 0 WITH HEADER LINE.           " For Tax Calculation
    DATA  : it_zmm_house_bank LIKE zmm_house_bank OCCURS 0 WITH HEADER LINE.
    *DATA  : mrate TYPE konv-kbetr VALUE 0, mrate1(15).  rmoved by ganes and added following logic
    DATA  : mrate TYPE p VALUE 0 DECIMALS 2, mrate1(15).
    DATA  : mrate_gm TYPE p  DECIMALS 2.
    DATA  : BEGIN OF it_konv1 OCCURS 0,
                  knumv LIKE konv-knumv,
                  kschl LIKE konv-kschl,
    END OF it_konv1.
    DATA : BEGIN OF it_t052u OCCURS 0.
            INCLUDE STRUCTURE t052u.
    DATA : END OF it_t052u.
    DATA  : mpay_terms LIKE t052u-text1.
    DATA  : mwaers     LIKE konv-waers.
    DATA : BEGIN OF xt052 OCCURS 0.
            INCLUDE STRUCTURE t052.
    DATA : END OF xt052.
    DATA : it_t16ct LIKE t16ct OCCURS 0 WITH HEADER LINE.
    DATA : BEGIN OF ztext OCCURS 0.
            INCLUDE STRUCTURE ttext.
    DATA : END OF ztext.
    DATA  : it_t001      LIKE t001 OCCURS 0 WITH HEADER LINE.
    DATA  : mtext(15)    TYPE c.
    DATA  : it_adrc      LIKE adrc OCCURS 0 WITH HEADER LINE.
    DATA  : it_adrc_ven  LIKE adrc OCCURS 0 WITH HEADER LINE.
    DATA  : it_adrc_plt  LIKE adrc OCCURS 0 WITH HEADER LINE.
    DATA :  it_makt      LIKE makt OCCURS 0 WITH HEADER LINE.
    DATA :  it_eket      LIKE eket OCCURS 0 WITH HEADER LINE.               " Schedulling
    DATA :  it_eikp      LIKE eikp OCCURS 0 WITH HEADER LINE.               " Export
    DATA :  it_t001w     LIKE t001w OCCURS 0 WITH HEADER LINE.
    DATA  : it_t685t     LIKE t685t OCCURS 0 WITH HEADER LINE.
    DATA  : it_t618t     LIKE t618t OCCURS 0 WITH HEADER LINE.
    DATA  : it_t685t_ftr LIKE t685t OCCURS 0 WITH HEADER LINE.
    DATA  : it_lfa1  LIKE lfa1 OCCURS 0 WITH HEADER LINE.
    DATA : it_bapi_mltx_ga LIKE bapi_mltx_ga OCCURS 0 WITH HEADER LINE. "Material long text
    DATA : mfirst   TYPE i  VALUE 0,
           mpay_flag(1) TYPE c VALUE 'X',
           mwerks   LIKE    t001w-werks,
           msr      TYPE i  VALUE 0,
           l_rate   TYPE p  DECIMALS 2  VALUE 0,
           l_amt    TYPE p  DECIMALS 2  VALUE 0,
           mflag(1) TYPE c,
           mlctr    TYPE i  VALUE 0,
           mfamt    TYPE p DECIMALS 2 VALUE 0,
           mcfamt(15) TYPE c,
           mfword(100) TYPE c,
           mkschl   LIKE konv-kschl,
           mchgamt  TYPE p  DECIMALS 2 VALUE 0,
           mkbetr   TYPE p  DECIMALS 2 VALUE 0,
           mkwert   TYPE p  DECIMALS 2 VALUE 0.
    DATA : j_1iexcd     TYPE  j_1imocomp-j_1iexcd,
           j_1icstno    TYPE  j_1imocomp-j_1icstno,
           j_1ilstno    TYPE  j_1imocomp-j_1ilstno.
    DATA : mjmop_r    TYPE p DECIMALS 2 VALUE 0,
           mjmoq_r    TYPE p DECIMALS 2 VALUE 0,
           mjecs_r    TYPE p DECIMALS 2 VALUE 0,
           mjvcs_r    TYPE p DECIMALS 2 VALUE 0,
           mjvrd_r    TYPE p DECIMALS 2 VALUE 0,
           mjsep_r    TYPE p DECIMALS 2 VALUE 0.
    DATA : mjmop_a    TYPE p DECIMALS 2 VALUE 0,
           mjmoq_a    TYPE p DECIMALS 2 VALUE 0,
           mjecs_a    TYPE p DECIMALS 2 VALUE 0,
           mjvcs_a    TYPE p DECIMALS 2 VALUE 0,
           mjvrd_a    TYPE p DECIMALS 2 VALUE 0,
           mjsep_a    TYPE p DECIMALS 2 VALUE 0.
    DATA  : mtitle   LIKE  t161t-batxt.
    DATA :         no_ammend(10),request_by(50),ver_txt(100),ver_reason(100),stext(200).
    begin of Email data declarations**************
    DATA: BEGIN OF otf OCCURS 0.
            INCLUDE STRUCTURE itcoo .
    DATA: END OF otf.
    DATA: itcpo LIKE itcpo.
    DATA: itcpp LIKE itcpp.
    DATA: it_docs  TYPE STANDARD TABLE OF docs,
          v_bin_filesize          TYPE i,
          it_lines TYPE STANDARD TABLE OF tline,
          wa_lines TYPE tline.
    DATA : i_pdf LIKE tline OCCURS 1000 WITH HEADER LINE,
    v_pdf_bytecount TYPE i,
    v_pdf_spoolid TYPE tsp01-rqident,
    v_otf_pagecount TYPE i,
    v_btc_jobname TYPE tbtcjob-jobname,
    v_btc_jobcount TYPE tbtcjob-jobcount.
    DATA: objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE.
    DATA: objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE.
    DATA: objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE.
    DATA: objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE.
    DATA: reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE.
    DATA: doc_chng LIKE sodocchgi1.
    DATA: tab_lines LIKE sy-tabix.
    DATA: vafilename(100) VALUE 'po_output.pdf'.
    DATA: jobdata TYPE sxjobdata.
    DATA arc_params TYPE arc_params.
    DATA print_params TYPE pri_params.
    DATA g_send_prog TYPE syrepid VALUE 'ZVF03_TEST_PROG'.
    DATA immediate TYPE btcchar1.
    DATA: i_jobname TYPE tbtcp-jobname,
    i_jobcount TYPE tbtcp-jobcount,
    i_jobstepcount TYPE tbtcp-stepcount.
    DATA recipient_obj LIKE swotobjid.
    CONSTANTS: sx_true TYPE sx_boolean VALUE 'X'.
    TABLES: tbtcp.
    end of Email data declarations**************
    SELECTION-SCREEN : BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS   : mebeln FOR ekko-ebeln OBLIGATORY .               " 75
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 12.
    SELECTION-SCREEN COMMENT (20) text-b01.
    PARAMETERS: b1 AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN : END OF BLOCK block1.
    SELECTION-SCREEN: BEGIN OF SCREEN 200 TITLE text-001 AS WINDOW.
    PARAMETERS :  p_email TYPE ad_smtpadr.     "E-Mail Address
    SELECTION-SCREEN: END OF SCREEN 200.
    INITIALIZATION.
      SET PF-STATUS 'ZMMPORD_STAT'.
    AT SELECTION-SCREEN.
      CASE sy-ucomm.
        WHEN 'EMAIL'.
          PERFORM zemail.
        WHEN '&IC1'.
          PERFORM load_data.
          PERFORM process.
          IF NOT p_email IS INITIAL.
            PERFORM send_mail.
          ENDIF.
      ENDCASE.
    *START-OF-SELECTION.
    PERFORM load_data.
    PERFORM process.
    FORM load_data .
      DATA : gindex LIKE sy-tabix.
      SELECT * FROM t16ct INTO TABLE it_t16ct WHERE spras = 'EN'.
      SELECT * FROM ekko INTO TABLE it_ekko WHERE ebeln IN mebeln.
      IF sy-subrc EQ 0.
        SELECT * FROM erev INTO CORRESPONDING FIELDS OF TABLE it_erev FOR ALL ENTRIES IN it_ekko
        WHERE edokn = it_ekko-ebeln AND rscod <> '' .
        SORT it_erev BY edokn revno DESCENDING.
        LOOP AT it_ekko.
          IF NOT ( it_ekko-frgke EQ 'O'  OR it_ekko-frgke EQ '0' ) .
            MESSAGE e000(zsd) WITH 'Purchase Order is not Realeased'.
          ENDIF.
        ENDLOOP.
        SELECT * FROM ekpo INTO TABLE it_ekpo WHERE ebeln IN mebeln.
        IF sy-subrc EQ 0.
          SELECT * INTO TABLE it_makt
          FROM   makt
          FOR    ALL ENTRIES IN it_ekpo
          WHERE  matnr EQ it_ekpo-matnr.
          SELECT * INTO TABLE it_lfa1
          FROM   lfa1
          FOR    ALL ENTRIES IN it_ekko
          WHERE  lifnr EQ it_ekko-lifnr.
        ENDIF.
        SELECT *
          INTO TABLE it_t052u
          FROM t052u
           FOR ALL ENTRIES IN it_ekko
         WHERE zterm EQ it_ekko-zterm
          AND  spras EQ 'EN'.
        IF sy-subrc EQ 0.
          SORT it_t052u BY zterm.
        ENDIF.
        SELECT * FROM eket INTO TABLE it_eket WHERE ebeln IN mebeln.
        IF sy-subrc EQ 0.
          SORT it_eket BY ebeln ebelp.
        ENDIF.
        SELECT  *
          INTO TABLE it_eikp
          FROM eikp
           FOR ALL ENTRIES IN it_ekko
         WHERE exnum EQ it_ekko-exnum.
        IF sy-subrc EQ 0.
          SORT it_eikp BY exnum.
          SELECT  *
            INTO TABLE it_t618t
            FROM t618t
             FOR ALL ENTRIES IN it_eikp
           WHERE expvz EQ it_eikp-expvz
             AND spras EQ 'E'
             AND land1 EQ 'IN'.
          IF sy-subrc EQ 0.
            SORT it_t618t BY expvz.
          ENDIF.
        ENDIF.
        REFRESH : it_zmm_porder.
        CLEAR   : it_zmm_porder.
        SELECT * INTO TABLE it_zmm_porder
          FROM zmm_porder
         WHERE flag EQ 'L'.
        IF sy-subrc EQ 0.
          SORT it_zmm_porder BY kschl.
        ENDIF.
        SELECT * FROM konv INTO TABLE it_konv
        FOR ALL ENTRIES IN it_ekko
        WHERE knumv = it_ekko-knumv
          AND  kwert NE 0.
        LOOP AT it_konv.
          gindex = sy-tabix.
          READ TABLE it_zmm_porder WITH KEY kschl = it_konv-kschl BINARY SEARCH.
          IF sy-subrc NE 0.
            DELETE it_konv INDEX gindex.
          ENDIF.
        ENDLOOP.
        IF sy-subrc EQ 0.
          SORT it_konv BY knumv kherk kschl.
        ENDIF.
        REFRESH : it_zmm_porder.
        CLEAR   : it_zmm_porder.
        SELECT * INTO TABLE it_zmm_porder
          FROM zmm_porder
         WHERE flag EQ 'F'.
        IF sy-subrc EQ 0.
          SORT it_zmm_porder BY kschl.
        ENDIF.
       SELECT * INTO TABLE IT_KONV_FTR FROM KONV
          FOR ALL ENTRIES IN IT_EKKO
         WHERE KNUMV = IT_EKKO-KNUMV
           AND  ( KSCHL = 'ZIN1'
              OR  KSCHL = 'ZIN2'
              OR  KSCHL = 'ZINS'
              OR  KSCHL = 'ZPF1'
              OR  KSCHL = 'ZPF2'
              OR  KSCHL = 'ZPF3'
              OR  KSCHL = 'ZPKG'
              OR  KSCHL = 'ZPKF'
              OR  KSCHL = 'FRA1'
              OR  KSCHL = 'FRB1'
              OR  KSCHL = 'FRC1'
              OR  KSCHL = 'FRD1'
              OR  KSCHL = 'FRD2'
              OR  KSCHL = 'FRD3'
              OR  KSCHL = 'FRD4'
              OR  KSCHL = 'FRD5'
    *****Added one condition type below ZFBC as on 05.06.2007 :Rajiv as per mail of Sadiq via mathew sir(RTDK906646)
              OR  KSCHL = 'ZFBC' )
           AND  KWERT NE 0
           AND  KPOSN GT '000000'.
          AND ( KRECH = 'B'                       " RTDK906167
           OR  KRECH = 'A' ).
        SELECT * INTO TABLE it_konv_ftr FROM konv
           FOR ALL ENTRIES IN it_ekko
          WHERE knumv = it_ekko-knumv
            AND  kwert NE 0
            AND  kposn GT '000000'.
        LOOP AT it_konv_ftr.
          gindex = sy-tabix.
          READ TABLE it_zmm_porder WITH KEY kschl = it_konv_ftr-kschl BINARY SEARCH.
          IF sy-subrc NE 0.
            DELETE it_konv_ftr INDEX gindex.
          ENDIF.
        ENDLOOP.
        IF it_konv_ftr[] IS NOT INITIAL.
          SORT it_konv_ftr BY knumv kschl.
        ENDIF.
       SELECT  KNUMV KSCHL INTO CORRESPONDING FIELDS OF TABLE IT_KONV1 FROM KONV
       FOR ALL ENTRIES IN IT_EKKO
       WHERE KNUMV = IT_EKKO-KNUMV
           and kherk = 'D'
         AND  ( KSCHL = 'ZIN1'
            OR  KSCHL = 'ZIN2'
            OR  KSCHL = 'ZINS'
            OR  KSCHL = 'ZPF1'
            OR  KSCHL = 'ZPF2'
            OR  KSCHL = 'ZPF3'
            OR  KSCHL = 'ZPKG'
            OR  KSCHL = 'ZPKF'
            OR  KSCHL = 'FRA1'
            OR  KSCHL = 'FRB1'
            OR  KSCHL = 'FRC1'
            OR  KSCHL = 'FRD1'
            OR  KSCHL = 'FRD2'
            OR  KSCHL = 'FRD3'
            OR  KSCHL = 'FRD4'
            OR  KSCHL = 'FRD5'
    *****Added one condition type below ZFBC as on 05.06.2007 :Rajiv as per mail of Sadiq via mathew sir(RTDK906646)
            OR  KSCHL = 'ZFBC' )
         AND  KWERT NE 0.
           AND ( KRECH = 'B'                       RTDK906167
            OR  KRECH = 'A' ).
        SELECT  knumv kschl INTO CORRESPONDING FIELDS OF TABLE it_konv1 FROM konv
        FOR ALL ENTRIES IN it_ekko
        WHERE knumv = it_ekko-knumv
          AND  kwert NE 0.
        DELETE ADJACENT DUPLICATES FROM it_konv1 COMPARING knumv kschl.
        LOOP AT it_konv1.
          gindex = sy-tabix.
          READ TABLE it_zmm_porder WITH KEY kschl = it_konv1-kschl BINARY SEARCH.
          IF sy-subrc NE 0.
            DELETE it_konv1 INDEX gindex.
          ENDIF.
        ENDLOOP.
        IF sy-subrc EQ 0.
          SORT it_konv1 BY knumv kschl.
        ENDIF.
        SELECT * INTO TABLE it_t685t
        FROM   t685t
        FOR    ALL ENTRIES IN it_konv
        WHERE  kschl EQ it_konv-kschl
          AND  kappl EQ it_konv-kappl
          AND  spras EQ 'E'.
        SELECT * INTO TABLE it_t685t_ftr
        FROM   t685t
        FOR    ALL ENTRIES IN it_konv_ftr
        WHERE  kschl EQ it_konv_ftr-kschl
          AND  kappl EQ it_konv_ftr-kappl
          AND  spras EQ 'E'.
        it_t685t_ftr-kschl = 'JVCS'.
        it_t685t_ftr-vtext = 'IN CST in vat'.
        APPEND it_t685t_ftr.
        SELECT * INTO TABLE it_zmm_house_bank
          FROM zmm_house_bank
         WHERE ebeln IN mebeln.
      ELSE.
        MESSAGE e899(mm) WITH 'Data not found for selection criteria...'.
      ENDIF.
    ENDFORM.                    " Load_data
    FORM process .
      DATA : mctr   TYPE i VALUE 1.
      DATA : gindex LIKE sy-tabix.
      DATA : mline(75) TYPE c.
      DATA : mlifn2    LIKE ekpa-lifn2.
      DATA :  mv_name LIKE lfa1-name1,
             madrnr  LIKE lfa1-adrnr.
      CLEAR itcpo.
      itcpo-tdgetotf = 'X'.
      CALL FUNCTION 'OPEN_FORM'
        EXPORTING
          form     = 'ZMM_PORDER'
          language = sy-langu
          OPTIONS  = itcpo
          dialog   = ' '
        EXCEPTIONS
          OTHERS   = 1.
      LOOP AT it_ekko.
        CALL FUNCTION 'START_FORM'
          EXPORTING
            form = 'ZMM_PORDER'.
        SELECT SINGLE *
         FROM  t001
         INTO  it_t001
        WHERE  bukrs EQ it_ekko-bukrs.
        mcompname = it_t001-butxt.
        TRANSLATE mcompname TO UPPER CASE.
        Document Type
        SELECT SINGLE batxt
          INTO mtitle
          FROM t161t
         WHERE bstyp EQ 'F'
         AND   spras EQ 'E'
         AND   bsart EQ it_ekko-bsart.
        REFRESH it_adrc.
        SELECT SINGLE werks
          INTO mwerks
          FROM ekpo
         WHERE ebeln EQ it_ekko-ebeln.
        SELECT SINGLE *
          INTO it_t001w
          FROM t001w
         WHERE werks EQ mwerks.
        REFRESH it_adrc.
        SELECT SINGLE *
          INTO it_adrc_plt
          FROM adrc
         WHERE addrnumber EQ it_t001w-adrnr.
        REFRESH : xt052.
        mfamt  = 0.
        msr    = 0.
    in 500c this statement failed.
       SELECT SINGLE * FROM T052 INTO XT052 WHERE ZTERM = IT_EKKO-ZTERM.
       CALL FUNCTION 'FI_TEXT_ZTERM'
         EXPORTING
           I_T052  = XT052
         TABLES
           T_ZTEXT = ZTEXT.
        As per Preeti... Shipment address should be shown on top as purchase order company address. 27.04.
        PERFORM writeform USING 'PLANT' 'PLANT'.
        SELECT  SINGLE name1 adrnr
          INTO  (mv_name,madrnr)
          FROM  lfa1
         WHERE  lifnr EQ it_ekko-lifnr.
        REFRESH it_adrc[].
        CLEAR   it_adrc[].
        FREE it_adrc[].
        SELECT SINGLE *
          INTO it_adrc_ven
          FROM adrc
         WHERE addrnumber EQ madrnr.
        READ TABLE it_lfa1 WITH KEY lifnr = it_ekko-lifnr.
        PERFORM writeform USING 'VENDOR' 'VENDOR'.
         Shipment
        SELECT SINGLE werks
          INTO mwerks
          FROM ekpo
         WHERE ebeln EQ it_ekko-ebeln.
           up to 1 rows.
        SELECT SINGLE *
          INTO it_t001w
          FROM t001w
         WHERE werks EQ mwerks.
        SELECT SINGLE j_1iexcd j_1icstno j_1ilstno
                 INTO (j_1iexcd,j_1icstno,j_1ilstno)
               FROM    j_1imocomp
                WHERE  werks  = mwerks.
        REFRESH it_adrc.
        SELECT SINGLE *
          INTO it_adrc
          FROM adrc
         WHERE addrnumber EQ it_t001w-adrnr.
        PERFORM writeform USING 'SHIPMNT' 'SHIPMNT'.
        READ TABLE it_eikp WITH KEY exnum = it_ekko-exnum.
        IF sy-subrc EQ 0.
          READ TABLE it_t618t WITH KEY expvz = it_eikp-expvz.
        ENDIF.
        your_ref = it_ekko-ihrez.
        our_ref  = it_ekko-unsez.
        READ TABLE it_erev WITH KEY edokn = it_ekko-ebeln.
        IF sy-subrc = 0.
          no_ammend  = it_erev-revno.
          request_by = it_erev-crnam.
          ver_txt    = it_erev-txz01.
          READ TABLE it_t16ct WITH KEY rscod = it_erev-rscod.
          IF sy-subrc = 0.
            ver_reason = it_t16ct-rstxt.
          ELSE.
            ver_reason = ''.
          ENDIF.
        ELSE.
          no_ammend  = ''.
          request_by = ''.
          ver_txt    = ''.
          ver_reason = ''.
        ENDIF.
        PERFORM writeform USING 'PO_INFO' 'PO_INFO'.
        IF it_zmm_house_bank[] IS NOT INITIAL.
          READ TABLE it_zmm_house_bank INDEX 1.
          PERFORM writeform USING 'BANKDTL' 'BANKDTL'.
        ENDIF.
        PERFORM writeform USING 'HDR_INFO' 'HDR_INFO'.
        PERFORM writeform USING 'BRK_TTL' 'MAIN'.
        msr     = 1.
        mlctr   = 1.
    *added by ganesh to prevent deleted items to appear in print out
       LOOP AT IT_EKPO WHERE EBELN EQ IT_EKKO-EBELN.
        LOOP AT it_ekpo WHERE ebeln EQ it_ekko-ebeln AND loekz NE 'L'.
    *end of change
          CLEAR: mrate, mrate1.
          SELECT * FROM konv INTO TABLE it_konv_rate
                   WHERE knumv EQ it_ekko-knumv
                   AND   kposn EQ it_ekpo-ebelp
                   AND  ( kschl EQ 'PBXX' OR kschl EQ 'PB00'  OR kschl EQ 'P001' ).
          LOOP AT it_konv_rate.
           IF it_konv_rate-kpein > 0.             " added by ganesh as per sudhir 12.10.2007
             mrate_gm = it_konv_rate-kbetr / it_konv_rate-kpein.
             mrate  = mrate + mrate_gm. " added by ganesh as per sudhir 12.10.2007
           ELSE.
            mrate  = mrate + it_konv_rate-kbetr.
           ENDIF.
            IF it_konv_rate-waers IS NOT INITIAL.
              mwaers = it_konv_rate-waers.
            ENDIF.
          ENDLOOP.
        For Japanies Yen   "RTDK906759
          IF it_ekko-waers = 'JPY'.
            mrate = mrate * 100.
          ENDIF.
        End for japanies Yen
          mrate1 = mrate.
               End rate
          mfirst  = 0.
                MFAMT  = MFAMT + ( IT_EKPO-NETPR * IT_EKPO-MENGE ).
          mfamt  = mfamt + ( mrate * it_ekpo-menge ).
          PERFORM get_mat_long_text.
          DATA: lt_ctr TYPE i VALUE 0,lt_ctr1 TYPE i, lt_count TYPE i VALUE 0. " Long text counter
          DESCRIBE TABLE it_bapi_mltx_ga LINES lt_count.
          CLEAR it_bapi_mltx_ga.
    *Added by Rajiv 10.05.2007 Read and if condition RTDK906165
          READ TABLE it_konv WITH KEY knumv = it_ekko-knumv
                                      kposn = it_ekpo-ebelp.
          mkbetr  = 0.
          mkwert  = 0.
          IF sy-subrc EQ 0.
            LOOP AT it_konv  WHERE knumv EQ it_ekko-knumv
                               AND kposn EQ it_ekpo-ebelp.
              IF it_konv-krech EQ 'A'.
                mkbetr  = it_konv-kbetr / 10.
              ELSE.
                mkbetr  = it_konv-kbetr.
              ENDIF.
            For Japanies Yen "RTDK906759
              IF it_ekko-waers = 'JPY'.
                mkbetr = mkbetr * 100.
              ENDIF.
            End for japaies Yen
              IF mkbetr LT '0'.
                mkbetr = mkbetr * ( -1 ).
              ENDIF.
              mkwert   = it_konv-kwert.
            For Japanies Yen "RTDK906759
              IF it_ekko-waers = 'JPY'.
                mkwert = mkwert * 100.
              ENDIF.
            End for japaies Yen
              mfamt  = mfamt + mkwert.
              IF mkwert LT '0'.
                mkwert = mkwert * ( -1 ).
              ENDIF.
              IF it_ekpo-matnr IS INITIAL.
                itemname = it_ekpo-txz01.
              ELSE.
                READ TABLE it_makt  WITH KEY matnr = it_ekpo-matnr.
                itemname = it_makt-maktx.
              ENDIF.
              READ TABLE it_t685t WITH KEY kschl = it_konv-kschl BINARY SEARCH.
              READ TABLE it_eket  WITH KEY ebeln = it_ekpo-ebeln
                                           ebelp = it_ekpo-ebelp BINARY SEARCH.
              IF mfirst EQ 0.
                PERFORM writeform USING 'BRK_INFO' 'MAIN'.
                mfirst = 1.
              ELSE.
                ADD 1 TO lt_ctr.
                CLEAR it_bapi_mltx_ga.
                READ  TABLE it_bapi_mltx_ga INDEX lt_ctr. "For long text
                IF sy-subrc NE 0.
                  CLEAR it_bapi_mltx_ga.
                ENDIF.
                PERFORM writeform USING 'BRK_INFO1' 'MAIN'.
              ENDIF.
              mlctr = mlctr + 1.
            ENDLOOP.               "   it_konv.
          ELSE.
            IF it_ekpo-matnr IS INITIAL.
              itemname = it_ekpo-txz01.
            ELSE.
              READ TABLE it_makt  WITH KEY matnr = it_ekpo-matnr.
              itemname = it_makt-maktx.
            ENDIF.
                        READ TABLE IT_T685T WITH KEY KSCHL = IT_KONV-KSCHL BINARY SEARCH.
            READ TABLE it_eket  WITH KEY ebeln = it_ekpo-ebeln
                                         ebelp = it_ekpo-ebelp BINARY SEARCH.
            mfirst = 0.
            IF mfirst EQ 0.
              PERFORM writeform USING 'BRK_INFO' 'MAIN'.
              mfirst = 1.
            ELSE.
              ADD 1 TO lt_ctr.
              CLEAR it_bapi_mltx_ga.
              READ  TABLE it_bapi_mltx_ga INDEX lt_ctr. "For long text
              IF sy-subrc NE 0.CLEAR it_bapi_mltx_ga.ENDIF.
              PERFORM writeform USING 'BRK_INFO1' 'MAIN'.
            ENDIF.
          ENDIF.
    *Commented by rajiv 10.05.2007 used this code in above condition.
    added by ganesh on 260407 to print record
                if it_konv is initial.
                        READ TABLE IT_MAKT  WITH KEY MATNR = IT_EKPO-MATNR.
                        READ TABLE IT_T685T WITH KEY KSCHL = IT_KONV-KSCHL BINARY SEARCH.
                        READ TABLE IT_EKET  WITH KEY EBELN = IT_EKPO-EBELN
                                                     EBELP = IT_EKPO-EBELP BINARY SEARCH.
                        mFirst = 0.
                        if mFirst eq 0.
                             PERFORM WRITEFORM USING 'BRK_INFO' 'MAIN'.
                             mFirst = 1.
                        else.
                             add 1 to lt_ctr.
                             clear it_bapi_mltx_ga.
                             read  table IT_BAPI_MLTX_GA index lt_ctr. "For long text
                             if sy-subrc ne 0.clear it_bapi_mltx_ga.endif.
                             PERFORM WRITEFORM USING 'BRK_INFO1' 'MAIN'.
                        Endif.
                endif.
    end of change
          REFRESH it_komv_tax.
          PERFORM get_tax_cal USING it_ekpo-ebeln
                                    it_ekpo-ebelp.
                                 Changing it_komv_tax.
          REFRESH : it_zmm_porder.
          CLEAR   : it_zmm_porder.
          SELECT * INTO TABLE it_zmm_porder
            FROM zmm_porder
           WHERE flag EQ 'T'.
          IF sy-subrc EQ 0.
            SORT it_zmm_porder BY kschl.
          ENDIF.
          LOOP AT it_komv_tax.
            gindex = sy-tabix.
            READ TABLE it_zmm_porder WITH KEY kschl = it_komv_tax-kschl BINARY SEARCH.
            IF sy-subrc NE 0.
              DELETE it_komv_tax INDEX gindex.
            ENDIF.
          ENDLOOP.
          LOOP AT it_komv_tax WHERE kwert IS NOT INITIAL.
           IF ( IT_KOMV_TAX-KSCHL EQ 'JMOP' OR
                IT_KOMV_TAX-KSCHL EQ 'JECS' OR
                IT_KOMV_TAX-KSCHL EQ 'JSEP' OR
                IT_KOMV_TAX-KSCHL EQ 'JMOQ' OR
                IT_KOMV_TAX-KSCHL EQ 'JVCS' OR
                IT_KOMV_TAX-KSCHL EQ 'JVRD' OR
                IT_KOMV_TAX-KSCHL EQ 'JMIP' OR
    *             IT_KOMV_TAX-KSCHL EQ 'JEIP' OR
                IT_KOMV_TAX-KSCHL EQ 'JSEI' OR
                IT_KOMV_TAX-KSCHL EQ 'JSRT' OR
                IT_KOMV_TAX-KSCHL EQ 'JEC3' OR
                IT_KOMV_TAX-KSCHL EQ 'JVRN' )
                AND IT_KOMV_TAX-KWERT IS NOT INITIAL.
            SELECT SINGLE vtext
                   INTO   mtext
                   FROM   t685t
                  WHERE   kschl EQ it_komv_tax-kschl
                    AND   spras EQ 'E'.
            l_rate    = it_komv_tax-kbetr / 10.
            l_amt     = it_komv_tax-kwert.
            For Japanies Yen "RTDK906759
            IF it_ekko-waers = 'JPY'.
              l_amt = l_amt * 100.
            ENDIF.
            End for japaies Yen
            ADD l_amt TO mfamt.
            IF lt_ctr LT lt_count. "Long text
              ADD 1 TO lt_ctr.
              READ TABLE it_bapi_mltx_ga INDEX lt_ctr.
            ELSE.
              CLEAR it_bapi_mltx_ga.
            ENDIF.
            IF l_rate EQ 0 OR l_amt EQ 0.
              l_rate = ''.
              l_amt  = ''.
            ENDIF.
            PERFORM writeform USING 'TAX_LINE_ITEM' 'MAIN'.
           ENDIF.
          ENDLOOP.
          IF lt_ctr LT lt_count.
            DATA mbal_line TYPE i.
            mbal_line = ( lt_count - lt_ctr ).
            DO mbal_line TIMES.
              ADD 1 TO lt_ctr.
              READ TABLE it_bapi_mltx_ga INDEX lt_ctr.
              IF sy-subrc = 0.
                PERFORM writeform USING 'LTEXT' 'MAIN'.
              ENDIF.
            ENDDO.
          ENDIF.
          CONCATENATE it_ekko-ebeln it_ekpo-ebelp INTO nmebeln.
          REFRESH tline.
          CALL FUNCTION 'READ_TEXT'
            EXPORTING
              id                      = 'F04'
              language                = sy-langu
              name                    = nmebeln
              object                  = 'EKPO'
            TABLES
              lines                   = tline
            EXCEPTIONS
              id                      = 1
              language                = 2
              name                    = 3
              not_found               = 4
              object                  = 5
              reference_check         = 6
              wrong_access_to_archive = 7
              OTHERS                  = 8.
          IF sy-subrc <> 0.
          ENDIF.
          LOOP AT tline.
            IF tline-tdline IS NOT INITIAL.
              del_text = tline-tdline.
            ENDIF.
            CONDENSE del_text.
          ENDLOOP.
          CONCATENATE it_ekko-ebeln it_ekpo-ebelp INTO nmebeln.
          REFRESH tline.
          CALL FUNCTION 'READ_TEXT'
            EXPORTING
              id                      = 'F03'
              language                = sy-langu
              name                    = nmebeln
              object                  = 'EKPO'
            TABLES
              lines                   = tline
            EXCEPTIONS
              id                      = 1
              language                = 2
              name                    = 3
              not_found               = 4
              object                  = 5
              reference_check         = 6
              wrong_access_to_archive = 7
              OTHERS                  = 8.
          IF sy-subrc <> 0.
                 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
               refresh.
          CLEAR : po_flag, mat_po_text.
          LOOP AT tline.
            IF tline-tdline IS NOT INITIAL.
              MOVE tline-tdline TO mat_po_text.
              CONDENSE mat_po_text.
              PERFORM writeform USING 'MTRL_PO_TEXT' 'MAIN'.
              po_flag = 'X'.
              CLEAR : mat_po_text.
            ENDIF.
          ENDLOOP.
    *Added lines below for Schedule delivery for line item on 09.05.2007:Rajiv
          CLEAR g_ind.
          READ TABLE it_eket  WITH KEY ebeln = it_ekpo-ebeln
                                       ebelp = it_ekpo-ebelp BINARY SEARCH.
          g_ind = sy-tabix.
          LOOP AT it_eket FROM g_ind.
            IF it_eket-ebeln EQ it_ekpo-ebeln AND it_eket-ebelp = it_ekpo-ebelp.
              PERFORM writeform USING 'SCHEDULE' 'MAIN'.
            ELSE.
              EXIT.
            ENDIF.
          ENDLOOP.
    *End Addition:Rajiv
          PERFORM writeform USING 'REQSLP' 'MAIN'.
          mlctr = mlctr + 1.
          msr = msr + 1.
          CLEAR: lt_ctr, lt_ctr1.
      following lines added by ganesh to add service po details as per Mr. sadiq 21.08.2007
          IF it_ekpo-packno IS NOT INITIAL.
            CLEAR sub_packno.
            SELECT SINGLE sub_packno INTO sub_packno FROM esll WHERE packno = it_ekpo-packno.
            IF sub_packno IS NOT INITIAL.
              CLEAR it_esll.
              REFRESH it_esll.
              SELECT * FROM esll INTO CORRESPONDING FIELDS OF TABLE it_esll
              WHERE packno = sub_packno.
              IF sy-subrc = 0.
                PERFORM writeform USING 'SERVICE_PO_TEXT' 'MAIN'.
              ENDIF.
              LOOP AT it_esll.
                CONCATENATE sub_packno it_esll-introw INTO obj.
                CALL FUNCTION 'READ_TEXT'   "4500002446  C300
                  EXPORTING
                    id       = 'LTXT'
                    language = sy-langu
                    name     = obj
                    object   = 'ESLL'
                  TABLES
                    lines    = tline
                  EXCEPTIONS
                    id                      = 1
                    language                = 2
                    name                    = 3
                    not_found               = 4
                    object                  = 5
                    reference_check         = 6
                    wrong_access_to_archive = 7
                    OTHERS                  = 8.
                IF sy-subrc <> 0.
                ENDIF.
                CLEAR stext.
                LOOP AT tline.
                  CONCATENATE stext tline-tdline  INTO stext SEPARATED BY space.
                ENDLOOP.
                FREE tline.
                CLEAR tline.
                REFRESH tline.
                PERFORM writeform USING 'SERVICE_PO' 'MAIN'.
                PERFORM writeform USING 'SERVICE_TEXT' 'MAIN'.
              ENDLOOP.
            ENDIF.
          ENDIF.
        end of change
        ENDLOOP.             " it_ekpo.
        IF mlctr < 15.
          DO 5 TIMES.
            PERFORM writeform USING 'LINEFEED' 'MAIN'.
          ENDDO.
        ENDIF.
        added by ganesh  for allding line before ECC No.
        IF it_ekko-bsart NE 'ZIM'.               " IF EXPORT NO NEED TO PRINT ECC.
          PERFORM writeform USING 'LIN' 'MAIN'.
          PERFORM writeform USING 'WERKS_TAX_DETAIL' 'MAIN'.
        ENDIF.
        end of change
         MFLAG = 'Y'.
        PERFORM writeform USING 'TERMS_VAL' 'MAIN'.
        LOOP AT it_konv1 WHERE knumv EQ it_ekko-knumv.
          mkschl = it_konv1-kschl.
          mchgamt = 0.
          LOOP AT it_konv_ftr  WHERE knumv EQ it_konv1-knumv
                               AND kschl EQ mkschl.
            mchgamt = mchgamt + it_konv_ftr-kwert.
          ENDLOOP.
            For Japanies Yen "RTDK906759
          IF it_ekko-waers = 'JPY'.
            mchgamt = mchgamt * 100.
          ENDIF.
            End for japaies Yen
          mfamt = mfamt + mchgamt.
          IF mchgamt LT '0'.
            mchgamt = mchgamt * ( -1 ).
          ENDIF.
          READ TABLE it_t685t_ftr WITH KEY kschl = mkschl.
          PERFORM writeform USING 'TERMS_FTR_VAL' 'MAIN'.
          mlctr = mlctr + 1.
        ENDLOOP.
        mflag = 'T'.
        CALL FUNCTION 'HR_IN_CHG_INR_WRDS'
          EXPORTING
            amt_in_num         = mfamt
          IMPORTING
            amt_in_words       = mfword
          EXCEPTIONS
            data_type_mismatch = 1
            OTHERS             = 2.
        CONDENSE mebeln.
        nmebeln = it_ekko-ebeln.
        REFRESH tline.
        CALL FUNCTION 'READ_TEXT'
          EXPORTING
            id                      = 'F01'
            language                = sy-langu
            name                    = nmebeln
            object                  = 'EKKO'
          TABLES
            lines                   = tline
          EXCEPTIONS
            id                      = 1
            language                = 2
            name                    = 3
            not_found               = 4
            object                  = 5
            reference_check         = 6
            wrong_access_to_archive = 7
            OTHERS                  = 8.
        IF sy-subrc <> 0.
        ENDIF.
    *---- CHANGED BY MATHEW BECAUSE THIS STATMENT WORKING FINE IN 300 BUT NOT IN 500C.
       LOOP AT ZTEXT.
         IF ZTEXT-TEXT1 IS NOT INITIAL.
           PERFORM WRITEFORM USING 'TERMS_COND_VAL_PAY' 'MAIN'.
         ENDIF.
         MPAY_FLAG = 'Y'.
       ENDLOOP.
        READ TABLE it_t052u WITH KEY zterm = it_ekko-zterm.
        LOOP AT it_t052u WHERE zterm EQ it_ekko-zterm.
          IF it_t052u-text1 IS NOT INITIAL.
            PERFORM writeform USING 'TERMS_COND_VAL_PAY' 'MAIN'.
          ENDIF.
          mpay_flag = 'Y'.
        ENDLOOP.
        PERFORM writeform USING 'TERMS_COND_VAL' 'MAIN'.
        LOOP AT tline.
          IF tline-tdline IS NOT INITIAL.
            PERFORM writeform USING 'TERMS_COND_VAL_HDR' 'MAIN'.
          ENDIF.
          CONDENSE txt.
        ENDLOOP.
        PERFORM writeform USING 'FTR' 'FTR_LIN3'.
        PERFORM writeform USING 'FTR_LIN1' 'FTR_LIN1'.
        CALL FUNCTION 'END_FORM'.
      ENDLOOP.                    "   It_ekko.
      CALL FUNCTION 'CLOSE_FORM'
       IMPORTING
       RESULT                         = itcpp
      RDI_RESULT                     =
       TABLES
         otfdata                        = otf
       EXCEPTIONS
         unopened                       = 1
         bad_pageformat_for_print       = 2
         send_error                     = 3
         spool_error                    = 4
         codepage                       = 5
         OTHERS                         = 6.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " Process
    *&      Form  WRITEFORM
          text
         -->P_0150   text
         -->P_0151   text
    FORM writeform  USING    value(p_0150)
                             value(p_0151).
      CALL FUNCTION 'WRITE_FORM'

    Hi
    I think some basis related configuartions to be done
    Try like this and inform me
    A cyclic job runs, which processes the messages seen in the SOST queue.
    Are you sure it's not the frequency of the cyclic job, rather than the
    number of messages in the queue, that you are observing? In messages
    that are queued and before the cyclic job runs, "wait for comm. service"
    is the normal status.
    If you mean that there are always 4 items queued in SOST regardless of
    the cyclic send job, then I have no ideas. I would have thought there
    was no way to do that.
    when the send job runs it just never
    picks them up & sends them, while it picks up many others. The send job
    is somehow blind to these; no error message occurs. In this case, I
    'delete' them from the queue (in SOST) and then 'undelete' (drop down
    menu -> /Go to /Deleted Items) them and then re-queue them. THEN they
    actually get picked up & sent when the next cyclic send job executes.
    Regards
    Pavan

Maybe you are looking for