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: 

DUMB

Former Member
0 Kudos

In my zprogram i got the short dump in the below st.

"COMPUTE_BCD_OVERFLOW "

V_VERZ1 = P_KEYDT - IT_DATA-FAEDT.

can u give suggestion.

3 REPLIES 3

former_member186741
Active Contributor
0 Kudos

how are your variables defined and what values are causing this to happen? I suspect that v_verz1 is packed decimal and is too small to hold the result of the subtraction. The right fields look like dates which are 8 digits so the v_verz1 should be able to hold 8 digits in case p_keydt = 0.

try defining it as: data v_verz1(8) as type p.

0 Kudos

i declared like

FAEDT LIKE RFPOS-FAEDT

V_VERZ1 LIKE RFPOS-VERZ1

-


sy-datum

0 Kudos

verz1 can only hold 5 decimal digits. faedt can hold 8. You didn't say but I guess p_keydt is a date and can therefore also hold 8 digits.

You need to declare verz1 so that it can hold 8 digits. This is because if p_keydat is 0 and faedt holds 20060802

then it will try to put -20060802 into a 5 digit variable and will fall over.

So, Declare v_verz1 as: data v_verz1(8) type p.