Code: Alles auswählen.
IF NOT ( ( CHA_HEX_GROUP+1(1) Z CHA_STATUS+1(1) )
Da ist eine Klammer offen. Ist das Problem evtl. an anderer Stelle?DeathAndPain hat geschrieben:FH5AMF30, Zeile 147:Code: Alles auswählen.
IF NOT ( ( CHA_HEX_GROUP+1(1) Z CHA_STATUS+1(1) )
Doku hat geschrieben:Z Zeros: True, if the bits that are 1 in operand2 are 0 in operand1. If operand2 contains only zeroes, the logical expression is always true.
Nein, die F1-Hilfe lesen kann ich selber, danke. Aber das, was da steht, deckt sich nach meiner Überzeugung nicht mit dem Systemverhalten.wreichelt hat geschrieben:Hilft das ?
[snip]
Nein, da kommt noch eine zweite Bedingung mit AND dahinter. Aber wenn das Gesamtgebilde auf true auswertet, dann muss ja bei AND insbesondere der von mir zitierte erste Teil true sein.Daniel hat geschrieben:Da ist eine Klammer offen. Ist das Problem evtl. an anderer Stelle?DeathAndPain hat geschrieben:FH5AMF30, Zeile 147:Code: Alles auswählen.
IF NOT ( ( CHA_HEX_GROUP+1(1) Z CHA_STATUS+1(1) )
Nein, eben nicht. Bit 3 in Operand 2 ist 1. Damit Z true ist, müsste - gemäß der von Dir selbst zitierten Regel - Bit 3 in Operand 1 Null sein. Wie ich aber vorgerechnet habe, ist das Bit 3 in Operand 1 gleichfalls 1.black_adept hat geschrieben:Läuft doch genau wie die Doku sagt.
Code: Alles auswählen.
DATA: hex1 TYPE x VALUE '36',
hex2 TYPE x VALUE '04'.
IF hex1 Z hex2.
WRITE 'Ja'.
ELSE.
WRITE 'Nein'.
ENDIF.
Du hast doch alles genau in deinem Originalpost korrekt ausgeführt, dass x36 Z x04 false ist. Kann es sein, dass du nicht gesehen hast, dass dein Ausdruck noch ein "NOT" vor der ganzen Bedingung hat, die das Ergebnis dann halt umkehrt?DeathAndPain hat geschrieben:Nein, eben nicht...black_adept hat geschrieben:Läuft doch genau wie die Doku sagt.