DLI Vs BMP

Answers were Sorted based on User's Feedback



DLI Vs BMP..

Answer / sd

IMS programs can be run two ways: under IMS’s control, as a
BMP, or as a stand-alone batch job, known as DLI.

BMP jobs have these features:
Run in conjunction with an IMS control region, an MVS
started task that controls all online and BMP programs
Require no DD statements for the databases; the IMS control
region contains the knowledge of the databases.
Require an ACB gen to process.
Require the IMS DBDLIB in the JCL ONLY when GSAM databases
are being used
Does not require the allocation of a log dataset, as there
is one log dataset of all of IMS

BMP jobs must run on the machine which is processing the
IMS control region. This is controlled by job class. Most
installations have specific job classes for BMP jobs.

DLI jobs have these features:
Run as stand-alone jobs with no communication or knowledge
of the online IMS system
Require DD statements for all databases
Can be run with an ACB, or with the DBD and PSB (IMS will
dynamically create the ACB at execution time)
Require the DBDLIB or ACBLIB DD statement
Require the allocation of a log dataset if recovery is to
be performed

Is This Answer Correct ?    23 Yes 2 No

DLI Vs BMP..

Answer / joshna

Can u Please tell u r opinion with correction (don't ever
think... be sure)

Is This Answer Correct ?    10 Yes 3 No

DLI Vs BMP..

Answer / ben richardson

BMP is a bit of a misnomer because only some BMP will
access message queues. When they do they can be WFI or non-
WFI. WFI will run until it is shut down by command or
message (special instruction in the message to shut down).
Non-WFI BMP will run until status code = QC (I remember it
as Quit Calling). The messages are exhausted and the BMP
ends. This is typically used for triggering massive
updates from an order entry system requiring that parts
master explosion and shop floor inventory transfers occur
in batch or by BMP inserting many discrete transactions,
limited by class to only a few MPP regions so as to prevent
slowing down transactions originated by terminals.

DLI can access databases on-line or off-line, depending on
whether you have enabled BLDS Block Level Data Sharing via
the IRLM. You cannot share to DLI using the default PI
Locking (program isolation). When DLI is used for updates
it will write logs on IEFRDER. When it fails you must
sometimes run log term utility in dupe mode (disk log ran
out of space), then run the repaired log into BBO Batch
Back-Out via IMSLOGR DD with a new IEFRDER DD dataset to
log the backout. This becomes more complicated when DLI is
also updating DB2 via connection of the SSM or DDITV02
parameters. Connect the DLI BBO in the same way but be
aware DDITV02 will not be read unless DFSBBO00 is running
as an application into DSNMIN10... getting too weird huh?

Anyway, if the IRLM is running and databases are on-line
with SHRLEVEL=3, then BLDS will work. Dynamic allocation in
the DLI address space should be used where the RECONS and
the DBD DDNAMES are in a single MDALIB... Protection should
also be considered in the form of FORCER (forced
registration) in the production RECON.

Why not do this? I'm glad you asked. When DLI fails you
will have retained locks. On-line access will be
restricted until BBO succeeds. Your 24x7 availability will
be impacted. BMP backs out to the last chkpt and can
restart with CHKPT=LAST, no other is allowed when BLDS is
sharing with multiple IMS systems or with DLI batch. This
is because merging the logs by timestamps is required and
you cannot be selectively integrating a restart of any UOW
which has already commited updates in a checkpoint. Once
the locks were released the data was updatable by other
UOWs in either MPP, BMP, or DLI modes... from same or
different address space buffers (DFSVSAMP DD). BLDS
forfeits full backout of BMP or DLI jobs when applications
make mistakes and want a do-over.

In my 30 years of IMS at AT&T, AMEX, PCS/CVS Caremark I
have found that DLI is less and less desirable and BMP can
always be used instead. BMP will improve performance where
data concurrency is desired for readers, since the updated
buffers can be read uncommited by PROCOPTs GO, GOT, GOTP.
Also consider that large dedicated buffers in the control
region exceed your batch DLI address space region in many
cases and allow BMP to read tons of database records
without I/O. DLI is guaranteed to use I/O for every new
record and cannot have good buffer hits unless there is
frequent access to the same reoord AND no on-line UOW is
invalidating the buffers through the IRLM.

My conclusion -- Don't use DLI except for batch only
databases... databases that are never used on-line. That
is pretty strong, but that's my opinion.

Is This Answer Correct ?    6 Yes 0 No

DLI Vs BMP..

Answer / santhosh

Most of the answers given above are wrong in one way or the other...
Please refer the following link guys...

http://www.sstutor.com/kr/kr229235.aspx

Note: Please avoid posting your own theories in public forums.No offense meant.

Is This Answer Correct ?    7 Yes 2 No

DLI Vs BMP..

Answer / mahesh vasudevan

BMP is a Batch message Processing that means the online
databases are accessed through batch schedule that is by
submitting a JCL. While DL/I can be run to access the
databases while allocated to online or offline or even to
your own copy of database datasets.

But In general some shops only allow DL/I when the
databases are down and in the mainframe legacy environment
if a shop uses DL/I then it is run in the batch night
schedules when the databases are offline.

Many shops have converted DL/I to BMP for many reasons that
include easy maintenance ; no need for batch backout etc.

It is fair and easy to have online(MPP) and BMPs ...but if
the user wants to run test against his own dataset then
DL/I serves better.

Keep in mind about the different flaours of BMP also.

Is This Answer Correct ?    7 Yes 3 No

DLI Vs BMP..

Answer / sneha

DL/I-
No data communication services are required
databases are accessed through offline
transactions are batch oriented and saved in file
application programs run through jcl

BMP-
Runs in two ways-
transaction oriented
-can read & write online message queues
-process online files & databases
batch oriented
-can read only massage queues
-can process online databases in batch mode,send messages to the message queue.all are scheduled by jcl

Is This Answer Correct ?    3 Yes 1 No

DLI Vs BMP..

Answer / ben richardson

I did not stress strongly enough -- BMP backs out to the
last checkpoint -- AUTOMATICALLY. You don't every have to
make a BMP back out with any JCL or utility. Even if the
IMS subsystem fails and is restarting, BMP backout will be
AUTOMATIC.

Is This Answer Correct ?    2 Yes 0 No

DLI Vs BMP..

Answer / s

BMPs require the IMS control region to be running and can
run programs that process messages off the IMS Message
queue,called transaction-oriented BMPs as well as Batch-
oriented BMPs that do not process IMS messages. Both types
have access to IMS databases.

DLI are applications that only use IMS Database functions
and they run in DLI Batch address space.

Is This Answer Correct ?    2 Yes 4 No

DLI Vs BMP..

Answer / joshna

DLI- it is Batch processing.
BMP- batch message processing(why batch message? - actually
messages are inputs for online processing but it is a
special type of batch processing whose inputs can be
messages some times/ batch job that runs in an online
region)

there is no point of test,dev or prod for these both tyes
of processing possible in production also
IMS online region will be down when batch processing DLI is
goin on( usvally batch schids run at night time)
BMP processing happens only when MPP regions are running
some times it is possible that BMP processing can run even
though no active MPP region is running

Practical example of BMP:
from morning till evening there may be many onlin
transactions occuring for a particular system.
each transaction updates or modifies database seperately.
instead of allocating locks to database resource all the
changes to database are captured on flat files and at end
of day when onlines are going to shutdown a BMP job is run
with the above said file as input to update all changes to
database at once(specific for a particular system)

Usvally BMP's are run before onlines shutdown.


Correct me if i am wrong

Is This Answer Correct ?    8 Yes 13 No

DLI Vs BMP..

Answer / rs

i think u r wrong

Is This Answer Correct ?    3 Yes 8 No

Post New Answer

More IMS Interview Questions

What is the limitation on the no. of levels in a DL/I database?

2 Answers  


Looking for mainframes IMS DB training @ 9912598882

3 Answers  


Define psb?

0 Answers  


Explain the advantage of creating the acbs well ahead of time?

0 Answers  


What is a segment?

5 Answers  






Explain the maximum number of segment types allowed for a single database?

0 Answers  


What is an ims database?

0 Answers  


What is dbdgen process?

0 Answers  


What are the parameters used in CBLTDLI call?

2 Answers   CSC,


Explain the maximum number of fields allowed per segment and what is the maximum number of fields per database?

0 Answers  


Which is the DL/I function used in CICS-IMS program? IBM

3 Answers   IBM,


How can we distinguish between an online and batch program in IMS environment?

14 Answers   Wipro,


Categories