In this section: |
When you access IMS through the XMI server, each DL/I call requires communication resources. If IMS 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: You can also access IMS through DBCTL (see Access to IMS Through DBCTL).
To invoke FOCUS in this configuration, execute the IMS region controller program (DFSRRC00). (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 |
|
2 |
|
To invoke the adapter 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 the standards at your site
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:
Is the high-level qualifier for your FOCUS production libraries.
Is the name of the PSB to use.
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.
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 adapter as a batch job, submit the following JCL after editing it to conform to the standards at your site 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:
Is the region size.
Is the name of the PSB to use.
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.
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.
Is the high-level qualifier for your FOCUS production libraries.
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:
|
To invoke the adapter 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 the standards at your site
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:
Is the member that contains your VSAM buffer pool information.
Is the high-level qualifier for your FOCUS production libraries.
Is the name of the PSB to use.
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 adapter as a batch job, submit the following JCL after editing it to conform to the standards at your site 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:
Is the region size.
Is the name of the PSB to use.
Is the high-level qualifier for your FOCUS production libraries.
Is the member that contains your VSAM buffer pool information.
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 |