Code: Alles auswählen.
DATA: wa_land TYPE lfa1-land1,
wa_lifnr TYPE lfa1-lifnr,
wa_perio TYPE bkpf-monat,
wa_gjahr TYPE bseg-gjahr,
wa_zuonr TYPE bseg-zuonr,
wa_zdlkz TYPE zdlkz_t-zdlkz.
SELECT-OPTIONS: so_land FOR wa_land,
so_perio FOR wa_perio.
PARAMETERS pa_gj TYPE bseg-gjahr.
SELECT-OPTIONS: so_dlkz FOR wa_zdlkz.
DATA: wa_lfa1 TYPE lfa1,
wa_bkpf TYPE bkpf,
wa_bseg TYPE bseg.
DATA: BEGIN OF wa_res,
lifnr TYPE lfa1-lifnr,
land1 TYPE lfa1-land1,
diekz TYPE bseg-diekz,
belnr TYPE bseg-belnr,
zuonr TYPE bseg-zuonr,
belart TYPE bkpf-blart,
monat TYPE bkpf-monat,
gjahr TYPE bkpf-gjahr,
END OF wa_res,
itab_sumla LIKE TABLE OF wa_res.
START-OF-SELECTION.
*##################
SELECT lifnr land1
INTO wa_lfa1 FROM lfa1
WHERE land1 in so_land.
APPEND wa_lfa1 TO itab_sumla.
SELECT lifnr belnr diekz zuonr
INTO wa_bseg FROM bseg
:!: WHERE lifnr = wa_lfa1-lifnr.
APPEND wa_bseg TO itab_sumla.
SELECT belnr monat gjahr blart
INTO wa_bkpf FROM bkpf
WHERE belnr = wa_bseg-belnr.
APPEND wa_bkpf TO itab_sumla.
SELECT zdlkz
INTO wa_zdlkz FROM zdlkz_t
WHERE zdlkz = wa_bseg-diekz.
APPEND wa_zdlkz TO itab_sumla.
ENDSELECT.
ENDSELECT.
ENDSELECT.
ENDSELECT.
Code: Alles auswählen.
SELECT feld1 feld2 feld3
INTO (wa-feld1, wa-feld2, wa-feld3)...
Code: Alles auswählen.
SELECT feld1 feld2 feld3
INTO CORRESPONDING FIELDS OF wa....
Code: Alles auswählen.
TABLES: lfa1, bseg, bkpf.
DATA: wa_land TYPE lfa1-land1,
wa_lifnr TYPE lfa1-lifnr,
wa_perio TYPE bkpf-monat,
wa_gjahr TYPE bseg-gjahr,
wa_zuonr TYPE bseg-zuonr,
wa_zdlkz TYPE bseg-diekz.
DATA: wa_lfa1 TYPE lfa1,
wa_bkpf TYPE bkpf.
*wa_bseg TYPE bseg.
DATA: BEGIN OF wa_bseg,
lifnr LIKE bseg-lifnr,
belnr LIKE bseg-belnr,
diekz LIKE bseg-diekz,
zuonr LIKE bseg-zuonr,
END OF wa_bseg.
DATA: BEGIN OF wa_res,
lifnr TYPE lfa1-lifnr,
land1 TYPE lfa1-land1,
diekz TYPE bseg-diekz,
belnr TYPE bseg-belnr,
zuonr TYPE bseg-zuonr,
belart TYPE bkpf-blart,
monat TYPE bkpf-monat,
gjahr TYPE bkpf-gjahr,
END OF wa_res,
itab_sumla LIKE wa_res OCCURS 10 WITH HEADER LINE.
SELECT-OPTIONS: so_land FOR lfa1-land1,
so_perio FOR bkpf-monat.
PARAMETERS pa_gj LIKE bseg-gjahr.
SELECT-OPTIONS: so_dlkz FOR bseg-diekz.
START-OF-SELECTION.
*##################
SELECT lifnr land1
FROM lfa1 INTO CORRESPONDING FIELDS OF wa_lfa1
WHERE land1 IN so_land.
MOVE-CORRESPONDING wa_lfa1 TO itab_sumla.
SELECT lifnr belnr diekz zuonr
FROM bseg INTO CORRESPONDING FIELDS OF wa_bseg
WHERE lifnr = wa_lfa1-lifnr
AND diekz IN so_dlkz.
MOVE-CORRESPONDING wa_bseg TO itab_sumla.
SELECT belnr monat gjahr blart
FROM bkpf INTO CORRESPONDING FIELDS OF wa_bkpf
WHERE belnr = wa_bseg-belnr
AND monat IN so_perio
AND gjahr = pa_gj.
MOVE-CORRESPONDING wa_bseg TO itab_sumla.
APPEND itab_sumla.
ENDSELECT.
ENDSELECT.
clear itab_sumla.
ENDSELECT.
Code: Alles auswählen.
TABLES: lfa1, bseg, bsik, bsak, bkpf, zdlkz_t.
DATA: wa_land TYPE lfa1-land1,
wa_lifnr TYPE lfa1-lifnr,
wa_perio TYPE bkpf-monat,
wa_gjahr TYPE bseg-gjahr,
wa_zuonr TYPE bseg-zuonr,
wa_zdlkz TYPE zdlkz_t-zdlkz.
DATA: wa_lfa1 TYPE lfa1,
wa_zdlkz_t TYPE zdlkz_t,
wa_bkpf TYPE bkpf,
wa_bsak TYPE bsak,
wa_bsik TYPE bsik.
DATA: BEGIN OF wa_bseg,
lifnr LIKE bseg-lifnr,
belnr LIKE bseg-belnr,
diekz LIKE bseg-diekz,
zuonr LIKE bseg-zuonr,
bukrs LIKE bseg-bukrs,
END OF wa_bseg.
DATA: BEGIN OF wa_res,
lifnr TYPE lfa1-lifnr,
land1 TYPE lfa1-land1,
diekz TYPE bsak-diekz,
belnr TYPE bsak-belnr,
zuonr TYPE bsak-zuonr,
belart TYPE bsak-blart,
bukrs TYPE bsak-bukrs,
monat TYPE bsak-monat,
gjahr TYPE bsak-gjahr,
END OF wa_res,
itab_sumla LIKE wa_res OCCURS 10 WITH HEADER LINE.
SELECT-OPTIONS: so_land FOR lfa1-land1,
so_perio FOR bkpf-monat.
PARAMETERS pa_gj LIKE bseg-gjahr.
SELECT-OPTIONS: so_dlkz FOR zdlkz_t-zdlkz.
START-OF-SELECTION.
*##################
SELECT lifnr land1
FROM lfa1 INTO CORRESPONDING FIELDS OF wa_lfa1
WHERE land1 IN so_land.
MOVE-CORRESPONDING wa_lfa1 TO itab_sumla.
SELECT lifnr zuonr gjahr belnr monat blart diekz
FROM bsak INTO CORRESPONDING FIELDS OF wa_bsak
WHERE lifnr = wa_lfa1-lifnr.
MOVE-CORRESPONDING wa_bsak TO itab_sumla.
SELECT lifnr zuonr gjahr belnr monat blart diekz
FROM bsik INTO CORRESPONDING FIELDS OF wa_bsik
WHERE lifnr = wa_lfa1-lifnr.
MOVE-CORRESPONDING wa_bsik TO itab_sumla.
ENDSELECT.
ENDSELECT.
CLEAR itab_sumla.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e180(/bdl/d-).
* Notwendige Eingabe fehlt
ENDIF.
IF sy-subrc = 0.
LOOP AT itab_sumla INTO wa_res.
WRITE: wa_land,
wa_zuonr,
wa_gjahr,
wa_perio,
wa_zuonr,
wa_zdlkz,
wa_lifnr.
ENDLOOP.
ENDIF.
Code: Alles auswählen.
TABLES: lfa1, bseg, bsik, bsak, bkpf, zdlkz_t.
DATA: wa_land TYPE lfa1-land1,
wa_lifnr TYPE lfa1-lifnr,
wa_perio TYPE bkpf-monat,
wa_gjahr TYPE bseg-gjahr,
wa_zuonr TYPE bseg-zuonr,
wa_zdlkz TYPE zdlkz_t-zdlkz.
DATA: wa_lfa1 TYPE lfa1,
wa_zdlkz_t TYPE zdlkz_t,
wa_bkpf TYPE bkpf,
wa_bsak TYPE bsak,
wa_bsik TYPE bsik.
DATA: BEGIN OF wa_bseg,
lifnr LIKE bseg-lifnr,
belnr LIKE bseg-belnr,
diekz LIKE bseg-diekz,
zuonr LIKE bseg-zuonr,
bukrs LIKE bseg-bukrs,
END OF wa_bseg.
DATA: BEGIN OF wa_res,
lifnr TYPE lfa1-lifnr,
land1 TYPE lfa1-land1,
diekz TYPE bsak-diekz,
belnr TYPE bsak-belnr,
zuonr TYPE bsak-zuonr,
belart TYPE bsak-blart,
bukrs TYPE bsak-bukrs,
monat TYPE bsak-monat,
gjahr TYPE bsak-gjahr,
END OF wa_res,
itab_sumla LIKE wa_res OCCURS 10 WITH HEADER LINE.
SELECT-OPTIONS: so_land FOR lfa1-land1,
so_perio FOR bkpf-monat.
PARAMETERS pa_gj LIKE bseg-gjahr.
SELECT-OPTIONS: so_dlkz FOR zdlkz_t-zdlkz.
START-OF-SELECTION.
*##################
SELECT lifnr land1
FROM lfa1 INTO CORRESPONDING FIELDS OF wa_lfa1
WHERE land1 IN so_land.
MOVE-CORRESPONDING wa_lfa1 TO itab_sumla.
SELECT lifnr zuonr gjahr belnr monat blart diekz
FROM bsak INTO CORRESPONDING FIELDS OF wa_bsak
WHERE lifnr = wa_lfa1-lifnr.
MOVE-CORRESPONDING wa_bsak TO itab_sumla.
SELECT lifnr zuonr gjahr belnr monat blart diekz
FROM bsik INTO CORRESPONDING FIELDS OF wa_bsik
WHERE lifnr = wa_lfa1-lifnr.
MOVE-CORRESPONDING wa_bsik TO itab_sumla.
ENDSELECT.
ENDSELECT.
*** Du hast jetzt alle Daten im Arbeitsbereich der Tabelle,
*** den Arbeitsbereich musst du aber noch an die Tabelle hängen
APPEND itab_sumla.
CLEAR itab_sumla.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e180(/bdl/d-).
* Notwendige Eingabe fehlt
ENDIF.
IF sy-subrc = 0.
LOOP AT itab_sumla INTO wa_res.
*** Der Write kann nicht funktionieren.
*** Die Werte stehen dir pro Schleifen durchlauf
*** im Arbeitsbereich wa_res zu Verfügung.
*** Die unteren Variablen bleiben leer.
* WRITE: wa_land,
* wa_zuonr,
* wa_gjahr,
* wa_perio,
* wa_zuonr,
* wa_zdlkz,
* wa_lifnr.
*** Du kannst auf die einzelnen Felder zugreifen:
WRITE: wa_res-lifnr,
wa_res-land1,
wa_res-diekz,
wa_res-belnr,
wa_res-zuonr,
wa_res-belart,
wa_res-bukrs,
wa_res-monat,
wa_res-gjahr.
ENDLOOP.
ENDIF.
Warum posten Poster fast NIE den Kurzdump?robin1at hat geschrieben:Hallo alle Zusammen!
Ich brauch mal wieder Hilfe.
Ich bekomme bei dieser geschachtelten Select-Anweisung bei der makierten Zeile einen Kurzdump. Kann mir bitte wer erklären warum, und wo der Fehler liegt.
warum liest du eigentlich hier nicht schon in eine int. Tabelle? und arbeitest diese dann mit einem loop ab?robin1at hat geschrieben: START-OF-SELECTION.
*##################
SELECT lifnr land1
FROM lfa1 INTO CORRESPONDING FIELDS OF wa_lfa1
WHERE land1 IN so_land.