Access to IMS With FOCUS Loaded by the Region Controller

When you access IMS through the XMI server, each DL/I call requires communication resources. If you are not using MSO or CMS, and if IMS or CICS allows shared access to the IMS databases, it is more efficient to eliminate the XMI server by having the region controller load FOCUS, rather than the XMI server, into its address space. This section includes the following topics:

Note: If you have IMS 3.1 or above, you can access IMS through DBCTL (see Access to IMS Through DBCTL).

To invoke FOCUS in this configuration, execute the IMS region controller program (DFSRRC00) or the CICS region controller program (DFHDRP), depending on whether IMS/ DC or CICS has control of the IMS databases. (You can also call the region controller from a CLIST in this configuration.) You must pass the program a list of parameters that define the environment you need. The following chart lists the most common parameters:

Parameter

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

FOCUS

Loads and accesses FOCUS in the region controller address space.

PSB

psbname

Identifies the PSB to use.

The following sections provide detailed information, including CLISTs and JCL.


Top of page

Invoking the Interface in BMP Mode: PARM='BMP,FOCUS,psbname'

BMP mode accesses online IMS databases under the control of IMS/DC. Therefore, you can access Fast Path databases with this configuration, and, if a record is updated, you retrieve the updated version.

The following diagram illustrates the relationship between FOCUS, the IMS region controller, and IMS/DC:

Address Space

Contains

1

  • The IMS region controller (DFSRRC00).
  • FOCUS.
  • The IMS/DB Interface.

    DFSRRC00 loads FOCUS into its address space because of the FOCUS parameter in your JCL or CLIST. There is no allocation for a communication file.

    You must select the PSB prior to your session and pass its name to program DFSRRC00 as a parameter. This member is the sequential file you allocate to ddname FOCPSB.

2

  • IMS/DC.

    The BMP parameter that you pass to program DFSRRC00 indicates that the IMS databases are online and are allocated in the IMS/DC address space.

To invoke the Interface interactively from this environment, first add IMS.RESLIB and 'prefix.FOCLIB.LOAD' to the allocation for ddname STEPLIB in your TSO logon procedure. Execute the following CLIST after editing it to conform to your site's standards

PROC 0
CONTROL NOMSG
FREE DDNAME(FOCPSB MASTER FOCEXEC ERRORS USERLIB)
ALLOC F(DFSRESLB) DA('IMS.RESLIB') SHR REUSE
ALLOC F(MASTER) DA('prefix.MASTER.DATA') SHR REUSE
ALLOC F(FOCEXEC) DA('prefix.FOCEXEC.DATA') SHR REUSE
ALLOC F(FOCPSB) DA('prefix.FOCPSB.DATA(psbname)') SHR REUSE
ALLOC F(ERRORS) DA('prefix.ERRORS.DATA') SHR REUSE
ALLOC F(USERLIB) DA('prefix.IMS.LOAD' +
'prefix.FUSELIB.LOAD') SHR REUSE
CALL 'IMS.RESLIB(DFSRRC00)' 'BMP,FOCUS,psbname[,,,,,,,,,nba,oba]'

where:

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

psbname
Is the name of the PSB to use.

nba
Is the number of buffers for the normal buffer allocation. It is required only for access to Fast Path databases; omit it if you will not access Fast Path.

Note: There are nine commas between the psbname and nba parameters.

oba
Is the number of buffers for the overflow buffer allocation. Is required only for access to Fast Path databases; omit it if you will not access Fast Path.

If you omit the nba and oba parameters and attempt to access Fast Path databases, the following message is generated:

(FOC4214) REMOTE DLI CALL ERROR STATUS FOR SEGMENT:XXX /FR
FR is an IMS status code indicating that too few buffers were allocated.

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

//STEP1 EXEC  PGM=DFSRRC00,REGION=nn,PARM='BMP,FOCUS,psbname[,,,,,,,,,nba,oba]'
//STEPLIB DD DSN=prefix.FOCLIB.LOAD,DISP=SHR
// DD DSN=IMS.RESLIB,DISP=SHR
// DD DSN=prefix.IMS.LOAD,DISP=SHR
// DD DSN=prefix.FUSELIB.LOAD,DISP=SHR
//FOCEXEC DD DSN=prefix.FOCEXEC.DATA,DISP=SHR
//MASTER DD DSN=prefix.MASTER.DATA,DISP=SHR
//ERRORS DD DSN=prefix.ERRORS.DATA,DISP=SHR
//FOCPSB DD DSN=prefix.FOCPSB.DATA(psbname),DISP=SHR
//DFSRESLB DD DSN=IMS.RESLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//OFFLINE DD SYSOUT=*
//SYSIN DD *
TABLE FILE ...
.
.
.
END
FIN
/*
//

where:

nn
Is the region size.

psbname
Is the name of the PSB to use.

nba
Is the number of buffers for the normal buffer allocation. It is required only for access to Fast Path databases; omit it if you will not access Fast Path.

Note: There are nine commas between the psbname and nba parameters.

oba
Is the number of buffers for the overflow buffer allocation. It is required only for access to Fast Path databases; omit it if you will not access Fast Path.

If you omit the nba and oba parameters and attempt to access Fast Path databases, the following message is generated:

(FOC4214) REMOTE DLI CALL ERROR STATUS FOR SEGMENT:XXX /FR
FR is an IMS status code indicating that too few buffers were allocated.

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


Top of page

Invoking the Interface in DLI Mode: PARM='DLI,FOCUS,psbname'

DLI mode accesses IMS databases that you allocate locally in the DFSRRC00 address space. Since you do not access the IMS/DC address space, you cannot use Fast Path databases and, if a record is updated during your session, you cannot retrieve the updated record.

Note: If you substitute the parameter DBB for DLI, IMS uses ACBs to access its databases.

The next diagram shows the relationship between FOCUS, the IMS region controller, and IMS:

Address Space

Contains

1

The only address space in this configuration contains the following:

  • The IMS region controller (DFSRRC00).
  • FOCUS.
  • The IMS/DB Interface.

    DFSRRC00 loads FOCUS into its address space because of the FOCUS parameter in your JCL or CLIST. There is no allocation for a communication file.

    The DLI parameter that you pass to program DFSRRC00 indicates that the IMS databases are allocated locally in the DFSRRC00 address space.

    You must select the PSB prior to your session and pass its name to program DFSRRC00 as a parameter. This member is the sequential file you allocate to ddname FOCPSB.

To invoke the Interface interactively from this environment, first add IMS.RESLIB and 'prefix.FOCLIB.LOAD' to the allocation for ddname STEPLIB in your TSO logon procedure. Execute the following CLIST after editing it to conform to your site's standards

PROC 0
CONTROL NOMSG
FREE DDNAME(FOCPSB MASTER FOCEXEC ERRORS USERLIB)
ALLOC F(DFSRESLB) DA('IMS.RESLIB') SHR REUSE
ALLOC F(DFSTROUT) DUMMY REUSE
ALLOC F(IEFRDER) DUMMY REUSE
ALLOC F(DFSVSAMP) DA('IMS.DFSVSAMP(bufpool)') SHR REUSE
ALLOC F(IMS) DA('IMS.DBDLIB' +
'IMS.PSBLIB') SHR REUSE
ALLOC F(PATDB01) DA('IMS.PATIENT.DB') SHR REUSE
ALLOC F(PATDBIX) DA('IMS.PATIENT.IX') SHR REUSE
ALLOC F(PATDBIX1) DA('IMS.PATIENT.IX1') SHR REUSE
ALLOC F(PATDBIX2) DA('IMS.PATIENT.IX2') SHR REUSE
ALLOC F(PATDBIX3) DA('IMS.PATIENT.IX3') SHR REUSE
ALLOC F(MASTER) DA('prefix.MASTER.DATA') SHR REUSE
ALLOC F(FOCEXEC) DA('prefix.FOCEXEC.DATA') SHR REUSE
ALLOC F(FOCPSB) DA('prefix.FOCPSB.DATA(psbname)') SHR REUSE
ALLOC F(ERRORS) DA('prefix.ERRORS.DATA') SHR REUSE
ALLOC F(USERLIB) DA('prefix.IMS.LOAD' +
'prefix.FUSELIB.LOAD') SHR REUSE
CALL 'IMS.RESLIB(DFSRRC00)' 'DLI,FOCUS,psbname'

where:

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

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

psbname
Is the name of the PSB to use.

Note:

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

//STEP1    EXEC PGM=DFSRRC00,REGION=nn,PARM='DLI,FOCUS,psbname' 
//STEPLIB DD DSN=prefix.FOCLIB.LOAD,DISP=SHR
// DD DSN=IMS.RESLIB,DISP=SHR
// DD DSN=prefix.IMS.LOAD,DISP=SHR
// DD DSN=prefix.FUSELIB.LOAD,DISP=SHR
//IMS DD DSN=IMS.DBDLIB,DISP=SHR
// DD DSN=IMS.PSBLIB,DISP=SHR
//FOCEXEC DD DSN=prefix.FOCEXEC.DATA,DISP=SHR
//MASTER DD DSN=prefix.MASTER.DATA,DISP=SHR
//ERRORS DD DSN=prefix.ERRORS.DATA,DISP=SHR
//FOCPSB DD DSN=prefix.FOCPSB.DATA(psbname),DISP=SHR
//DFSVSAMP DD DSN=IMS.DFSVSAMP(bufpool),DISP=SHR
//IEFRDER DD DUMMY
//DFSRESLB DD DSN=IMS.RESLIB,DISP=SHR
//DFSTROUT DD DUMMY
//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
//SYSPRINT DD SYSOUT=*
//OFFLINE DD SYSOUT=*
//SYSIN DD *
TABLE FILE ...
.
.
.
END
FIN
/*
//

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:


Information Builders