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..
No Answer is Posted For this Question
Be the First to Post Answer
In a program, variables are used but no DB2 involved in it. Can you call it as host variables??
01 A pic 9(100) find record length of it
Why we should use cursor ?
consider the following PROCEDURE DIVISION entry OPEN EXTEND IN-FILE identify the correct statement a.organization of IN-FILE is sequential and records can be added in the beginning b.organization of IN-FILE is sequential and records can be added in the end c.organization of IN-FILE is indexed and records can be added in the beginning d.organization of IN-FILE is indexed and records can be added in the end
How would the number +1234 be stored if a PIC clause of PICTUREs9(4) comp-3 were used?
What is amode(24), amode(31), rmode(24) and rmode(any) (applicable to only mvsesa enterprise server) ?
what is sort? whis is internal & external sort ?when do u go for inter sort & external sort? tell about some sort utilites?
What is the default value of DISP parameter?
) How do u handle errors in BMS macro?
How is sign stored in a comp-3 field?
how many bytes do SPPPP999 will store?
What type of Call you would use if you don;t want the control back to the calling program?