Fehlermeldung bei Ausführen einer SAP-Funktion hintereinander mit unterschiedlichen Werten

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

Fehlermeldung bei Ausführen einer SAP-Funktion hintereinander mit unterschiedlichen Werten

Beitrag von Julia.hrtm (ForumUser / 8 / 1 / 4 ) »
Hallo,
ich habe folgenden FUBA:

Code: Alles auswählen.

FUNCTION z_get_eq_pm_order.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     REFERENCE(I_EQUIPMENT) TYPE  EQUNR
*"  EXPORTING
*"     VALUE(GS_CAUFVD) LIKE  CAUFVD STRUCTURE  CAUFVD
*"     VALUE(GS_WILOA) LIKE  ILOA STRUCTURE  ILOA
*"     VALUE(GS_WRIWO1) LIKE  RIWO1 STRUCTURE  RIWO1
*"  TABLES
*"      GT_CAUFVD STRUCTURE  CAUFVD
*"      GT_WILOA STRUCTURE  ILOA
*"      GT_WRIWO1 STRUCTURE  RIWO1
*"      IAFVGD STRUCTURE  ZGS_GET_EQ_PM_ORDER
*"----------------------------------------------------------------------
  DATA gt_aufnr TYPE TABLE OF afih-aufnr.
  DATA gv_aufnr TYPE afih-aufnr.

  DATA: lt_iafvgd_temp TYPE TABLE OF afvgd,
        ls_iafvgd_temp TYPE afvgd,
        ls_iafvgd TYPE zgs_get_eq_pm_order.

  SELECT a~aufnr
    INTO TABLE gt_aufnr
    FROM afih AS a
    INNER JOIN aufk AS b
      ON a~aufnr = b~aufnr
    WHERE a~equnr = i_equipment
      AND b~phas1 = 'X'
      AND b~phas2 = ''
      AND b~phas3 = ''.

  IF sy-subrc = 0.
    LOOP AT gt_aufnr INTO gv_aufnr.
      CLEAR gs_caufvd.
      CLEAR gs_wiloa.
      CLEAR gs_wriwo1.
      FREE lt_iafvgd_temp.
      CALL FUNCTION 'PM_ORDER_DATA_READ'
        EXPORTING
          order_number = gv_aufnr
        IMPORTING
          wcaufvd      = gs_caufvd
          wiloa        = gs_wiloa
          wriwo1       = gs_wriwo1
        TABLES
          iafvgd       = lt_iafvgd_temp.
      LOOP AT lt_iafvgd_temp INTO ls_iafvgd_temp.
        CLEAR ls_iafvgd.
        ls_iafvgd-aufnr = gv_aufnr.
        ls_iafvgd-vornr = ls_iafvgd_temp-vornr.
        ls_iafvgd-steus = ls_iafvgd_temp-steus.
        ls_iafvgd-werks = ls_iafvgd_temp-werks.
        ls_iafvgd-ktsch = ls_iafvgd_temp-ktsch.
        ls_iafvgd-ltxa1 = ls_iafvgd_temp-ltxa1.
        ls_iafvgd-ltxa2 = ls_iafvgd_temp-ltxa2.
        ls_iafvgd-larnt = ls_iafvgd_temp-larnt.
        ls_iafvgd-rueck = ls_iafvgd_temp-rueck.
        ls_iafvgd-rmzhl = ls_iafvgd_temp-rmzhl.
        ls_iafvgd-objnr = ls_iafvgd_temp-objnr.
        APPEND ls_iafvgd TO iafvgd.
      ENDLOOP.
      ENDLOOP.
    ENDLOOP.
  ENDIF.
ENDFUNCTION.
Beim Ausführen erhalte ich 2 unterschiedliche Werte in der Tabelle gt_aufnr. Beim Ausführen der Schleife und dem damit entstehenden Funktionsaufruf, erhalte ich beim zweiten Durchlauf der Schleife eine Fehlermeldung aus dem SAP eigenen FUBA. Ich habe verschiedene Tests ausprobiert und festgestellt, dass der Fehler nicht auftritt, wenn 2 mal hintereinander der gleiche Wert in den SAP eigenen FUBA geladen wird. Ich hab dies mit beiden Werten die in gt_aufnr gespeichert werden ausprobiert. Für beide Werte gibt es keine Fehlermeldung wenn man sie 2 mal hintereinander lädt. Doch bei der Kombination der beiden Werte hintereinander, erhalte ich einen Fehler.
Wenn nur ein Datensatz in der Tabelle gt_aufnr vorliegt läuft der FUBA auch einwandfrei durch und ich erhalte mein Ergebnis.
Screenshot 2024-11-12 144541.png
Screenshot 2024-11-12 144604.png
Screenshot 2024-11-12 144633.png

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


Re: Fehlermeldung bei Ausführen einer SAP-Funktion hintereinander mit unterschiedlichen Werten

Beitrag von DeathAndPain (Top Expert / 1955 / 260 / 414 ) »
Ich kenne den FB der SAP leider nicht (ist nicht mein Modul), aber bitte gestatte mir eine Frage: Weshalb ist Dein Funktionsbaustein in total veraltetem ABAP geschrieben, so wie es vor rund 20 Jahren üblich gewesen ist? Sei mir nicht böse, aber da bekommt man Augenkrebs. Das geht heutzutage wesentlich kürzer und schöner und damit viel übersichtlicher.

Re: Fehlermeldung bei Ausführen einer SAP-Funktion hintereinander mit unterschiedlichen Werten

Beitrag von Julia.hrtm (ForumUser / 8 / 1 / 4 ) »
Ich habe das Problem selbst lösen können. Anscheinend ist das ein bekanntes Problem bei SAP.

Hier ist das gleiche Problem beschrieben:
https://community.sap.com/t5/applicatio ... -p/2303060

Mithilfe des Funktionsaufrufes

Code: Alles auswählen.

CALL FUNCTION 'CO_EXT_ORDER_RESET'.
am Ende der Schleife klappt der zweite Durchlauf problemlos.

Folgende Benutzer bedankten sich beim Autor Julia.hrtm für den Beitrag (Insgesamt 4):
Thomas R.MurdockewxST22


Seite 1 von 1

Vergleichbare Themen

2
Antw.
1695
Views
Aufruf mehrerer Programme hintereinander
von mip » 10.04.2008 14:24 • Verfasst in ABAP® für Anfänger
3
Antw.
2197
Views
Sapscript: Includes hintereinander schreiben
von RiffRaff » 19.05.2005 15:52 • Verfasst in ABAP® Core
3
Antw.
1933
Views
Zwei Ikonen in einem Feld hintereinander
von sapdepp » 30.05.2016 10:44 • Verfasst in ABAP® Core
8
Antw.
3779
Views
Testlauf bei der Ausführung mehrerer BAPIs hintereinander
von FelixFICO » 20.04.2016 16:35 • Verfasst in ABAP® Core
5
Antw.
5882
Views
Funktionsbausteine - FUNKTION/FUNKTION TOOL
von kafka » 06.02.2018 08:04 • Verfasst in ABAP® für Anfänger

Ü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.