Skip to Content
-1

How to use the variable created during runtime in the same select clause in ABAP 7.4?

Jul 28, 2017 at 07:14 AM

62

avatar image
Former Member

Hi,

Please advise if this can be done in the single select clause?

Select vbeln , posnr , matnr ,

case

when matnr = 'M-01' then '50'

else 'FOC'

End as Amt ,

Concat(vbeln , posnr , matnr , Amt) as Status

from vbap into table @data(it_tab).

.........

The above mentioned code will give error as Amt is unknown until runtime,you cannot specify a fieldlist

How to use the variable created during runtime in the same select clause for initializing another variable in ABAP 7.4?

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Horst Keller
Jul 28, 2017 at 08:37 AM
1

An alias defined with AS can be used behind ORDER BY only. As far as I know that is common for SQL, not only for Open SQL.

As a workaround, use the expression twice (ugly, but this is SQL). From 7.51 on WITH might help.

SELECT carrid,
 CASE WHEN connid = '0400' THEN 'X' ELSE 'Y' END AS expr,
 concat( CASE WHEN connid = '0400' THEN 'X' ELSE 'Y' END , 'X' ) AS text
 FROM spfli
 INTO TABLE @DATA(itab).
Share
10 |10000 characters needed characters left characters exceeded