Code: Alles auswählen.
if a is initial and b is not initial and c is not inital.
select ...
elseif a is initial and b is initial and c is not inital.
select ...
elseif...
select...
endif
Code: Alles auswählen.
data: r_matnr type RANGE OF mara-matnr.
Parameters P_MATNR type MATNR.
start-of-selection.
if P_matnr is initial
R_matnr-sign = 'I'.
R_matnr-Option = 'EQ'.
append r_matnr to r_matnr.
endif.
Select ....
where matnr in r_matnr.
Ändert sich der Select in Abhängigkeit der gefüllten SelScreen-Felder?doeme hat geschrieben:wie gestalte ich nach den gewählten parametern meinen select dann möglichst elegant?
Code: Alles auswählen.
REPORT ztest_sel.
TYPES: BEGIN OF tys_data,
vbeln TYPE vbeln,
wadat_ist TYPE likp-wadat_ist,
erdat TYPE vbak-erdat,
END OF tys_data.
DATA: gs_data TYPE tys_data.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: rb_auf RADIOBUTTON GROUP rb1 USER-COMMAND push DEFAULT 'X'.
SELECTION-SCREEN BEGIN OF BLOCK b11.
SELECT-OPTIONS: s_aubeln FOR gs_data-vbeln MODIF ID b11,
s_erdat FOR gs_data-erdat MODIF ID b11.
SELECTION-SCREEN END OF BLOCK b11.
PARAMETERS: rb_lif RADIOBUTTON GROUP rb1.
SELECTION-SCREEN BEGIN OF BLOCK b12.
SELECT-OPTIONS: s_vbeln FOR gs_data-vbeln MODIF ID b12,
s_wadati FOR gs_data-wadat_ist MODIF ID b12.
SELECTION-SCREEN END OF BLOCK b12.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'B11'.
CASE 'X'.
WHEN rb_auf.
screen-input = 1.
WHEN rb_lif.
screen-input = 0.
ENDCASE.
MODIFY SCREEN.
ELSEIF screen-group1 = 'B12'.
CASE 'X'.
WHEN rb_auf.
screen-input = 0.
WHEN rb_lif.
screen-input = 1.
ENDCASE.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
START-OF-SELECTION.
CASE 'X'.
WHEN rb_auf. "Einstieg über Auftrag
* SELECT *
* FROM vbak
WHEN rb_lif. "Einstieg über Lierferung
* SELECT *
* FROM likp
ENDCASE.
Code: Alles auswählen.
if P_matnr is initial
R_matnr-sign = 'I'.
R_matnr-Option = 'EQ'.
append r_matnr to r_matnr.
endif.