Installing the ADABAS Interface in MVS

This section describes how to install the ADABAS Interface in the MVS/TSO, MVS batch, and FOCUS Multi-Session Option (MSO) environments. The Interface is distributed in ready-to-execute form.

The installation process consists of the following basic tasks:

  1. Unload the distribution tape.

  1. Allocate the ADABAS Interface load modules.

  2. Access the ADABAS load library supplied by Software AG.

  3. Install the ADABAS Interface in the MSO environment (optional).

  4. Prepare the run-time libraries.

  5. Install the AUTOADBS facility.

  6. Test the ADABAS Interface installation.

Note: The discussions in this section assume that all of your site's FOCUS and ADABAS Interface libraries are cataloged under the same MVS high-level qualifier.


Top of page

Unloading the Distribution Tape

The ADABAS Interface is distributed on the same tape/cartridge as the standard FOCUS product. Following are the attributes for the partitioned datasets (PDSs), or libraries, needed to use the Interface:

Dataset

Allocation Parameters

ADABAS.LOAD
SPACE=(CYL,(1,1,5)),
DCB=(LRECL=0,BLKSIZE=13030,RECFM=U)
ADABAS.DATA
SPACE=(CYL,(1,1,5)),
DCB=(LRECL=80,BLKSIZE=1600,RECFM=FB)

Both of these PDSs are in IEBCOPY dump format:

To unload the distribution tape, perform these steps:

  1. Allocate the required disk space for each PDS.

  1. Create an IEBCOPY procedure like this sample JCL and submit it for execution

    //UNLOAD    EXEC  PGM=IEBCOP
    //SYSPRINT DD SYSOUT=*
    //IN15 DD DSN=ADABAS.LOAD,DISP=OLD,
    // UNIT=tape,LABEL=(15,SL,EXPDT=98000),VOL=SER=volser
    //IN16 DD DSN=ADABAS.DATA,DISP=OLD,
    // UNIT=tape,LABEL=(16,SL,EXPDT=98000),VOL=SER=volser
    //OUT15 DD DSN=highlvl.ADABAS.LOAD,DISP=OLD
    //OUT16 DD DSN=highlvl.ADABAS.DATA,DISP=OLD
    //SYSIN DD *
    COPY INDD=IN15,OUTDD=OUT15
    COPY INDD=IN16,OUTDD=OUT16
    /*

where:

tape
Is the distribution tape or cartridge format.

volser
Is the tape serial number.

highlvl
Is the high-level qualifier for the ADABAS libraries.

Upon successful completion, two new ADABAS Interface libraries are unloaded from the tape and cataloged on your system.


Top of page

Allocating the Interface Load Modules

The ADABAS Interface consists of the member ADBSINX in the ADABAS.LOAD library.

At execution time, FOCUS searches for the ADABAS Interface load module in the program library allocated to ddname USERLIB. If USERLIB is not allocated or if it does not contain the ADABAS Interface module, FOCUS searches in ddname STEPLIB. This search order gives the site three options:

All three options are roughly equivalent in overhead at execution time; the third option, however, requires a small amount of additional storage (approximately 26K) for buffers.

For interactive MVS/TSO, apply the same options. However, you cannot allocate the ddname STEPLIB dynamically using the ALLOCATE command. If you use the STEPLIB ddname online, you must allocate it in the TSO logon procedure or in your LINKLIST. The ddname USERLIB may be allocated dynamically, even within FOCUS, any time prior to the first call to the ADABAS Interface.


Top of page

Accessing the Software AG Load Library

You need access to the Software AG load library in order for the ADABAS Interface to communicate with the ADABAS DBMS. This library, SOFTWARE.AG.LOAD, contains the ADABAS load modules and the ADABAS file named ADAUSER.

The SOFTWARE.AG.LOAD library must be included in the STEPLIB allocation or in its functional equivalent. Contact your ADABAS database administrator if you are unsure of the name of this load library at your site.

For batch mode, concatenate the SOFTWARE.AG.LOAD library with the FOCLIB.LOAD and ADABAS.LOAD libraries, or with the FOCLIB.LOAD library, in the STEPLIB allocation. See the examples in Allocating the Interface Load Modules.

For interactive MVS/TSO access, select the option appropriate for your site to access SOFTWARE.AG.LOAD:


Top of page

Preparing the Run-time Libraries

At this point, you may need to create or modify five run-time libraries. Following sections describe how to allocate these libraries with a CLIST or batch JCL. A sample CLIST and sample batch JCL are shown in Testing the ADABAS Interface Installation.

Each Interface user must have access to the five libraries, which are described below.


Top of page

The MASTER Library

The MASTER library is created when FOCUS is installed. The library is allocated to ddname MASTER, and its members are FOCUS Master Files.

FOCUS uses a Master File to describe the data in an ADABAS file. Each ADABAS file accessed by the Interface must be described to FOCUS as a Master File or as a segment in a Master File.


Top of page

The FOCADBS (or ACCESS) Library

Using your site criteria, allocate a PDS for your Access Files as ddname FOCADBS or ACCESS. Two suggested names for this library are userid.FOCADBS.DATA or userid.ACCESS.DATA.

Note: In this appendix, we use the term FOCADBS library to refer to either the FOCADBS or ACCESS library, depending on the name chosen at your site.

Access Files correspond to Master Files and provide additional ADABAS file characteristics such as the ADABAS database number, file number, and access type.

You create and allocate your own Access File library. However, some sites create one centrally stored PDS for all Access Files. In that case, you can concatenate your individual Access Files with the site's Access Files.

The DCB requirements of the FOCADBS library are the same as those for the FOCEXEC and MASTER libraries. It must be a PDS with LRECL=80, RECFM=F or FB, and a BLKSIZE that is any multiple of 80. The amount of required space depends on the size and number of Access Files you use. Following are recommended space allocation and DCB values:

Dataset

Allocation Parameters

userid.FOCADBS.DATA
or
userid.ACCESS.DATA
SPACE=(TRK,(5,1,20)),
DCB=(LRECL=80,BLKSIZE=1760,RECFM=FB)

For complete information about Master and Access Files, see Describing ADABAS Files to FOCUS.


Top of page

The FOCEXEC Library

The FOCEXEC library is created when FOCUS is installed. The library is allocated to ddname FOCEXEC, and its members are FOCUS procedures (FOCEXECs).


Top of page

The ADABAS Interface Load Library

The ADABAS.LOAD library is supplied on the distribution tape. This library contains ADABAS Interface software and does not require additional preparation.


Top of page

The ERRORS Library

The ERRORS library is created when FOCUS is installed. Like FOCUS, the ADABAS Interface has its own set of error messages, which normally include an ADABAS response code in case of failure. The highlvl.ADABAS.DATA library contains the ADABAS Interface error messages and must be allocated to ddname ERRORS.

The following JCL concatenates the ADABAS.DATA PDS in the ERRORS allocation to properly generate ADABAS Interface error messages:

//ERRORS DD DSN=highlvl.ERRORS.DATA,DISP=SHR
// DD DSN=highlvl.ADABAS.DATA,DISP=SHR

Failure to allocate the ADABAS.DATA library properly displays the following message instead of an appropriate ADABAS Interface error message:

FOC000 ERROR MESSAGE TEXT MISSING 

The number that follows FOC is the error message number. If this message displays, correct your ERRORS allocation to include highlvl.ADABAS.DATA.

For individual ADABAS Interface error messages, consult Appendix B, ADABAS Interface Error Messages. For details on the ADABAS response codes that may accompany the ADABAS Interface error messages, see your Software AG publication General Reference Set: Messages and Codes Manual.


Top of page

Installing in the MSO Environment (Optional)

If you use the ADABAS Interface in an MSO environment, additional steps are required:

  1. Run GENFADL JCL.

  1. Include the necessary libraries in the MSO startup JCL.


Top of page

Installing AUTOADBS

The ADABAS Interface is distributed with a full-screen, automated procedure named AUTOADBS, which simplifies the process of describing ADABAS files to FOCUS. AUTOADBS generates Master and Access Files for specified ADABAS files by using the file information cataloged in the Predict dictionary. For instructions on how to use AUTOADBS, see The AUTOADBS Facility.

The AUTOADBS installation process consists of the following tasks:

  1. Edit the GENFADLA member in the ADABAS.DATA library and submit the JCL.

  1. Determine which Predict dictionaries require access and create menu selection choices.

  2. Edit the PREDDB and PREDEL members in the Access File PDS.

  3. Determine the value for the CALLTYPE attribute.

  4. Decide whether the SEQFIELD attribute is optional or required.

  5. Change the initial dataset defaults.


Top of page

Editing the GENFADLA Member

Edit the JCL found in highlvl.ADABAS.DATA(GENFADLA), using these steps:

  1. Add a job card to the JCL.

  1. Change highlvl to the high-level qualifier used for ADABAS.DATA, and userid to the high-level qualifier used for FOCEXEC.DATA, MASTER.DATA, and FOCADBS.DATA.

  2. Submit the job to copy and rename the AUTOADBS files from the installation datasets to the run-time libraries.


Top of page

Determining Which Predict Dictionaries Require Access

If you use only one Predict dictionary as a source for FOCUS file descriptions, skip this section and continue with the next task (editing members in the Access File library).

For AUTOADBS to access several Predict dictionaries concurrently, you must do the following:

  1. Determine which Predict dictionaries need to be accessed and create menu selection choices. For each dictionary, select a one-character identifier. This value uniquely identifies the dictionary for reporting purposes and is displayed on the Main Menu of AUTOADBS. Select a letter A through Z, a number 0 through 9, or blank for the identifier.

  1. For each menu identifier, copy and rename the following files. For each member name, the suffix n represents the identifier. (Remember, whenever you see userid.FOCADBS.DATA, you can substitute userid.ACCESS.DATA if applicable at your site.)

From:

To:

userid.MASTER.DATA(PREDDB)
userid.MASTER.DATA(PREDDBn)
userid.MASTER.DATA(PREDEL)
userid.MASTER.DATA(PREDELn)
userid.FOCADBS.DATA(PREDDB)
userid.FOCADBS.DATA(PREDDBn)
userid.FOCADBS.DATA(PREDEL)
userid.FOCADBS.DATA(PREDELn)

  1. Edit the AUTOADBS FOCEXEC to include the menu identifier. In the dataset userid.FOCEXEC.DATA(AUTOADBS), locate the line that reads

    DEFAULT &DICT_FILES=' ''
  1. Repeat Step 2 for each of the identifiers selected in Step 1.


Top of page

Editing the PREDDB and PREDEL Members in the Access File PDS

Edit the PREDDB and PREDEL members in userid.FOCADBS.DATA (or userid.ACCESS.DATA). If you have several Predict dictionaries with associated identifiers, repeat these steps for all of the PREDDB and PREDEL members created in the FOCADBS.DATA library described in Determining Which Predict Dictionaries Require Access, in the section Installing AUTOADBS.

  1. Update the ADABAS database number and file number for the Predict dictionary in each member. Locate the attributes DBNO=001 and FILENO=012 and change these values to the actual values for your site's Predict dictionary. You must change one occurrence in the member PREDDB and all three occurrences in the member PREDEL.

    $ FILENAME=PREDDB,SUFFIX=ADBSINX,$
    RELEASE=6,OPEN=YES,$
    $ADABAS FILE = SYSDIC
    SEGNAM=S02 ,ACCESS=ADBS,DBNO=001,FILENO=012,
    CALLTYPE=RL,SEQFIELD=FILE_REC,
    KEYFLD=FILE_ELEMENT,
    IXFLD=FILE_REC
    FIELD=FILE_REC ,TYPE=NOP,$
Figure 1. Example of a PREDDB Access File Figure 2. Example of a PREDEL Access File
  1. If your Predict dictionaries are password-protected, you must insert the password value in each member. Add the PASSWORD attribute after all three occurrences of the FILENO attribute in each member.

Figure 3. Example of a PREDEL Access File With the PASSWORD Attribute

Top of page

Determining the CALLTYPE Value

Determine how AUTOADBS treats the CALLTYPE value you supply. The CALLTYPE attribute appears in all generated Access Files. Its value indicates whether the ADABAS Interface needs to construct Read Logical (RL) or FIND calls for retrieval. You have two choices:


Top of page

Deciding Whether the SEQFIELD Attribute Is Optional or Required

We recommend using the SEQFIELD option. This field (an index) is used when there are no IF or WHERE clauses in the report request. This option avoids an L2 call (read physical) through the entire database. Using the index is more efficient in most cases.

Determine if AUTOADBS requires the SEQFIELD value. The SEQFIELD attribute is specified to use an ADABAS descriptor or superdescriptor's inverted list for retrieval by default. You have two choices:


Top of page

Changing the Initial Dataset Defaults

AUTOADBS displays default output dataset names for the Master File, Access File, and FOCDEF file. These defaults follow standard IBI naming conventions. The defaults are changed on a per-user basis by replacing the values on the screen and then logging them to disk for subsequent use. Alternatively, the AUTOADBS FOCEXEC can be modified to include site-specific naming conventions for all users.

To customize the initial dataset defaults for all users, edit the following lines in the AUTOADBS member of userid.FOCEXEC.DATA. Change the expression on the right-hand side of the equal sign as appropriate. The resulting expression must retain a length of 44 characters (&USERID accounts for eight characters). You only need to customize the following lines

SET &DSNP0=&USERID ||'.FOCADBS.DATA                   ';
SET &DSNM0=&USERID ||'.MASTER.DATA ';
SET &DSNF0=&USERID ||'.FOCADBS.DATA ';
SET &DSND0=&USERID ||'.FOCDEF.DATA ';

where:

&DSNP0
Is the menu parameter log dataset.

&DSNM0
Is the Master File output dataset.

&DSNF0
Is the Access File output dataset.

&DSND0
Is the FOCDEF TableTalk Help output dataset.


Top of page

Testing the ADABAS Interface Installation

To test the ADABAS Interface installation and file descriptions used by AUTOADBS, use the following samples and FOCUS report request. Modify them according to your site's requirements. You may need to change the dataset name for the ADARUN parameter file. (See Using the DDCARD ddname to Specify Site Defaults.)


Top of page

Test Sample CLIST for Interactive MVS/TSO

Specify your site information and execute the following CLIST

/*****************************************************************************/
/* *Test CLIST FOR testing FOCUS w/ ADABAS Interface* */
/* Note: This CLIST assumes that the Software AG load library has been */
/* allocated to ddname STEPLIB in the TSO logon proc or system linklist. */
/* 'highlvl' represents the high
level qualifier chosen for the */
/* FOCUS libraries. */
/*****************************************************************************/
/* */
/* Allocate FUSELIB.LOAD and ADABAS.LOAD to ddname USERLIB */
/* */
ALLOC F(USERLIB) DA('highlvl.FUSELIB.LOAD'
'highlvl.ADABAS.LOAD') SHR REU
/* Allocate ddnames that will be used in the FOCUS session. */
/* Assure that the PDSes allocated to FOCEXEC, MASTER, and */
/* FOCADBS are the ones that contains the AUTOADBS files copied */
/* in the AUTOADBS Installation step. */
/* */
ALLOC F(ERRORS) DA('highlvl.ERRORS.DATA'
'highlvl.ADABAS.DATA') SHR REUSE
ALLOC F(FOCEXEC) DA('userid.FOCEXEC.DATA') SHR REUSE
ALLOC F(DDCARD) DA('SOFTWARE.AG.ADARUN') SHR REUSE
ALLOC F(MASTER) DA('userid.MASTER.DATA') SHR REUSE
ALLOC F(FOCADBS) DA('userid.FOCADBS.DATA') SHR REUSE
/* The actual call to the FOCUS module follows */
CALL 'highlvl.FOCLIB.LOAD(FOCUS)'

where:

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

userid
Is the high-level qualifier for your private version of a library.

The result is a FOCUS session in interactive MVS/TSO. Once in FOCUS, enter this simple report request:

TABLE FILE PREDDB
PRINT FILE_ELEMENT
IF RECORDLIMIT EQ 10
END

If the ADABAS Interface is properly installed, the result is a FOCUS report that displays data from the first ten records in your Predict dictionary.

Note: If you customize AUTOADBS to run with multiple copies of the Predict dictionary, append the suffix for the identifier to PREDDB in the request. For example, if you choose P or T as a suffix, specify

TABLE FILE PREDDBP

or:

TABLE FILE PREDDBT 

If you do not receive a report (0 records), make sure that the Predict dictionary contains data. The Predict dictionary is identified by the DBNO and FILENO in FOCADBS.DATA(PREDDB) and FOCADBS.DATA(PREDEL).

If you receive any ADABAS Interface error messages and/or ADABAS response codes, check your installation against the instructions in this appendix. Also consult Interface Error Messages, and the appropriate Software AG documentation, or call Information Builders for assistance.


Top of page

Test Sample JCL

Specify your site information and submit the following job:

//* * * * * JOB CARD Information goes here * * * * * 
//*Note that 'highlvl' represents the high
level qualifier chosen for
//the FOCUS libraries. For the ddnames MASTER, FOCADBS, and FOCEXEC,
//make certain that you are pointing to the libraries that contain
//the files used by AUTOADBS as described above.
//STEP01 EXEC PGM=FOCUS
//STEPLIB DD DSN=SOFTWARE.AG.LOAD,DISP=SHR *The ADABAS load library*
// DD DSN=highlvl.FOCLIB.LOAD,DISP=SHR
// DD DSN=highlvl.ADABAS.LOAD,DISP=SHR
//USERLIB DD DSN=highlvl.FUSELIB.LOAD,DISP=SHR
//ERRORS DD DSN=highlvl.ERRORS.DATA,DISP=SHR
// DD DSN=highlvl.ADABAS.DATA,DISP=SHR
//FOCEXEC DD DSN=userid.FOCEXEC.DATA,DISP=SHR
//MASTER DD DSN=userid.MASTER.DATA,DISP=SHR
//FOCADBS DD DSN=userid.FOCADBS.DATA,DISP=SHR
//DDCARD DD DSN=SOFTWARE.AG.ADARUN,DISP=SHR
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
TABLE FILE PREDDB
PRINT FILE_ELEMENT
IF RECORDLIMIT EQ 10
//

where:

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

userid
Is the high-level qualifier for your private version of a library.

If the ADABAS Interface is properly installed, the result is a FOCUS report that displays data from the first ten records in your Predict dictionary.

Note: If you customize AUTOADBS to run with multiple copies of the Predict dictionary, append the suffix for the identifier to PREDDB in the request. For example, if you choose P or T as a suffix, specify

TABLE FILE PREDDBP

or:

TABLE FILE PREDDBT 

If you do not receive a report (0 records), make sure that the Predict dictionary contains data. The Predict dictionary is identified by the DBNO and FILENO in FOCADBS.DATA(PREDDB) and FOCADBS.DATA(PREDEL).

If you receive any ADABAS Interface error messages and/or ADABAS response codes, check your installation against the instructions in this appendix. Also consult Appendix B, Interface Error Messages, and the appropriate Software AG documentation, or call Information Builders for assistance.


Information Builders