Provides a multi-branch decision based on the value of a single expression.
CASE expression : { WHEN value [ OR WHEN value ] ... THEN { block | statement } } ... [ OTHERWISE { block | statement } ] END [ CASE ] |
The following fragment shows a simple example of a CASE statement:
r-case.p
DEFINE VARIABLE pay-stat AS INTEGER NO-UNDO INITIAL 1. UPDATE pay-stat VIEW-AS RADIO-SET RADIO-ITEM unpaid 1 LABEL "Unpaid" RADIO-ITEM part 2 LABEL "Partially paid" RADIO-ITEM paid 3 LABEL "Paid in full". CASE pay-stat: WHEN 1 THEN MESSAGE "This account is unpaid.". WHEN 2 THEN MESSAGE "This account is partially paid.". WHEN 3 THEN MESSAGE "This account is paid in full.". END CASE. |