|
Here is a piece of the Cobol/400 code. It was originally in MicroFocus Cobol on an RS/6000. I have changed it to access an (live, working) RPG DDS file on the 400. When the program runs, I am getting an error 39 on the TFACR file (invalid key). Please see my notes in RED. INPUT-OUTPUT SECTION. FILE-CONTROL. select tfacr assign to database-tfacr organization indexed access dynamic record key externally-described-key file status tfacr-fs. SELECT PrintFile assign to disk-prtfil access sequential file status printfile-fs. DATA DIVISION. FILE SECTION. fd tfacr label records are standard. 01 tfacr-record. COPY DDSR-TFACR00 OF UAVBASEF-TFACR. * I-O FORMAT:TFACR00 FROM FILE TFACR OF LIBRARY UAVBASEF * Account Criteria File *THE KEY DEFINITIONS FOR RECORD FORMAT TFACR00 * NUMBER NAME RETRIEVAL ALTSEQ * 0001 ATORG ASCENDING NO * 0002 ATSHAC ASCENDING NO 05 TFACR00. 06 ATORG PIC X(3). * Origin 06 ATSHAC PIC X(12). * Ship Account 06 ATCAD1 PIC X(35). * Customer Address 1 06 ATCAD2 PIC X(35). (remainder of file omitted for brevity) PROCEDURE DIVISION. Begin. OPEN INPUT tfacr. if tfacr-fs not = "00" display "tfacr open error" Error 39 display tfacr-fs. OPEN OUTPUT PrintFile. if printfile-fs not = "00" display "printfile open error" Error 90 (How do I name this file?) display printfile-fs. I actually want a flatfile here, not an actual "printer file" accept tfacr-fs with update accept printfile-fs with update if tfacr-fs = "00" and printfile-fs = "00" Mor display "go " accept printfile-fs with update INITIALIZE tfacr-RECORD MOVE "FM" to atorg START tfacr KEY NOT < atorg READ tfacr NEXT RECORD move headerline to detailline write detailline move spaces to detailline PERFORM PrintReport UNTIL tfacr-FS = "10". CLOSE tfacr, PrintFile. STOP RUN. PrintReport. move atshac to prt-atshac. move atcad1 to prt-atcad1. move atcty to prt-atcty. move atste to prt-atste. move atzip to prt-atzip. write detailline. READ tfacr NEXT RECORD. * * * * * E N D O F S O U R C E * * * 10 MSGID: LNC0037 SEVERITY: 10 SEQNBR: 001200 Message . . . . : Presence or absence of 'DUPLICATES' phrase for fi 'TFACR' does not match attributes of copied file. 18 MSGID: LNC0848 SEVERITY: 0 SEQNBR: 002400 Message . . . . : The LABEL clause is syntax checked and ignored. 19 MSGID: LNC0929 SEVERITY: 0 SEQNBR: 002600 Message . . . . : The COPY statement used format 2 (DDS translate). 86 MSGID: LNC0848 SEVERITY: 0 SEQNBR: 002900 Message . . . . : The LABEL clause is syntax checked and ignored. 121 MSGID: LNC0412 SEVERITY: 20 SEQNBR: 007400 Message . . . . : INVALID KEY phrase not found in START statement. Accepted. 122 MSGID: LNC0407 SEVERITY: 20 SEQNBR: 007500 Message . . . . : AT END phrase missing from sequential READ. Accepted. 135 MSGID: LNC0407 SEVERITY: 20 SEQNBR: 009500 Message . . . . : AT END phrase missing from sequential READ. Accepted. 135 MSGID: LNC0650 SEVERITY: 0 SEQNBR: 009500 Message . . . . : Blocking/Deblocking for file 'PRINTFILE' will be performed by compiler-generated code.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.