Code: Alles auswählen.
SELECT matnr maktx
FROM makt
INTO CORRESPONDING FIELDS OF TABLE it_makt_dt
WHERE matnr = pa_matnr
AND spras = sy-langu.
Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
HawkDT
Code: Alles auswählen.
LOOP AT it_mard_dt INTO wa_mard_dt.
READ TABLE it_makt_dt WITH KEY matnr = wa_mard_dt-matnr INTO wa_makt_dt.
IF sy-subrc = 0.
* Du sollst doch die Werte in die MARD übernehmen, dann solltest du diese erstmal zuweisen:
wa_mard_dt-FELD = wa_makt_dt-FELD.
* Beim READ verwendest du als Schlüssel die MATNR, wieso hier jetzt den TEXT?
* auch beim MODIFY muss du die MATNR als Schlüssel in der MARD verwenden, denn nur diese Datensätze willst du Ändern:
* Die WA muss gleich der ITAB sein!
MODIFY it_mard_dt FROM wa_makt_dt WHERE maktx = wa_mard_dt-maktx.
* Hast du die Schachtelung bewusst gewählt? Nur wenn es einen MTEXT gibt sollen auch die MARA übernommen werden?
* Auch hier fehlt die Übernahme der Werte in die MARD!
READ TABLE it_mara_dt WITH KEY matnr = wa_mard_dt-matnr INTO wa_mara_dt.
IF sy-subrc = 0.
MODIFY it_mard_dt FROM wa_makt_dt.
WRITE: / wa_mard_dt-matnr,
wa_mard_dt-maktx COLOR COL_NORMAL,
wa_mard_dt-werks,
wa_mard_dt-lgort,
wa_mard_dt-labst COLOR COL_KEY,
wa_mard_dt-meins COLOR COL_KEY.
ENDIF.
ENDIF.
ENDLOOP.