IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

BMP Program and Checkpointing


IBM Mainframe Forums -> IMS DB/DC
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
sandiptcs

New User


Joined: 29 Nov 2006
Posts: 19
Location: amsterdam

PostPosted: Mon Jan 15, 2007 7:07 pm
Reply with quote

Is it mandatory that a BMP program using IMS and DB2 databases be coded for checkpointing

I have a BMP program which has a checkpoint at the beginning and at the end of the program
The reason , it says, a checkpointing is needed at the end to release the buffers. Any idea what is buffer is all about ??

The checkpointing in the program is handled like this

Initial section
Move spaces to restart work-area
Restart call
If normal start
checkpoint call
else
abend

Close section (at the end of the program)

Final checkpoint call
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Mon Jan 15, 2007 7:32 pm
Reply with quote

Hi,

I don't see the use of checkpointing like you told. Click to learn about Checkpoint/Restart.
Back to top
View user's profile Send private message
Nighthawk750

New User


Joined: 04 Nov 2006
Posts: 20
Location: Amsterdam

PostPosted: Tue Jan 16, 2007 1:47 am
Reply with quote

The reason why the program first checks to see if there is checkpoint data present, is that aparently no restarts are allowed. You see that when the abend is triggered.
In test-environment you can see in AES the checkpoint data (if you do not know how to use AES, please check with someone who does). You can then remove the checkpoint data and start again.
Should it happen in production environment, the operator present knows how to handle it.

The final checkpoint serves as an commit (eg. the database entries are made permanent) and yes, the IMS buffers will be emptied. During processing IMS uses its own buffers. While running the program, those buffers will be filled with data. It is data from the actions you perform on the database. When handling large amounts of data those buffers will eventually get at their max. So in that case an checkpoint is needed.

But your program aparently does not need those checkpoints. The amount of data processed is probably not that much.
Back to top
View user's profile Send private message
sandiptcs

New User


Joined: 29 Nov 2006
Posts: 19
Location: amsterdam

PostPosted: Wed Jan 17, 2007 7:02 pm
Reply with quote

Nighthawk and Bitneukar
Thanks for your assistance. icon_smile.gif The situation is a lot clear now. But I cant still understand the following comment you have made

Quote:
The reason why the program first checks to see if there is checkpoint data present, is that aparently no restarts are allowed. You see that when the abend is triggered.


Yes, the program is not restartable. So if it abends it has to be started from the beginning.

But if you check the code below, before the restart call is made, restart work area is initialized, which means, even when restarted after an abend program will always be a normal start. So there is no need for the Checkpoint call in the Initial section. Please correct me if I am wrong

Moreover, after the program ends why do we need to issue final checkpint call to release the buffer. If the program execution ends , is it not that all the buffers held by IMS automatically gets released

Code:
Initial section
Move spaces to restart work-area
Restart call
If normal start
checkpoint call
else
abend

Close section (at the end of the program)
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Wed Jan 17, 2007 7:34 pm
Reply with quote

Look like an Amsterdam mini-meeting to me icon_lol.gif
Long ago I worked at NMB (now ING) where someone had a brainwave that all BMP's must be equiped with checkpoint/restart; even if it had no use. Perhaps this program has been subject to a similar brainwave. If it doesn't do any pain just leave it as it is. As explained to you checkpoint/restart for this thing is not necessary; either leave it useless or remove it.
Back to top
View user's profile Send private message
Nighthawk750

New User


Joined: 04 Nov 2006
Posts: 20
Location: Amsterdam

PostPosted: Wed Jan 17, 2007 8:31 pm
Reply with quote

@Sandip: If a program goes down, checkpoint data is kept in some kind of dataset / database. Even if the only checkpoint was the initial one.

When the program makes the restart call, in normal situations, there should be no checkpointdata for this program in the checkpoint database.
If there is, in this case, that is considered as a problem.
Aparently the one who designed the program wanted it to work like this. Initial chkp is only needed when IMSupdates are done during the program.

@Bitneuker: yeah, looks indeed like an amsterdam mini-meeting icon_biggrin.gif
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> IMS DB/DC

 


Similar Topics
Topic Forum Replies
No new posts Using API Gateway from CICS program CICS 0
No new posts DB2 Event passed to the Application P... DB2 1
No new posts How to pass the PARM value to my targ... COBOL Programming 8
No new posts REXX code to expand copybook in a cob... CLIST & REXX 2
No new posts EZT program to build a flat file with... All Other Mainframe Topics 9
Search our Forums:

Back to Top