COBOL Manual for TNS and TNS/R Programs
Disk Input and Output
HP COBOL Manual for TNS and TNS/R Programs—522555-006
28-25
Positioning
Example 28-11. Generic Positioning
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT NAME-FILE ASSIGN TO "$JUICE.APPLE.NAME"
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS KEY-NUMBER
ALTERNATE RECORD KEY IS KEY-NAME WITH DUPLICATES
...
DATA DIVISION.
FILE SECTION.
FD NAME-FILE
RECORD CONTAINS 5 TO 100 CHARACTERS
LABEL RECORDS ARE OMITTED.
01 NAME-FILE-REC.
02 KEY-NUMBER PIC X(5).
03 FILLER PIC X(3).
02 KEY-NAME PIC X(35).
02 REDEF-KEY REDEFINES KEY-NAME.
04 FIRST-5 PIC X(5).
04 FILLER PIC X(30).
...
PROCEDURE DIVISION.
THE-TOP.
OPEN I-O NAME-FILE.
PERFORM SHOW-NAMES.
STOP RUN.
SHOW-NAMES.
DISPLAY "SHALL I START THE FILE GENERIC?".
ACCEPT WHAT-FILE.
IF WHAT-FILE = "Y"
DISPLAY "WHAT FIRST 5 LETTERS SHALL I USE?"
ACCEPT FIRST-5
START NAME-FILE KEY = FIRST-5 GENERIC
ELSE
DISPLAY "WHAT APPROXIMATE NAME SHALL I START AT?"
ACCEPT KEY-NAME
START NAME-FILE KEY = KEY-NAME APPROXIMATE.
PERFORM GET-AND-DISPLAY UNTIL NOT NAME-FILE-OK.
GET-AND-DISPLAY.
READ NAME-FILE NEXT;
AT END MOVE "99999-----EOF" TO NAME-FILE-REC.
DISPLAY KEY-NUMBER, "---", KEY-NAME.