View previous topic :: View next topic
|
Author |
Message |
naveengec
New User
Joined: 24 Mar 2007 Posts: 35 Location: pune
|
|
|
|
Hi,
I have an IMS Online Program PGMA which reads the message which comes through MQ.
PGMA processes the data by calling a program PGMB.
PGMB calls the program PGMC to retireve the sequence number from an IMS database.
PGM retrieves the sequence number segment (say it retrieved 309) and update the next sequence number segment back to IMS database with a REPL call (say qith the seq number as 310) .
PGMB a updates the sequence number reteived in the DB2 tabelw tih the records receievd throug the MQ and sends the databack to PGMA
PGMA sends the message back with a ISRT call.
PGMA again does an GU call to see for any other message to process.
In one of the scenario,
It gets data for the second time and the program PGMA calls PGMB for repeating the same process.
When Program PGMB calls PGMC for next sequence number ie 310. It retrieves a sequence number 309 instead.
1) Is it because after the end of the first message processing the sequence number update is not commited. If yes how to make a commit for the update?
2) When the PGMA issues a GU call after procesing the first record, how it is getting the next record to process from MQ as we are not giving GN call?
3) For a GU call will we ever face QC status code?
4) Is it the right way to end the trsanction after the first record process and start a fresh transaction for the next record, evenwhen the record is avaialble in the message queue for process? |
|
Back to top |
|
|
manikawnth
New User
Joined: 07 Feb 2007 Posts: 61 Location: Mumbai
|
|
|
|
Your details are a bit confusing.
Is the sequence number a Key field to retrieve the segment?
If so, from your statement
Quote: |
PGM retrieves the sequence number segment (say it retrieved 309) and update the next sequence number segment back to IMS database with a REPL call (say qith the seq number as 310) . |
You are retrieving segment 309 and updating segment 310???
I dint understand this.
R u placing a GHU call for 309 and REPL call for 310?
Are u putting SSA for REPL call (which is optional)?
Kindly post the IMS I/O calls in each program along with the SSAs used for further analysis.
Thanks,
Manikanth |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
AND - please make sure that you check you status code on every IMS call you make - including the DC calls. |
|
Back to top |
|
|
naveengec
New User
Joined: 24 Mar 2007 Posts: 35 Location: pune
|
|
|
|
The key field data for the segment is AUTOGEN. The sequence number is a filed in this segment. Wheich will updated as incremented value after the retrieval. Will the commit/syncpoint happens with next GU call to retrive the message queue? |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
I am still not understanding your process. However, you know that you can never-ever replace a key field. So, if you are trying to replace a key field, you will fail and that should be reflected in your return status code. |
|
Back to top |
|
|
|