Trailing-Edge
-
PDP-10 Archives
-
BB-AE97C-BM
-
uetp/lib/rmtmki.cbl
There are 16 other files named rmtmki.cbl in the archive. Click here to see a list.
ID DIVISION.
PROGRAM-ID. RTEST - RMS TEST FOR COBOL.
*
*
* COPYRIGHT (c) 1983 BY
* DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
*
* THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
* ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
* INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
* COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
* OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
* TRANSFERRED.
*
* THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
* AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
* CORPORATION.
*
* DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
* SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
*
*
* THIS IS A SIMPLE TEST OF THE VARIOUS RMS FUNCTIONS NEEDED FOR COBOL.
* IT TRIES TO TEST A LITTLE OF EVERYTHING.
ENVIRONMENT DIVISION.
I-O SECTION.
FILE-CONTROL.
SELECT FILE-1 ASSIGN TO DSK;
ORGANIZATION IS RMS INDEXED;
ACCESS MODE IS DYNAMIC;
RECORD KEY IS RK1;
ALTERNATE RECORD KEY IS AK1-1;
ALTERNATE RECORD KEY IS AK1-2 WITH DUPLICATES.
SELECT FILE-2 ASSIGN TO DSK;
ORGANIZATION IS RMS INDEXED;
ACCESS MODE IS SEQUENTIAL;
RECORD KEY IS RK2;
ALTERNATE RECORD KEY IS AK2-1;
ALTERNATE RECORD KEY IS AK2-2.
DATA DIVISION.
FILE SECTION.
FD FILE-1 VALUE OF ID IS "RMTF1 RMS".
01 REC-1 DISPLAY-7.
02 RK1 PIC X(5).
02 AK1-1 PIC X(5).
02 AK1-2 PIC 9(5).
02 FILLER PIC X(10).
FD FILE-2 VALUE OF ID IS "RMTF2 RMS".
01 REC-2.
02 FILLER PIC X(5).
02 RK2 PIC X(5).
02 AK2-1 PIC X(5).
02 AK2-2 PIC 9(5).
02 FILLER PIC X(5).
WORKING-STORAGE SECTION.
01 F1R1 PIC X(25) VALUE "AAAAADDDDD11111XXXXXXXXXX".
01 F1R2 PIC X(25) VALUE "BBBBBEEEEE11111XXXXXXXXXX".
01 F1R3 PIC X(25) VALUE "CCCCCFFFFF22222XXXXXXXXXX".
01 F1R4 PIC X(25) VALUE "DDDDDGGGGG22222XXXXXXXXXX".
01 F1R5 PIC X(25) VALUE "EEEEEHHHHH11111YYYYYYYYYY".
01 F2R1 PIC X(25) VALUE "XXXXXAAAAADDDDD55555XXXXX".
01 F2R2 PIC X(25) VALUE "YYYYYBBBBBEEEEE66666XYXYX".
01 F2R3 PIC X(25) VALUE "XXXXYCCCCCFFFFF77777XXYXX".
01 F2R4 PIC X(25) VALUE "XXYYXDDDDDGGGGG88888YXYXY".
01 F2R5 PIC X(25) VALUE "YYXXYEEEEEHHHHH99999YYYYX".
PROCEDURE DIVISION.
STARTER.
OPEN I-O FILE-1.
OPEN OUTPUT FILE-2.
S-1.
WRITE REC-1 FROM F1R1
INVALID KEY DISPLAY "?S-1".
S-2.
WRITE REC-1 FROM F1R2
INVALID KEY DISPLAY "?S-2".
S-3.
WRITE REC-1 FROM F1R3
INVALID KEY DISPLAY "?S-3".
S-4.
WRITE REC-1 FROM F1R4
INVALID KEY DISPLAY "?S-4".
S-5.
WRITE REC-1 FROM F1R5
INVALID KEY DISPLAY "?S-5".
S-6.
CLOSE FILE-1.
OPEN INPUT FILE-1.
S-7.
WRITE REC-2 FROM F2R1
INVALID KEY DISPLAY "?S-7".
S-8.
WRITE REC-2 FROM F2R2
INVALID KEY DISPLAY "?S-8".
S-9.
WRITE REC-2 FROM F2R3
INVALID KEY DISPLAY "?S-9".
S-10.
WRITE REC-2 FROM F2R4
INVALID KEY DISPLAY "?S-10".
S-11.
WRITE REC-2 FROM F2R5
INVALID KEY DISPLAY "?S-11".
S-12.
CLOSE FILE-2.
OPEN INPUT FILE-2.
S-13.
MOVE F1R1 TO REC-1.
READ FILE-1 INVALID KEY DISPLAY "?S-13".
S-14.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-14".
S-15.
IF REC-1 NOT = F1R2 DISPLAY "?S-15".
S-16.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-16".
S-17.
IF REC-1 NOT = F1R3 DISPLAY "?S-17".
S-18.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-18".
S-19.
IF REC-1 NOT = F1R4 DISPLAY "?S-19".
S-20.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-20".
S-21.
IF REC-1 NOT = F1R5 DISPLAY "?S-21".
S-22.
READ FILE-1 NEXT RECORD AT END GO TO S-23.
DISPLAY "?S-22".
S-23.
CLOSE FILE-1.
OPEN I-O FILE-1.
S-24.
MOVE F1R4 TO REC-1.
START FILE-1 KEY = RK1 INVALID KEY DISPLAY "?S-24".
S-25.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-25".
S-25A.
IF REC-1 NOT = F1R4 DISPLAY "?S-25A".
S-26.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-26".
S-27.
MOVE F1R4 TO REC-1.
START FILE-1 KEY NOT LESS RK1 INVALID KEY DISPLAY "?S-27".
S-28.
READ FILE-1 NEXT AT END DISPLAY "?S-28".
S-29.
IF REC-1 NOT = F1R4 DISPLAY "?S-29".
S-30.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-30".
S-31.
MOVE F1R4 TO REC-1.
START FILE-1 KEY GREATER RK1 INVALID KEY DISPLAY "?S-31".
S-32.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-32".
S-33.
IF REC-1 NOT = F1R5 DISPLAY "?S-33".
S-34.
READ FILE-2 NEXT RECORD AT END DISPLAY "?S-34".
S-35.
IF REC-2 NOT = F2R1 DISPLAY "?S-35".
S-36.
READ FILE-2 NEXT RECORD AT END DISPLAY "?S-36".
S-37.
IF REC-2 NOT = F2R2 DISPLAY "?S-37".
S-38.
READ FILE-2 NEXT RECORD AT END DISPLAY "?S-38".
S-39.
IF REC-2 NOT = F2R3 DISPLAY "?S-39".
S-40.
READ FILE-2 NEXT RECORD AT END DISPLAY "?S-40".
S-41.
IF REC-2 NOT = F2R4 DISPLAY "?S-41".
S-42.
READ FILE-2 NEXT RECORD AT END DISPLAY "?S-42".
S-43.
IF REC-2 NOT = F2R5 DISPLAY "?S-43".
S-44.
READ FILE-2 NEXT RECORD AT END GO TO S-45.
DISPLAY "?S-44".
S-45.
MOVE F1R3 TO REC-1.
DELETE FILE-1 INVALID KEY DISPLAY "?S-45".
S-46.
MOVE F1R4 TO REC-1.
MOVE 00000 TO AK1-2.
REWRITE REC-1 INVALID KEY DISPLAY "?S-46".
S-47.
MOVE 00000 TO AK1-2.
START FILE-1 KEY = AK1-2 INVALID KEY DISPLAY "?S-47".
S-48.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-48".
S-48A.
IF AK1-2 NOT = 00000 DISPLAY "?S-48A".
S-49.
MOVE 22222 TO AK1-2.
IF REC-1 NOT = F1R4 DISPLAY "?S-49".
S-50.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-50".
S-51.
IF REC-1 NOT = F1R1 DISPLAY "?S-51".
S-52.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-52".
S-53.
IF REC-1 NOT = F1R2 DISPLAY "?S-53".
S-54.
READ FILE-1 NEXT RECORD AT END DISPLAY "?S-54".
S-55.
IF RK1 NOT = "EEEEE" DISPLAY "?S-55".
S-56.
MOVE "XXXXX" TO RK1.
READ FILE-1 INVALID KEY GO TO S-57.
DISPLAY "?S-56".
S-57.
MOVE F1R5 TO REC-1.
READ FILE-1 INVALID KEY DISPLAY "?S-57".
S-58.
MOVE "DDDDD" TO AK1-1.
REWRITE REC-1 INVALID KEY GO TO S-59.
DISPLAY "?S-58".
S-59.
CLOSE FILE-1, FILE-2.
T-DONE.
DISPLAY "[RMS - COBOL - Test completed]".
STOP RUN.