Hi Roy

Thanks for the explanation.

In the solution given by you, can point 1 be ignored? In Point 3,
instead of RTVJRNE, can RMVJRNCHG be issued with a qualified job name? 

I know the job name, user and job number. Can we issue 

RMVJRNCHG JRN(JRNLIB/FILEJRN) FILE((MYLIB/MYFILE))
TOJOBO(jobnumber/username/jobname)

Will the above command remove all the changes that were done within the
job?

When I tried, a error message is displayed. Even though an entry is
found in journal, I get an "No entry found for the job" error message.
(Message id: CPF7041).

Thanks & Regards
Siva

-----Original Message-----
From: cobol400-l-bounces@xxxxxxxxxxxx
[mailto:cobol400-l-bounces@xxxxxxxxxxxx] On Behalf Of Roy Restuccia
Sent: Wednesday, July 02, 2003 1:42 PM
To: 'COBOL Programming on the iSeries/AS400'
Subject: R: Commitment control - Batch job

Hi Siva,
COMMIT & ROLLBACK statements works only if your pgm has a COMMITMENT
CONTROL FOR .. specifying the list of files under commitment control.
One solution that works fine in my shop is the follow:

1) In your cl pgm, before calling your cobol programs send a journal
entry to the journal receiver specifying in the ENTDTA keyword a unique
string that we will use later in case off "rollback": 

        SNDJRNE    JRN(MYLIB/MYJRN) TYPE('BE') +                   
             ENTDTA('mystring') FORCE(*YES) 

2) Call your program 
        CALL       PGM(MYPGM) PARM(....)

3) In case of errors do the following steps
        a) retrieve the entry previously sent
        b) issue RMVJRNCHG command
        RTVJRNE    JRN(MYLIB/MYJRN) FILE(*ALLFILE) +               
               RCVRNG(*CURRENT) FROMENT(*LAST) +             
                 TOENT(*FIRST) SEARCH(*DESCEND) JRNCDE(U) +    
                     ENTTYP(BE) JOB(&NBR/&USER/&JOB) +             
                     RTNSEQNBR(&SEQNBR) RTNJRNE(&JRNE)             
        RMVJRNCHG  JRN(MYLIB/MYJRN) FILE((MYLIB/*ALL)) +         
                     TOENT(&SEQNBR) CMTBDY(*YES)                   

Note: 1) ***ATTENTION*** this solution works ONLY if your job is the
ONLY job that updates the database in the time between the sndjrne and
the rmvjrnchg commands (e.g. running in a single execution jobq).
        2) Be sure to match the keywords TYPE('BE') in the SNDJRNE with
ENTTYP keyword in RTVJRNE. 
Regards.

Roy Restuccia

Sifa Srl
57, Corso Inghilterra
10138 Torino
tel +39 011 4476335
fax +39 011 4476337
cell +39 333 6205333
e-mail roy.restuccia@xxxxxxxxx



-----Messaggio originale-----
Da: cobol400-l-bounces@xxxxxxxxxxxx
[mailto:cobol400-l-bounces@xxxxxxxxxxxx] Per conto di A.
Sivasubrahmanian
Inviato: martedì 1 luglio 2003 13.40
A: cobol400-l@xxxxxxxxxxxx
Oggetto: Commitment control - Batch job


Hi 

I have a batch job in which commitment control is not working. Scenario
is mentioned below:- 

A CL program is submitted that calls a number of OPM COBOL and ILE COBOL
programs. If any error is found in the data being processed, error
report are generated. When error report is generated, a flag in LDA is
set to "Y". This flag is checked in the submitted CL program for a value
of "Y" and ROLLBACK is issued if true. Otherwise, COMMIT is issued. 

A STRCMTCTL is issued at the start of the CL that is submitted. NO files
are declared under commitment control in OPM COBOL or ILE COBOL
programs. 

Even after the issue of ROLLBACK, changes made to database files are not
rolled back. 

Is there a way to rollback with out including Commitment control for the
files in OPM or ILE COBOL programs? I don't have the luxury to change
the COBOL programs. Is it possible to ROLLBACK or COMMIT the changes at
the end of the job? 

Thanks & Regards
Siva


**************************Disclaimer************************************

Information contained in this E-MAIL being proprietary to Wipro Limited
is 
'privileged' and 'confidential' and intended for use only by the
individual
 or entity to which it is addressed. You are notified that any use,
copying 
or dissemination of the information contained in the E-MAIL in any
manner 
whatsoever is strictly prohibited.

************************************************************************
***
_______________________________________________
This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing
list
To post a message email: COBOL400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
or email: COBOL400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/cobol400-l.


_______________________________________________
This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing
list
To post a message email: COBOL400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
or email: COBOL400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/cobol400-l.


**************************Disclaimer************************************

Information contained in this E-MAIL being proprietary to Wipro Limited is 
'privileged' and 'confidential' and intended for use only by the individual
 or entity to which it is addressed. You are notified that any use, copying 
or dissemination of the information contained in the E-MAIL in any manner 
whatsoever is strictly prohibited.

***************************************************************************


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 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.