Hallo,
ich will nochmal die Aufgabenstellung zusammenfassen:
das Abap Programm soll folgendes leisten: Es soll in der Selektionsmaske eine Matnr. Eingegeben werden z.B. Material P-100. Dann sollen alle verfügbaren Bestände auf Werksebene angezeigt werden. Wichtig ist nur, dass man hier mit der Datenbanktabelle Mard arbeitet. Ich hab schon eine Lösung für mein Problem, allerdings soll ich das ohne den Collect-befehl machen (Wichtig)
DATA: lt_mard TYPE TABLE OF zwerk,
lt_mard2 TYPE TABLE OF zwerk,
lt_zwerkverd TYPE TABLE OF zwerkverd,
ls_mard TYPE zwerk.
SELECT-OPTIONS: so_mat FOR ls_mard-matnr.
PARAMETERS: cb_aus AS CHECKBOX.
SELECT a~meins
a~matnr
d~werks
d~labst
d~mandt
INTO CORRESPONDING FIELDS OF TABLE lt_mard
FROM mara AS a
JOIN mard AS d
ON a~matnr = d~matnr
WHERE d~matnr IN so_mat.
* COLLECT labst into lt_zwerkverd. //// es soll ohne diesen befehl auch funktionieren
LOOP AT lt_mard INTO ls_mard.
COLLECT ls_mard INTO lt_mard2.
ENDLOOP.
CLEAR ls_mard.
LOOP AT lt_mard2 INTO ls_mard.
WRITE: / ls_mard-matnr,
ls_mard-werks,
ls_mard-labst,
ls_mard-meins.
ENDLOOP.
IF cb_aus = 'X'.
MODIFY zwerk FROM table lt_mard2.
IF sy-subrc = 0.
MESSAGE s017(zabap).
ELSE.
MESSAGE s018(zabap).
ENDIF.
endif.
zwerk beinhaltet die Datenelemente werks, matnr, labst, mandt, meinst,