SELECT * INTO TABLE @DATA(gt_t001k) FROM t001k ORDER BY bukrs.
TYPES:
BEGIN OF t_bukrs,
bukrs TYPE bukrs,
END OF t_bukrs,
tt_bukrs TYPE STANDARD TABLE OF t_bukrs WITH DEFAULT KEY.
DATA:
gs_bukrs TYPE t_bukrs,
gt_bukrs TYPE tt_bukrs.
LOOP AT gt_t001k ASSIGNING FIELD-SYMBOL(<gs_t001k>).
gs_bukrs-bukrs = <gs_t001k>-bukrs.
COLLECT gs_bukrs INTO gt_bukrs.
ENDLOOP.
DATA(gt_bukrs) = CORRESPONDING tt_bukrs( gt_t001k ).
SORT gt_bukrs BY bukrs.
DELETE ADJACENT DUPLICATES FROM gt_bukrs COMPARING bukrs.
DATA(gt_bukrs) = VALUE tt_bukrs(
FOR GROUPS gr1 OF gs_t001k
IN gt_t001k
GROUP BY gs_t001k-bukrs (
bukrs = gr1
) ).
LOOP AT gt_bukrs ASSIGNING FIELD-SYMBOL(<gs_bukrs>).
NEW-LINE.
WRITE AT 1(5) 'Group'.
WRITE AT 7(20) <gs_bukrs>-bukrs.
LOOP AT gt_t001k
ASSIGNING FIELD-SYMBOL(<gs_t001k>)
WHERE bukrs EQ <gs_bukrs>-bukrs.
NEW-LINE.
WRITE <gs_t001k>-bwkey.
ENDLOOP.
ENDLOOP.
LOOP AT gt_t001k
INTO DATA(gs_line)
GROUP BY ( gr_bukrs = gs_line-bukrs )
ASCENDING
ASSIGNING FIELD-SYMBOL(<gs_bukrs>).
NEW-LINE.
WRITE AT 1(5) 'Group'.
WRITE AT 7(20) <gs_bukrs>-gr_bukrs.
LOOP AT GROUP <gs_bukrs> ASSIGNING FIELD-SYMBOL(<gs_sub>).
NEW-LINE.
WRITE: <gs_sub>-bwkey.
ENDLOOP.
ENDLOOP.
SELECT
ekko~ebeln,
ekpo~ebelp, ekpo~matnr,
eket~etenr, eket~eindt, eket~menge
INTO TABLE @DATA(gt_all)
FROM
ekko
INNER JOIN ekpo ON ekpo~ebeln EQ ekko~ebeln
INNER JOIN eket ON
eket~ebeln EQ ekko~ebeln AND
eket~ebelp EQ ekpo~ebelp
WHERE
ekko~ebeln EQ '5500000026' OR
ekko~ebeln EQ '5500000027'.
LOOP AT gt_all
INTO DATA(gs_1)
GROUP BY ( ebeln = gs_1-ebeln
ebelp = gs_1-ebelp
)
ASCENDING
ASSIGNING FIELD-SYMBOL(<gs_all>).
NEW-LINE.
WRITE:
'Outer loop for ',
<gs_all>-ebeln,
<gs_all>-ebelp.
LOOP AT GROUP <gs_all>
INTO DATA(gs_2)
GROUP BY ( ebeln = <gs_all>-ebeln )
ASCENDING
ASSIGNING FIELD-SYMBOL(<gs_sub>).
NEW-LINE.
WRITE:
'Inner loop for ',
<gs_sub>-ebeln.
ENDLOOP.
ENDLOOP.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
11 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 | |
2 | |
2 |