Der Makro CLIEXPR wertet arithmetische, logische und String-Ausdrücke aus. Der Ausdruck wird in einem Input-Feld übergeben, das Ergebnis wird in ein Output-Feld zurückgeschrieben. Es kann spezifiziert werden, wie das Ergebnis zurückgeliefert werden soll (Dualzahl, boolsche Konstante, String).
Der Makro kann auch mit MF=M aufgerufen werden.
Operation | Operanden |
CLIEXPR | MF = E |
MF = D [,PREFIX = C / prefix ] | |
MF = C ,PREFIX = C / prefix [,MACID = LIE / macid] | |
MF = L ,INPUT@ = <pointer> ,INPUTL = <integer 0..2147483647> ,OUTPUT@ = <pointer> ,OUTPUTL = <integer 0..2147483647> ,VFORM = *BY-VALUE / *STRING ,OTYPE = <pointer> ,OACTL = <pointer> ,PROT@ = NULL / <pointer> ,PROTL = 0 / <integer 0..2147483647> ,OPROTL = NULL / <pointer> |
Returncodes (hexadezimal)
Subcode2 | Subcode1 | Maincode | Bedeutung |
00 | 00 | 0000 | Normale Ausführung |
01 | 00 | 0000 | Überlauf: PROT-Feld (Warnung) |
00 | 40 | 0001 | Syntaxfehler im auszuwertenden Ausdruck |
01 | 40 | 0001 | Überlauf PROT-Feld |
00 | 40 | 0002 | Fehler beim Auswerten des Ausdrucks |
01 | 40 | 0002 | Überlauf: PROT-Feld |
00 | 40 | 0003 | OUTPUT-Feld zu klein |
00 | 01 | 0004 | INPUT-Feld nicht spezifiziert oder nicht ausgerichtet |
01 | 01 | 0004 | OUTPUT-Feld nicht spezifiziert oder nicht ausgerichtet |
02 | 01 | 0004 | Protokoll-Feld (nicht ausgerichtet) |
03 | 01 | 0004 | andere Felder (nicht ausgerichtet) |
04 | 01 | 0004 | Feldadresse angegeben, aber kein Zugriff möglich |
00 | 40 | 0005 | Kein ausreichend freier Platz im Adressraum des Aufrufers |
01 | 20 | 0006 | Systemfehler |
00 | 40 | 0007 | Ungültiges Prozedurformat; Makroausführung abgebrochen |
00 | 01 | FFFF | Falsche Angabe für UNIT oder FUNCTION im Standardheader |
00 | 02 | FFFF | Die angeforderte Funktion wird nicht unterstützt |
00 | 03 | FFFF | Falsche Versionsangabe im Standardheader |