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

From BMP to DLI


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

New User


Joined: 18 Mar 2010
Posts: 10
Location: Spain

PostPosted: Tue Mar 23, 2010 2:47 pm
Reply with quote

Hi:

This is my first post to this forum, so I apologize for any inconvenience or mistake I could make.

In a legacy software I’m analyzing I have found a BMP COBOL-DB2 program whose PSB only contains a GSAM PCB apart from the one derived of CMPAT=YES. I would like to migrate this program from BMP to DLI batch environment.

Under execution of this program a total of 624 subprograms could be called. Could be called, not necessarily called. Perhaps some of these subprograms never could be executed.

Exploring the sources we have of these 625 programs (all the sources we should have) searching for DLI calls (appear CBLTDLI, AIBTDLI and CEETDLI) I have found sentences accessing IMS DB databases. Here follow my questions:

1) Can I be completely sure that no IMS DB database is accessed as far as no DB type PCB exists in the PSB?

2) Could be some other reason for this program to be BMP apart from accessing an IMS Database? I’m thinking, for example, in enqueuing a message and starting another transaction, but I think I would need, in this case, and ALT-PCB not present in the PSB.

3) If could be that reason, how could I detect it exploring the source code?

Thank you very much in advance.

Best regards,

Javier.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Tue Mar 23, 2010 6:04 pm
Reply with quote

A BMP program can run when the databases are up and available online. A DLI program can ONLY run when the databases are NOT available online. In some installations, the databases are brought "offline" in the evening so that the batch DLI programs can run. The databases are then brought back "online" in the morning.

The first thing you need to determine is what type environment you have and when this program is scheduled - invoked - whatever.
Back to top
View user's profile Send private message
Javier Rodríguez

New User


Joined: 18 Mar 2010
Posts: 10
Location: Spain

PostPosted: Tue Mar 23, 2010 7:07 pm
Reply with quote

Thank you, Sandy, you are right. I know that in my installation the "batch window" has been reduced as much as possible, but I have to determine how much is it. It is something a little bit fuzzy because there are several stages, at least two, where different products and functionalities (not all IMS) are brought, let say, “offline”.

The program is invoqued from a step in a batch job around midnight, when IMS databases are off-line, for sure. But I’m sure too, that de program is BMP. So, a program BMP can be executed although IMS databases are offline.

Perhaps this answers question number 1? Databases IMS are offline so the BMP program can not access that database (a DLI program could). Of course it can access DB2 tables. And other IMS resources? Makes any sense questions 2 and 3?

Thanks again, Sandy.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Tue Mar 23, 2010 7:17 pm
Reply with quote

No - your BMP will not execute if the region is not available and the databases are "down". A program is assigned to run in a "class". Regions are assigned classes. Normally, the classes are made unavailable when the databases are stopped.

Why is it that you want to make this DLI? If your installation has a very small batch window, it would not make sense to change from BMP to DLI. Also, I am assuming that your GSAM database is used for checkpoint restart. You won't have that if you change to DLI. How large is your database? Or, databases? How long does this job normally run? You need to do ALL of the research. Take a look at your logs.
Back to top
View user's profile Send private message
Javier Rodríguez

New User


Joined: 18 Mar 2010
Posts: 10
Location: Spain

PostPosted: Wed Mar 24, 2010 3:14 pm
Reply with quote

“The more I see the less I know for sure.”
John Lennon

You don’t know how much I appreciate your comments, although they make me doubt everything. Thank you very much. You make me feel Descartes.

I work for a large organization, so, the vision I have of my environment is always partial. Most of my affirmations and certainties are based in others opinions. Others I think are reliable.

We have various mainframe computers working together. Don’t ask me details, please, because I haven’t much information, except if they are fundamental to understand what we are discussing. I know one computer use to be called “on-line” and other “batch production”, production for short. Databases are shared between them. IMS DB is practically disappearing. The “batch window” would be defined in the “on-line” computer, as far as production computer is always batch. But the “production” computer could access DB2 in batch mode even when IMS TM (or DC, I don’t know if they are interchangeable terms) is working.

If this vague picture makes sense, perhaps it could explain the affirmations I was doing. And more important: explain my questions. Unless some constraints apply (my questions ask for these constraints), I am free to execute a program as BMP or DLI. If BMP, of course, it will have to be executed on the on-line computer, when IMS TM is working (practically always). If DLI, I think it can be executed in both computers. I think that, because sometimes, a DLI program crashes due, for example, maximum contentions limit reached, and it is executed in the on-line computer, which maximum contentions limit is greater.

Then, answering your questions:

If not necessary, let say, if constraints don’t apply, DBA advice is to make programs DLI. Fewer resources? More flexibility (two computers)? On-line computer overloaded? I don’t know exactly. Our discussion will let me ask the DBA appearing I know more than I really know.

In the case of the program I am asking for, although it executes as BMP, it lacks fulfilling a standard of the installation. It should be prepared for stopping via operator intervention (there are interesting discussions in the forum about this topic), what we do using an in house routine. For me would be easier to execute it as DLI. No change in the source code would be needed.

There are a lot of DLI programs with checkpoint restart logic coded in my installation. They are DLI as far as the first parameter of DFSRRC00 is DLI. I copy the EXEC card of the PROC we use to execute this kind of DLI programs. Of course they are executed under IMS TM.

A EXEC PGM=DFSRRC00,REGION=&RGN,PARM=(DLI,DSNMTV01,&PSB,
&BUF,&SPIE&TEST&EXCPVR&RST,&PRLD,&SRCH,&CKPTID,&MON,&LOGA,&FMTO,
&IMSID,&SWAP,&DBRC,&IRLM,&IRLMNM,&BKO,&IOB)

And you are right. My GSAM database is used for checkpoint restart.

If I have been able of drawing a coherent picture, that makes sense, we could start discussing my questions. Anyway, ask me what you think it is necessary for mutual understanding.

Thank you very much, Sandy.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Wed Mar 24, 2010 5:56 pm
Reply with quote

If you see the databases in your JCL, you are executing DLI - if not, you are executing BMP. I think what you have is "cross domain". You could also have a production computer and a test computer.

I don't know, but if your computers are sharing databases, they are sharing more than that. Don't you have anyone in tech services that you can talk with? Part of their job is support. I would much-much ask - what I may think is a stupid question - than be embarrassed by bringing down a region or crashing the system. You should have access to an organization chart. You need to talk to an IMS systems programmer.
Back to top
View user's profile Send private message
Javier Rodríguez

New User


Joined: 18 Mar 2010
Posts: 10
Location: Spain

PostPosted: Wed Mar 24, 2010 6:44 pm
Reply with quote

I don’t see the databases in any of the JCL we have been speaking about. I take the expression “cross domain” for searching in the manuals.

I think it is a difficult environment as well as a difficult problem. Thank you for your patience. Of course I have access to IMS support, although they are usually full of work. I pretended save them some time and effort by asking in advance this forum. And don’t doubt it, I got it. I have a wider view of the problem.

Thank you, Sandy.

Till next time,

Javier.
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

 


Search our Forums:

Back to Top