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?
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.
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 )
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.
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.