MB_CREATE_GOODS_MOVEMENT mit SUBRC 5 Thema ist als GELÖST markiert

Getting started ... Alles für einen gelungenen Start.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

MB_CREATE_GOODS_MOVEMENT mit SUBRC 5

Beitrag von Adrian (Specialist / 126 / 61 / 0 ) »
Hi zusammen,

nach langer zeit mal wieder am ABAP Programmieren und komme gleich schon nicht weiter. Ich wollte den FB 'MB_CREATE_GOODS_MOVEMENT' benutzen um verschieden Materialien auf Verbrauch zu buchen. Ich bekomme egal mit welchen Werten ich den FB starte immer nur EMKPF-SUBRC = 5 raus. Kann mir jemand mal erklären wie der FB grundsätzlich funktioniert. Hab im Internet dazu auch nichts gefunden und in der FB Dokumentation steht irgendwie auch nix. Unten ist mal mein Code drin.

Vielen vielen Dank
Grüße Adrian

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'.


Re: MB_CREATE_GOODS_MOVEMENT mit SUBRC 5

Beitrag von Thanatos82 (Expert / 699 / 32 / 122 ) »
Hallo Adrian,

das Feld muss ja im FuBa besetzt werden. Also FuBa mit SE37 aufrufen und nach "emkpf-subrc = 5" suchen.
Und die Doku über der Besetzung sagt folgendes:

Code: Alles auswählen.

* nur wenn kein Fehler bei der Positionsbearbeitung
  emkpf-subrc = 5.
Demzufolge ist das kein Fehler, sondern eine Erfolgsmeldung für die Positionsbearbeitung.

Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
Adrian

Gruß,
der Matze

Re: MB_CREATE_GOODS_MOVEMENT mit SUBRC 5

Beitrag von Adrian (Specialist / 126 / 61 / 0 ) »
Aber ich bekomme ja auch keinen Wert in der es_mkpf zurück. Wo sehe ich jetzt meinen erzeugten materialbeleg ?

Re: MB_CREATE_GOODS_MOVEMENT mit SUBRC 5

Beitrag von Thanatos82 (Expert / 699 / 32 / 122 ) »
Meine Bausteindoku sagt folgendes:
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.
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.

Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
Adrian

Gruß,
der Matze

Re: MB_CREATE_GOODS_MOVEMENT mit SUBRC 5

Beitrag von Adrian (Specialist / 126 / 61 / 0 ) »
Ich bekomme auch keine Belegnummer. Die Rückgabestruktur ist komplett leer.

Grüße Adrian

Re: MB_CREATE_GOODS_MOVEMENT mit SUBRC 5

Beitrag von Thanatos82 (Expert / 699 / 32 / 122 ) »
Das habe ich fast befürchtet und deswegen mal dein Beispiel versucht in der Migo nachzubilden und dann einfach mal im FuBa gebremst.
Dabei ist mir aufgefallen, das die IMSEG im FuBa für das Feld "LINE_ID" einen Wert hat. Das Feld hast du gar nicht belegt. Es kann gut sein, dass der FuBa dann nicht erkennt, dass es zu verarbeitende Positionen gibt und demzufolge auch nichts macht. Wenn nichts zu machen ist, ist alles gut, und der subrc = 5.

Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
Adrian

Gruß,
der Matze

Re: MB_CREATE_GOODS_MOVEMENT mit SUBRC 5

Beitrag von MrBojangles (Specialist / 366 / 3 / 28 ) »
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 MrBojangles für den Beitrag:
Adrian

Weiterhin viel Freude mit SAP...
Cheers
MrB.

Re: MB_CREATE_GOODS_MOVEMENT mit SUBRC 5

Beitrag von Thanatos82 (Expert / 699 / 32 / 122 ) »
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!!!
ein weiterer Vorteil daran ist auch, dass nur 1 Baustein aufgerufen werden muss und nicht 2.

Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
Adrian

Gruß,
der Matze

Re: MB_CREATE_GOODS_MOVEMENT mit SUBRC 5

Beitrag von Adrian (Specialist / 126 / 61 / 0 ) »
Hi zusammen,

vielen Dank für die Hilfe. Ja mir ist es egal welcher FB das ist. (Hätte mich auch mit ner Klasse zufrieden gegeben) :D
Ich nehme jetzt den BAPI.

Vielen Dank

Liebe Grüße
Adrian

Seite 1 von 1

Über diesen Beitrag


ABAP & SAP eBook Flatrate von Espresso Tutorials Sponsorlink
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Vergleichbare Themen

sy-subrc oder syst-subrc?
von genua » 31.10.2007 11:55
KZBEW Movement Indicator
von Niels » 09.09.2015 16:11
A BADI for creation of G/L acc during Goods Issue
von Pavan Kumar Jegrum » 28.07.2005 11:46
automation of goods reciept and invoice verification
von techconsulant » 09.11.2004 06:50
Übersicht zu sy-subrc
von KleinerEisbaer » 22.07.2008 16:48