Code: Alles auswählen.
loop at ct_table transporting no fields
where bbein is not initial.
Code: Alles auswählen.
CONCATENATE iv_columnname 'is not initial.' INTO lv_where_clause SEPARATED BY space.
LOOP AT it_table TRANSPORTING NO FIELDS
WHERE (lv_where_clause).
Auf der Variablen lv_where_clause steht lt. "Ausgewählte Variablen":Beim Parsen des logischen Ausdrucks konnte das Token "INITIAL." in Zeile 0 und Spalte 14 nicht interpretiert werden.
Ich habe den Zusammenbau via CONCATENATE auch schon mit diversen space-Zeichen z.B. vor der Variablen iv_columnname oder nach dem initial oder auch nach dem Punkt probiert, auch mit dem ALT+255-Trick. Je nachdem kann dann aber das Token „ „ oder „.“ nicht interpretiert werden.BBEIN is not initial.
Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Report ztest
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest.
DATA lt_sflight TYPE TABLE OF sflight.
DATA lt_sflight2 TYPE TABLE OF sflight.
DATA ls_sflight TYPE sflight.
DATA ls_sel TYPE ddshselopt.
DATA lt_sel TYPE TABLE OF ddshselopt.
DATA gv_where TYPE string.
CLEAR ls_sel.
ls_sel-shlpfield = 'CARRID'.
ls_sel-sign = 'I'.
ls_sel-option = 'EQ'.
ls_sel-low = 'AA'.
APPEND ls_sel TO lt_sel.
CLEAR ls_sel.
ls_sel-shlpfield = 'CARRID'.
ls_sel-sign = 'I'.
ls_sel-option = 'EQ'.
ls_sel-low = 'LH'.
APPEND ls_sel TO lt_sel.
CALL FUNCTION 'F4_CONV_SELOPT_TO_WHERECLAUSE'
IMPORTING
where_clause = gv_where
TABLES
selopt_tab = lt_sel.
" gv_where = ( CARRID EQ 'AA' OR CARRID EQ 'LH' )
SELECT * FROM sflight INTO TABLE lt_sflight.
LOOP AT lt_sflight INTO ls_sflight WHERE (gv_where).
APPEND ls_sflight TO lt_sflight2.
ENDLOOP.
cl_demo_output=>display( lt_sflight2 ).
Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag (Insgesamt 2):
qyurryus • KleinerEisbaer