SAP Jobsuche bei DV-Treff
CEisele
  • CEisele
  • SAP Forum - Neuling Thema Starter
vor 6 Jahre
Hallo liebe ABAP-ler,

ich habe leider wieder ein Problem.

Ich habe ein Include erstellt, das im Programm SAPMV50A im Include MV50AFZ1 hängt.

Das Programm soll bei einem Positionstyp, der auftragsbezogen fakturiert wird, Nachlieferungen ermöglichen. Da wir alle Customizingeinstellungen in dem Fall versucht haben und nichts funktioniert hat, war ein Programm unsere einzige Alternative.

Das Programm liest zuerst anhand der Liefernummer im Belegfluss den Vorgängerbeleg aus.

Anschließend wird geprüft ob der Gesamtstatus C ist, wenn nicht sollen in der VBUK/VBUP die zugehörigen Lieferstati ungleich C sein, sodass eine Nachlieferung erzeugt werden kann.

Irgendwo ist hier aber der Wurm drin. Wenn ich eine Liefermenge in der Lieferung ändere, werden die Werte erst beim zweiten mal Speichern wirklich übernommen.

Hier der Codeausschnitt nur für die VBUK nachdem der Vorgängerbeleg (Auftragsnummer) aus dem Belegfluss ermittelt wurde.

loop at lt_vbfa into lv_vbfa.

select * from vbuk into TABLE lt_vbuk

where VBELN = lv_vbfa-VBELV.

loop at lt_vbuk into lv_vbuk.

if lv_vbuk-gbstk NE 'C'.

lv_vbuk-LFSTK = 'B'.

lv_vbuk-LFGSK = 'B'.

select * from vbuk into vbuk where vbeln = lv_vbuk-vbeln.

update vbuk from lv_vbuk.

endselect.

endif.

endloop.

endloop.

Vielen Dank für eure Hilfe!

Viele Grüße

Christina

AB74
  • AB74
  • SAP Forum - Neuling
vor 6 Jahre
Hallo Christina,

hast Du mal debugged, was beim ersten speichern passiert? (warum er die entsprechenden Werte nicht ermittelt).

Was auch möglich wäre, dass er zu diesem Zeitpunkt die Werte noch nicht auf der Datenbank hat. Das würde ich beim Debuggen am besten auch mit prüfen. (Breakpoint im Programm/Userexit und mit SE16 nachschauen) Falls nicht, gibt es meines Wissens temporäre Felder/Strukturen (globale Programmvariablen die xvbuk/yvbuk bzw. xvbfa/yvbfa, oder so ähnlich heissen müssten).

Ich hoffe, dass das zumindest ein erster Lösungsansatz ist.

Viele Grüße

Arthur

wreichelt
vor 6 Jahre
Hallo Christa,

das mit dem zweiten Speichern kann auch daher kommen, daß die Daten Asynchron verbucht werden und dann erst beim zweiten male zur Verfügung stehen.

Hinweis 415716 hat einige Tipps für die Lieferbearbeitung.

Gruß Wolfgang