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.
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 |
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 |
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:
(FOC4214) REMOTE DLI CALL ERROR STATUS FOR SEGMENT:XXX /FR
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:
(FOC4214) REMOTE DLI CALL ERROR STATUS FOR SEGMENT:XXX /FR
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:
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:
Note:
The ddnames allocated to the IMS databases are from the DD1 parameters in the relevant IMS DBDs. In the sample, the databases are the PATDB databases described in Sample File Descriptions.
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:
Note:
The ddnames allocated to the IMS databases are from the DD1 parameters in the relevant IMS DBDs. In the sample, the databases are the PATDB databases described in Sample File Descriptions.
Information Builders |