Skip to Content
avatar image
-1
Former Member

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

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?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Jul 28, 2017 at 08:37 AM

    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).
    Add comment
    10|10000 characters needed characters exceeded