Software AG recommends that you keep unmodified copies of all materials distributed or created as part of the installation process. This may assist with problem diagnosis later.
The installation procedure is described under the following headings:
The configuration parameters are described in Configuring the SMARTS Environment.
Note:
While you are free to rename the datasets, the dataset names used in this section are used consistently throughout the
product documentation to ensure clarity.
The following table lists the product datasets and what the dataset contains:
Dataset | Contains ... |
---|---|
APSvrs.LOAD | all load modules required by SMARTS |
APSvrs.SRCE | all JCL, sample source members, and SMARTS macros. |
Dataset | Contains .. |
---|---|
APSvrs.USERSRCE | source members |
APSvrs.USERLOAD | load modules for all SMARTS environments |
APSvrs.CICSLOAD | CICS client environment |
The following table lists the sample members copied to the user source dataset during the installation process. These must be modified before being used:
Member | Contains .. |
---|---|
RJANPARM | sample server environment parameters. |
RJBNINS1 | sample JCL to copy TLINOS to an authorized dataset. |
RJBNPROC | sample procedure to run the SMARTS server environment. |
The cartridge is delivered with a standard Software AG Tape Creation Report indicating the datasets, formats, and sizes of each dataset on the cartridge.
To create the mainframe datasets, load the datasets using either of the following:
the IEBCOPY utility for PDS datasets
the IEBGENER utility for sequential datasets.
The following steps are required for OS/390 environments.
To create and initialize the datasets required for SMARTS, modify the sample job in member RJBNINS2 on the APSvrs.SRCE dataset to suit your installation's environment, and run it to create the appropriate datasets.
This job also copies all modifiable members from the APSvrs.SRCE dataset to the newly created APSvrs.USERSRCE dataset in order to retain all APSvrs.SRCE members as delivered.
In the SMARTS environment, the
CDI_DRIVER
parameter is used to specify CDI
(communication driver interface) protocol definitions. If TCP/IP communications
are required, a definition for protocol 'tcpip' is used.
Modify the CDI_DRIVER
parameter of the sample
configuration member PXANCONF .
The following section provides a sample of the
CDI_DRIVER
parameter specification for an IBM OE TCP/IP
stack. Refer to the chapter Configuring the
SMARTS Environments for information about
the parameters that can be specified.
CDI_DRIVER=('tcpip,PAAOSOCK')
Note:
The userid used for the job running the
SMARTS environment with the IBM OE TCP/IP Stack
driver configured must have an OE segment defined in the RACF (or compatible)
profile.
If your TCP/IP stack on OS/390 does not support host name/host address lookup (DNS), SMARTS uses a local address table that mimics the DNS functionality.
Use the sample host name parameter member PXANHOST in APSvrs.SRCE and customize to suit your needs. When customizing the local table, define:
any host names and addresses that will be accessed from within the SMARTS server partition and
the host where the local SMARTS server is executing.
For example, for a local host with name LOCAL and IP address 127.0.0.1 and a remote host with name REMOTE and IP address 157.189.160.95, you should specify:
127.0.0.1 LOCAL AF_INET 157.189.160.95 REMOTE AF_INET
Verify and if necessary add or modify the following parameter in the members RJBNPROC and PXANCONF to point to the PXANHOST member:
HOSTS_FILE=file://APSvrs/SRCE/PXANHOST
In all environments, SMARTS requires output DD statements for STDOUT, and STDERR and an input DD statement for STDIN.
If the output DD statements are not provided, they default to a SYSOUT dataset;
If the input DD statement is not provided, it defaults to an empty default dataset.
Software AG recommends that you allow these DD statements to default unless the output needs to be directed in some way, or input is required on STDIN for the application in question.
This section explains the additional steps required to run the SMARTS server environment.
SMARTS itself does not require to be run as an authorized user, however, some SMARTS based products may have such a requirement generally or if you want to use certain features. To run SMARTS as an authorized user, proceed as follows:
To achieve this, place module TLINOS in an authorized dataset. Use one of the following alternatives:
Copy the module to a library that is already authorized and use the library as the STEPLIB for SMARTS. Sample JCL to copy the module is contained in member RJBNINS1.
Note:
If you do not use RJBNINS1, you must ensure that whatever method
you use to copy the module retains the correct AMODE/RMODE attributes and
authorization code for the module.
Authorize the distributed SMARTS load library permanently by adding an entry for the dataset in member IEAAPFnn of library SYS1.PARMLIB, where "nn" is the suffix used at your site.
Note:
This requires an IPL of the system. You can avoid having to perform
an IPL for the initial installation if you have a product installed that allows
automatic authorization of the dataset.
Modify the SMARTS Server Procedure: Specify only the authorized dataset as STEPLIB, and add a COMPLIB load library concatenation containing all other load libraries, including the SMARTS load library:
//STEPLIB DD DISP=SHR,DSN=APF.AUTHORIZED.LIBRARY //* //COMPLIB DD DISP=SHR,DSN=APSvrs.USERLOAD //APSULIB DD DISP=SHR,DSN=APSvrs.LOAD
The SMARTS server environment is initialized or started by invoking a procedure or running a job with the appropriate JCL. The example JCL member RJBNPROC illustrates a typical SMARTS procedure that might be used for an OS/390 installation.
When first installing the SMARTS server environment, add the procedure RJBNPROC to the installation's system procedure library SYS1.PROCLIB or to a user-defined procedure library.
The example member contains the following JCL:
//RJBNPROC PROC APSPARM=RJANPARM, // OPARM=, // REG=32M //******************************************************************* //* * //* SMARTS Server Environment Startup Procedure for OS/390 * //* * //******************************************************************* //IEFPROC EXEC PGM=TLINOS, // PARM='&OPARM;', // REGION=®,TIME=1440,DPRTY=(14,14) //* //STEPLIB DD DISP=SHR,DSN=APSvrs.USERLOAD //APSULIB DD DISP=SHR,DSN=APSvrs.LOAD //* //SYSPARM DD DISP=SHR,DSN=APSvrs.USERSRCE(&APSPARM;) //SYSPRINT DD SYSOUT=X
During the installation process, either
Invoke the SMARTS procedure either from the operator's console using
an OS/390 START command
S RJBNPROC,...
or an OS/390 batch job
//SMARTS JOB ............. //IEFPROC EXEC RJBNPROC,...
In either case, you need to understand the DD statement functions and the use of available start-up options to implement the features of the SMARTS server environment.
The following sections use the above sample JCL as a basis for defining the SMARTS server environment initialization procedure for OS/390.
The required and optional DD statements in the above procedure are described in more detail below:
You can modify the SMARTS procedure, including the format and use of the symbolic parameters. However, the symbolic parameters indicated below are generally sufficient to meet the needs of most installations:
Add the appropriate SMARTS server configuration parameters prior to starting the SMARTS server environment.
In particular, select a dataset name pattern for DUMPDSN= that will allow the user in effect for the SMARTS address space to allocate names.
The configuration parameters are described in Configuring the SMARTS Environment.
For parameters relevant to your application, refer also to the documentation for the software that runs on SMARTS.
Add the APSvrs.LD00 dataset to the DFHRPL concatenation in the procedure.
Add a "//SYSPARM DD
" statement for the
SMARTS POSIX configuration.
This dataset is required to define the runtime characteristics of your POSIX environment.
For more information, see SMARTS Configuration Sources.
Add a "//CONFIG DD
" statement for the
dataset containing the environment variables required by your POSIX
applications within CICS.
This DD name is specified by the
ENVIRONMENT_VARIABLES
parameter in
SYSPARM
, which defaults to "CONFIG".
For more information, see the section SMARTS POSIX Miscellaneous Parameters, ENVIRONMENT_VARIABLES.
If the installation already has a DFHZNEP node error program in use, modify it to invoke the SMNE transaction under the conditions detailed in the model assembler program PACNZNEP, supplied in the APSvrs.SRCE Tape file. .
If the installation does not have a DFHZNEP node error program in use, use the supplied model program PACNZNEP to create one.
Four standard transactions are required:
TDSP, which is used internally by SMARTS;
SMGO, which is used to initialize the POSIX server;
SMEX, which may be used to terminate the POSIX server;
SMNE, which is invoked by the CICS Node Error Program to provide SMARTS cleanup functionality.
The standard transactions must be defined to run the following Assembler programs:
TDSP to run PACNSTRT. The name TDSP is mandatory as it is used internally by SMARTS. Define this Transaction with TASKDATALOC(BELOW) and TASKDATAKEY(USER)..
SMGO to run PACNKERN. The name SMGO is mandatory as it is used internally by SMARTS. Define this Transaction with TASKDATALOC(BELOW) and TASKDATAKEY(CICS)..
SMEX to run PACNKERX. SMEX is a suggested transaction name. Define this Transaction with TASKDATALOC(BELOW) and TASKDATAKEY(CICS).
o SMNE to run PACNNEP. The name SMNE is mandatory, as it is used internally by SMARTS. Define this Transaction with TASKDATALOC(BELOW) and TASKDATAKEY(CICS)..
Autoinstall should also be activated. Autoinstall can be activated by setting the SIT parm :
PGAIPGM=ACTIVE
The following Assembler language programs must be defined to CICS.
PACNABEX with EXECKEY(CICS)
PACNKERN with EXECKEY(CICS)
PACNKERX with EXECKEY(CICS)
PACNNEP with EXECKEY(CICS)
PACNPCEX with EXECKEY(USER)
PACNSMGO with EXECKEY(CICS)
PACNSTRT with EXECKEY(CICS)
The following Assembler Programs must be defined to CICS as follows:
RAANPARM, define with "RELOAD=YES", and EXECKEY(USER)
The program list table PLTPI is used to automatically initialize SMARTS POSIX at CICS startup:
In the DFHPLTxx for the PLTPI, insert PACNSMGO as a second phase PLT program.
The program list table PLTSD is used to automatically terminate SMARTS POSIX at CICS shutdown:
In the DFHPLTxx for the PLTSD, insert PACNKERX as a first phase PLT program.
A successfull initialization of SMARTS can be verified in the CICS protocol output and looks similar to this messages:
+APSPSX0015-* POSIX V271 Build 030212 Patch level=2 Initialization in prog +APSPSX0004-* Module 'L$CPRSU' Loaded +APSPSX0050-SysName CDI FILE protocol initialized +APSPSX0066-SysName Trace level = 1 +APSPSX0068-SysName No System Tracing enabled +APSPSX0069-SysName No functions are being traced +APSPSX0036-SysName Global environment variables processed successfully +APSPSX0026-SysName Sockets Initialization successful +APSPSX0050-SysName CDI TCPIP protocol initialized +APSPSX0064-SysName Trace DataSpace Initialised, ESIZE=0:BSIZE=0:NBLKS=0 +APSPSX0065-SysName Log DataSpace Initialised, ESIZE=0:BSIZE=0:NBLKS=0 +APSPSX0008-SysName SMARTS SERVER V271 System initialized, nucleus size 56 +PACNKERN - POSIX INTERFACE INITIALISED.
Verification of communcation between CICS using Natural and EntireX Communicator can be performed by logging on the Natural library SYSETB and proceeding the Natural Tutorial .
N411 RCA=(BROKER),RCALIAS=(BROKER,EXAAPSC)
A successful shutdown of CICS using the "CEMT
P,SHUT" command will present PACNKERX - POSIX INTERFACE
TERMINATED
on the terminal that issued the shutdown command. This
verifies that control has been given to the SMARTS
termination routine.
You have now installed the SMARTS software. You can continue now with the installation of the application that is to run on SMARTS.
Note that the configuration procedure of the application that runs on SMARTS may instruct you to modify some of the configuration parameters of SMARTS.