Anwendungsgebiet: | Prüffunktionen |
Die Funktion IS-SDF-P( ) prüft, ob SDF-P im System geladen ist. Wenn es geladen ist, wird als Ergebnis TRUE zurückgegeben. Das Ergebnis FALSE wird in folgenden Fällen zurückgegeben:
SDF-P ist nicht geladen.
SDF-P ist geladen, aber in der Task wird gerade SDF-P-BASYS-Funktionalität simuliert (Einstellung FUNCTIONALITY=*BASIC im Kommando MODIFY-PROCEDURE-TEST-OPTIONS, siehe Handbuch „SDF-P“ [34]).
Ist SDF-P geladen (Ergebnis TRUE) können z.B. in einem entsprechenden IF-Zweig (siehe Beispiel) auch Funktionen oder Kommandos des kostenpflichtigen Subsystems SDF-P verwendet werden. Dies gilt jedoch nicht für kostenpflichtige Kontrollfluss-Kommandos (wie z.B. FOR, WHILE, REPEAT), da Kontrollfluss-Kommandos bereits in der Voranalyse, also vor Aufruf der Builtin-Funktion geprüft werden. Bei nicht geladenem SDF-P bzw. bei simulierter SDF-P-BASYS-Funktionalität führt beispielsweise die Verwendung von FOR immer zu einem Fehler.
Format
IS-SDF-P( ) |
|
Ergebnistyp
BOOLEAN
Eingabeparameter
Keine
Ergebnis
TRUE
SDF-P ist im System geladen.
FALSE
SDF-P ist nicht im System geladen oder in der Task wird SDF-P-BASYS-Funktionalität simuliert.
Fehlermeldung
Keine
Beispiel 1
/A = IS-SDF-P /SHOW-VAR A A = TRUE
Beispiel 2
/SET-PROCEDURE-OPTIONS . . . / IF (IS-SDF-P) / "In diesem IF-Zweig koennen Kommandos und Builtin-" / " Funktionen von SDF-P genutzt werden!" / "Es koennen aber keine Kontrollfluss-Kommandos von SDF-P" / " genutzt werden (z.B. FOR, WHILE, REPEAT)" . . . / ELSE / "Im ELSE-Zweig koennen nur die Basisfunktionen von" / " SDF-P-BASYS genutzt werden!" . . . / END-IF . . .