Änderungen aus BAdI ME_PROCESS_PO_CUST werden nicht übernommen Thema ist als GELÖST markiert

SAP R/3 Materialwirtschaft: Einkauf, Bestandsführung, Rechnungsprüfung, Inventur, Bewertung, Leistungsabwicklung, Materialstamm...
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Änderungen aus BAdI ME_PROCESS_PO_CUST werden nicht übernommen

Beitrag von Margolwes (ForumUser / 83 / 2 / 0 ) »
Hallo,

bei den Bestellungen möchten wir in den Positionen automatisch das Laufzeitende als Lieferdatum übernehmen. Das versuche ich mit dem Badi ME_PROCESS_PO_CUST BADI

Mein Code sieht so aus.

Code: Alles auswählen.

  method if_ex_me_process_po_cust~process_item.
    constants: lc_po_type_it type bsart value 'ZNB2'.

    data: lv_eeind type eeind.
    data: lo_mepoitem     type ref to cl_po_item_handle_mm  
        , ls_mepoitemx    type mepoitemx                  
        .                                                

    data(ls_mepoheader) = im_item->get_header( )->get_data( ).
    data(ls_mepoitem)   = im_item->get_data( ).

    if ls_mepoheader-bsart = 'ABC'.
        if ls_mepoheader-kdate is not initial.
          ls_mepoitem-eeind = |{ ls_mepoheader-kdate date = user }|.

          lo_mepoitem ?= im_item.
          lo_mepoitem->set_data( ls_mepoitem ).

          clear: ls_mepoitemx.  " update structure
          ls_mepoitemx-ebelp_key = ls_mepoitem-ebelp.
          ls_mepoitemx-eeind = 'X'.  " update material number

          lo_mepoitem->set_datax( ls_mepoitemx ).
        endif.
    endif.
  endmethod.
Das Lieferdatum wird auch korrekt in der Transaktion angezeigt, beim Speichern wird der Wert jedoch wieder verworfen und es wird das Tagesdatum eingesetzt.

Irgendwelche Ideen, was ich hier falsch mache?

Viele Grüße
Margolwes

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


Re: Änderungen aus BAdI ME_PROCESS_PO_CUST werden nicht übernommen

Beitrag von Margolwes (ForumUser / 83 / 2 / 0 ) »
Ok, hab's selber rausgefunden.

Statt

Code: Alles auswählen.

        if ls_mepoheader-kdate is not initial.
          ls_mepoitem-eeind = |{ ls_mepoheader-kdate date = user }|.

          lo_mepoitem ?= im_item.
          lo_mepoitem->set_data( ls_mepoitem ).

          clear: ls_mepoitemx.  
          ls_mepoitemx-ebelp_key = ls_mepoitem-ebelp.
          ls_mepoitemx-eeind = 'X'. 

          lo_mepoitem->set_datax( ls_mepoitemx ).
        endif.
muss es heißen

Code: Alles auswählen.

        data: ls_mepoitem_set type mepoitem.
        field-symbols: <fs_item> type mepoitem.
        [...]
        if ls_mepoheader-kdate is not initial.
          ls_mepoitem_set = ls_mepoitem.
          ls_mepoitem_set-eeind = |{ ls_mepoheader-kdate date = user }|.
          assign ls_mepoitem_set to <fs_item>.
          im_item->set_data( <fs_item> ).
        endif.

Seite 1 von 1

Über diesen Beitrag

Margolwes

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

Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor einer Woche von codemaster1 2 / 85952
Stücklisten
vor 2 Wochen von Selma.schwarz 1 / 87635

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.

Vergleichbare Themen

Transport von InfoSet - Änderungen werden nicht übernommen
von damberge » 17.07.2008 10:11
SELECT SUM CUST
von Manfred K. » 03.07.2025 14:05
PBO neu prozessieren -> aus PROCESS ON VALUE-REQUEST.
von cut1 » 24.10.2006 13:03

Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor einer Woche von codemaster1 2 / 85952
Stücklisten
vor 2 Wochen von Selma.schwarz 1 / 87635

Unbeantwortete Forenbeiträge

Stücklisten
vor 2 Wochen von Selma.schwarz 1 / 87635
Belege
vor 2 Wochen von Selma.schwarz 1 / 85276