Preparing the Supra Environment
Prior to starting the server, it is necessary to perform the following pre-configuration procedures when preparing the environment on z/OS.
Customize the LINKEDIT JCL
After executing ISETUP, the JCL will be generated to LINKEDIT the supplied Adapter for Supra module with the Supra stub called CSVILUV. The CSVILUV module is supplied by the Supra vendor, Cincom, and usually resides in the Supra LINKLIB library.
This required step allows the Adapter for Supra module to communicate with the Supra Central PDM.
Modify the following LINKEDIT JCL to conform to site standards and submit it for execution. The JCL listed below displays the GENESUPR JCL that is available at qualif.HOME.DATA:
//* Job Card Goes Here //* //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //*Purpose: Linkedit SUPRA API routines into Supra Adapter * //* This is required if you run applications that connect * //* to SUPRA database. * //* * //*Substitutions: * //* In the SET statements, supply the values for 'supra', * //* 'target' and 'home' according to description. * //* * //* target library must be placed ahead of home library in * //* STEPLIB concatenation of IRUNJCL. * //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // SET SUPRA=<SUPRA LINKLIB object library> // SET TARGET=<Library to receive relink modules> // SET HOME=<Installation HOME.LOAD library> //LKED EXEC PGM=IEWL,PARM='MAP,XREF' //SUPRA DD DISP=SHR,DSN=&SUPRA //SYSLMIN DD DISP=SHR,DSN=&HOME //SYSLMOD DD DISP=SHR,DSN=&TARGET //SYSUT1 DD UNIT=SYSDA,SPACE=(100,(50,50)) //SYSPRINT DD SYSOUT=* //SYSLIN DD * INCLUDE SUPRA(CSVILUV) INCLUDE SYSLMIN(FSP000) MODE AMODE(64),RMODE(24) ENTRY FSP000 NAME FSP000(R) /*
where:
Specifies the fully-qualified name of the SUPRA linklib library that contains the CSVILUV module.
Specifies the fully-qualified name of the load library receiving the relink module.
Specifies the fully-qualified name of the server installation HOME.LOAD load library.
Customize the Server IRUNJCL JCL
If, during ISETUP installation, you selected Yes for Supra Adapter, the IRUNJCL will already contain the STEPLIB allocations for Supra. If you missed that at install time, you can manually add these allocations to the server IRUNJCL.
The Supra DBMS has three load libraries: LINKLIB, INTERFLM, and ENVLIB. These load libraries must be concatenated to ddname STEPLIB.
Install the Adapter for Supra Security Exit (Optional)
The Adapter for Supra has a security exit, FSPEXT, that allows the user to obtain the account name and account password from a user-defined source. The account name and account password are then passed to the adapter and used for login to the Central PDM.
When you issue a request against the Supra database, the adapter calls the FSPEXT function with standard IBM calling conventions, and passes it these parameters:
|
USR |
Passed to function (Server Logon User ID) |
8 Bytes Alpha |
|
ACCNT |
Returned from function |
16 Bytes Alpha |
|
ACCNTP |
Returned from function |
16 Bytes Alpha |
The function returns ACCNT and ACCNTP to the adapter, which uses them as parameters to the sign-on call it issues. The adapter calls the user exit if the password is not available from other sources (for example, the SET command or an Access File). The exit is loaded as a module using a LOAD macro from ddname USERLIB, TASKLIB, or STEPLIB, in that order. It is called in AMODE 31. The syntax for the call to the FSPEXT function is:
CALL FSPEXT(USR,ACCNT,ACCNTP)
Utilize the Security Exit
To utilize the security exit, perform the following steps.
- Procedure
- Write the function using COBOL or Assembler. The function name must be FSPEXT.
An example of the FSPEXT function written in Assembler follows.
* SAMPLE EXIT FOR Supra ADAPTER EJECT FSPEXT CSECT USING FSPEXT,R15 TEMPORARY ADDRESSABILITY B PROC JUMP AROUND THE ID INFORMATION * ID INFORMATION DC CL8'FSPEXT ' PROG NAME PRINT NOGEN PROC STM R14,R12,12(R13) LR R12,R15 DROP R15 USING FSPEXT,R12 ST R13,SAVAR+4 MVC 8(4,R13),=A(SAVAR) LA R13,SAVAR * * INSERT THE CODE TO FETCH THE ACCOUNT /PASSWORD L R2,4(R1) MVC 0(16,R2),=CL16'EXITACCOUNT ' L R2,8(R1) MVC 0(16,R2),=CL16'EXITPASS ' * L R13,SAVAR+4 LM R14,R12,12(R13) BR R14 ************************************************************ SAVAR DS 18F R1 EQU 1 R2 EQU 2 R9 EQU 9 R10 EQU 10 R11 EQU 11 R12 EQU 12 R13 EQU 13 R14 EQU 14 R15 EQU 15 * END - LINKEDIT the object module into the 'qualif.HOME.LOAD' library with AMODE(31).
For example:
//LINK EXEC PGM=IEWL,PARM='LET,NCAL,SIZE=(1024K),LIST' //OBJLIB DD DSN=objlib,DISP=SHR //SYSLMOD DD DSN=qualif.HOME.LOAD,DISP=SHR //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(10,1)) //SYSPRINT DD SYSOUT=* //SYSLIN DD * INCLUDE OBJLIB(FSPEXT) ENTRY FSPEXT MODE AMODE(31) NAME FSPEXT(R) /* //
where:
objlibIs the fully-qualified name of the library containing the FSPEXT object code.
qualif. HOME.LOADIs the adapter load library.
- If you LINKEDIT the object module into a load library other than 'qualif.HOME.LOAD', concatenate the load library from Step 2 to the STEPLIB DD in your server JCL.