BAPI_PO_CHANGE

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

BAPI_PO_CHANGE

Beitrag von Mockingbird (ForumUser / 12 / 8 / 0 ) »
Hallo Experten,

Ich bin noch recht neu im ABAP-Umfeld (ca. 1 Jahr) und soll aktuell ein Programm basteln mit welchem per Excel Upload das delivery_date, das material und die quantity einer PO geändert werden sollen.

Bei meiner Recherche bin ich über den BAPI "BAPI_PO_CHANGE" gestolpert welcher die Änderungen für mich erstellen können sollte. Allerdings habe ich Probleme dem BAPI die notwendigen Parameter richtig zu befüllen. Ich weiß der BAPI braucht als Exportparameter die EBELN und die Tabellen POITEM, POITEMX, POSCHEDULE, POSCHEDULEX.

Bei den X-Tabellen gebe ich Aktuell den Wert "X" für die Felder mit welche ich ändern möchte und die EBELN. Die Tabellen ohne X hab ich ich mir über den BAPI_PO_GETDETAIL1 vom System gezogen und versucht die entsprechenden Felder zu überschreiben (z.B. poitem-quantity = itab-menge), doch dies funktioniert aus mir unbekannten Gründen leider nicht.

Ich bin für jede Hilfe sehr dankbar, da ich bereits lange an dem Problem sitze und trotz viel googeln und probieren nicht weiter komme.

LG
Mockingbird

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: BAPI_PO_CHANGE

Beitrag von jocoder (Specialist / 338 / 3 / 101 ) »
Den Code zu posten wäre hilfreich.

Re: BAPI_PO_CHANGE

Beitrag von Mockingbird (ForumUser / 12 / 8 / 0 ) »
Ich hoffe der Auszug aus dem Programm langt.

Code: Alles auswählen.

    lv_ponumb           = <fs_po_update>-ebeln.

CALL FUNCTION 'BAPI_PO_GETDETAIL1'
  EXPORTING
    purchaseorder           = lv_ponumb
 TABLES
   RETURN                   = lt_return_gd
   POITEM                   = lt_poitem
   POSCHEDULE               = lt_schedule.

*    lt_poitem-po_item   = <fs_po_update>-ebeln.
    lt_poitem-material  = <fs_po_update>-matnr.
    lt_poitem-quantity  = <fs_po_update>-menge.

    ls_poitemx-po_item  = <fs_po_update>-ebeln.
    ls_poitemx-material = 'X'.
    ls_poitemx-quantity = 'X'.
    APPEND ls_poitemx TO lt_poitemx.

*    lt_schedule-po_item = <fs_po_update>-ebeln.
    lt_schedule-delivery_date = <fs_po_update>-eindt.

    ls_schedulex-po_item = <fs_po_update>-ebeln.
    ls_schedulex-delivery_date = 'X'.
    APPEND ls_schedulex TO lt_schedulex.

    CALL FUNCTION 'BAPI_PO_CHANGE'
      EXPORTING
        purchaseorder  = lv_ponumb
        testrun        = p_test
      TABLES
        return        = lt_return_ch
        poitem        = lt_poitem
        poitemx       = lt_poitemx
        poschedule    = lt_schedule
        poschedulex   = lt_schedulex.

Re: BAPI_PO_CHANGE

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
  • Der BAPI hat einen RETURN-Parameter der die die Fehler ausgibt
  • Hast du auch BAPI_TRANSACTION_COMMIT ausgeführt?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: BAPI_PO_CHANGE

Beitrag von Mockingbird (ForumUser / 12 / 8 / 0 ) »
black_adept hat geschrieben:
06.01.2020 15:25
Der BAPI hat einen RETURN-Parameter der die die Fehler ausgibt
Hast du auch BAPI_TRANSACTION_COMMIT ausgeführt?
zu ersterem : Fehlermeldung ME 664 „Änderung konnte nicht durchgeführt werden“

Ich habe den BAPI_TRANSACTION_COMMIT etwas später im Code ausgeführt.

Re: BAPI_PO_CHANGE

Beitrag von wreichelt (Top Expert / 1031 / 29 / 188 ) »
Hallo,

wird die Positionsnummer auch irgendwo gesetzt?

Gruß Wolfgang

Re: BAPI_PO_CHANGE

Beitrag von Mockingbird (ForumUser / 12 / 8 / 0 ) »
EBELN und EBELP werden aus dem hochgeladen Excel genommen. Es würde für mich auch Sinn machen dem BAPI_PO_CHANGE ebenfalls die EBELP mitzugeben, allerdings konnte ich keine passende Stelle finden.

An anderer Stelle im Programm wird die MATNR aus dem Excel mit der MATNR vom SAP System verglichen, wobei die MATNR vom SAP System aus der EBELN und EBELP aus der EKPO ermittelt wird.

Re: BAPI_PO_CHANGE

Beitrag von wreichelt (Top Expert / 1031 / 29 / 188 ) »
Hallo,

hier ein Beispiel

https://codezentrale.de/tag/bapi_po_change/

Gruß Wolfgang

Folgende Benutzer bedankten sich beim Autor wreichelt für den Beitrag:
Mockingbird


Re: BAPI_PO_CHANGE

Beitrag von Mockingbird (ForumUser / 12 / 8 / 0 ) »
Vielen Dank für das Beispiel, es hat mir sehr weiter geholfen. Allerdings hätte ich noch eine Frage zum Beispiel.

Code: Alles auswählen.

* Headerdaten
lv_bapimepoheader = VALUE #( po_number = p_po
                             pmnttrms = 'ZB03'
                           ).
 
* Flags zum Ändern der Headerdaten
lv_bapimepoheaderx = VALUE #( po_number = abap_true
                              pmnttrms = abap_true
                            ).
Was ist pmnttrms für ein Parameter und mit welchen Daten wird er befüllt ?

Re: BAPI_PO_CHANGE

Beitrag von wreichelt (Top Expert / 1031 / 29 / 188 ) »
Hallo,

mach mal einen Doppelklick auf bapimepoheaderx
dann ist das Feld zu sehen.
Für mich klingt das nach Zahlungsbedingungen.

Gruß Wolfgang

Folgende Benutzer bedankten sich beim Autor wreichelt für den Beitrag:
Mockingbird


Re: BAPI_PO_CHANGE

Beitrag von schick (ForumUser / 52 / 5 / 15 ) »
Hi,

Transaktion SE11, Struktur BAPIMEPOHEADER, Komponente PMNTTRMS:

Komponententyp DZTERM
Kurzbeschreibung Zahlungsbedingungsschlüssel

Folgende Benutzer bedankten sich beim Autor schick für den Beitrag:
Mockingbird


Seite 1 von 1

Vergleichbare Themen

4
Antw.
1957
Views
Change DIS
von Icke0801 » 05.04.2017 16:12 • Verfasst in ABAP® Core
1
Antw.
2393
Views
Password change via RFC
von Daniela » 06.02.2006 10:55 • Verfasst in ABAP® Core
12
Antw.
6053
Views
ON CHANGE OF - HILFE
von Nici » 31.05.2005 11:14 • Verfasst in ABAP® für Anfänger
2
Antw.
3401
Views
IW 38 - Change Layout
von xhuljano » 18.02.2015 16:12 • Verfasst in ABAP® für Anfänger
1
Antw.
2315
Views
per BAPI-Control über Visual Basic ein BAPI aufrufen
von Kaiwalker » 25.07.2005 15:22 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140