| 
       KEYFUNCTION ( expression )
       | 
| 
       DEFINE VARIABLE msg AS CHARACTER NO-UNDO EXTENT 3.
        DEFINE VARIABLE ix AS INTEGER NO-UNDO INITIAL 1. DEFINE VARIABLE newi AS INTEGER NO-UNDO INITIAL 1. DEFINE VARIABLE func AS CHARACTER NO-UNDO. DISPLAY " Please choose " SKIP(1) " 1 Run order entry " @ msg[1] ATTR-SPACE SKIP " 2 Run receivables " @ msg[2] ATTR-SPACE SKIP " 3 Exit " @ msg[3] ATTR-SPACE SKIP WITH CENTERED FRAME menu NO-LABELS. REPEAT: COLOR DISPLAY MESSAGES msg[ix] WITH FRAME menu. READKEY. func = KEYFUNCTION(LASTKEY). IF func = "CURSOR-DOWN" AND ix < 3 THEN newi = ix + 1. ELSE IF func = "CURSOR-UP" AND ix > 1 THEN newi = ix - 1. ELSE IF func = "GO" OR func = "RETURN" THEN LEAVE. IF ix <> newi THEN COLOR DISPLAY NORMAL msg[ix] WITH FRAME menu. ix = newi. END. | 
 The value returned by the KEYFUNCTION function is affected by any ON statements you use to redefine the value of the key represented by expression.
The value returned by the KEYFUNCTION function is affected by any ON statements you use to redefine the value of the key represented by expression.
   If the key represented by expression has no function currently assigned to it or if it has the function of BELL, KEYFUNCTION returns a null value.
If the key represented by expression has no function currently assigned to it or if it has the function of BELL, KEYFUNCTION returns a null value.
   KEYFUNCTION(-2) is equal to ENDKEY.
KEYFUNCTION(-2) is equal to ENDKEY.