Accessing the BMP Extension

In the current FOCUS Release, the XMI server performs the function previously performed by the BMP extension (program FOCBMP). In order to access the BMP extension, you must SET IMS=OLD.

This is the required configuration for accessing IMS databases from CMS.

From the perspective of the end user, the only differences between using the XMI server and the BMP extension are the IMS setting and one parameter passed to the region controller program. Therefore, the explanations and diagrams that describe the XMI server in Environments, all pertain to the BMP extension. Consult that chapter for a complete explanation. This section provides an example that accesses the BMP extension.

The BMP extension is an application (program FOCBMP) that intercepts DL/I calls from the IMS/DB Interface address space and issues them to IMS. Before you can invoke the Interface with this configuration, there must be a BMP extension job executing with the appropriate parameter settings and with an available PCB for the databases you want to access.

Therefore, access to the BMP extension is a two-part process. The two parts consist of:

  1. Initiating a BMP extension.

Parameters

Value

Definition

Mode

BMP

Indicates Batch Message Processing mode. This mode accesses online IMS databases through the IMS/DC address space.

DLI

Indicates local mode. This mode accesses IMS databases that you allocate locally.

Program

FOCBMP

Loads and accesses the BMP extension in the region controller address space.

PSB

psbname

Identifies the PSB to use.

  1. Invoking the Interface once a BMP extension job is running.

When you use the BMP extension to access IMS databases, you must allocate a common communication file (to ddname FOCBMP) in both the FOCUS address space and the BMP extension address space. See Environments, for a discussion of the communication file.


Top of page

Example: Initiating a BMP Extension in DLI Mode

To initiate a BMP extension in DLI mode, submit the following JCL after editing it to conform to your site's standards and adding a JOB card. Note that you must allocate your IMS databases, DBDs, and PSBs in this JCL.

You do not have to submit this JCL if a BMP extension job that has an available PCB is already running with the following parameter settings

//DLIXMI   EXEC PGM=DFSRRC00,REGION=nn,PARM='DLI,FOCBMP,psbname'
//STEPLIB DD DSN=IMS.RESLIB,DISP=SHR
// DD DSN=prefix.FOCLIB.LOAD,DISP=SHR
// DD DSN=prefix.IMS.LOAD,DISP=SHR
//DFSRESLB DD DSN=IMS.RESLIB,DISP=SHR
//IMS DD DSN=IMS.PSBLIB,DISP=SHR
// DD DSN=IMS.DBDLIB,DISP=SHR
//DFSVSAMP DD DSN=IMS.DFSVSAMP(bufpool),DISP=SHR
//PATDB01 DD DSN=IMS.PATIENT.DB,DISP=SHR
//PATDBIX DD DSN=IMS.PATIENT.IX,DISP=SHR
//PATDBIX1 DD DSN=IMS.PATIENT.IX1,DISP=SHR
//PATDBIX2 DD DSN=IMS.PATIENT.IX2,DISP=SHR
//PATDBIX3 DD DSN=IMS.PATIENT.IX3,DISP=SHR
//FOCBMP DD DSN=prefix.FOCBMP.DATA,DISP=SHR
//FOCPSB DD DSN=prefix.IMS.FOCPSB(psbname),DISP=SHR
//ERRORS DD DSN=prefix.ERRORS.DATA,DISP=SHR
//SYSPRINT DD SYSOUT=*
//

where:

nn
Is the region size.

psbname
Is the name of the PSB to use.

prefix
Is the high-level qualifier for your site's FOCUS production libraries.

bufpool
Is the member that contains your VSAM buffer pool information.

Note:

Once the BMP extension job is executing, you can invoke the Interface from a CLIST or from batch JCL, as described in Invoking the Interface in the BMP Extension Environment.


Top of page

Invoking the Interface in the BMP Extension Environment

To invoke the Interface as a batch job, submit the following sample JCL after editing it to conform to your site's standards and adding a JOB card

//FOCXMI   EXEC PGM=FOCUS,REGION=nn
//STEPLIB DD DSN=prefix.FOCLIB.LOAD,DISP=SHR
// DD DSN=prefix.IMS.LOAD,DISP=SHR
// DD DSN=prefix.FUSELIB.LOAD,DISP=SHR
//ERRORS DD DSN=prefix.ERRORS.DATA,DISP=SHR
//FOCBMP DD DSN=prefix.FOCBMP.DATA,DISP=SHR
//FOCEXEC DD DSN=prefix.FOCEXEC.DATA,DISP=SHR
//MASTER DD DSN=prefix.MASTER.DATA,DISP=SHR
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
SET IMS=OLD
TABLE FILE ...
.
.
.
END
FIN
/*
//

where:

nn
Is the region size.

prefix
Is the high-level qualifier for your site's FOCUS production libraries.

Note:


Top of page

Terminating a BMP Extension

A successfully started BMP extension job will not end without intervention; the operator must terminate it in one of three ways:

Termination through job FOCBMPKX avoids problems. The job sends the BMP extension a termination message that breaks into the server message queue ahead of all other messages addressed to it. Upon receipt of this message, the BMP extension performs its cleanup and returns to IMS, signaling a normal completion.

Execute job FOCBMPKX to terminate a BMP extension. Sample JCL for this job follows

//FOCBMPKX  EXEC PGM=FOCBMPKX,REGION=nn,PARM='ddname'
//STEPLIB DD DSN=prefix.IMS.LOAD,DISP=SHR
//ddname DD DSN=comfile,DISP=SHR

where:

nn
Is the region size.

prefix
Is the high-level qualifier for your site's FOCUS production libraries.

ddname
Is allocated to the communication file of the BMP extension job to be canceled.

comfile
Is the dataset name of the communication file that is allocated to the BMP extension you want to terminate; for example, 'prefix.FOCBMP.DATA.'

Each execution of the FOCBMPKX job terminates one BMP extension job.

Any of the three termination methods can be invoked at any time, without impact on those who might be actively using the canceled job (except for the impact on IMS/DC discussed previously). All such users will receive one of several error messages, depending on where in their retrieval process the cancellation occurred. Their retrieval ends cleanly; in no case will the user ABEND or be left with a hung terminal.


Information Builders