View previous topic :: View next topic
|
Author |
Message |
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
Hi,
If we issue multiple OPEN & CLOSE for the same file in a single COBOL program, then does it affects the processing in any manner?
As an application engineer I'm done with one code to work for me, but with multiple OPEN/CLOSE. At system level, what is changed I'm not sure..I'm not sure even if this is a valid question at first place?
Can anyone please let me know, if some one has some clue about this. |
|
Back to top |
|
|
Francois Guillez
New User
Joined: 19 Dec 2007 Posts: 7 Location: Paris, France
|
|
|
|
What do you mean, "System level" ?
When you write a file then close it, every record is physically written, you can't go back, that's all.
Francois |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
the disp and the type of open you execute is important.
OPEN OUTPUT or OPEN EXTEND
disp= shr or old and OPEN OUTPUT - each open starts the file at the begining and destroys any write from a previous open.
disp = mod shr or old and OPEN EXPEND - each open appends to the end of the file. |
|
Back to top |
|
|
ahalyah
New User
Joined: 13 Dec 2007 Posts: 25 Location: india
|
|
|
|
As my knowledge if we use multiple open and close for a single file then it will take more time for the processing. Better to use single open and close. |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
Hi,
Thanks for the replies.
Quote: |
What do you mean, "System level" ? |
I mean for how much time program'll be in the CPU buffer if I use multiple OPEN/CLOSE. Does it (CPU usage) significatly increase with muliple OPEN/CLOSE?
yeah, thanks Dick, I started with these concepts but for this..
Quote: |
disp = mod shr or old and OPEN EXPEND - each open appends to the end of the file. |
my program was not responding well, file was OPENed in I-O mode & was nothing into it when I ran the corrresponding JCL..I paste here the code with single OPEN/CLOSE...
Code: |
IDENTIFICATION DIVISION.
PROGRAM-ID. XX914000.
AUTHOR. RBP TEAM.
DATE-WRITTEN. DECEMBER, 2007.
DATE-COMPILED.
******************************************************************
* MAINTENANCE LOG *
******************************************************************
* ID * DATE * DESCRIPTION OF CHANGE *
******************************************************************
******************************************************************
* XXXXXX??/??/?? * INITIAL RELEASE. *
* * * *
******************************************************************
/
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT LEDGER-CNTRL-FILE ASSIGN EPLEDDAT
FILE STATUS IS WS-LEDG-CNTRL-FILE. 00033000
DATA DIVISION.
******************************************************************
* INPUT OUTPUT FILES *
******************************************************************
FILE SECTION.
FD LEDGER-CNTRL-FILE
RECORDING MODE IS F
BLOCK CONTAINS 0 RECORDS
LABEL RECORDS ARE STANDARD
#2317A DATA RECORD IS LEDGER-CNTRL-FILE-REC.
01 LEDGER-CNTRL-FILE-REC.
COPY EPLEGDA1 REPLACING ==:TAG:== BY == ==.
/
******************************************************************
* WORKING-STORAGE *
******************************************************************
WORKING-STORAGE SECTION.
01 WS00-BEGIN.
05 WS00-BEGIN-LIT PIC X(31) VALUE
'XX914000 WORKING-STORAGE BEGINS'.
/
******************************************************************
* CALL MODULES *
******************************************************************
01 CALL-ROUTINES.
05 CEE3ABD PIC X(08) VALUE 'CEE3ABD'.
******************************************************************
* MISCELLENOUS VARIABLES *
******************************************************************
01 MISCELLENOUS-VARIABLES.
05 WS-UNLOAD-FILE PIC X(2) VALUE SPACES.
05 WS-LEDG-CNTRL-FILE PIC X(2) VALUE SPACES.
05 NUM-DISP-11 PIC --,---,---,--9.
05 NUM-DISP-15 PIC ----,---,---,--9.99.
01 W-TIMING PIC S9(15) COMP-3 00139300
VALUE ZEROES. 00139400
01 WS-ABEND-CODE PIC S9(15) COMP-3 00139500
VALUE ZEROES. 00139600
#2317A 01 WS-SWITCHES.
#2317A 05 FIRST-SW PIC X(01) VALUE 'Y'.
#2317A 88 FIRST-CALL VALUE 'Y'.
#2317A 88 NOT-FIRST-CALL VALUE 'N'.
#2317A 01 WS-LEDGER-CNTRL-FILE-REC.
#2317A COPY EPLEGDA1 REPLACING ==:TAG:== BY ==WS-==.
******************************************************************
* INTERNAL TABLES *
******************************************************************
* UNLOAD TABLES.
01 UNLOAD-TABLE.
02 UNLOAD-TABLE-DATA OCCURS 1000 TIMES INDEXED BY WS-INDEX.
#2317A 05 UNLD-PAY-CENTER-CODE PIC X(2).
#2317A 05 UNLD-KEY-AREA PIC X(8).
#2317A 05 UNLD-FIN-ITEM-CODE PIC X(1).
#2317A 05 UNLD-BATCH-CODE PIC X(3).
#2317A 05 UNLD-BATCH-SUB-CODE PIC X(2).
#2317A 05 UNLD-FEE-CODE PIC X(2).
#2317A 05 UNLD-AMOUNT PIC S9(15)V99.
#2317A 05 UNLD-ITEM-COUNT PIC S9(15).
#2317A 05 UNLD-RATE-FEE-IND PIC X(1).
#2317A 05 UNLD-PIG-IND PIC X(1).
#2317A 05 UNLD-PAY-IND PIC X(1).
#2317A 05 UNLD-BUSS-CENTER PIC X(2).
#2317A 05 UNLD-SORT-CENTER PIC X(3).
#2317A 05 UNLD-PRODUCT-CODE PIC 9(3).
#2317A 05 UNLD-RETURN-CODE PIC X(2).
#2317A 05 UNLD-JETS-REF-ID1 PIC X(15).
#2317A 05 UNLD-JETS-REF-ID2 PIC X(15).
01 WS-JETS-KEY-AREA1 PIC X(8) VALUE SPACES.
******************************************************************
* FLAGS *
******************************************************************
01 WS-FLAGS.
05 WS-FILE-1 PIC X(1) VALUE ' '.
88 END-OF-FILE1 VALUE 'Y'.
05 WS-FILE-2 PIC X(1) VALUE ' '.
88 END-OF-FILE2 VALUE 'Y'.
05 WS-SOURCE PIC X(1) VALUE ' '.
88 SOURCE-FOUND VALUE 'Y'.
88 SOURCE-NOT-FOUND VALUE 'N'.
01 SEARCH-SOURCE PIC X(8) VALUE SPACES.
******************************************************************
* LINKAGE SECTION *
******************************************************************
LINKAGE SECTION.
01 PASSED-AREA.
COPY EPLEGDAT.
/
******************************************************************
* PROCEDURE DIVISION *
******************************************************************
PROCEDURE DIVISION USING PASSED-AREA.
******************************************************************
* MAINLINE PARA *
******************************************************************
0000-MAINLINE.
DISPLAY '0000-MAINLINE'
MOVE SPACES TO XX914PRM-RETURN-CODE.
PERFORM 1000-EDIT-FUNCTION.
IF XX914PRM-RETURN-CODE = SPACES
PERFORM 2000-PROCESS-REQUEST.
GOBACK.
******************************************************************
* CHECK FOR THE VALID FUNCTION FROM LINKAGE AREA *
******************************************************************
1000-EDIT-FUNCTION.
DISPLAY '1000-EDIT-FUNCTION'
EVALUATE XX914PRM-SOURCE
WHEN 'OPEN '
WHEN 'VERWRITE'
WHEN 'CLOSE '
CONTINUE
WHEN OTHER
MOVE 'F1' TO XX914PRM-RETURN-CODE
#2317A DISPLAY'CALLING PROGRAM IS MOVING WRONG SOURCE-CODE..F1'
PERFORM 7220-DISPLAY-F1
END-EVALUATE.
******************************************************************
* PROCESS THE SOURCE PASSED FROM THE LINKAGES
******************************************************************
2000-PROCESS-REQUEST.
DISPLAY '2000-PROCESS-REQUEST'
EVALUATE XX914PRM-SOURCE
WHEN 'OPEN '
#2317A DISPLAY'OPEN'
PERFORM 2200-OPEN-INPUT-MODE
WHEN 'VERWRITE'
#2317A DISPLAY'VERWRITE'
PERFORM 2400-VERIFY-AND-WRITE
WHEN 'CLOSE '
#2317A DISPLAY'CLOSE '
PERFORM 2800-CLOSE.
/*****************************************************************
* OPEN THE INPUT FILES IN INPUT MODE *
******************************************************************
2200-OPEN-INPUT-MODE.
DISPLAY '2200-OPEN-INPUT-MODE'
OPEN INPUT LEDGER-CNTRL-FILE.
DISPLAY ' FILE STATUS CODE = ' WS-LEDG-CNTRL-FILE 0000000
IF WS-LEDG-CNTRL-FILE NOT = '00' 0000000
DISPLAY ' XX914PRM ABENDING ' 0000000
DISPLAY ' PARAGRAPH 2200-OPEN-INPUT-MODE ' 0000000
DISPLAY ' ERROR IN OPENING LEDGER-CNTRL-FILE' 0000000
DISPLAY ' FILE STATUS CODE = ' WS-LEDG-CNTRL-FILE 0000000
MOVE +4002 TO WS-ABEND-CODE 0000000
PERFORM 9999-ABEND THRU 9999-EXIT 0000000
END-IF. 0000000
/*****************************************************************
* OPEN THE INPUT FILES IN INPUT-OUTPUT MODE (I-O) *
******************************************************************
2300-OPEN-I-O-MODE.
DISPLAY '2300-OPEN-I-O-MODE'
OPEN I-O LEDGER-CNTRL-FILE.
DISPLAY ' FILE STATUS CODE = ' WS-LEDG-CNTRL-FILE 0000000
IF WS-LEDG-CNTRL-FILE NOT = '00' 0000000
DISPLAY ' XX914PRM ABENDING ' 0000000
DISPLAY ' PARAGRAPH 2300-OPEN-I-O-MODE ' 0000000
DISPLAY ' ERROR IN OPENING LEDGER-CNTRL-FILE' 0000000
DISPLAY ' FILE STATUS CODE = ' WS-LEDG-CNTRL-FILE 0000000
MOVE +4010 TO WS-ABEND-CODE 0000000
PERFORM 9999-ABEND THRU 9999-EXIT 0000000
END-IF. 0000000
/*****************************************************************
* OPEN THE INPUT FILES IN EXTEND MODE TO APPEND THE NEW SOURCE *
******************************************************************
2400-OPEN-EXTEND-MODE.
DISPLAY '2400-OPEN-EXTEND-MODE'
OPEN EXTEND LEDGER-CNTRL-FILE.
DISPLAY ' FILE STATUS CODE = ' WS-LEDG-CNTRL-FILE 0000000
IF WS-LEDG-CNTRL-FILE NOT = '00' 0000000
DISPLAY ' XX914PRM ABENDING ' 0000000
DISPLAY ' PARAGRAPH 2400-OPEN-EXTEND-MODE ' 0000000
DISPLAY ' ERROR IN OPENING LEDGER-CNTRL-FILE' 0000000
DISPLAY ' FILE STATUS CODE = ' WS-LEDG-CNTRL-FILE 0000000
MOVE +4010 TO WS-ABEND-CODE 0000000
PERFORM 9999-ABEND THRU 9999-EXIT 0000000
END-IF. 0000000
/*****************************************************************
* VERIFY THE SOURCE / WRITE IN THE OUTPUT FILES *
******************************************************************
2400-VERIFY-AND-WRITE.
DISPLAY '2400-VERIFY-AND-WRITE'
SET WS-INDEX TO 1.
PERFORM 8001-READ-CONTROL-FILE UNTIL END-OF-FILE2
MOVE XX914PRM-KEY-AREA TO SEARCH-SOURCE
PERFORM 7000-FIND-SOURCE
DISPLAY 'WS-SOURCE :' WS-SOURCE
#2317A
IF SOURCE-FOUND
PERFORM 2800-CLOSE
PERFORM 2300-OPEN-I-O-MODE
DISPLAY " JETS-KEY-AREA : " JETS-KEY-AREA
INITIALIZE WS-JETS-KEY-AREA1
PERFORM 8002-READ-CONTROL-FILE UNTIL
SACHIN XX914PRM-KEY-AREA = WS-JETS-KEY-AREA1
#2317A PERFORM 7160-REWRITE-NEW-SOURCE-PARA
DISPLAY'SUPPOSE TO RE-WRITE'
ELSE
DISPLAY'SUPPOSE TO NEW WRITE'
PERFORM 2800-CLOSE
PERFORM 2400-OPEN-EXTEND-MODE
PERFORM 7150-WRITE-NEW-SOURCE-PARA
END-IF.
/*****************************************************************
* WRTIE NEW SOURCE RECORD IN THE OUTPUT FILE *
******************************************************************
7150-WRITE-NEW-SOURCE-PARA.
DISPLAY '7150-WRITE-NEW-SOURCE-PARA'
#2317A
MOVE XX914PRM-PAY-CENTER-CODE TO WS-JETS-PAY-CENTER-CODE
MOVE XX914PRM-KEY-AREA TO WS-JETS-KEY-AREA
MOVE XX914PRM-FIN-ITEM-CODE TO WS-JETS-FIN-ITEM-CODE
MOVE XX914PRM-BATCH-CODE TO WS-JETS-BATCH-CODE
MOVE XX914PRM-BATCH-SUB-CODE TO WS-JETS-BATCH-SUB-CODE
MOVE XX914PRM-FEE-CODE TO WS-JETS-FEE-CODE
MOVE XX914PRM-AMOUNT TO WS-JETS-AMOUNT
MOVE XX914PRM-ITEM-COUNT TO WS-JETS-ITEM-COUNT
MOVE XX914PRM-RATE-FEE-IND TO WS-JETS-RATE-FEE-IND
MOVE XX914PRM-PIG-IND TO WS-JETS-PIG-IND
MOVE XX914PRM-PAY-IND TO WS-JETS-PAY-IND
MOVE XX914PRM-BUSS-CENTER TO WS-JETS-BUSS-CENTER
MOVE XX914PRM-SORT-CENTER TO WS-JETS-SORT-CENTER
MOVE XX914PRM-PRODUCT-CODE TO WS-JETS-PRODUCT-CODE
MOVE XX914PRM-RETURN-CODE TO WS-JETS-RETURN-CODE
DISPLAY 'WRITE JETS-AMOUNT :' WS-JETS-AMOUNT
DISPLAY 'WRITE JETS-ITEM-COUNT :' WS-JETS-ITEM-COUNT
WRITE LEDGER-CNTRL-FILE-REC FROM WS-LEDGER-CNTRL-FILE-REC
DISPLAY ' FILE STATUS CODE = ' WS-LEDG-CNTRL-FILE 0000000
DISPLAY 'JETS-AMOUNT AFTER WRITE :' JETS-AMOUNT
DISPLAY 'JETS-ITEM-COUNT AFTER WRITE :'JETS-ITEM-COUNT.
/*****************************************************************
* WRTIE NEW SOURCE RECORD IN THE OUTPUT FILE *
******************************************************************
7160-REWRITE-NEW-SOURCE-PARA.
DISPLAY '7160-REWRITE-NEW-SOURCE-PARA'
#2317A
MOVE XX914PRM-PAY-CENTER-CODE TO WS-JETS-PAY-CENTER-CODE
MOVE XX914PRM-KEY-AREA TO WS-JETS-KEY-AREA
MOVE XX914PRM-FIN-ITEM-CODE TO WS-JETS-FIN-ITEM-CODE
MOVE XX914PRM-BATCH-CODE TO WS-JETS-BATCH-CODE
MOVE XX914PRM-BATCH-SUB-CODE TO WS-JETS-BATCH-SUB-CODE
MOVE XX914PRM-FEE-CODE TO WS-JETS-FEE-CODE
MOVE XX914PRM-AMOUNT TO WS-JETS-AMOUNT
MOVE XX914PRM-ITEM-COUNT TO WS-JETS-ITEM-COUNT
MOVE XX914PRM-RATE-FEE-IND TO WS-JETS-RATE-FEE-IND
MOVE XX914PRM-PIG-IND TO WS-JETS-PIG-IND
MOVE XX914PRM-PAY-IND TO WS-JETS-PAY-IND
MOVE XX914PRM-BUSS-CENTER TO WS-JETS-BUSS-CENTER
MOVE XX914PRM-SORT-CENTER TO WS-JETS-SORT-CENTER
MOVE XX914PRM-PRODUCT-CODE TO WS-JETS-PRODUCT-CODE
MOVE XX914PRM-RETURN-CODE TO WS-JETS-RETURN-CODE
DISPLAY 'RE-WRITE JETS-AMOUNT :' WS-JETS-AMOUNT
DISPLAY 'RE-WRITE JETS-ITEM-COUNT :' WS-JETS-ITEM-COUNT
REWRITE LEDGER-CNTRL-FILE-REC FROM WS-LEDGER-CNTRL-FILE-REC.
/*****************************************************************
* CLOSE ALL THE INPUT-OUTPUT FILES *
******************************************************************
2800-CLOSE.
DISPLAY '2800-CLOSE'
CLOSE LEDGER-CNTRL-FILE.
DISPLAY ' FILE STATUS CODE = ' WS-LEDG-CNTRL-FILE 0000000
#2317A DISPLAY'CLOSE FILE'.
/*****************************************************************
* SEARCH INTERNAL TABLES FOR PASSED SOURCE *
******************************************************************
7000-FIND-SOURCE.
DISPLAY '7000-FIND-SOURCE'
SET WS-INDEX TO 1.
SEARCH UNLOAD-TABLE-DATA
AT END
SET SOURCE-NOT-FOUND TO TRUE
DISPLAY'SOURCE NOT FOUND'
WHEN SEARCH-SOURCE = UNLD-KEY-AREA(WS-INDEX)
SET SOURCE-FOUND TO TRUE
END-SEARCH.
/*****************************************************************
* BALANCE-TOTALS *
******************************************************************
*7100-BALANCE-TOTALS.
* PERFORM 7400-VERIFY-NUMERIC
* IF XX914PRM-RETURN-CODE = SPACES
* IF XX914PRM-ITEM-COUNT = UN2-ITEM-COUNT (WS-INDEX2) AND
* XX914PRM-AMOUNT = UN2-AMOUNT (WS-INDEX2)
* CONTINUE
* ELSE
* MOVE 'B1' TO XX914PRM-RETURN-CODE
* PERFORM 7200-DISPLAY-B1
* END-IF
* END-IF.
/*****************************************************************
* B1 = OUT OF BALANCE. *
******************************************************************
*7200-DISPLAY-B1.
*
* DISPLAY '********************************************'.
* DISPLAY '* *'.
* DISPLAY '* ******* XX914000 ERROR ******* *'.
* DISPLAY '* *'.
* DISPLAY '* OUT OF BALANCE CONDITION DETECTED *'.
* DISPLAY '* SOURCE PREVIOUSLY WRITTEN AND NOT *'.
* DISPLAY '* BALANCED WITH THE PROGRAM INPUTS *'.
* DISPLAY '* SOURCE = ' XX914PRM-SOURCE
* ' *'.
* DISPLAY '* *'.
*
* PERFORM 7300-DISPLAY-TOTALS.
*
* DISPLAY '* *'.
* DISPLAY '********************************************'.
/*****************************************************************
* *
* F1 = INVALID FUNCTION REQUESTED. *
* *
******************************************************************
7220-DISPLAY-F1.
DISPLAY '7220-DISPLAY-F1'
DISPLAY '********************************************'.
DISPLAY '* *'.
DISPLAY '* ******* XX914000 ERROR ******* *'.
DISPLAY '* *'.
DISPLAY '* INVALID FUNCTION - '
XX914PRM-SOURCE
' *'.
DISPLAY '* *'.
DISPLAY '********************************************'.
/*****************************************************************
* *
* S1 = INVALID SOURCE. *
* *
******************************************************************
7240-DISPLAY-S1.
DISPLAY '7240-DISPLAY-S1'
DISPLAY '********************************************'.
DISPLAY '* *'.
DISPLAY '* ******* XX914000 ERROR ******* *'.
DISPLAY '* *'.
DISPLAY '* SOURCE NOT VALID *'.
DISPLAY '* *'.
DISPLAY '* SOURCE = ' XX914PRM-SOURCE
' *'.
DISPLAY '* *'.
DISPLAY '********************************************'.
/*****************************************************************
* *
* DISPLAY TOTALS WHEN AN OUT-OF-BALANCE OCCURS. *
* *
******************************************************************
7300-DISPLAY-TOTALS.
DISPLAY '7300-DISPLAY-TOTALS'
MOVE XX914PRM-ITEM-COUNT TO NUM-DISP-11.
DISPLAY '* PASSED ITEM COUNT = '
NUM-DISP-11
' *'.
* MOVE UN2-ITEM-COUNT (WS-INDEX2) TO NUM-DISP-11.
* DISPLAY '* CONTROL FILE ITEM COUNT = '
* NUM-DISP-11
* ' *'.
* DISPLAY '* *'.
MOVE XX914PRM-AMOUNT TO NUM-DISP-15.
DISPLAY '* PASSED GROSS AMT = '
NUM-DISP-15
' *'.
* MOVE UN2-AMOUNT (WS-INDEX2) TO NUM-DISP-15.
* DISPLAY '* CONTROL FILE GROSS AMT = '
* NUM-DISP-15
* ' *'.
* DISPLAY '* *'.
/*****************************************************************
* *
* ENSURE THAT THE BALANCING FIELDS ARE NUMERIC. *
* *
******************************************************************
7400-VERIFY-NUMERIC.
DISPLAY '7400-VERIFY-NUMERIC'
IF XX914PRM-ITEM-COUNT NOT NUMERIC
MOVE 'B2' TO XX914PRM-RETURN-CODE
DISPLAY '********************************************'
DISPLAY '* *'
DISPLAY '* ******* XX914000 ERROR ******* *'
DISPLAY '* LINKAGE PASSED *'
DISPLAY '* ITEM COUNT NOT NUMERIC *'
DISPLAY '* *'
DISPLAY '********************************************'.
IF XX914PRM-AMOUNT NOT NUMERIC
MOVE 'B2' TO XX914PRM-RETURN-CODE
DISPLAY '********************************************'
DISPLAY '* *'
DISPLAY '* ******* XX914000 ERROR ******* *'
DISPLAY '* LINKAGE PASSED *'
DISPLAY '* GROSS AMOUNT NOT NUMERIC *'
DISPLAY '* *'
DISPLAY '********************************************'.
/*****************************************************************
* READ LEGERING CONTROL FILE. *
******************************************************************
8001-READ-CONTROL-FILE.
DISPLAY '8001-READ-CONTROL-FILE'
READ LEDGER-CNTRL-FILE
AT END
SET END-OF-FILE2 TO TRUE
NOT AT END
DISPLAY ' LEDGER-CNTRL-FILE : ' LEDGER-CNTRL-FILE-REC 0000000
PERFORM 2001-LOAD-TABLE.
/*****************************************************************
* READ LEGERING CONTROL FILE TO SET THE POINTER TO REWRITE THE*
* POINTER ON THE LINKAGE PASSED SOURCE REFERECNE KEY *
******************************************************************
8002-READ-CONTROL-FILE.
DISPLAY '8002-READ-CONTROL-FILE'
READ LEDGER-CNTRL-FILE
AT END
SET END-OF-FILE2 TO TRUE
NOT AT END
MOVE JETS-KEY-AREA TO WS-JETS-KEY-AREA1
DISPLAY WS-JETS-KEY-AREA1
DISPLAY XX914PRM-KEY-AREA
IF XX914PRM-KEY-AREA = JETS-KEY-AREA
SET END-OF-FILE2 TO TRUE
END-IF.
/*****************************************************************
* LOAD INPUT-OUTPUT CONTROL FILE TO THE WS-STORAGE TABLE *
******************************************************************
2001-LOAD-TABLE.
DISPLAY '2001-LOAD-TABLE'
MOVE LEDGER-CNTRL-FILE-REC TO
UNLOAD-TABLE-DATA(WS-INDEX).
DISPLAY 'UNLOAD-TABLE-DATA(WS-INDEX)'
UNLOAD-TABLE-DATA(WS-INDEX)
DISPLAY 'UNLD-KEY-AREA(WS-INDEX) : ' UNLD-KEY-AREA(WS-INDEX)
DISPLAY 'XX914PRM-KEY-AREA : ' XX914PRM-KEY-AREA.
SET WS-INDEX UP BY 1.
******************************************************************00284800
* 9999-ABEND : *00284900
* THIS PARA WILL BE USED FOR ABENDING THE PROGRAM *00285000
******************************************************************00285100
00285200
9999-ABEND. 00285300
DISPLAY '9999-ABEND'
00285400
MOVE +1 TO W-TIMING. 00285500
CALL CEE3ABD USING WS-ABEND-CODE, W-TIMING. 00285600
00285700
9999-EXIT. 00285800
EXIT. 00285900
² |
I used DISP=(MOD,KEEP,KEEP) in the JCL, but the file was empty.
So I finally I changed the code to open close multiple times...code is working but I'm bit skeptical about the approach.
(hmm.. a lot of traffic I put here..) |
|
Back to top |
|
|
Phrzby Phil
Senior Member
Joined: 31 Oct 2006 Posts: 1042 Location: Richmond, Virginia
|
|
|
|
I for one would find it helpful, when listing an entire program, to excise redundant code that does not bear on the problem.
E.g., all of the MOVE's in 7150- and 7160-.
Try to cut (pun intended) right to the problem. |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
Yeah..will keep this point for future..I can not edit it now, sorry. |
|
Back to top |
|
|
|