hi all,
we are on ECC 6.0 EHP 6. on sybase and linux.
my HR conultant is trying to generate absent quota from program rptqta00.
for that we are getting following dump:
Category | ABAP Programming Error |
Runtime Errors | BCD_ZERODIVIDE |
Except. | CX_SY_ZERODIVIDE |
ABAP Program | SAPLHRLV |
Application Component PT
Date and Time | 26.07.2013 10:45:21 |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|Short text | | | |
| | Division by 0 (type P) in program "SAPLHRLV" | | |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|What happened? | | | |
| | Error in the ABAP Application Program | | |
| | | | |
| | The current ABAP program "SAPLHRLV" had to be terminated because it has | | |
| | come across a statement that unfortunately cannot be executed. | | |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|What can you do? | | | |
| | Note down which actions and inputs caused the error. | | |
| | | | |
| | | | |
| | To process the problem further, contact you SAP system | | |
| | administrator. | | |
| | | | |
| | Using Transaction ST22 for ABAP Dump Analysis, you can look | | |
| | at and manage termination messages, and you can also | | |
| | keep them for a long time. | | |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|Error analysis | | | |
| | An exception occurred that is explained in detail below. | | |
| | The exception, which is assigned to class 'CX_SY_ZERODIVIDE', was not caught in | | |
| | procedure "HR_ROUND_NUMBER" "(FUNCTION)", 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: | | |
| | In the current program "SAPLHRLV", an arithmetic operation ('DIVIDE', | | |
| | '/', 'DIV' or 'MOD') with a type P operand attempted to divide | | |
| | by 0. | | |
| | | | |
| | | |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|How to correct the error | | | |
| | 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: | | |
| | | | |
| | "BCD_ZERODIVIDE" "CX_SY_ZERODIVIDE" | | |
| | "SAPLHRLV" or "LHRLVU04" | | |
| | "HR_ROUND_NUMBER" | | |
| | | | |
| | 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 | | |
| | "HR_ROUND_NUMBER" "(FUNCTION)", or its possible occurrence must be declared in | | |
| | the | | |
| | RAISING clause of the procedure. | | |
| | To prevent the exception, note the following: | | |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|System environment | | | |
| | SAP Release..... 731 | | |
| | SAP Basis Level. 0007 | | |
| | | | |
| | Application server... "apshcldev" | | |
| | Network address...... "192.168.1.52" | | |
| | Operating system..... "Linux" | | |
| | Release.............. "3.0.13-0.27-default" | | |
| | Hardware type........ "x86_64" | | |
| | Character length.... 16 Bits | | |
| | Pointer length....... 64 Bits | | |
| | Work process number.. 5 | | |
| | Shortdump setting.... "full" | | |
| | | | |
| | Database server... "apshcldev" | | |
| | Database type..... "SYBASE" | | |
| | Database name..... "AHD" | | |
| | Database user ID.. "SAPSR3" | | |
| | | | |
| | Terminal.......... "H61H2-M6" | | |
| | | | |
| | Char.set.... "C" | | |
| | | | |
| | SAP kernel....... 720 | | |
| | created (date)... "Jan 16 2013 13:27:39" | | |
| | create on........ "Linux GNU SLES-9 x86_64 cc4.1.2 use-pr121115" | | |
| | Database version. "Sybase ASE 15.7.0.506 " | | |
| | | | |
| | Patch level. 401 | | |
| | Patch text.. " " | | |
| | | | |
| | Database............. "15.7" | | |
| | SAP database version. 720 | | |
| | Operating system..... "Linux 2.6, Linux 3" | | |
| | | | |
| | Memory consumption | | |
| | Roll.... 0 | | |
| | EM...... 16759232 | | |
| | Heap.... 0 | | |
| | Page.... 98304 | | |
| | MM Used. 2500840 | | |
| | MM Free. 1686328 | | |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|User and Transaction | | | |
| | Client.............. 350 | | |
| | User................ "APSHR" | | |
| | Language key........ "E" | | |
| | Transaction......... "SE38 " | | |
| | Transaction ID...... "51F1A7C214DB7E42E1000000C0A80134" | | |
| | | | |
| | EPP Whole Context ID.... "7427EA085E911ED2BDB63BD8D2BA941E" | | |
| | EPP Connection ID....... 00000000000000000000000000000000 | | |
| | EPP Caller Counter...... 0 | | |
| | | | |
| | Program............. "SAPLHRLV" | | |
| | Screen.............. "SAPMSSY0 1000" | | |
| | Screen Line......... 6 | | |
| | Debugger Active..... "none" | | |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|Information on where terminated | | | |
| | Termination occurred in the ABAP program "SAPLHRLV" - in "HR_ROUND_NUMBER". | | |
| | The main program was "RPTQTA00 ". | | |
| | | | |
| | In the source code you have the termination point in line 31 | | |
| | of the (Include) program "LHRLVU04". | | |
| | The termination is caused because exception "CX_SY_ZERODIVIDE" occurred in | | |
| | procedure "HR_ROUND_NUMBER" "(FUNCTION)", but it was neither handled locally | | |
| | nor declared | | |
| | in the RAISING clause of its signature. | | |
| | | | |
| | The procedure is in program "SAPLHRLV "; its source code begins in line | | |
| | 1 of the (Include program "LHRLVU04 ". | | |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|Source Code Extract | | |
----------------------------------------------------------------------------------------------------
|Line |SourceCde | | |
----------------------------------------------------------------------------------------------------
| | 1|FUNCTION HR_ROUND_NUMBER. | | | |
| | 2|*"---------------------------------------------------------------------- | | | |
| | 3|*"*"Lokale Schnittstelle: | | | |
| | 4|*" | IMPORTING | | |
| | 5|*" | VALUE(RND_RDTYP) LIKE T559R-RDTYP | | |
| | 6|*" | CHANGING | | |
| | 7|*" | VALUE(RND_NUMBER) | | |
| | 8|*" | EXCEPTIONS | | |
| | 9|*" | RULE_NOT_FOUND | | |
| 10|*"---------------------------------------------------------------------- | | | ||
| 11| | | | ||
| 12| SELECT * FROM T559R INTO TABLE I559R | | | ||
| 13| | WHERE RDTYP EQ RND_RDTYP | | | |
| 14| | ORDER BY PRIMARY KEY. | | | |
| 15| | | | ||
| 16| IF I559R[] IS INITIAL. RAISE RULE_NOT_FOUND. ENDIF. | | | ||
| 17| | | | ||
| 18| LOOP AT I559R. | | | ||
| 19|*-----Bestimmung der relevanten Intervalle | | | ||
| 20| | REFRESH ACTINT. | | | |
| 21| | INTLENGTH = I559R-HIVAL - I559R-LOVAL. | | | |
| 22|*-----Wert kleiner als Untergrenze aber Intervall rollierend | | | ||
| 23| | IF | RND_NUMBER LT I559R-LOVAL AND NOT I559R-INREP IS INITIAL. | | |
| 24| | INTNUMBER = ( I559R-LOVAL - RND_NUMBER ) DIV INTLENGTH + 1. | | | |
| 25| | INTNUMBER = 0 - INTNUMBER. | | | |
| 26|*-----Wert kleiner als Untergrenze und Intervall nicht rollierend | | | ||
| 27| | ELSEIF RND_NUMBER LT I559R-LOVAL AND | I559R-INREP IS INITIAL. | | |
| 28| | CONTINUE. | | | |
| 29|*-----Wert größer als Obergrenze aber Intervall rollierend | | | ||
| 30| | ELSEIF RND_NUMBER GT I559R-HIVAL AND NOT I559R-INREP IS INITIAL. | | | |
|>>>>>| | INTNUMBER = ( RND_NUMBER - I559R-LOVAL ) DIV INTLENGTH. | | | |
| 32|*-----Wert größer als Obergrenze und Intervall nicht rollierend | | | ||
| 33| | ELSEIF RND_NUMBER GT I559R-HIVAL AND | I559R-INREP IS INITIAL. | | |
| 34| | CONTINUE. | | | |
| 35|*-----Wert innerhalb Intervall | | | ||
| 36| | ELSE. | | | |
| 37| | INTNUMBER = 0. | | | |
| 38| | ENDIF. | | | |
| 39| | INTNUMBER = INTNUMBER - 2. | | | |
| 40| | DO 3 TIMES. | | | |
| 41| | INTNUMBER = INTNUMBER + 1. | | | |
| 42| | ACTINT-LOVAL = INTNUMBER * INTLENGTH + I559R-LOVAL. | | | |
| 43| | ACTINT-HIVAL = INTNUMBER * INTLENGTH + I559R-HIVAL. | | | |
| 44| | ACTINT-RDVAL = INTNUMBER * INTLENGTH + I559R-RDVAL. | | | |
| 45| | APPEND ACTINT. | | | |
| 46| | ENDDO. | | | |
| 47|*-----Durchführung der Rundung | | | ||
| 48| | READ TABLE ACTINT INDEX 2. | | | |
| 49|*-----Wert liegt innerhalb des Intervalls | | | ||
| 50| | IF RND_NUMBER GT ACTINT-LOVAL AND RND_NUMBER LT ACTINT-HIVAL. | | |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|Contents of system fields | | |
----------------------------------------------------------------------------------------------------
|Name | |Val. | | |
----------------------------------------------------------------------------------------------------
|SY-SUBRC|0 | | |
|SY-INDEX|1 | | |
|SY-TABIX|1 | | |
|SY-DBCNT|1 | | |
|SY-FDPOS|1 | | |
|SY-LSIND|0 | | |
|SY-PAGNO|0 | | |
|SY-LINNO|1 | | |
|SY-COLNO|1 | | |
|SY-PFKEY| | | |
|SY-UCOMM| | | |
|SY-TITLE|Generate Absence Quotas | | |
|SY-MSGTY| | | |
|SY-MSGID| | | |
|SY-MSGNO|000 | | |
|SY-MSGV1| | | |
|SY-MSGV2| | | |
|SY-MSGV3| | | |
|SY-MSGV4| | | |
|SY-MODNO|0 | | |
|SY-DATUM|20130726 | | |
|SY-UZEIT|104520 | | |
|SY-XPROG|SAPDBPNP | | |
|SY-XFORM|%_ROOT | | |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|Active Calls/Events | | |
----------------------------------------------------------------------------------------------------
|No. Ty. | Program | Include | Line | |
| | Name | | |
----------------------------------------------------------------------------------------------------
| | 9 FUNCTION | SAPLHRLV | LHRLVU04 | 31 | |
| | HR_ROUND_NUMBER | | | ||
| | 8 FUNCTION | SAPLHRLV | LHRLVU11 | 334 | |
| | HR_QUOTAS_DEFAULT_AT_ENTRY | | | ||
| | 7 FORM | RPTQTA00 | RPTQTA00 | 77 | |
| | %_GET_PERNR | | | ||
| | 6 FORM | SAPDBPNP | DBPNPF03 | 542 | |
| | FILL_INFOTYPE_TABLES_AND_PUT | | | ||
| | 5 FORM | SAPDBPNP | DBPNPF03 | 470 | |
| | PUTPERN | | | ||
| | 4 FORM | SAPDBPNP | DBPNPF01 | 973 | |
| | LOOP_AT_INDEX_AND_PUT | | | ||
| | 3 FORM | SAPDBPNP | DBPNPF01 | 169 | |
| | PUT_PERNR | | | ||
| | 2 FORM | SAPDBPNP | SAPDBPNP | 142 | |
| | %_ROOT | | | ||
| | 1 EVENT | RPTQTA00 | <SYSINI> | 20 | |
| | SYSTEM-EXIT | | |
----------------------------------------------------------------------------------------------------
thanks and regards