2007 Dec 17 7:48 AM
Dear experts:
When I execute a program which was developed by ours ABAPer, the runtime error will happen.
The detail error information as follows (error happens in program "LSTXBCTB3" at 010730):
Runtime Errors COMPUTE_INT_MINUS_OVERFLOW
Exception CX_SY_ARITHMETIC_OVERFLOW
010640 endloop.
010650 if sy-subrc = 0.
010660 append l_otfline to l_lastinfo.
010670 endif.
010680 * get corrected value for l_blockpos: should be the position
010690 * set by the command of 'positioning' (last in the block).
010700
010710 * look for 'last' ST command
010720 l_index = l_blockend.
010730 while l_flag eq c_true.
> l_index = l_index - 1.
010750 read table p_cell_otf into l_otfline index l_index.
010760 if l_otfline-tdprintcom <> pc_id_codepage and
010770 l_otfline-tdprintcom <> pc_id_call_font and
010780 l_otfline-tdprintcom <> pc_id_space_width and
010790 l_otfline-tdprintcom <> pc_id_uline and
010800 l_otfline-tdprintcom <> pc_id_color_text and
010810 l_otfline-tdprintcom <> pc_id_move_to and
010820 l_otfline-tdprintcom <> pc_id_md_after_par.
010830
010840 l_flag = c_false.
010850 endif.
010860 endwhile.
Anyone who can help me to solve the problem? Thanks a million!
Edited by: Guo Qing Wu on Dec 17, 2007 8:49 AM
Edited by: Guo Qing Wu on Dec 17, 2007 8:54 AM
Edited by: Guo Qing Wu on Dec 17, 2007 8:55 AM
Edited by: Guo Qing Wu on Dec 17, 2007 8:57 AM
2007 Dec 17 8:05 AM
Hi Guo Qing Wu,
it looks like an endless while.
the condition to set l_flag to c_false should end the WHILE LOOP. But the condition is not fulfilled. Seriously: if l_otfline-tdprintcom pc_id_codepage does not look like valid condition syntax. Also, the statement read table p_cell_otf into l_otfline index l_index should cause a dump as soon as l_index is set to zero.
For further analysis, we need full source code and more information from the dump (e.g. selected fields values).
Regards,
Clemens
2007 Dec 17 8:05 AM
Hi Guo Qing Wu,
it looks like an endless while.
the condition to set l_flag to c_false should end the WHILE LOOP. But the condition is not fulfilled. Seriously: if l_otfline-tdprintcom pc_id_codepage does not look like valid condition syntax. Also, the statement read table p_cell_otf into l_otfline index l_index should cause a dump as soon as l_index is set to zero.
For further analysis, we need full source code and more information from the dump (e.g. selected fields values).
Regards,
Clemens
2007 Dec 17 8:29 AM
Error analysis
An exception occurred. This exception is dealt with in more detail below
. The exception, which is assigned to the class 'CX_SY_ARITHMETIC_OVERFLOW',
was neither
caught nor passed along using a RAISING clause, in the procedure
"TAB_SPLIT_CELL" "(FORM)"
.
Since the caller of the procedure could not have expected this exception
to occur, the running program was terminated.
The reason for the exception is:
In the current program "SAPLSTXBC ", subtracting the number 1 from
the number "-2147483648" (using the operation - or 'SUBTRACT') resulted
in a value either greater than 2147483647 or smaller than
-2147483648. This results in a whole number overflow.
How to correct the error
The exception must either be prevented, caught within the procedure
"TAB_SPLIT_CELL"
"(FORM)", or declared in the procedure's RAISING clause.
To prevent the exception, note the following:
You may be able to split the process into separate components, so that
the values generated are smaller.
If the error occurred in one of your own programs or in an SAP program
that you modified, try to correct it yourself.
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....... "yihai-appl1"
Network address.......... "10.10.10.161"
Operating system......... "Windows NT"
Release.................. "5.2"
Hardware type............ "4x Intel 80686"
Character length......... 8 Bits
Pointer length........... 32 Bits
Work process number...... 4
Short dump setting....... "full"
Database server.......... "DB-YIHAI"
Database type............ "MSSQL"
Database name............ "PRD"
Database owner........... "prd"
Character set............ "Chinese_CHN.936"
SAP kernel............... "620"
Created on............... "Dec 19 2004 22:59:44"
Created in............... "NT 5.0 2195 Service Pack 2 x86 MS VC++ 12.00"
Database version......... "SQL_Server_7.00 "
Patch level.............. "1773"
Patch text............... " "
Supported environment....
Database................. "MSSQL 7.00.699 or higher, MSSQL 8.00.194"
SAP database version..... "620"
Operating system......... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2"
User, transaction...
Client.............. 888
User................ "ZHANGLUWEI"
Language key........ 1
Transaction......... "ZSD136 "
Program............. "SAPLSTXBC "
Screen.............. "ZDIA_SD_KERRY_DO 0601"
Screen line......... 25
Information on where termination occurred
The termination occurred in the ABAP program "SAPLSTXBC " in "TAB_SPLIT_CELL".
The main program was "ZDIA_SD_KERRY_DO ".
The termination occurred in line 1074 of the source code of the (Include)
program "LSTXBCTB3 "
of the source code of program "LSTXBCTB3 " (when calling the editor 10740).
Processing was terminated because the exception "CX_SY_ARITHMETIC_OVERFLOW"
occurred in the
procedure "TAB_SPLIT_CELL" "(FORM)" but was not handled locally, not declared
in the
RAISING clause of the procedure.
The procedure is in the program "SAPLSTXBC ". Its source code starts in line
897
of the (Include) program "LSTXBCTB3 ".
Source code extract
010440 append l_otfline to l_lastinfo.
010450 exit.
010460 endif.
010470 if l_otfline-tdprintcom = pc_id_call_font.
010480 exit.
010490 endif.
010500 endloop.
010510 endif.
010520 * find last UL command
010530 loop at p_cell_otf into l_otfline
010540 to l_blockend
010550 where tdprintcom = pc_id_uline.
010560 endloop.
010570 if sy-subrc = 0.
010580 append l_otfline to l_lastinfo.
010590 endif.
010600 * find last CT command
010610 loop at p_cell_otf into l_otfline
010620 to l_blockend
010630 where tdprintcom = pc_id_color_text.
010640 endloop.
010650 if sy-subrc = 0.
010660 append l_otfline to l_lastinfo.
010670 endif.
010680 * get corrected value for l_blockpos: should be the position
010690 * set by the command of 'positioning' (last in the block).
010700
010710 * look for 'last' ST command
010720 l_index = l_blockend.
010730 while l_flag eq c_true.
> l_index = l_index - 1.
010750 read table p_cell_otf into l_otfline index l_index.
010760 if l_otfline-tdprintcom <> pc_id_codepage and
010770 l_otfline-tdprintcom <> pc_id_call_font and
010780 l_otfline-tdprintcom <> pc_id_space_width and
010790 l_otfline-tdprintcom <> pc_id_uline and
010800 l_otfline-tdprintcom <> pc_id_color_text and
010810 l_otfline-tdprintcom <> pc_id_move_to and
010820 l_otfline-tdprintcom <> pc_id_md_after_par.
010830
010840 l_flag = c_false.
010850 endif.
010860 endwhile.
010870
010880 if l_otfline-tdprintcom = pc_id_string.
010890 * find last MT or MB command
010900 loop at p_cell_otf into l_otfline
010910 to l_index
010920 where tdprintcom = pc_id_move_to or
010930 tdprintcom = pc_id_md_after_par.
Contents of system fields
SY field contents..................... SY field contents.................
SY-SUBRC 4 SY-INDEX -2147483641
SY-TABIX 0 SY-DBCNT 0
SY-FDPOS 3 SY-LSIND 0
SY-PAGNO 0 SY-LINNO 1
SY-COLNO 1 SY-PFKEY MAIN2000
SY-UCOMM PREV SY-TITLE KerryÒÔ¶Ô·½Îª×¼·½°¸ÊµÏÖ
SY-MSGTY SY-MSGID
SY-MSGNO 000 SY-MSGV1
SY-MSGV2 SY-MSGV3
SY-MSGV4
Active calls / events
No.... Type........ Name..........................
Program
Include Line
Class
17 FORM TAB_SPLIT_CELL
SAPLSTXBC
LSTXBCTB3 1074
16 FORM TAB_SPLIT_LINE_OTF
SAPLSTXBC
LSTXBCTB3 681
15 FORM TAB_END_ROW
SAPLSTXBC
LSTXBCTB2 510
14 FORM TAB_ROW_END
SAPLSTXBC
LSTXBCTB2 109
13 FUNCTION SSFCOMP_TABLE_ROW_END
SAPLSTXBC
LSTXBCU44 9
12 FORM %EV2
/1BCDWB/SAPLSF00000039
/1BCDWB/LSF00000039F01 1133
11 FORM %WI3_BODY
/1BCDWB/SAPLSF00000039
/1BCDWB/LSF00000039F01 688
10 FORM %WI3
/1BCDWB/SAPLSF00000039
/1BCDWB/LSF00000039F01 645
9 FORM CALLBACK
SAPLSTXBC
LSTXBCFDC 258
8 FORM PROCESS_PAGES
SAPLSTXBC
LSTXBCFDC 220
7 FUNCTION SSFCOMP_PROCESS_DOCUMENT
SAPLSTXBC
LSTXBCU03 106
6 FUNCTION /1BCDWB/SF00000039
/1BCDWB/SAPLSF00000039
/1BCDWB/LSF00000039U01 375
5 FORM SMART_PRINT
ZDIA_SD_KERRY_DO
ZINC_SD_KERRY_DO_0601 168
4 MODULE (PAI) TC_0601_USER_COMMAND
ZDIA_SD_KERRY_DO
ZINC_SD_KERRY_DO_0601 87
3 FORM LOAD_DO_NO61
ZDIA_SD_KERRY_DO
ZINC_SD_KERRY_DO_0601 51
2 MODULE (PAI) PAI_2000
ZDIA_SD_KERRY_DO
ZINC_SD_KERRY_DO_MAIN 533
1 EVENT END-OF-SELECTION
ZDIA_SD_KERRY_DO
ZINC_SD_KERRY_DO_MAIN 34
sen variables
17 FORM TAB_SPLIT_CELL
Is it enough? Thanks a lot for your great help.
2010 Dec 30 5:08 PM
HI,
I have the same case, I searched the site Sap any notes relevant to correct this dump, but there is no note regarding this case, someone of you has had any similar case?
thanks.
Héctor Juárez
2014 Dec 11 10:41 AM
Hi Hector,
Just for Information.
I was facing the same issue and Note 751626 helped me resolve it.
Thanks,
Dhaneshwari