Code: Alles auswählen.
REPORT ztest_stkliste.
DATA: ls_imkpf TYPE imkpf.
DATA: ls_mkpf TYPE mkpf.
DATA: lt_emseg TYPE TABLE OF emseg.
DATA: ls_emseg LIKE LINE OF lt_emseg.
DATA: lt_imseg TYPE TABLE OF imseg.
DATA: ls_imseg LIKE LINE OF lt_imseg.
DATA: ls_EMKPF TYPE EMKPF.
* Belegdatum
ls_imkpf-bldat = sy-datlo.
* Buchungsdatum
ls_imkpf-budat = sy-datlo.
* Benutzer
ls_imkpf-usnam = sy-uname.
ls_imseg-matnr = '000000000000600010'.
ls_imseg-werks = '1000'.
ls_imseg-lgort = '1000'.
ls_imseg-erfmg = '1'.
ls_imseg-erfme = 'ST'.
ls_imseg-sgtxt = 'DAS IST TEST'.
ls_imseg-menge = '1'.
ls_imseg-meins = 'KG'.
ls_imseg-bwart = '251'.
ls_imseg-konto = '405000'.
ls_imseg-kostl = '1000'.
ls_imseg-bukrs = '1000'.
ls_imseg-wempf = '100100'.
ls_imseg-shkzg = 'S'.
ls_imseg-autyp = '40'.
ls_imseg-XNOCON = 'X'.
ls_imseg-kzbew = ''.
APPEND ls_imseg TO lt_imseg.
CALL FUNCTION 'MB_CREATE_GOODS_MOVEMENT'
EXPORTING
imkpf = ls_imkpf
IMPORTING
es_mkpf = ls_mkpf
EMKPF = ls_EMKPF
TABLES
emseg = lt_emseg
imseg = lt_imseg.
WRITE 'TEST'.
Code: Alles auswählen.
* nur wenn kein Fehler bei der Positionsbearbeitung
emkpf-subrc = 5.
Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
Adrian
Dein Materialbeleg ist also noch nicht erzeugt worden, sondern nur generiert. Du solltest aber eine Belegnummer zurückbekommen. Wenn du die bekommst, musst du den POST-Baustein noch durchlaufen, damit deine Buchung auch tatsächlich durchgeführt wird.WICHTIG: Ab Release 4.0 wird das eigentliche Buchen des Materialbeleges nicht mehr im Funktionsbaustein MB_CREATE_GOODS_MOVEMENT angestoßen. Es ist erforderlich, daß im rufenden Programm nach erfolgreichem Durchlauf des MB_CREATE_GOODS_MOVEMENT der neue Funktionsbaustein MB_POST_GOODS_MOVEMENT aufgerufen wird, damit der Beleg tatsächlich gebucht wird.
Im Funktionsbaustein MB_CREATE_GOODS_MOVEMENT wird jedoch bereits die Materialbelegnummer vergeben, um den rufenden Anwendungen die Möglichkeit zu geben, diese Belegnummer zu übernehmen.
Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
Adrian
Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
Adrian
Folgende Benutzer bedankten sich beim Autor MrBojangles für den Beitrag:
Adrian
ein weiterer Vorteil daran ist auch, dass nur 1 Baustein aufgerufen werden muss und nicht 2.MrBojangles hat geschrieben:Hallo Adrian,
muss es unbedingt der FuBa MB_CREATE_GOODS_MOVEMENT sein? Falls Du da nicht festgelegt bist, nimm' doch den entsprechenden BAPI, der ruft sich m.E. auch einfacher. Ein Coding-Beispiel findest Du hier: http://sapmandoo.over-blog.de/article-b ... 97611.html
Damit der Beleg auch in die DB geschrieben wird, den anschließenden COMMIT nicht vergessen!!!
Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
Adrian