Hi everyone, I have a strange question about commitment control as following:
the program , say PGMA, have commitment control on two files. of coz the two files have been journaled.
Another program, say PGMB, will call PGMA to update the two files. Before the call to PGMA, I use QCMDEXC to call the CL command "STRCMTCTL LCKLVL(*CHG) CMTSCOPE(*JOB)" to start commitment control and then call PGMA, and then call the CL command ENDCMTCTL.
In addition, PGMA may be called by other PGMS in the same way as PGMB, with a call to STRCMTCTL and ENDCMTCTL.
the issue comes: sometime in PGMB the call to STRCMTCTL fails and the job log says the commitment control is already active. The frequency is very low, since it appeared two times since its use 3 months ago.
The parameter CMTSCOPE(*JOB) already defines the scope of current commitment control. Even if there's other jobs calling other PGMs or PGMB at the same time, they're different jobs and the commitment control of each job should be isolate.
Is my thought correct? Anybody can give some instructions on this issue? Thanks in advance.