Skip to Content
0
Apr 20, 2022 at 06:40 AM

ABAP runtime dump while Hiring Personnel action execution

450 Views

We are getting the following ABAP runtime error while executing the hiring action from PA40.

Category ABAP programming error

Runtime Errors COMPUTE_BCD_OVERFLOW

Except. CX_SY_ARITHMETIC_OVERFLOW

ABAP Program MP004100

Application Component PA-PA

Date and Time 19.04.2022 12:44:06 (PKT)

----------------------------------------------------------------------------------------------------


----------------------------------------------------------------------------------------------------

|Short Text |

| Overflow during an arithmetic operation (type P) in program "MP004100". |

----------------------------------------------------------------------------------------------------


----------------------------------------------------------------------------------------------------

|What happened? |

| Error in the ABAP application program. |

| |

| The current ABAP program "MP004100" had to be terminated because it found a |

| statement that could not be executed. |

----------------------------------------------------------------------------------------------------

|Error analysis |

| An exception has occurred in class "CX_SY_ARITHMETIC_OVERFLOW". This exception |

| was not caught |

| in procedure "MEASURE" "(FORM)" or propagated by a RAISING clause. |

| Since the caller of the procedure could not have anticipated this |

| exception, the current program was terminated. |

| The reason for the exception occurring was: |

| The reason for the exception is: |

| In the current arithmetic operation with operands of type P, an |

| overflow has occurred. Possible reasons: |

| |

| 1. The result field of type P is too small to store the result. |

| |

| 2. The total or a subtotal has more than 31 decimal places. |

----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------

|User and Transaction |

| Client................. 100 |

| User.................. SAPSUPPORT |

| Language key.......... E |

| Transaction......... PA40 |

| Transaction ID...... 2CC2E66B6DBF0010E0062274C69C396C |

| |

| EPP Root Context ID.... E357696C05811EDCAFF6727D40BFF802 |

| EPP Connection ID...... 00000000000000000000000000000000 |

| EPP Connection Counter. 0 |

| EPP Component Name..... SBX/mock_SBX_00 |

| |

| Program....................... MP004100 |

| Screen......................... MP004100 2000 |

| Screen line.................... 256 |

| Debugger interpretor loop... "none" |

----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------

|Chain of Exception Objects |

----------------------------------------------------------------------------------------------------

|Level Class |

|Attrib. Name Value |

----------------------------------------------------------------------------------------------------

|1 CX_SY_ARITHMETIC_OVERFLOW |

|(Program) MP004100 |

|(Include) MPPERS00 |

|(Row) 1,807 |

|(Short Text) Overflow in the operation := |

|(Long Text) The execution of the arithmetic operation |

| |

| |

| '&O PERATION&' |

| resulted in a value that lies outwith the valid values range. |

|IS_RESUMABLE |

|KERNEL_ERRID COMPUTE_BCD_OVERFLOW |

|OPERATION := |

----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------

|Information on where terminated |

| The termination occurred in ABAP program or include "MP004100", in "MEASURE". |

| The |

| main program was "MP004100". |

| |

| In the source code, the termination point is in line 1807 of include |

| "MPPERS00". |

| include "MPPERS00". |

| The termination is due to exception "CX_SY_ARITHMETIC_OVERFLOW" occurring in |

| procedure "MEASURE" "(FORM)", |

| but not being handled locally there or being declared in the RAISING |

| clause. |

| The procedure is in program "MP004100". Its source code begins in line 1692 of |

| include "MPPERS00". |

----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------

|Source Code Extract (Source code changed) |

----------------------------------------------------------------------------------------------------

|Line |Code |

----------------------------------------------------------------------------------------------------

| 1777| ADD 1 TO dms_plaus. |

| 1778| dms_plaus_or = 0. |

| 1779| ENDIF. |

| 1780| IF dms_cond_or GT 0. |

| 1781| ADD dms_cond_or TO dms_cond. |

| 1782| dms_cond_or = 0. |

| 1783| ENDIF. |

| 1784| ENDIF. |

| 1785| ELSE. |

| 1786| dms_cond_or = 1. |

| 1787| IF rcode EQ yes. |

| 1788| dms_plaus_or = 1. |

| 1789| ENDIF. |

| 1790| ENDIF. |

| 1791| WHEN 'I'. |

| 1792| sv_infty_available = 'X'. |

| 1793| MOVE space TO: dynmeas-begda, dynmeas-endda. |

| 1794| PERFORM get_first_word(sapfp500) USING |

| 1795| t588z-vinfo '/' gfw_word gfw_sep gfw_length. |

| 1796| PERFORM interpret_t588z USING dynmeas-actio. |

| 1797| PERFORM interpret_t588z USING dynmeas-infty. |

| 1798| WHILE dynmeas-infty+3(1) EQ ' '. |

| 1799| SHIFT dynmeas-infty RIGHT. |

| 1800| dynmeas-infty(1) = '0'. |

| 1801| ENDWHILE. |

| 1802| PERFORM interpret_t588z USING dynmeas-subty. |

| 1803| PERFORM interpret_t588z USING dynmeas-objps. |

| 1804| PERFORM interpret_t588z USING dynmeas-begda. |

| 1805| PERFORM interpret_t588z USING dynmeas-endda. |

| 1806| MOVE t588z-vinfo TO dynmeas-supdg. |

|>>>>>| ADD 1 TO dynmeas-seqnr. |

| 1808|* ADD 1 TO LAST_DMSNR. "QNUK87008 XYLAHRK049737 |

| 1809| ADD 1 TO pspar-dmsnr. "XYLAHRK049737 |

| 1810| APPEND dynmeas. |

| 1811| WHEN 'W'. |

| 1812| IF sv_infty_available IS NOT INITIAL. |

| 1813| PERFORM prepare_values. |

| 1814| ENDIF. |

| 1815| |

| 1816|* WHEN 'C'. PERFORM PREPARE_VALUES. |

| 1817| WHEN 'R'. |

| 1818| MOVE t588z-vinfo TO reptable. |

| 1819| APPEND reptable. |

| 1820| WHEN 'S'. |

| 1821|* MOVE T588Z-VINFO TO SELC. "QNUK64247 |

| 1822|* CONDENSE SELC NO-GAPS. "QNUK64247 |

| 1823| PERFORM get_first_word(sapfp500) USING "QNUK64247 |

| 1824| t588z-vinfo ' ' selc-name gfw_sep gfw_length. "QNUK64247 |

| 1825| PERFORM get_first_word(sapfp500) USING "QNUK64247 |

| 1826| t588z-vinfo ' ' selc-option gfw_sep gfw_length. "QNUK64247 |

----------------------------------------------------------------------------------------------------


Please help me and propose an appropriate solution for the above-mentioned error.

Thanks in advance.