Application Development and Automation 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: 
Read only

Short Dump and no syntax error

Former Member
0 Likes
3,017

Hello Abap experts,

I am testing a new logic in an abap code, it's not completely finished...so don't keep to much attention to the logic

I have no syntax error in my editor, but while debugging or testing it i get a short dump : illegal sign.

I think that is proviked by the IF written after the loop, i don't know how to bypass it, Normally I am supposed to add treatments after the IF.

Thanks for support.

Amine

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,951

Hello.

I think that the problem is located in the IN statement of the IF. Probable the variable R_ZPCFROM has some wrong values.

comment the IN part of the IF and check if the program works correct, if no dump means the problem is there.

Regards

Hello.

I think that the problem is located in the IN statement of the IF. Probable the variable R_ZPCFROM has some wrong values.

comment the IN part of the IF and check if the program works correct, if no dump means the problem is there.

Regards

15 REPLIES 15
Read only

Shafiq_Rehman1
Active Contributor
0 Likes
2,951

Just before this loop, In debug, check the SIGN field in range variable t_zpcfrom. You might have some undesired character assigned there.

Read only

Former Member
0 Likes
2,952

Hello.

I think that the problem is located in the IN statement of the IF. Probable the variable R_ZPCFROM has some wrong values.

comment the IN part of the IF and check if the program works correct, if no dump means the problem is there.

Regards

Read only

0 Likes
2,951

Hi Miguel,

In fact you are right.

But i need the two conditions for my treatments any idea how can i bypass it?

Thanks.

Amine

Read only

0 Likes
2,951

You can keep the condition there, but the way you are populating that range variable is wrong. Track back and see what values are there in that range variable r_zpcfrom. Pay attention to the column SIGN of the range variable, there has to be some wrong character there. Best way is to put a break point at this statement where you are getting error and then see the range variable in debugger and look for the values in SIGN column, you might want 'I' there for include.

Example:

Read only

0 Likes
2,951

Hi Shafiq,

Here my declaration part, i am not very comfortable with ranges, could you tell me if smthg is wrong with my coding:

DATA : r_zfuncfrom TYPE RANGE OF /bic/pzsplit-/bic/zfuncfrom,

       r_zpcfrom TYPE RANGE OF /bic/pzsplit-/bic/zpcfrom,

       r_zfuncfrom_line LIKE LINE OF r_zfuncfrom,

       r_zpcfrom_line LIKE LINE OF r_zpcfrom.

r_zfuncfrom_line-sign = 'I'.

r_zfuncfrom_line-option = 'BT'.

r_zpcfrom_line-sign = 'I'.

r_zpcfrom_line-option = 'BT'.

SELECT /bic/zsplit

            /bic/zfuncfrom

            /bic/zfromto

            /bic/zpcfrom

            /bic/zpcto

            /bic/y_rmaccnt

   INTO TABLE t_tablesource

   FROM /bic/pzsplit WHERE objvers = 'A' AND /bic/zsplit IS NOT NULL.

     IF sy-subrc EQ 0.

       SORT t_tablesource BY /bic/zsplit.

     ENDIF.

Thanks.

Amine


Read only

0 Likes
2,951

I can see that you have APPEND on line 2071 and 2072, they are fine. And as you mentioned above that you are assigning the sign 'I' as well, I hope you are not using CLEAR on this range variable in the middle somewhere?

Another thing is that you are using 'BT' (i.e. Between) try changing that to 'EQ' and only use 'low' field of the range and keep the 'high' as blank.

If that does not work as well, then can you take a screenshot of the range table in debugger? like I have one in my earlier post?

Read only

0 Likes
2,951

Hello.

Change the variable staments

yours:

data: r_zfuncfrom TYPE RANGE OF /bic/pzsplit-/bic/zfuncfrom,

          r_zpcfrom TYPE RANGE OF /bic/pzsplit-/bic/zpcfrom,

          r_zfuncfrom_line LIKE LINE OF r_zfuncfrom,

          r_zpcfrom_line LIKE LINE OF r_zpcfrom.

Use this:

data: r_zfuncfrom TYPE RANGE OF /bic/pzsplit-/bic/zfuncfrom with header line,

      r_zpcfrom TYPE RANGE OF /bic/pzsplit-/bic/zpcfrom with header line,

      r_zfuncfrom_line TYPE RANGE OF /bic/pzsplit-/bic/zfuncfrom with header line,

      r_zpcfrom_line TYPE RANGE OF /bic/pzsplit-/bic/zpcfrom with header line.

r_zfuncfrom_line should be same type as r_zfuncfrom.

I think that ur problem is in the declaration of R_ZFUNCFROM_LINE AND R_ZPCFROM_LINE.

Check it and replace R_ZFUNCFROM_LINE for R_ZFUNFROM.

I guess that it will work...and then u can fix

Regards

Read only

0 Likes
2,951

Hi Shafiq,

It's a range, if i replace it by 'EQ' it's not a range anymore, isn't it?

Amine

Read only

0 Likes
2,951

Thanks Miguel,

It's not working, by changing my declaration as you mentioned, i am getting the following error:

"Type "R_ZFUNCFROM" is unknown"

Amine

Read only

0 Likes
2,951

It will still be a range variable, even if there is only one line with EQ in it. You will have multiple lines with EQ. You can have lines with BT as well, but you need to make sure that low and high are assigned properly and the sign is also assigned properly. That's why I was asking for a screenshot of the range variable from debug, that will solve the problem very easily.

Read only

former_member196490
Active Participant
0 Likes
2,951

Hi

Enter the value for sign and option field while appending values in select option.

Thanks,

Neha

Read only

0 Likes
2,951

Thanks Neha,

But i am not using a select-option.

Amine

Read only

venkateswaran_k
Active Contributor
0 Likes
2,951

Dear Amine,

Can you please look in this way..

Generally when a negative sign is coming in the field where that field as defined as Currency type...

Please refer to your variable as

   1.  At the time of dump, what is the value it is having... is it -ve?

   2.  What is the variable type...  It should be a normal P decimals 2 ....  if it is like DMBTR, like currency ... then it will give short dump...

Regards,

Venkat

Read only

0 Likes
2,951

Thanks Venkat.

Amine

Read only

RaymondGiuseppi
Active Contributor
0 Likes
2,951

Before the two APPEND r_xxx to r_xxx, fill sign and option (r_xxx-isgn = 'I', r_xxx-option = 'EQ') As the dump mentions it explicitally the field SIGN value is invalid (space).

Are you sure the LOOP AT SOURCE_PACKAGE must be in the range-filling LOOP AT t_tablesource ?

Regards,

Raymond