ich möchte gerne feldstrukturen von zwei verschiedenen tabellen in meine wa-definition übernehmen. wie wird es da mit den schlüsselfeldern gehandhabt? die schlüsselfelder sollen doch immer an den anfang gestellt werden.
nun habe ich die tabelle jgtadra und die tabelle jkpa.
Die Struktur sieht so aus:
DATA: BEGIN OF wa_itab,
gpnr LIKE jgtadra-gpnr, *Schlüsselfeld*
jparvw LIKE jkpa-jparvw, *Schlüsselfeld*
gueltigbis LIKE jkpa-gueltigbis, *Schlüsselfeld*
adrnr LIKE jgtadra-adrnr,
wdat2 LIKE jgtadra-wdat2.
DATA: END OF wa_itab.
Beim Select funktioniert es aber nicht. da holt er mir den inhalt von wdat2 nicht, obwohl ich into corresponding fields of wa_itab mache. alle anderen inhalte fügt es aber hinzu. da kann es doch nur an der struktur von wa_itab liegen oder?
DATA: BEGIN OF wa_itab,
gpnr LIKE jgtadra-gpnr,
jparvw LIKE jgtadra-jparvw,
adrnr LIKE jgtadra-adrnr,
wdat2 LIKE jgtadra-wdat2,
gueltigbis LIKE jkpa-gueltigbis.
DATA: END OF wa_itab.
DATA: itab LIKE wa_itab OCCURS 0.
DATA: BEGIN OF wa_aktiv,
jparvw LIKE jgtadra-jparvw,
vbeln LIKE jkpa-vbeln,
gpnr LIKE jgtadra-gpnr,
adrnr LIKE jgtsadr-adrnr,
wdat2 LIKE jgtadra-wdat2,
name1 LIKE jgtsadr-name1,
name2 LIKE jgtsadr-name2,
name3 LIKE jgtsadr-name3,
name4 LIKE jgtsadr-name4,
gueltigbis LIKE jkpa-gueltigbis.
DATA: END OF wa_aktiv.
DATA: it_aktiv LIKE wa_aktiv OCCURS 0.
*******************************************************************
START-OF-SELECTION.
SELECT gpnr adrnr wdat2 FROM jgtadra
INTO CORRESPONDING FIELDS OF wa_itab
WHERE gpnr IN s_gpnr.
APPEND wa_itab TO itab.
ENDSELECT.
LOOP AT itab INTO wa_itab.
IF wa_itab-wdat2 > sy-datum.
SELECT gpnr gueltigbis jparvw FROM jkpa
INTO CORRESPONDING FIELDS OF wa_itab
WHERE gpnr EQ wa_itab-gpnr
AND gueltigbis GE sy-datum
AND jparvw IN ('RE', 'WE').
APPEND wa_itab TO it_aktiv.
ENDSELECT.
ELSEIF wa_itab-wdat2 < sy-datum.
APPEND wa_itab TO it_inaktiv.
ENDIF.
ENDLOOP.