Prüfen von mehreren Feldern auf bestimmte Inhalte

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

Prüfen von mehreren Feldern auf bestimmte Inhalte

Beitrag von ABAP-hayri (ForumUser / 2 / 0 / 0 ) » 3. Dez 2019 11:34

Hallo zusammen,

im Funktionsbaustein werden mehrere Felder (Feld 1 bis Feld 5) gefüllt.
Ich möchte nachdem der FB ausgeführt worden ist prüfen ob diese Felder bestimmte Feldinhalte haben. Es ist zu beachten, dass nicht alle Felder (1 bis 5) gefüllt werden müssen. Wenn aber mindestens 1 Feld oder mehrere gefüllt sind, sollen nur bestimmte Werte für den weiteren Verlauf im Programm relevant sein. Daher soll nur bei einem bestimmten Wert eine weitere Variable mit X gefüllt werden.

Wie kann ich dies in einer Loopschleife, in der sich der FB befindet abfragen?

Loop .......
Call Function......
Exporting....
Importing
Z1 = Z2
Tables......
Exceptions.....

If sy-subrc = 0
IF Z2-Feld1 = x and ?????????
Z2-Feld2 = x

lv_lokale Variable = x

Endif
Endif


Anmerkung/Frage:
Eine Und-Verknüpfung der IF-Bedingungen wäre meines Erachtens nicht möglich, da nicht alle Felder im FB gefüllt werden müssen. Richtig????? Wie könnte dann die Verknüpfung der IF-Bedingungen für die ob beschriebene Anforderung aussehen.


Danke für die Tipps!

Gruß
Hayri


Re: Prüfen von mehreren Feldern auf bestimmte Inhalte

Beitrag von Legxis (Specialist / 148 / 70 / 24 ) » 3. Dez 2019 11:57

Es wird nicht ganz klar, was du wirklich willst, also was es für verschiedene Möglichkeiten gibt. Mal dir da mal einen Baum auf, der das anschaulich zeigt. (Wenn das der Fall ist soll dies geschehen, oder ansonsten das, ...)

Hilft dir die OR Verknüpfung?
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )

Re: Prüfen von mehreren Feldern auf bestimmte Inhalte

Beitrag von DeathAndPain (Top Expert / 1186 / 132 / 257 ) » 3. Dez 2019 14:01

Also ich denke auch, dass Du zunächst mal OR brauchst, um zu prüfen, ob eines der Felder gefüllt ist.

Geschachtelte IFs sind übrigens meistens hässlich, weil sie einem einfachen AND entsprechen:

Code: Alles auswählen.

IF A = B.
  IF C = D.
    " do whatever
  ENDIF.
ENDIF.
ist nichts anderes als:

Code: Alles auswählen.

IF A = B AND C = D.
  " do whatever
ENDIF.
Ansonsten: Lexgis' Baum wäre natürlich optimal, aber für den Anfang würde es uns wahrscheinlich schon reichen, wenn Du uns zumindest einen oder zwei konkrete Beispiele geben könntest, was der Funktionsbaustein liefern könnte und was Du dann haben möchtest.

Re: Prüfen von mehreren Feldern auf bestimmte Inhalte

Beitrag von ABAP-hayri (ForumUser / 2 / 0 / 0 ) » 3. Dez 2019 17:50

vielen Dank für die Hinweise!

Detaillierte Erklärung:
Mit einem Z-Funktionsbaustein werden Fertigungsaufträge zum Kundenauftrag gelesen.

Erst wenn alle Fertigungsaufträge einen bestimmten Anwenderstatus (Kopfebene) haben, dann soll mein Programm weitermachen, d.h.

Zum aktuellen Kundenauftrag gibt es 3 Fertigungsaufträge mit folgenden Status.
1.FAUF = Status "PLANOK"
2.FAUF = Status "PLANOK"
3.FAUF = Status "PLANNOK"

Nur wenn alle FAUFS zum Kundenauftrag auf PLANOK steht, dann soll mein Programm weitermachen. Aus dem Baustein kommen nur die Status zurück, d.h.

Status01 = PLANOK
Status02 = PLANOK
Status03 = PLANNOK
etc.

Wieviele Status zurückkommen, hängt von den Anzahl der FAUFs ab. Das heißt eine AND-Verknüpfung und geschachtelte IFs wäre doch statisch oder?
IF Status01 = PLANOK AND Status02 = PLANOK etc.

Die Prüfung müsste doch von den Anzahl der Status abhängig sein.

Danke für die Hilfe.

Seite 1 von 1