BAPI_GOODSMVT_CREATE: Innenauftrag

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

BAPI_GOODSMVT_CREATE: Innenauftrag

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
Hallo,

ich möchte mit dem BAPI eine Buchung der MIGO mit "Sonstiger Wareneingang" bzw. Bewegungart 261
durchführen.

Allerdings funktioniert das Buchen auf einen Innenauftrag nicht.
Muss ich den BAPI noch irgendwie anders befüllen?

Code: Alles auswählen.

PARAMETERS: pa_mats TYPE VBELN_VL OBLIGATORY,
            pa_matnr TYPE matnr OBLIGATORY,
            pa_lifmg TYPE LIFMG OBLIGATORY,
            pa_meins TYPE meins OBLIGATORY,
            pa_charg TYPE CHARG_D OBLIGATORY,
            pa_werk TYPE WERKS_D OBLIGATORY DEFAULT '3000',
            pa_lgort TYPE LGORT_D OBLIGATORY DEFAULT '315',
            pa_aufnr type AUFNR default '000000200140'.

"Kundennummer auf "Read Only"

AT SELECTION-SCREEN output.
  loop at SCREEN.
    if screen-name = 'PA_AUFNR'.
      clear screen-input.
      MODIFY SCREEN.
    endif.
        if screen-name = 'PA_LGORT'.
      clear screen-input.
      MODIFY SCREEN.
    endif.
  endloop.

START-OF-SELECTION.

* Kopfstruktur für BAPI füllen
  ls_header-pstng_date    = sy-DATUM.   "Buchungsdatum
  ls_header-doc_date      = sy-datum.   "Belegdatum
  ls_header-ref_doc_no    = pa_mats. "Vorgangsnummer
  write pa_mats to lv_kopftext no-ZERO.
  CONDENSE lv_kopftext.
  CONCATENATE 'Muster:' lv_kopftext INTO ls_header-header_txt SEPARATED BY space.
  ls_code-gm_code = '05'. " Buchungscode: Sonstiger Wareneingang


  Data: lt_lieferung TYPE TABLE OF LIPS,
        ls_lieferung TYPE LIPS.

  "Zu buchende Positionen ermitteln
    ls_item-material   = pa_matnr. "Materialnummer
    ls_item-MVT_IND    = 'F'. "Warenbewegung zum Auftrag.
    ls_item-plant      = pa_werk. "Werk
    ls_item-stge_loc   = pa_lgort. "Lagerort
    ls_item-batch      = pa_charg .  "Charge
    ls_item-prod_date  = sy-datum.
    ls_item-move_type  = '261'. "Bewegungsart
    ls_item-entry_qnt  = pa_lifmg.  "Erfassungsmenge
    ls_item-entry_uom  = pa_meins.  "Erfassungsmengeneinheit
    ls_item-ORDERID     = pa_aufnr.
    APPEND ls_item to lt_items.



  CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
    EXPORTING
      goodsmvt_header             = ls_header
      goodsmvt_code               = ls_code
      testrun                     = ''
*    IMPORTING
*     GOODSMVT_HEADRET             = sl_headret
*     materialdocument            = lv_mblnr
*  matdocumentyear             = ev_mjahr
    TABLES
      goodsmvt_item               = lt_items
*     GOODSMVT_SERIALNUMBER       =
      return                      = lt_return .
*    EXCEPTIONS
*      error_message                    = 99.


  LOOP AT lt_return INTO ls_return WHERE type = 'E' OR type = 'A'.
    CONCATENATE 'Fehler:' ls_return-MESSAGE  into lv_message SEPARATED BY space.
    WRITE: lv_message.
    ev_rc_code = '4'.
  ENDLOOP.

  IF  ev_rc_code <> 4. "Kein Fehler aufgetreten?
    "Erfolgreich
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        wait          = 'X'
      IMPORTING
        return        = ls_return
      EXCEPTIONS
        error_message = 99.

    IF ls_return IS NOT INITIAL .
      Write: ls_return-id, ls_return-message_v1 , ls_return-message_v2 , ls_return-message_v3 , ls_return-message_v4.
      ev_rc_code = 4.
    ENDIF.

   IF  ev_rc_code <> 4.
     lv_message =  'Materialbeleg wurde gebucht'.
     WRITE: lv_message.
   ENDIF.
  Endif.
Fehlermeldung: "Auftrag 200140 ist nicht vorhanden oder für Warenbewegung nicht zugelassen"


Re: BAPI_GOODSMVT_CREATE: Innenauftrag

Beitrag von Haubi (Expert / 609 / 14 / 27 ) »
Hmm, hast Du den Auftrag mal geprüft? Die Meldungen des BAPIs sind erfahrungsgemäß ganz gut.

Ansonsten fällt mir auf, dass der Code 05 für Wareneingang steht, Du aber mit 261 eine Entnahme buchst. Ich mache das an einer Stelle mit Entnahmen zum Fertigungsauftrag, da verwende ich den Code 03...

Grüße,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

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

Aktuelle Forenbeiträge

ABAP-Liste in modalem Fenster
vor 3 Stunden von Tron 4 / 42
Zugriff auf Eingabeparameter in Methode
vor 6 Stunden von Margolwes gelöst 7 / 209
BATCH INPUT MAPPE
vor 22 Stunden von Juri gelöst 18 / 305

Vergleichbare Themen

Employee Create BAPI
von shilpak » 21.02.2005 14:25
BAPI for Vendor Create
von sonair » 01.03.2005 08:48
Innenauftrag
von Rabea1103 » 19.04.2021 11:07
Innenauftrag vs. Kostenstelle
von sap_newbie » 23.01.2007 16:43
Langtext im Innenauftrag
von Mr. ABAP » 07.12.2006 09:15