.How to add one input & one Out file in existing cobol
program.
how approach tell me step by step.
Answer Posted / nimsatprasad
IDENTIFICATION DIVISION.
PROGRAM-ID. ADDFILES.
AUTHOR. PRASAD.
DATE-WRITTEN. 2007/07/26.
DATE-COMPILED. 2007/07/26.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-370.
OBJECT-COMPUTER. IBM-370.
SPECIAL-NAMES.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INPUT-FILE1 ASSIGN TO INPUT1
FILE STATUS IS WS-INPUT1-STATUS.
SELECT INPUT-FILE2 ASSIGN TO INPUT2
FILE STATUS IS WS-INPUT2-STATUS.
* HERE INPUT-FILE2 IS NEWLY ADDED
SELECT OUTPUT-FILE1 ASSIGN TO OUTPUT1
FILE STATUS IS WS-OUTPUT1-STATUS.
SELECT OUTPUT-FILE2 ASSIGN TO OUTPUT2
FILE STATUS IS WS-OUTPUT1-STATUS.
* HERE OUTPUT-FILE2 IS NEWLY ADDED
DATA DIVISION.
FILE SECTION.
FD INPUT-FILE1
RECORD CONTAINS 71 CHARACTERS
RECORDING MODE IS F
DATA RECORD IS XXX-RECORD.
01 INPUT-REC1 PIC X(71).
FD INPUT-FILE2
RECORD CONTAINS 71 CHARACTERS
RECORDING MODE IS F
DATA RECORD IS YYY-RECORD.
01 INPUT-REC2 PIC X(71).
* NEWLY ADDED FD.
FD OUTPUT-FILE1
RECORD CONTAINS 71 CHARACTERS
RECORDING MODE IS F
DATA RECORD IS AAA-RECORD.
01 OUTPUT-REC1 PIC X(71).
FD OUTPUT-FILE2
RECORD CONTAINS 71 CHARACTERS
RECORDING MODE IS F
DATA RECORD IS BBB-RECORD.
01 OUTPUT-REC2 PIC X(71).
* NEWLY ADDED FD.
WORKING-STORAGE SECTION.
--
--
--
PROCEDURE DIVISION.
...
...
...
THE BELOW INFORMATION ALSO IS USEFUL FOR THE DECLERATION.
Fixed Block File
• Use ORGANISATION IS SEQUENTIAL. Use RECORDING MODE
IS F, BLOCK CONTAINS 0.
Fixed Unblocked
• Use ORGANISATION IS SEQUENTIAL. Use RECORDING
MODE IS F, do not use BLOCK CONTAINS
Variable Block File
• Use ORGANISATION IS SEQUENTIAL. Use RECORDING MODE
IS V, BLOCK CONTAINS 0. Do not code the 4 bytes for record
length in FD i.e. JCL REC length will be max REC length
in PGM + 4
Variable Unblocked
• Use ORGANISATION IS SEQUENTIAL. Use RECORDING MODE
IS V, do not use BLOCK CONTAINS. Do not code 4 bytes for
record length in FD i.e. JCL REC length will be max REC
length in PGM + 4.
ESDS VSAM file
• Use ORGANISATION IS SEQUENTIAL.
KSDS VSAM file
• Use ORGANISATION IS INDEXED, RECORD KEY IS,
ALTERNATE RECORD KEY IS
RRDS File
• Use ORGANISATION IS RELATIVE, RELATIVE KEY IS
Printer File
• Use ORGANISATION IS SEQUENTIAL. Use RECORDING MODE
IS F, BLOCK CONTAINS 0. (Use RECFM=FBA in JCL DCB).
*** IF ANY THING WORNG REGARD THIS LET ME KNOW, THANKS.
| Is This Answer Correct ? | 7 Yes | 3 No |
Post New Answer View All Answers
How to read the 2nd last record of a VSAM file? (The file size is huge and we don't know the key)
i have 10 names in an array and my name is one of them also array is not in sorted order i need to display my name using index how will i do this
How do get the result of your program directly on your pc?
how do you reference the esds vsam file formats from cobol programs
2 input fles: 2 flat files, with different number of records. both are having unique key for each record and already sorted in ascending order . match these files using unique key and in output only matching key value has to be written. please procide cobol logic
What rules are followed by the search verb.
I have program P1 which calls file F1 which has 100 records and following structure 001 .................. 002 .................. 003 .................. 098 .................... 099 ................... 100 .................... Now I want to read these files and write these records in file F2 in following manner. 001 ...... 051 ..... 002 ...... 052 ..... 003 ...... 053 ..... .......... ....... .......... ....... .......... ....... 048 ........ 098 ...... 049 .......... 099 ....... 050 .... 100 ......
What is report-item in COBOL?
What are all the divisions of a COBOL program?
Differentiate cobol and cobol-ii. (Most of our programs are written in cobolii, so, it is good to know, how, this is different from cobol)?
IDENTIFICATION DIVISION. PROGRAM-ID. UPDT. AUTHOR.anbu. DATE-WRITTEN. AUG 13. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT CMSTR ASSIGN TO CINP1 ORGANIZATION IS INDEXED ACCESS IS SEQUENTIAL RECORD KEY CM2-KEY FILE STATUS IS WS-CMSTR-FST. SELECT CTAB ASSIGN TO CINP2 ORGANIZATION IS ACCESS IS SEQUENTIAL RECORD KEY VSAM-WHSE- KEY FILE STATUS IS WS-CTAB- FST. DATA DIVISION. FILE SECTION. FD CMSTR. COPY RXCYFC20. FD CTAB. COPY AITYWHSE. ************************************************************ ****** *** WORKING STORAGE VARIABLES *** ************************************************************ ****** WORKING-STORAGE SECTION. 01 WS- VARIABLES. 05 WS-EB PIC X(02) VALUE ZEROES. 05 WS-DIV PIC 9(03) VALUE ZEROES. 05 WS-CMF-RECS-REWRITTEN PIC 9(01) VALUE ZERO. *** FILE STATUS VARIABLES *** 05 WS- FILESTATUS. 10 WS-CMSTR-FST PIC 9(02) VALUE ZEROES. 10 WS-CTAB-FST PIC 9(02) VALUE ZEROES. *** END OF FILE VARIABLES *** 05 WS-CMSTR-EOF PIC X(01) VALUE 'N'. 88 WS-CMSTR-EOF-YES VALUE 'Y'. 88 WS-CMSTR-EOF-NO VALUE 'N'. 05 WS-CTAB-EOF PIC X(01) VALUE 'N'. 88 WS-CTAB-EOF-YES VALUE 'Y'. 88 WS-CTAB-EOF-NO VALUE 'N'. **** ERROR VARIABLES **** 05 WC-ABEND-900 PIC 9(03) VALUE 900. 05 WE-ERR-CODE PIC 9(02) VALUE ZEROES. 05 WE-ABEND-CODE PIC 9(03) VALUE ZEROES. ************************************************************ **** ********* PROCEDURE DIVISON ********** ************************************************************ **** PROCEDURE DIVISION. 0000- BEGIN. PERFORM 1000-INITIALISE THRU 1000- EXIT. PERFORM 2000-PROCESS THRU 2000- EXIT UNTIL WS-CMSTR-EOF- YES. DISPLAY 'WS-CMF-RECS-REWRITTEN :' WS-CMF-RECS- REWRITTEN. PERFORM 5000-CLOSE THRU 5000- EXIT. GOBACK. 0000- EXIT. EXIT. 1000- INITIALISE. OPEN I-O CMSTR. EVALUATE WS-CMSTR- FST WHEN 00 WHEN 97 CONTINUE WHEN OTHER DISPLAY 'ERROR IN READING INPUT FILE: ' DISPLAY WS-CMSTR-FST MOVE WS-CMSTR-FST TO WE-ERR-CODE PERFORM 9999-ABEND-PARA THRU 9999-EXIT END-EVALUATE. OPEN INPUT CTAB. EVALUATE WS-CTAB-FST WHEN 00 WHEN 97 CONTINUE WHEN OTHER DISPLAY 'ERROR IN READING INPUT FILE: ' DISPLAY WS-CTAB-FST MOVE WS-CTAB-FST TO WE-ERR-CODE PERFORM 9999-ABEND-PARA THRU 9999-EXIT END-EVALUATE. 1000-EXIT. EXIT. 2000-PROCESS. READ CMSTR. EVALUATE WS-CMSTR-FST WHEN 00 CONTINUE WHEN 10 SET WS-CMSTR-EOF-YES TO TRUE GO TO 2000-EXIT WHEN OTHER DISPLAY 'ERROR IN READING INPUT FILE: ' DISPLAY WS-CMSTR-FST MOVE WS-CMSTR-FST TO WE-ERR-CODE PERFORM 9999-ABEND-PARA THRU 9999-EXIT END-EVALUATE IF CM2-RECORD-TYPE-SOLD-TO MOVE CM2-ENTERING-BRANCH TO WS-EB PERFORM 3000-READ THRU 3000-EXIT UNTIL WS-CTAB-EOF-YES END-IF. 2000-EXIT. EXIT. 3000-READ. MOVE WS-EB TO VSAM-WHSE-CD. MOVE 'WHSE' TO VSAM-WHSE-ID. READ CTAB. EVALUATE WS-CTAB-FST WHEN 00 MOVE WHSE-DIV-CODE TO WS-DIV PERFORM 4000-REWRITE-CMF THRU 4000-EXIT WHEN 10 SET WS-CTAB-EOF-YES TO TRUE GO TO 3000-EXIT WHEN OTHER DISPLAY 'ERROR IN READING TABLE FILE: ' DISPLAY WS-CTAB-FST MOVE WS-CTAB-FST TO WE-ERR-CODE PERFORM 9999-ABEND-PARA THRU 9999-EXIT END- EVALUATE. 3000- EXIT. EXIT. 4000-REWRITE- CMF. IF WS-DIV = 250 OR 252 MOVE 'F' TO CM2-FREIGHT- TYPE MOVE 1 TO CM2-FREIGHT-THRESHOLD- AMT ADD +1 TO WS-CMF-RECS- REWRITTEN REWRITE CM2-SOLD-TO- RECORD DISPLAY 'RECORD UPDATED' END- IF. * EVALUATE WS-CMSTR- FST * WHEN 00 * CONTINUE * WHEN OTHER * DISPLAY 'FILE NOT UPDATED' * DISPLAY WS-CMSTR- FST * MOVE WS-CMSTR-FST TO WE-ERR-CODE * PERFORM 9999-ABEND-PARA THRU 9999-EXIT * GO TO 4000-EXIT * END-EVALUATE. 4000-EXIT. EXIT. 5000-CLOSE. CLOSE CMSTR CTAB. 5000-EXIT. EXIT. 9999-ABEND-PARA. COMPUTE WE-ABEND-CODE = WC-ABEND-900 + WE-ERR-CODE CALL 'ILBOABN0' USING WE-ABEND-CODE GO TO 5000-CLOSE. 9999-EXIT. EXIT. 5000-CLOSE. CLOSE CMSTR CTAB. 5000-EXIT. EXIT. 9999-ABEND-PARA. COMPUTE WE-ABEND-CODE = WC-ABEND-900 + WE-ERR-CODE CALL 'ILBOABN0' USING WE-ABEND-CODE GO TO 5000-CLOSE. 9999-EXIT. EXIT. //this program is giving maxcc=0, but not updating..
What is redefines clause in COBOL?
Difference between cobol and cobol-ii?
How to fetch 1000 error records from VSAM file(Eg: 1000000 records present) while getting SOC7 abend ?
Which Search verb is equivalent to PERFORM…VARYING?