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.