View previous topic :: View next topic
|
Author |
Message |
Cohi
New User
Joined: 25 Jan 2007 Posts: 4 Location: Israel
|
|
|
|
Hello,
Some background...
We have IMS installed (on z/os) with a CCTL enviroment,
which runs several MPP/BMP Regions.
Also we have 2 external subsystems attached to IMS: DB2 & MQ.
The situation:
An MPP region written in PL/I writes to DB2, and commits implicitly after a transaction ends normally. (this is a speculation only.)
What we want is to syncpoint the program with DB2.
From what I know, the program should issue a Syncpoint command to IMS. and IMS as a transaction coordinator should perform two-phase commit to DB2 (and itself).
The problem:
We tried issuing a Sync DL/I call, but it ended abnormaly because SYNC DL/I calls cannot be perform from within an MPP region. only from BMP (correct?).
Trying to use CHKP DL/i call, and the transaction hangs on a WAIT-INPUT state (shown in /dis active), with a TPE mode.
My guess is that a sync command passed to DB2 but IMS recieved no response.
Only after i gave a stop command to the region, it proceeded commiting and went off the hang-state.
What is the problem?
How should I commit a PL/I MPP region to DB2? What am I doing wrong?
Thanks,
Igor |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
This one is beyond my present up-todate knowledge. May be the first link in my signature (search for commit) may be of help. I had a swift look over there and Click. I myself will investigate further too. If you have any results please post so we can all take advantage of it.
Quote: |
COMMIT
The COMMIT statement ends a unit of recovery and commits the relational database changes that were made in that unit of recovery. If relational databases are the only recoverable resources used by the application process, COMMIT also ends the unit of work.
Invocation
This statement can be embedded in an application program or issued interactively. It is an executable statement that can be dynamically prepared. It cannot be used in the IMS or CICS |
Suppose you didn't do this |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Here's one with relation to DB2 Click |
|
Back to top |
|
|
Cohi
New User
Joined: 25 Jan 2007 Posts: 4 Location: Israel
|
|
|
|
No, I have not used the COMMIT statement you mentioned in the first reply, because as you see it cannot be used from IMS.
I also forgot to mention the ROLB DL/I does work! it does rollback any chagned made to DB2.
Also forgot to mention that I tried to use SRRCMIT module, and recieved RC=200. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Just trying to help Click. Couln't find the RC=200 that fast. Course next week so I'm afraid I can't explore with you till I return. Wish you success with your quest. |
|
Back to top |
|
|
Cohi
New User
Joined: 25 Jan 2007 Posts: 4 Location: Israel
|
|
|
|
After further reading online and offline reading material, I found that, a Single Mode MPP program "does not need to use a checkpoint calls". Mutliple Mode MPP should.
I guess, that they mean that a single mode MPP program, start LUW when it gets a message (GU), and ends a LUW when it ends normally or the next GU. either ending the transaction or calling GU, ends the LUW with checkpointing. I guess IMS ment that a single mode program SHOULD work like that. with no other interrupting checkpoints.
This is interesting, but not a fact, only my opinion. I guess I will contact IBM for further information.
I thank you for the reading material! |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Hi Cohi,
Check your PM box. |
|
Back to top |
|
|
Devzee
Active Member
Joined: 20 Jan 2007 Posts: 684 Location: Hollywood
|
|
|
|
Should you use TERM call to commit your db changes? |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Devzee,
Cohi will in short time share the solution with us. This topic is solved externally but Cohi will respond (he promised). |
|
Back to top |
|
|
Cohi
New User
Joined: 25 Jan 2007 Posts: 4 Location: Israel
|
|
|
|
Hello again,
I'm sorry for the delay!
The answer was, that there is no way of commiting an (single type) MPP to IMS & external subsys like db2, besides getting the next message(GU) or ending the transaction, thats the only way.
GU commits the previous LUW hich was started from previous GU call.
GU commits to IMS and IMS's TM syncpoints with DB2.
Basic CHKP command in MPP does an explicit GU, thats why my transaction "hanged" in a WAIT-INPUT state, it waited for the next message to arrive.
I think you can use a symbolic CHKP in a multi-type MPP , but that is another issue i'm not (yet) aware of.
with BMP's its another issue..
Thanks for help Bitneuker! |
|
Back to top |
|
|
|