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 / 1188 / 1 / 195 ) »
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.
2918
Views
SALV - get_selected_rows( ) liefert veraltete Einträge
von zeWa » 20.06.2014 13:17 • Verfasst in ABAP® Core
5
Antw.
18326
Views
read table liefert sy-subrc = 4
von c oco » 04.04.2011 17:09 • Verfasst in ABAP® für Anfänger
0
Antw.
1549
Views
Webservice liefert keine Daten mehr zurück
von donossi » 08.06.2012 16:07 • Verfasst in ABAP® für Anfänger
3
Antw.
1486
Views
Kurzdump Bapi BAPI_PO_CREATE1 - Dump Überg. Kont.daten
von ralf.wenzel » 13.12.2007 12:22 • Verfasst in ABAP® Core
2
Antw.
9086
Views
veraltete Varianten
von Mrs. Hilflos » 20.07.2004 12:44 • 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 3 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 3 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 3 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