Cobol Frage?

IF KZ1 = ‚Y‘
IF STATUS1 = ‚TEST1‘ OR
STATUS2 = ‚TEST2‘ OR
STATUS3 = ‚TEST3‘
END-IF.

Das ist der Code, den ich vorfinde.
Meine Frage, wie ist das zu verstehen?

  1. KZ1 und Status1 muss ‚Test1‘ sein
    oder KZ1 = egal und Status2 muss ‚Test2‘ sein
    oder KZ1 = egal und Status3 muss ‚Test3‘ sein

oder
2. KZ1 muss immer ‚Y‘ sein und dann werden die Stati abgefragt

Danke für Rat!

Gruß
Caro

IF KZ1 = 'Y'
 IF STATUS1 = 'TEST1' OR
 STATUS2 = 'TEST2' OR
 STATUS3 = 'TEST3'
END-IF.

Das ist der Code, den ich vorfinde.

Hm? Und das ist das einzige END-IF? Glaube ich nicht …

Aber sei’s drum. Das, was da oben steht, bedeutet :

Wenn KZ1=‚Y‘, dann prüfe, ob Status1=‚Test1‘ oder ‚Test2‘ oder ‚Test3‘ ist. Sonst passiert nix.

Das ist äquivalent zu der folgenden Klausel :

IF (KZ1='Y' AND

 (STATUS1 = 'Test1' OR
 STATUS2 = 'Test2' OR
 STATUS3 = 'Test3'))

 LOTS-OF-CODE.

END-IF.

Also, wenn Bedingung 1 nix ist, wird Bedingung 2 nicht geprüft.

Gruß kw

DANKE!

IF KZ1 = ‚Y‘
IF STATUS1 = ‚TEST1‘ OR
STATUS2 = ‚TEST2‘ OR
STATUS3 = ‚TEST3‘
END-IF.

Das ist der Code, den ich vorfinde.

Hm? Und das ist das einzige END-IF? Glaube ich nicht …

Glaube mir, sonst schicke ich dir den ganzen Code…

Aber sei’s drum. Das, was da oben steht, bedeutet :

Wenn KZ1=‚Y‘, dann prüfe, ob Status1=‚Test1‘
oder ‚Test2‘ oder ‚Test3‘ ist. Sonst passiert nix.

Das ist äquivalent zu der folgenden Klausel :

IF (KZ1=‚Y‘
AND

(STATUS1 = ‚Test1‘ OR
STATUS2 = ‚Test2‘ OR
STATUS3 = ‚Test3‘))

LOTS-OF-CODE.

END-IF.

Also, wenn Bedingung 1
nix ist, wird Bedingung 2 nicht geprüft.

Gruß kw

Ganz sicher?

Gruß
Caro

Glaube mir, sonst schicke ich dir den ganzen Code…

Dann mach.

Ganz sicher?

So lange ich nicht den ganzen Code habe, leiste ich keinen Blutschwur.

Gruß kw