Many think that purpose of BMP programs is to process Batch data. Actually the BMP programs perform BMP(Batch) and Online transactions (BMP -txn).
Usually MPPs are scheduled by IMS. But BMP(txn) are scheduled by an operator through JCL.
Typically, you use a transaction-oriented BMP to simulate direct update online: Instead of updating the database while processing its transactions, an MPP sends its updates to the message queue.
How to Understand BMP Correctly
Definition from IBM:Batch message processing programs (BMPs) are application programs that perform batch type processing online and can access databases controlled by DBCTL.
BMP Programs will do dual role.
- They can process data related to databases of DBCTL (online-transactions), and GSAM/MVS files/DB2.
- The files/databases which come under DBCTL are DEDBs/DLI Full function databases.
A transaction-oriented BMP then performs the updates for the MPP.
You can run the BMP as needed, depending on the number of updates. This improves response time for the MPP, and it keeps the data current.
This can be more efficient than having the MPP process its transactions if the response time of the MPP is very important. One disadvantage in doing this, however, is that it splits the transaction into two parts which is not necessary.
If you have a BMP perform an update for an MPP, design the BMP so that, if the BMP terminates abnormally, you can reenter the last message as input for the BMP when you restart it.
For example, suppose an MPP gathers database updates for three BMPs to process, and one of the BMPs terminates abnormally. You would need to reenter the message that the terminating BMP was processing to one of the other BMPs for reprocessing.
BMPs can process transactions defined as wait-for-input (WFI). This means that IMS allows the BMP to remain in virtual storage after it has processed the available input messages.
IMS returns a QC status code, indicating that the program should terminate when one of the following occurs:
- The program reaches its time limit.
- The master terminal operator enters a command to stop processing.
- IMS is terminated with a checkpoint shutdown.
The following commands you can use in BMP(Txn):
/PSTOP REGION /DBD /DBR /STA.