• Tidak ada hasil yang ditemukan

APPENDIX D

COPY BOOKS FOR COBOL PROGRAMS USING CARTA~

CARTCB07 CO~ftUNICATION BLOCK.

05 DDNA!E PIC X(8) VALOE 1GEOINDEX1

05 FUNCTION-CODE VALUE 10PEN1 • 10 FUNCTION-CODE-1 PIC X.

10 FUNCTION-CODE-2 PIC X.

10 FUNCTION-CODE-3 PIC X.

10 FONCTION-CODE-4 PIC X.

88 CONTINUE-WALK VALUE ' ' 88 DISCARD-SUBTREE VALUE 'T'.

88 KEEP-ALL-CHILDREN VALUE

'L'.

05 STATUS-CODE PIC XX.

88 GOOD-CARTAM-OPEN VALUE ' ' 88 SOCCESSPUL-CARTAM VALUE ' '

88 MORE-PATH VALUE ' '

88 END-OF-PARENT VALUE 'GE'.

05 MODE-INDICATOR PIC X.

05 USER-DATA-PAD-CHARACTER PIC X VALUE ' ' 05 MORT-INDICATOR REDEFINES OSER-DATA-PAD-CHARACTER

OS

-164- CARTFNCS CAB TU! FUNCTION CODES.

01 CARTA!!-FUNCTION-CODES.

03 CARTAM-OPEN PIC

xx xx

VALUE 'OPEN'.

03 CART AM -LOAD PIC

xx xx

VALUE 9LOAD ' . 03 CARTA!!-ISRT PIC

xx xx

VALUE 9ISRT 1 •

03 CARTAM-CHNG PIC

xx xx

VALUE 'CHNG•.

03 CARTAM-DLET PIC

xx xx

VALUE 'DLET'.

03 CARTAM-cLOSE PIC

xx xx

VALUE 1CLSE •.

03 GR PIC

xx xx

VALUE 'GR

03 GRL PIC

xx xx

VALUE 'GR L 1

03 GI! PIC

xx xx

VALUE 'GM

03 Gl!P PIC

xx xx

VALUE 1GMP ' · 03 GNP PIC

xx xx

VALUE 'GNP ' . 03 GNPT PIC

xx xx

VALUE 1GNPT 1 •

03 G?IPL PIC

xx xx

VALUE 1GNPL'.

03 SUB-FUNCTIONS.

05 88-CONTINOE-WALK PIC X VALUE I

05 88-DISCARD-SUBTREE PIC X VALUE

'T' •

05 88-KEEP-ALL-CHILDREN PIC X VALUE

•t•.

05 FILLER PIC X VALUE

I

03 GP PIC XXXX VALUE 'GP

03 GPP PIC XXXX VALUE 'GPP

03 GT PIC XXXX VALUE 'GT

03 GTP PIC XXXX VALUE 'GTP '

03 GC PIC XXXX VALUE 'GC t

03 GCP PIC XXXX VALUE 'GCP

03 GN PIC XXXX VALUE 'GN'

'

APPENDIX E

INDEX LOAD PROGRAM SOURCE

IDENTIFICATION DIVISION.

PROGRAM-ID. NTBNDLIX.

DATE-WRITTEN. NOY77.

DATE-COMPILED.

ENVIRONMENT DIVISION.

INPUT-OUTPUT SECTION.

FILE-CONTROL.

SELECT NTB-FILE ASSIGN TO NTBVSA~

ORGANIZATION IS INDEXED ACCESS IS SEQUENTIAL RECORD KEY IS V-NTB-KEY PILE STATUS IS PILE-STATUS.

SELECT NDL-FILE ASSIGN TO NDLVSA~

ORGANIZATION IS INDEXED ACCESS IS SEQUENTIAL RECORD KEY IS V-ZBKEY

FILE STATUS IS PILE-STATUS.

-166- DATA DIVISION.

FILE SECTION.

FD HTB-FILE

LABEL RECORDS ARE STANDARD BLOCK CONTAINS 0 RECORDS

RECORD CONTAINS 276 TO 4596 CHARACTERS DATA RECORD IS VSAM-NTB-RECORD.

COPY VSAr!NTB.

66 V-IBLATLNG RENAMES V-IBLAT THRO V-IBLNG-DIR.

FD NDL-FILE

LABEL RECORDS ARE STANDARD BLOCK CONTAINS 0 RECORDS

RECORD CONTAINS 340 TO 1840 CHARACTERS DATA RECORD IS VSAM-ZB-ZO-RECORD.

COPY JLPVZBZO.

66 V-ZBLATLNG RENA~ES V-ZBLAT THRO V-ZBLNGSGN.

WORKING-STORAGE SECTION.

77 EOF-SWITCH PIC 9 VALUE

o.

88 EOF VALUE 1.

77 RETURN-STATUS PIC X(OLI) VALUE SPACES.

88 SUCCESSFUL VALUE • 0000 ••

11 DISPOSITION PIC

x

(03) VALUE 1SHR•.

11 PILE-STATUS PIC x {02) VALUE SPACES.

01 COMMUNICATION-BLOCK.

COPY CARTCB07.

01 OSER-DATA-AREA.

05 KEY-FEEDBACK-AREA.

10 ?lDL-KEY.

15 ISL PIC 9 (5).

15 DGZ PIC

x

(3} •

15 REV PIC

x.

10 PILLER PIC X (15) • 05 FILLER REDEFINES KEY-FEEDBACK-AREA.

10 NTB-KEY.

15 ISL PIC 9 (5) •

15 CAT PIC 9 (5) -

15 iAK PIC 9 (4) -

15 BEN PIC

x

(6) •

15 ELT PIC

x.

10 PILLER PIC

x

(3) -

66 NDL-IGZ RENAl!ES ISL OF NDL-KEY THRO DGZ OP NDL-KEY.

-168- 01 COORDINATE-VECTOR.

05 NDX-LAT PIC S9 (9) COMP SYNC.

05 NDX-LON PIC S9 (9) COMP SYNC.

05 BOX-DELTA PIC S9 (9) COMP SYNC.

01 WK-LAT-LNG.

03 WK-LAT.

05 WK-LATD PIC 9 (02) VALUE

o.

05 WK-LATl'I PIC 9(02) VALUE

o.

05 WK-LATS PIC 9 (02) VALOE

o.

05 WK-LAT-DIR PIC I (01) VALUE SPACE.

03 WK-LONG.

05 iK-LOHGD PIC 9 (03) VALUE

o.

05 WK-LONG!! PIC 9(02) VALUE

o.

05 WK-LONGS PIC 9 (02) VALUE

o.

05 WK-LONG-DIR PIC X(Ol) VA LOE SPACE.

01 ALLOCATED-DSM.

03 PILLER PIC

x

(04) VALUE 1JLP.•.

03 FILLER PIC

x

(08) VALUE 1VSAMNDL.•.

03 FILLER PIC

x

(05) VAL OE 'ZBZ0.1 03 REV-POR-DSN PIC

x

(01) VALUE "B' • 03 PILLER PIC

x

(01) VALUE SPACE.

01 DD-RAl!!E PIC

x

(08) VALUE 1NDLVSAM I

01 DUf!l!!Y-DD-NAME.

03 PILLER PIC

x

(07) VALUE 'DUMKYDD'.

03 DUMMY-DD-NAME-REV PIC

x

(01) VALUE

'B'.

01 VALUE-OP-BEV-TABLE PIC X(03) VALUE 'BCD'.

01 TABLE-OF-REV-VALUES

REDEFINES VALUE-OF-REV-TABLE.

03 REV-LETTER PIC I OCCURS 3 TIMES INDEXED BY REV-NDX.

01 ACCUMULATORS.

03 ONE-CON 03 TOTAL-ISRTS 03 TOTAL-GETS 03 TOTAL-POTS

PIC S9(06} COMP SYNC VALUE +1.

PIC S9(06) COMP SYNC VALUE +0.

PIC S9(06) COMP SYNC VALUE +O.

PIC S9(06) COMP SYNC VALUE +0.

PROCEDURE DIVISION.

000-0PEN-IHITIALIZE.

MOVE 24 TO MAX-OSER-AREA-LENGTH.

!OVE 'LOAD' TO FUNCTION-CODE.

ftOYE 1F1 TO MODE-INDICATOR.

*

OPEN INDEX PILE FOR INTEGER COORDINATES.

CALL 1CARTA81 USING COMMUNICATION-BLOCK.

MOVE +21 TO TRUE-USER-DATA-LENGTH.

ftOVE 1ISRT1 TO FUNCTION-CODE.

010-0PEN-PILES.

OPEN INPUT NTB-FILE.

PERFORM 100-CONVERT-CALL-NTB THRO 100-EXIT UNTIL EOF.

MOVE +9 TO TRUE-USER-DATA-LENGTH.

PERFORM 200-0PEN-C'LOSE-NDL-FILES THRO 200-EXIT VARYING REV-HDX FROM 1 BY 1 UNTIL REV-NDX

>

3.

900-LAST-CALL-TO-CARTOR.

DISPLAY 'TOTAL I READS

=

1 TOTAL-GETS,

•, TOTAL I WRITES = • TOTAL-PUTS,

1 , TOTAL I INSERTS= 1 TOTAL-ISRTS, ' 1

!OVE 1CLSE1 TO FUNCTION-CODE.

CALL 1CARTAM1 USING COMMUNICATION-BLOCK.

GOBACK.

100-CONVERT-CALL-NTB.

BEAD NTB-FILE AT END

MOVE 1 TO EOP-SWITCH CLOSE NTB-PILE

GO TO 100-EXIT.

MOVE V-IBLATLNG TO WK-LAT-LNG.

MOVE V-NTB-KEY TO NTB-KEY.

PERFORM 500-CONVERT-CALL THRO 500-EXIT.

100-EXIT.

EXIT.

-170- 200-0PEN-CLOSE-NDL-FILES.

~OVE REV-LETTER (BEV-NDX) TO REV-FOR-DSN,

DUMMY-DD-NAME-REV.

CALL 1ALLOCD1 USING RETURN-STATUS, DD-NAME,

ALLOCATED-DSN, DISPOSITION.

IP SUCCESSFUL

ELSE

MOVE 0 TO EOP-SWITCH OPEN INPUT NDL-PILE

PERFORM 300-CONVERT-CALL-NDL THRO 300-EXIT UNTIL EOF CALL 1DEALLC1 USING RETURN-STATUS, IP SUCCESSFUL

NEXT SENTENCE ELSE

DD-NAME

DISPLAY 'STATUS

=

<•, RETURN-STATUS,

'>, DDN =',DD-NAME

~OVE •00001 TO RETURN-STATUS

DISPLAY 'STATUS

=

<', RETURN-STATUS,

•>, DDN

= ',

DD-NAME,

1 , DSN

=

1 , ALLOCATED-DSN

~OVE •00001 TO RETURN-STATUS.

CALL 'DEALLC' USING RETURN-STATUS, DUfU!Y-DD-NUIE.

IP NOT SUCCESSFUL

DISPLAY 'STATUS

=

<•, RETURN-STATUS,

1>, DDN

=

1 , DUMMY-DD-NAME

!OVE

•oooo•

TO RETURN-STATUS.

200-EXIT.;.

EXIT.

300-CONVERT-CALL-NDL.

READ HDL-P'ILE AT END

MOVE 1 TO EOF-SWITCH CLOSE MDL-FILE

GO TO 300-EXIT.

MOYE V-ZBLATLNG TO WK-LAT-LNG.

!OVE V-ZBKEY TO HDL-IGZ.

MOVE V-ZBREV TO REV OP' NDL-KEY.

PERFORM 500-CONVERT-CALL THRU 500-EXIT.

300-EXIT.

EXIT.

500-COHVERT-CALL.

COMPUTE NDX-LAT

=

(60

*

WK-LATD + WK-LATP!)

Dokumen terkait