)ATTR
  _   TYPE(INPUT)   INTENS(LOW)   JUST(LEFT)   PAD(' ')   CAPS(ON)
  @   TYPE(INPUT)   INTENS(LOW)   JUST(LEFT)   PAD(' ')   CAPS(ON)

)BODY
%------------------- TELEPHONE BOOK APPLICATION -----------------------
+SELECT AN OPTION:%==>@ZCMD                                           %
%
% A+- Add new entry               %F+- Refresh the table from disk
% C+- Change an existing entry    %K+- Remove the table from disk
% D+- Delete old entry            %L+- List the table
% G+- Get last entry              %Q+- Query the table
% M+- Add/Change entry            %S+- Scan table, non-unique
% Z+- Blank screen entry          %R+- Rescan the table, continue scan
% P+- Prepare report              %T+- Search on last name, unique key
% B+- Browse report               %V+- Save the table on disk
% E+- Edit report                 %Y+- Destroy report
%
+CURRENT VALUES / ENTER SEARCH VALUES:
%
+ LAST NAME  ===>_TLNAM         +
+ FIRST NAME ===>_TFNAM         +
+ PHONE NUM  ===>_TNUM          +
+ LOCATION   ===>_TLOC          +
%
%
+                 Note: Enter telephone number as XXX-NNNN

)INIT
  .CURSOR = ZCMD
  &ZCMD = &OTELOPT
  &VAR = '(TLNAM TFNAM TNUM TLOC)'
  IF (&ZERRMSG ^= ' ')
     .MSG = &ZERRMSG
     &ZERRMSG = ' '

)PROC
  &OSEL = &ZSEL
  &OTELOPT = &ZCMD
  IF (&ZCMD = R) &ZCMD = S
  IF (&ZCMD ^= S)
     VER(&TNUM, PICT,'NNN-NNNN')
  VPUT (TLNAM TFNAM TNUM TLOC) SHARED

)END