Code: Alles auswählen.
DATA: ls_headdata TYPE bapie1mathead,
lt_mvke TYPE TABLE OF BAPIE1MVKERT,
ls_mvke TYPE BAPIE1MVKERT,
lt_mvkex TYPE TABLE OF BAPIE1MVKERTX,
ls_mvkex TYPE BAPIE1MVKERTX.
"HEAD DATA schreiben
ls_headdata-sales_view = 'X'.
ls_headdata-function = '004'. "Änderung: Nachricht enthält Änderungen
"Tabellen mit Änderungsdaten befüllen
Schleife begin
ls_mvke-function = ls_headdata-function.
ls_mvke-material = matnr.
ls_mvke-SELL_DC_TO = sy-datlo.
APPEND ls_mvke TO lt_mvke.
ls_mvkex-function = ls_headdata-function.
ls_mvkex-material = gs_alv_output-matnr.
ls_mvkex-SELL_DC_TO = 'X'.
APPEND ls_mvkex TO lt_mvkex.
Schleife end
"BAPI Aufruf
CALL FUNCTION 'BAPI_MATERIAL_MAINTAINDATA_RT'
EXPORTING
headdata = ls_headdata
TABLES
salesdata = lt_mvke
salesdatax = lt_mvkex
EXCEPTIONS
resource_failure = 1
system_failure = 2
communication_failure = 3
OTHERS = 4.
DATA return TYPE BAPIRET2.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = return.
IF sy-subrc <> 0.
MESSAGE 'FEHLER beim Update auf MVKE' TYPE 'I'.
ENDIF.
Habt ihr den Retail-Materialstamm im Einsatz? Wenn nicht dann BAPI_MATERIAL_SAVEDATA verwenden.fba9901 hat geschrieben:Es wird kein Fehler erzeugt und das BAPI läuft durch.
Code: Alles auswählen.
CALL FUNCTION 'BAPI_MATERIAL_MAINTAINDATA_RT'
EXPORTING
headdata = ls_headdata
IMPORTING
return = lt_return
TABLES
salesdata = lt_mvke
salesdatax = lt_mvkex
EXCEPTIONS
resource_failure = 1
system_failure = 2
communication_failure = 3
OTHERS = 4.
IF sy-subrc <> 0.
*Fehlerhandling
ELSE.
LOOP AT lt_return ONTO ls_return.
* Fehlerhandling
ENDLOOP.
ENDIF.
BAPIRETURN1 ist eine Struktur, also hast du den Zeilentyp doch:fba9901 hat geschrieben: Ich stehe gerade auf dem Schlauch.
das lt_return ist ja vom Typ BAPIRETURN1. Wie ist denn der Zeilentyp von der Tabelle, den ich
ls_return zuweisen muss ?
Code: Alles auswählen.
DATA:
lt_retrun TYPE TABLE OF bapiret1,
ls_return TYPE bapiret1.
Transaktion SE91 und mit Nachrichtenklasse (MG) und Nachrichtenr. (537) einsteigen. Nachricht markieren und Langtext zur Nachricht anzeigen lassen. Im Langtext auf Ausführen drücken, es wird TA MM90 gestartet. Dort mit der Lognummer einsteigen. Es sollten weitere Fehler im Log zu finden sein.fba9901 hat geschrieben: EMG 537Meldungen zum Artikel : Lognummer 0000000000001498