Eine bedingte Anweisung dient dazu, den Wahrheitswert einer Bedingung zu bestimmen und den von diesem Wahrheitswert abhängigen folgenden Programmschritt festzulegen.
Zu den bedingten Anweisungen gehören:die IF-, EVALUATE-, SEARCH- und RETURN-Anweisung,
eine OPEN DOCUMENT-Anweisung, die die (NOT) AT-END-Angabe enthält,
eine READ-Anweisung, die die (NOT) AT END- oder (NOT) INVALID KEY-Angabe enthält,
eine WRITE-Anweisung, die die (NOT) INVALID KEY- oder (NOT) END-OF-PAGE-Angabe enthält,
eine START-, REWRITE- oder DELETE-Anweisung, die die (NOT) INVALID KEY-Angabe enthält,
eine ADD-, COMPUTE-, DIVIDE-, MULTIPLY- oder SUBTRACT-Anweisung, die die (NOT) ON SIZE ERROR-Angabe enthält,
eine STRING- oder UNSTRING-Anweisung, die die (NOT) ON OVERFLOW-Angabe enthält,
eine CALL-Anweisung, die die ON OVERFLOW- oder (NOT) ON EXCEPTION-Angabe enthält.
eine ACCEPT- oder DISPLAY-Anweisung, die die (NOT) ON EXCEPTION-Angabe enthält.
eine INVOKE-Anweisung, die die (NOT) ON EXCEPTION-Angabe enthält.
Ein bedingter Programmsatz ist eine bedingte Anweisung, der eine unbedingte Anweisung vorangehen kann und die durch einen Punkt und ein nachfolgendes Leerzeichen abgeschlossen wird.