Code: Alles auswählen.
IF NOT IS_V51VP-MATNR IS INITIAL AND IF_FAST_ENTRY IS INITIAL.
READ TABLE GT_V51VP INTO ES_MATERIAL_ITEM
WITH KEY MATNR = IS_V51VP-MATNR
CHARG = IS_V51VP-CHARG
WERKS = IS_V51VP-WERKS
LGORT = IS_V51VP-LGORT
bestq = is_v51vp-bestq
sobkz = is_v51vp-sobkz "SP_611029
sonum = is_v51vp-sonum.
IF SY-SUBRC IS INITIAL.
EF_INDEX = SY-TABIX.
EXIT.
ENDIF.
ENDIF.
Ich habe Dir in dem anderen Thread geantwortet. Ich habe dort den Fuba ''WS_DELIVERY_UPDATE_2' benutzt und es hatte damit auch vor Jahren funktioniert.Barney hat geschrieben: Aufgrund meiner Erkenntnisse in einem anderem -Faden http://www.abapforum.com/forum/viewtopi ... =2&t=20964 habe ich dann noch versucht den DELIVERY_UPDATE hinterher zu schicken, aber das scheint nicht zu funktionieren.
Hi Unit605,Unit605 hat geschrieben:Ich habe Dir in dem anderen Thread geantwortet. Ich habe dort den Fuba ''WS_DELIVERY_UPDATE_2' benutzt und es hatte damit auch vor Jahren funktioniert.Barney hat geschrieben: Aufgrund meiner Erkenntnisse in einem anderem -Faden http://www.abapforum.com/forum/viewtopi ... =2&t=20964 habe ich dann noch versucht den DELIVERY_UPDATE hinterher zu schicken, aber das scheint nicht zu funktionieren.
Meine Begrifflichkeiten ist meinem aktuellen Umfeld geschuldet: Hier wird nur zwischen IM und WM unterschieden und im WM zwischen HU-pflichten Lagerorten und nicht-HU-pflichtigen Lagerorten.larsi hat geschrieben:Hallo Barney,
vorab: deine Begriffsverwendung irritiert mich etwas, denn:
- bestandsgeführte HUs sind für mich HUs, die auf einem HU-pflichtigen Lagerort liegen (T001L-XHUPF = 'X')
- nicht bestandsgeführte HUs sind für mich HUs, die Bestand aus nicht HU-pflichtigen Lagerorten enthalten (T001L-XHUPF = ' ')
Ich kann das ganze also auch ohne WM machen. Wenn ich WM im Einsatz habe, habe ich meist immer auch bestandsgeführte HUs. Aber das nur nebenbei - vielleicht bin ich ja da auch auf'm Holzweg...
Danke, das werde ich mir mal anschauen.larsi hat geschrieben: Ich würde daher mal die Bausteine SD_SHIPMENT_PROCESS oder auch nur SD_SHIPMENT_PROCESS_HU direkt probieren.
Das musst Du mal die SAP fragen. Ich bin ähnlich naiv rangegangen wie Du. Wenn ich die Lieferposition brauche ich keine weiteren Informationen. Aber wenn SAP die Struktur füllt, dann wird nicht die Lieferposition gelesen, sondern die Informationen 1:1 aus der FuBa-Schnittstelle in die Struktur VERPO kopiert (passiert im FuBa MAP2I_BAPIDLVHDUNITM_TO_VERPO). Und da gibt es kein Werk/Lagerort. Und später findet er im Fuba V51P_FIND_MATERIAL im entsprechenden READ TABLE aus der globalen Tablle die Materialposition nicht, weil ihm im READ TABLE das Werk/Lagerort fehlt. Ich habe die Übergabe der internen Tabelle ACTIVITES-SHIPPING_UNTS-CONTENT-DATA über die verschiendenen Ebenen bis zum Fuba MAP2I_BAPIDLVHDUNITM_TO_VERPO zurück verfolgt und keine Möglichkeit gefunden, die fehlenden Daten anzureichern.larsi hat geschrieben: Allerdings frage ich mich gerade noch, wozu Du überhaupt Werk/Lagerort benötigst: im Prinzip willst Du doch bloß eine Lieferscheinposition in eine Transport-HU verpacken. Dafür müsste es ja beim Aufruf des SD_SHIPMENT_PROCESS_EXT_CHANGE genügen, der zu erzeugenden HU-Pos. die Lieferungsnummer und -pos. mitzugeben, alles weitere kann/muss das System doch dann aus der Lieferungspos. übernehmen.
Ja, ich habe die HU im Vorfeld über BAPI_HU_CREATE und BAPI_HU_CHANGE_HEADER angelegt und zugeordnet. Ich möchte also wirklich nur verpacken.larsi hat geschrieben:
Existiert zu diesem Zeitpunkt eigentlich bereits die HU im Transport oder versuchst Du quasi diese im gleichen Schritt auch erst anzulegen?
Code: Alles auswählen.
FORM enrich_ls_hun_wa TABLES t_hun_itm STRUCTURE bapishipmenthdunitem
CHANGING p_hum_wa TYPE v56e_shipping_unit.
DATA lt_data TYPE verpo OCCURS 0.
DATA ls_data TYPE verpo.
lt_data = p_hum_wa-content-data.
LOOP AT lt_data INTO ls_data.
READ TABLE t_hun_itm INTO DATA(ls_hun_itm)
WITH KEY hdl_unit_exid = ls_data-exidv.
SELECT SINGLE werks, lgort FROM lips
INTO (@ls_data-werks, @ls_data-lgort )
WHERE vbeln EQ @ls_hun_itm-deliv_numb
AND posnr EQ @ls_hun_itm-deliv_item.
MOVE ls_hun_itm-deliv_numb TO ls_data-vbeln.
MOVE ls_hun_itm-deliv_item TO ls_data-posnr.
MOVE ls_hun_itm-sales_unit TO ls_data-vrkme.
MODIFY lt_data FROM ls_data INDEX sy-tabix.
ENDLOOP.
p_hum_wa-content-data = lt_data.
ENDFORM.