Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

COLLECT_OVERFLOW_TYPE_P & CX_SY_ARITHMETIC_OVERFLOW

Former Member
0 Kudos

hi Friends,

     am getting the following dump error. kindly help in solving the error.

Runtime Errors         COLLECT_OVERFLOW_TYPE_P                                                     

Exception              CX_SY_ARITHMETIC_OVERFLOW                                                   

Date and Time          21.12.2012 14:21:47                                                         

                                                                                                   

Short text                                                                                        

    An internal table field has been defined too small.                                           

What happened?                                                                                    

    Error in the ABAP Application Program                                                         

                                                                                                  

    The current ABAP program "SAPLATP2" had to be terminated because it has                       

    come across a statement that unfortunately cannot be executed.                                

Error analysis                                                                                    

    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 "RESB_SKBED_BRBED_CHECK" "(FORM)", nor was it propagated by a RAISING               

     clause.                                                                                      

    Since the caller of the procedure could not have anticipated that the                         

    exception would occur, the current program is terminated.                                     

    The reason for the exception is:                                                              

    The COLLECT statement stores totals in the internal table                                     

     "\FUNCTION-POOL=ATP2\FORM=RESB_READ\DATA=S_ATPMEX",                                          

    but the values are too large for the type P field intended to store                           

    them.                                                                                         

                                                                                                  

    The name of the field is "MNG01".                                                             

How to correct the error                                                                          

    You should define the field "MNG01" larger in program "SAPLATP2".                             

    The maximum size allowed for fields of type P is 16 (31 digits).                              

    A temporary solution could be to break the process down into smaller                          

    processes so that fewer large sums occur.                                                     

                                                                                                  

    If the error occurred in your own ABAP program or in an SAP                                   

    program you modified, try to remove the error.                                                

                                                                                                  

                                                                                                  

    If the error occures in a non-modified SAP program, you may be able to                        

    find an interim solution in an SAP Note.                                                      

    If you have access to SAP Notes, carry out a search with the following                        

    keywords:                                                                                     

                                                                                                  

    "COLLECT_OVERFLOW_TYPE_P" "CX_SY_ARITHMETIC_OVERFLOW"                                         

    "SAPLATP2" or "LATP2FR2"                                                                      

    "RESB_SKBED_BRBED_CHECK"                                                                      

                                                                                                  

    If you cannot solve the problem yourself and want to send an error                            

    notification to SAP, include the following information:                                       

                                                                                                  

    1. The description of the current problem (short dump)                                        

                                                                                                  

       To save the description, choose "System->List->Save->Local File                            

    (Unconverted)".                                                                               

                                                                                                  

    2. Corresponding system log                                                                   

                                                                                                  

       Display the system log by calling transaction SM21.                                        

       Restrict the time interval to 10 minutes before and five minutes                           

    after the short dump. Then choose "System->List->Save->Local File                             

    (Unconverted)".                                                                               

                                                                                                  

    3. If the problem occurs in a problem of your own or a modified SAP                           

    program: The source code of the program                                                       

       In the editor, choose "Utilities->More                                                     

    Utilities->Upload/Download->Download".                                                        

                                                                                                  

    4. Details about the conditions under which the error occurred or which                       

    actions and input led to the error.                                                           

                                                                                                  

    The exception must either be prevented, caught within proedure                                

    "RESB_SKBED_BRBED_CHECK" "(FORM)", or its possible occurrence must be declared                

     in the                                                                                       

    RAISING clause of the procedure.                                                              

    To prevent the exception, note the following:                                                 

User and Transaction                                                                              

                                                                                                  

    Client.............. 800                                                                      

    User................ "MMLEVL8"                                                                

    Language key........ "E"                                                                      

    Transaction......... "VL01N "                                                                 

    Transactions ID..... "A54B4BE2F810F10C8B58D8D385F61ACF"                                       

                                                                                                  

    Program............. "SAPLATP2"                                                               

    Screen.............. "SAPMV50A 4001"                                                          

    Screen line......... 39                                                                       

Information on where terminated                                                                   

    Termination occurred in the ABAP program "SAPLATP2" - in                                      

     "RESB_SKBED_BRBED_CHECK".                                                                    

    The main program was "SAPMV50A ".                                                             

                                                                                                  

    In the source code you have the termination point in line 83                                  

    of the (Include) program "LATP2FR2".                                                          

    The termination is caused because exception "CX_SY_ARITHMETIC_OVERFLOW"                       

     occurred in                                                                                  

    procedure "RESB_SKBED_BRBED_CHECK" "(FORM)", but it was neither handled locally               

     nor declared                                                                                 

    in the RAISING clause of its signature.                                                       

                                                                                                  

    The procedure is in program "SAPLATP2 "; its source code begins in line                       

    7 of the (Include program "LATP2FR2 ".                                                        

Source Code Extract                                                                               

Line  SourceCde                                                                                   

   53       CLEAR: P_ATPMEX-KDPOS.                                                                

   54       CLEAR: P_ATPMEX-PSPEL.                                                                

   55       CLEAR: P_ATPMEX-KUNNR.                                                                

   56   ENDCASE.                                                                                  

   57   P_ATPMEX-SOBKZ      = P_ATP_RESB-SOBKZ.                                                   

   58   P_ATPMEX-LGORT      = P_ATP_RESB-LGORT.                                                   

   59   P_ATPMEX-CHARG      = P_ATP_RESB-CHARG.                                                   

   60   P_ATPMEX-DELKZ      = P_ATP_RESB-BDART.                                                   

   61   P_ATPMEX-ATPIF      = SPACE.                                                              

   62   P_ATPMEX-ATPIF+2(1) = P_ATP_RESB-DUMPS.                                                   

   63                                                                                             

   64   IF  P_ATP_RESB-SHKZG = SHKZGS.                                                            

   65 *   dependent requirement is receipt                                                        

   66     P_ATPMEX-SORT1 = S1RECEIPT.                                                             

   67     P_ATPMEX-DAT00 = P_ATP_RESB-BDTER.                                                      

   68 *   p_atpmex-tag00 =                                             "NOTE-X                    

   69     P_ATPMEX-MNG01 = P_ATP_RESB-BDMNG - P_ATP_RESB-ENMNG.                                   

   70     P_ATPMEX-MNG02 = 0.                                                                     

   71   ELSE.                                                                                     

   72 *   dependent requirement is issue                                                          

   73     P_ATPMEX-SORT1 = S1ISSUE.                                                               

   74     P_ATPMEX-DAT00 = P_ATP_RESB-BDTER.                                                      

   75 *   p_atpmex-tag00 =                                             "NOTE-X                    

   76     P_ATPMEX-MNG01 = P_ATP_RESB-BDMNG - P_ATP_RESB-ENMNG.                                   

   77     IF  P_ATPMEX-MNG01 < P_ATP_RESB-VMENG.                                                  

   78       P_ATPMEX-MNG02 = P_ATPMEX-MNG01.                                                      

   79     ELSE.                                                                                   

   80       P_ATPMEX-MNG02 = P_ATP_RESB-VMENG.                                                    

   81     ENDIF.                                                                                  

   82   ENDIF.                                                                                    

>>>>>   COLLECT P_ATPMEX.                                                                         

   84                                                                                             

   85 ENDFORM.                    "RESB_SKBED_BRBED_CHECK               

thanks

Sankaresh S                        

3 REPLIES 3

Former Member
0 Kudos

Please check this link "http://wiki.sdn.sap.com/wiki/display/ERPFI/COLLECT_OVERFLOW_TYPE_P+dump+in+transaction+KEDU"

Check below Field value may be exceed length .

MNG01MNG01QUAN133Quantity received or quantity required

Regard's

Smruti

Former Member
0 Kudos

    The name of the field is "MNG01".                                                            

How to correct the error                                                                         

    You should define the field "MNG01" larger in program "SAPLATP2".                            

    The maximum size allowed for fields of type P is 16 (31 digits).                             

    A temporary solution could be to break the process down into smaller                         

    processes so that fewer large sums occur.

Venkat_Sesha
Advisor
Advisor
0 Kudos

Hi

You need to catch the exception rather than searching for the cause. Cause is simple and explained clearly by SAP Dump. it says you have increased the number value such that variable cannot hold. For a packed value has a standard lenght of 8bytes but can be extended to another 8 bytes (1 to 16bytes in case of lenght where it can hold 14 decimal values can be permitted.)

So use the exception to catch the error. or split your data.

Oref should be of your exception class and LV_TEXT is of type string.

TRY.
    CATCH CX_SY_ARITHMETIC_OVERFLOW INTO oref.
      lv_text = oref->get_text( ).

  ENDTRY.

Hope this helps.