1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| REPORT z4help.
DATA : it_return1 LIKE ddshretval OCCURS 0 WITH HEADER LINE,
it_return2 LIKE ddshretval OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF it_bukrs OCCURS 0,
bukrs LIKE ttds-bukrs,
END OF it_bukrs.
DATA: BEGIN OF it_tplst OCCURS 0,
tplst LIKE ttds-tplst,
END OF it_tplst.
PARAMETERS: p_bukrs LIKE ttds-bukrs,
p_tplst LIKE ttds-tplst.
"DATA m LIKE ttds-tplst.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bukrs.
IF p_tplst IS INITIAL.
SELECT DISTINCT bukrs FROM ttds INTO TABLE it_bukrs.
"where bukrs = p_bukrs.
ELSE.
SELECT DISTINCT bukrs FROM ttds INTO TABLE it_bukrs WHERE tplst = p_tplst.
ENDIF.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'P_BUKRS'
value_org = 'S'
TABLES
value_tab = it_bukrs
return_tab = it_return1
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
p_bukrs = it_return1-fieldval.
SELECT tplst FROM ttds INTO TABLE it_tplst WHERE bukrs = p_bukrs.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_tplst.
IF p_bukrs IS INITIAL.
SELECT DISTINCT tplst FROM ttds INTO TABLE it_tplst.
ELSE.
SELECT DISTINCT tplst FROM ttds INTO TABLE it_tplst WHERE bukrs = p_bukrs.
ENDIF.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'P_TPLST'
value_org = 'S'
TABLES
value_tab = it_tplst
return_tab = it_return2
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
p_tplst = it_return2-fieldval.
"******************************************************************************
SELECT bukrs FROM ttds INTO TABLE it_bukrs WHERE tplst = p_tplst.
p_bukrs = it_bukrs-bukrs. |
Partager