beautypg.com

Compaq COBOL AAQ2G1FTK User Manual

Page 227

background image

Processing Files and Records

6.4 Reading Files

Example 6–35 (Cont.) Reading an Indexed File Dynamically, with READ PRIOR

*+
* READ PREVIOUS after file open for IO, from a middle
* record to beginning record on primary key.
*+

OPEN I-O F.
MOVE "2345678990" TO R.
READ F INVALID KEY DISPLAY "?6" GO TO P2 END-READ.
IF R NOT = "2345678990" THEN DISPLAY "?7 " R.
READ F PREVIOUS AT END DISPLAY "?8" GO TO P2 END-READ.
IF R NOT = "1234567890" THEN DISPLAY "?9 " R.
READ F PREVIOUS AT END DISPLAY "?10" GO TO P2 END-READ.
IF R NOT = "0123456789" THEN DISPLAY "?11 " R.
READ F PREVIOUS AT END GO TO P2.
DISPLAY "?12 " R.

*+
* Multiple READ PREVIOUS on a display alternate key with
* duplicates.
*+
P2. MOVE "91" TO K2.

READ F KEY K2 INVALID KEY DISPLAY "?13" GO TO P5 END-READ.
R NOT = "9876543291" THEN DISPLAY "?14 " R.
READ F PREVIOUS AT END DISPLAY "?15" GO TO P5 END-READ.
IF R NOT = "2345678990" THEN DISPLAY "?16 " R.
READ F PREVIOUS AT END DISPLAY "?17" GO TO P5 END-READ.
IF R NOT = "1234567890" THEN DISPLAY "?18 " R.
READ F PREVIOUS AT END DISPLAY "?19" GO TO P5 END-READ.
IF R NOT = "0123456789" THEN DISPLAY "?20 " R.
READ F PREVIOUS AT END GO TO P5.
DISPLAY "?21 " R.

P5. CLOSE F.

DISPLAY "***END***".
STOP RUN.

Reading an Indexed File from Other Languages on Tru64 UNIX

COBOL supports more data types for indexed keys than are supported in the
ISAM definition. For keys in any of the data types not supported in the ISAM
definition, the run-time system will translate those keys to strings. Table 6–7
specifies the appropriate mapping to create or use indexed files outside of COBOL
(For example, if you are using the C language on Tru64 UNIX and you need to
access COBOL files). See the ISAM package documentation for details of the file
format.

Table 6–7 Indexed File—ISAM Mapping

COBOL Data Type

Maps To

Transformation Method

character string
PIC x(n)

CHARTYPE

None.

short signed int
PIC S9(4) COMP

INTTYPE

C-ISAM

long signed int
PIC S9(9) COMP

LONGTYPE

C-ISAM

(continued on next page)

Processing Files and Records 6–47