BAPI_HU_PI_READ liefert veraltete Daten

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

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

BAPI_HU_PI_READ liefert veraltete Daten

Beitrag von RaCDigger (ForumUser / 42 / 4 / 7 ) »
Hallo zusammen,

ich habe ein seltsames Phänomen bei der Verwendung des Funktionsbausteins BAPI_HU_PI_READ.

Zum Hintergrund:
Ich habe in der Migo einen Exit (IF_EX_MB_MIGO_BADI~POST_DOCUMENT) in dem soll beim Buchen die Verpackungsvorschriften zu dem zu buchenden Material lesen.
Das funktioniert auch, aber wenn man die Migo nicht verlässt und in dieser Zeit die Verpackungsvorschrift ändert wird beim erneuten Buchen desselben Materials die alte Verpackungsvorschrift vom Funktionsbaustein zurück geliefert.
Sprich der Fuba scheint irgendwie etwas aus dem Puffer zu holen, aber ich habe leider noch keine Möglichkeit gefunden ihm das abzugewöhnen.

Ich dachte schon das ich evtl. Variablen nicht gecleared habe, aber die Variablen sind in der Methode gekapselt (lokal) und sollten eigentlich ja je bei jedem neuen Aufruf der Methode leer sein (wobei ich auch das schon debugged habe).

Hier ein ausschnitt des Codes:

Code: Alles auswählen.

method if_ex_mb_migo_badi~post_document.

    "----> Lokale Daten deklaration

    types:  begin of ty_lgfsb,
              matnr type matnr,
              lgfsb type lgfsb,
            end of ty_lgfsb,

            tty_lgfsb type table of ty_lgfsb with key matnr.

    data: l_pobjid   type pl_pobjid,

          lt_hupos   type table of bapihupiposition,
          lt_return  type table of bapiret2,

          lt_leihgut type ztty_vph_leihgut,
          lt_lgfsb   type tty_lgfsb.

    "<----

    loop at it_mseg assigning field-symbol(<fs_mseg>).

      if <fs_mseg>-bwart = '101'.

        select single pkp~pobjid from kotp410 as ktp
          inner join kondp as kdp
            on kdp~knumh = ktp~knumh
          inner join packkp as pkp
            on pkp~packnr = kdp~packnr
          into l_pobjid
          where kappl = 'PO'
            and kschl = 'RCPT'
            and matnr = <fs_mseg>-matnr
            and werks = <fs_mseg>-werks
            and lifnr = <fs_mseg>-lifnr
            and datbi >= sy-datlo
            and datab <= sy-datlo.

        if sy-subrc = 0.
  
          clear: lt_hupos, lt_return.

          call function 'BAPI_HU_PI_READ'
            exporting
              pikey     = l_pobjid
            tables
              positions = lt_hupos
              return    = lt_return.
		...
		endif.
		...
	  endif.
		...
	endloop.
	...
endmethod.
Beim Aufruf des FuBa's sind die Tabellen leer und dieser liefert dann die falsche (alte) Verpackungsvorschrift zurück.

Der Fall kommt zwar selten vor, aber leider ist die gängige Praxis von den Anwendern bei Schichtbeginn wird die MIGO gestartet und bei Schichtende wird sich ausgelogt.
In der Zwischenzeit kann es dann leider vorkommen das sich eine Verpackungsvorschrift ändert.

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


Re: BAPI_HU_PI_READ liefert veraltete Daten

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
Das BAPI ruft weitere FuBas auf, die wiederum Daten in Funktionsgruppen globalen Variablen puffern.
Ruf mal vor dem BAPI CALL den FuBa VHUPODB_PACKOBJ_REFRESH_BUFFER ohne weitere Parameter auf. Das sollte dein Problem lösen.

Ansonsten den BAPI CALL in eigene LUW auslagern IN BACKGROUND TASK AS SEPARATE UNIT. Dann werden die Funktionsgruppen immer wieder initial geladen.

Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
RaCDigger

Gruß Hendrik

Re: BAPI_HU_PI_READ liefert veraltete Daten

Beitrag von RaCDigger (ForumUser / 42 / 4 / 7 ) »
Hallo Hendrik,

vielen Dank für den Fuba, den hatte ich nicht gefunden.
Funktioniert nun.

Gruß
Sven

Seite 1 von 1

Vergleichbare Themen

2
Antw.
3025
Views
SALV - get_selected_rows( ) liefert veraltete Einträge
von zeWa » 20.06.2014 13:17 • Verfasst in ABAP® Core
5
Antw.
18901
Views
read table liefert sy-subrc = 4
von c oco » 04.04.2011 17:09 • Verfasst in ABAP® für Anfänger
0
Antw.
1682
Views
Webservice liefert keine Daten mehr zurück
von donossi » 08.06.2012 16:07 • Verfasst in ABAP® für Anfänger
3
Antw.
1619
Views
Kurzdump Bapi BAPI_PO_CREATE1 - Dump Überg. Kont.daten
von ralf.wenzel » 13.12.2007 12:22 • Verfasst in ABAP® Core
2
Antw.
3047
Views
kommunikation zwischen java und sap - veraltete Sachen?
von Gast » 10.04.2005 19:18 • Verfasst in Java & SAP®

Ü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

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

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1581
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8190