BAPI_PO_CHANGE neue Position

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

BAPI_PO_CHANGE neue Position

Beitrag von dkast (Specialist / 117 / 7 / 1 ) »
Hallo zusammen,

ich möchte mit dem BAPI_PO_CHANGE eine neue Position in einer Bestellung anfügen. (Vorausgessetzt, das ist der richtige Weg)
Im Prinzip mache ich nicht mehr, als das ich mir die letze Position in der Bestellung kopiere (Mengen, Werk, Texte usw,) und dann die Positionsnummer erhöhe.
Der BAPI spuckt allerding immer aus, das keine Daten geändert wurden. Einen Grund teilt er mir nicht mit.
(BAPI_TRANSACTION_COMMIT wird abgesetzt)

Hat jemand eine Idee oder bin ich mit dem BAPI völlig auf dem Holzweg?

Vielen Dank schon mal im vorraus.

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


Re: BAPI_PO_CHANGE neue Position

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Wahrscheinlich füllst du den wichtigen Übergabeparameter falsch.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: BAPI_PO_CHANGE neue Position

Beitrag von qyurryus (Specialist / 107 / 81 / 45 ) »
Coding würde weiterhelfen!

Kristallkugel-Methode:
- der Funktionsbaustein hat eine (für SAP-Verhältnisse) detaillierte Dokumentation, ansonsten diese sich einmal anschauen. Dort wird auch für FAQs auf die SAP-Hinweise 197958 und 499626 verwiesen.
- Wahrscheinlich erweiterst du POITEM um eine Zeile - dabei beachten dass Änderungen auch in den analogen Tabellen mit "X"-Suffix markiert werden müssen (in diesem Fall POITEMX).

Re: BAPI_PO_CHANGE neue Position

Beitrag von dkast (Specialist / 117 / 7 / 1 ) »
qyurryus hat geschrieben:Coding würde weiterhelfen!

Kristallkugel-Methode:
- der Funktionsbaustein hat eine (für SAP-Verhältnisse) detaillierte Dokumentation, ansonsten diese sich einmal anschauen. Dort wird auch für FAQs auf die SAP-Hinweise 197958 und 499626 verwiesen.
- Wahrscheinlich erweiterst du POITEM um eine Zeile - dabei beachten dass Änderungen auch in den analogen Tabellen mit "X"-Suffix markiert werden müssen (in diesem Fall POITEMX).

Code: Alles auswählen.


  lt_poitem-po_item    = ls_struc-ebelp.
  lt_poitem-material   = ls_struc-matnr.
  lt_poitem-plant      = ls_struc-werks.
  lt_poitem-quantity   = 1.
  lt_poitem-stge_loc   = '1000'.
  APPEND lt_poitem.

  lt_poitemx-po_item    = 'X'.
  lt_poitemx-stge_loc   = 'X'.
  lt_poitemx-plant      = 'X'.
  lt_poitemx-material   = 'X'.
  lt_poitemx-quantity = 'X'.
  APPEND lt_poitemx.


  lt_potextitem-po_item   = ls_struc-ebelp.
  lt_potextitem-text_id   = 'F01'.
  lt_potextitem-text_form = 'EKPO'.
  lt_potextitem-text_line = ls_struc-postext.
  APPEND lt_potextitem.


  lt_poschedule-po_item       = ls_struc-ebelp.
  lt_poschedule-sched_line    = '00001'.
  lt_poschedule-quantity      = 1.
  lt_poschedule-delivery_date = ls_struc-eindt.
  APPEND lt_poschedule.

  lt_poschedulex-po_item       = ls_struc-ebelp.
  lt_poschedulex-sched_line    = '00001'.
  lt_poschedulex-quantity      = 'X'.
  lt_poschedulex-delivery_date = 'X'.
  APPEND lt_poschedulex.


  CALL FUNCTION 'BAPI_PO_CHANGE'
    EXPORTING
      purchaseorder   = ls_struc-ebeln
      no_messaging    = ''
      no_message_req  = ''
      memory_complete = 'X'
    TABLES
      return          = lt_return
      poitem          = lt_poitem
      poitemx         = lt_poitemx
      potextitem      = lt_potextitem
      poschedule      = lt_poschedule
      poschedulex     = lt_poschedulex.
Hallo,

hier noch das Coding. In ls_struc steht dabei der Inhalt der makierten Bestellposition(mit angepasster Positionsnummer).
Zuletzt geändert von dkast am 30.01.2019 15:07, insgesamt 2-mal geändert.

Re: BAPI_PO_CHANGE neue Position

Beitrag von dkast (Specialist / 117 / 7 / 1 ) »
black_adept hat geschrieben:Wahrscheinlich füllst du den wichtigen Übergabeparameter falsch.
Hallo,

oben würde mein code stehen. Hast du vielleicht noch eine Idee für mich?

Re: BAPI_PO_CHANGE neue Position

Beitrag von qyurryus (Specialist / 107 / 81 / 45 ) »
Eine Sache die mir aufgefallen ist: (Annahme: ls_struc-ebelp ist die Positionsnummer der neuen Position)

Code: Alles auswählen.

  ...

  lt_poitemx-po_item    = ls_struc-ebelp.  "Statt 'X' muss hier die neue Positionsnummer eingetragen werden
  lt_poitemx-stge_loc   = 'X'.
  lt_poitemx-plant      = 'X'.
  lt_poitemx-material   = 'X'.
  lt_poitemx-quantity = 'X'.
  APPEND lt_poitemx.

  ...

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2959
Views
Neue Position in Vertriebsbeleg aus alter Position anlegen
von shapoc » 18.07.2014 10:54 • Verfasst in Sales and Distribution
4
Antw.
1958
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.
3402
Views
IW 38 - Change Layout
von xhuljano » 18.02.2015 16:12 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141