This document describes how to install a Natural Development Server (product code: NDV) under the runtime environment SMARTS or under Com-plete on z/VSE.
The following topics are covered:
For details, refer to the section Prerequisites.
The installation medium contains the datasets listed in the table below. The sequence of the datasets and the number of library blocks needed are shown in the Software AG Product Delivery Report, which accompanies the installation medium.
Dataset Name | Contents |
---|---|
APSvrs.LIBR |
Contains the load modules of the SMARTS Server. |
NDVvrs.LIBR |
Contains the load modules of the development server. See Natural Development Server on Mainframes. |
NDVvrs.LIBJ |
Contains Installation Job Control for customers who install without using System Maintenance Aid. |
NDVvrs.INPL |
Contains the transaction processor, the error messages of the transaction processor, and the sample programs required for using the tutorial. See Natural Development Server on Mainframes and First Steps with Natural Single Point of Development in the Natural Single Point of Development documentation. |
NDVvrs.SYSF |
Contains the FDT of the Development Server File (the
layout is identical with PRDvrs.SYSF
provided with a Predict version as specified under Natural and Other
Software AG Products in the current Natural Release Notes
for Mainframes).
|
The notation vrs in the dataset names and in the program samples (below) represents the version, release and system maintenance level of the product.
For the currently applicable versions refer to Empower at https://empower.softwareag.com/.
(Job I009, Step 8400, 8410, 8420, 8430)
Job I009, Step 8400, define sublibrary for NDV environment.
Job I009, Step 8410, catalog configuration file of development server.
For a description of the parameters, refer to Configuring the Natural Development Server.
The following parameters of the configuration file must be defined. For the other parameters, the default values may be used:
FRONTEND_NAME |
Specify the name of the NDV server front-end module you will create in Step 5. |
PORT_NUMBER |
Specify the TCP/IP port number under which the server can be connected. |
For detailed information on the SMARTS configuration file, refer to the SMARTS documentation, Configuration of the SMARTS Environment.
Job I009, Step 8420, catalog member SYSPARM
for
SMARTS configuration file.
Job I009, Step 8430, create dummy member for NDV.
(Job I050, Step 8403)
If you do not use Predict at all or if you have not yet migrated
to a Predict version as specified under Natural and Other Software AG
Products in the current Natural Release Notes for
Mainframes, create the development server file, using the dataset
NDVvrs.SYSF
.
The layout of the Development Server File corresponds to the layout of the Predict dictionary file.
Note:
If you have a Predict version installed as specified under
Natural and Other Software AG Products in the current
Natural Release Notes for Mainframes, you can ignore this
step.
(Job I054, Step 8410)
The NDV object modules must be linked with the necessary runtime extensions of your batch installations into executable load modules.
(Job I055, Step 8401)
Note:
This step only applies to Adabas versions prior to Version
7.4.4.
The server environment requires a reentrant
ADALNK
.
Link ADALNK
using the ADALNKR
module.
(Job I060, Steps 8410, 8420)
Job I060, Step 8410, assemble and link the
NDVPARM
module to create the Natural module parameter module for
NDV.
Job I060, Step 8420, link the NDV front-end.
Under Com-plete, the following ULIB CAT entries are necessary:
PAENSTRT |
128 KB | Privileged=Y |
NATRDEVS
|
128 KB | Privileged=Y |
NATMOPI
|
128 KB | Privileged=Y |
(Job I061, Steps 8450)
During the loading of the NDV related modules with the Natural
utility INPL
, the assigned FDIC
/FSEC
file is initialized with NDV-specific information.
Load objects from dataset
NDVvrs.INPL
onto your Natural system
file (FNAT
), using the Natural utility
INPL
. The parameter FDIC
must
have been set to point to your development server file.
The error messages are loaded.
The sample programs to use the tutorial (see First
Steps with Natural Single Point of Development), are loaded to your
Natural system file (FNAT
).
If you use a Predict system file FDIC
as Development
Server File (FDIC
), ignore this step.
If a Predict version as specified under Natural and Other
Software AG Products in the current Natural Release Notes
for Mainframes has not been installed or if you do not use a Predict
system file FDIC
as Development Server File (FDIC
),
you have to copy the existing DDMs and processing rules to the Development
Server File (FDIC
), using the copy function of the Natural utility
SYSMAIN
.
(Job I200, Step 8415)
Described in the section Configuring the Natural Development Server.
* $$ JOB JNM=NDVSRV,CLASS=C,DISP=L,LDEST=(,UID) * $$ LST CLASS=A,DISP=H // JOB NDVSRV --- NDV SERVER STARTUP --- // OPTION PARTDUMP,NOSYSDMP,LOG /* NDV server datasets ----------------------------------- // DLBL NDVSRVT,'SYSLST' // DLBL NDVSRVC,'/SAGLIB/NDVCNFG/NDVSRV.P' location of NDV configuration file // DLBL NDVSRVE,'SYSLST' NDV error output directed to job output // DLBL NDVSRVO,'SYSLST' // DLBL SYSPARM,'/SAGLIB/NDVCNFG/MSGQ.DMY' location of NDV Dummy file // DLBL STDOUT,'CONSOLE' STDOUT directed to VSE console // DLBL STDERR,'CONSOLE' /* Libdef's ---------------------------------------------- /* // LIBDEF PHASE,SEARCH=(SAGLIB.NDVCNFG, + SAGLIB.APSvrs, + SAGLIB.ADAvrs) /* ******************************************************************* // UPSI 00000000 // EXEC TLINSP,SIZE=AUTO * $$ SLI MEM=RJANPARM.P,S=SAGLIB.APSvrs * $$ SLI MEM=PXANCONF.P,S=SAGLIB.APSvrs * $$ SLI MEM=SYSPARM.P,S=SAGLIB.NDVCNFG NDV specific SMARTS configuration file /* // EXEC LISTLOG
(Job I200, Step 8418)
* $$ JOB JNM=NATvrBAT,CLASS=X,DISP=D * $$ LST CLASS=A,DISP=H,DEST=(,XYZ) // JOB NATBAT // DLBL NATvrs,'PRD.NATvrs.LIBRARY' // LIBDEF PHASE,SEARCH=(NATvrs.NATvrs,NATvrs.NDVvrs,...) // EXEC NATBATvr,SIZE=(NATBATvr,120K),PARM='SYSRDR' RCALIAS=(NATATDBG,NATADvrs), DBGAT=(ACTIVE=ON,CLID=CLIENT,HOST=DASSERV,PORT=2500) LOGON MYLIB,DBA,DBA MYPROG FIN /* /& * $$ EOJ
If Natural Security (NSC) is installed:
The NDV initial user ID (default ID is STARGATE
)
must be defined in Natural Security with a valid default library. Refer also to
NDV configuration parameter INITIAL_USERID
in
the section Configuring the Natural
Development Server. Alternatively, you can specify the
Natural profile parameter AUTO=OFF
(automatic logon) for NDV.
Each client user ID must be defined in Natural Security.
If the NDV initial user ID is not defined, the NDV server initialization aborts with a NAT0856 error message.
If an NDV client is not defined, the Map Environment dialog returns an NSC error.
If you logon to the server from an NDV client, make sure that the user who is defined in Natural Security has a default library or a private library defined. Otherwise, the error message NAT0815 will be displayed.
If you configure the NDV server to use an external security system
(see NDV configuration parameter SECURITY_MODE
), the
NDV clients must be defined to the external security system.
The Natural server uses the SMARTS portable file system (PFS) as a data container for Natural work files, print files, temporary sort files and the editor work file. The SMARTS PFS is the only storage medium available for those files under SMARTS.
In order to be able to use the PFS for Natural files you have to configure Natural accordingly:
For work or print files, specify the access method
AM=SMARTS
, using the Natural profile parameters
WORK
and/or PRINT
.
For temporary sort files, specify the type of storage medium
STORAGE=SMARTS
, using the Natural profile parameter
SORT
.
And to allocate the editor work file in the PFS, specify the
work file mode FMODE=SM
, using the Natural profile parameter
EDBP
.
If you use one of these options, you have to configure your SMARTS to use a PFS.
Allocate a z/VSE file
(LRECL
=4096
) with the estimated size (the
file must start at cylinder boundary) to store your PFS, and completely
initialize the container to contain x'00'
s.
The initialization can be done using the following job (runs until
no more extents are available in the file and requires extra operator
intervention to continue the job after the WTOR
message for the
extent overflow):
// JOB PFSFMT // OPTION NODUMP // DLBL CMWKF01,'your.pfs.file.name',0,SD // EXTENT SYS001,volume,... // ASSGN SYS001,DISK,VOL=volume,SHR // ASSGN SYS000,READER // UPSI 00000011 // LIBDEF PHASE,SEARCH=(SAGLIB.NATvrs) // EXEC NATBATvr,SIZE=AUTO,PARM='SYSRDR' IM=D,MADIO=0,MT=0,OBJIN=R,ID=',',INTENS=1, WORK=((1),AM=STD,RECFM=FB,BLKSIZE=4096,LRECL=4096) EDT DEFINE DATA LOCAL 1 B(B1) INIT<H'00'> END-DEFINE DEFINE WORK FILE 1 'CMWKF01' REPEAT WRITE WORK 1 B WHILE 1=1 END .E RUN FIN /*
In the SMARTS startup JCL, add the following statements:
// DLBL APSPFS1,'your.pfs.file.name',0,DA // EXTENT SYSvrs,volume,... // ASSGN SYSvrs,DISK,VOL=volume,SHR
In the SMARTS SYSPARM
file, add the following
statements (where vrs stands for the current Natural
version, release number and system maintenance level):
RESIDENTPAGE=NCFvrAPS CDI_DRIVER=('CIO,PAANCIO') CDI=('PFS1,PAANPFS,CACHESIZE=2000,LRECL=4096,CONTAINER=CIO://DD:APSPFS1') MOUNT_FS=('PFS1://','/usr/') ENVIRONMENT_VARIABLES=/SAGLIB/APSvrs/ENVARS.P
Create a member ENVARS.P
under
SAGLIB.APSvrs
containing the following
lines:
NAT_WORK_ROOT=/usr/natural/etc/work_file NAT_PRINT_ROOT=/usr/natural/etc/print_file NCFWFAPS_TRACE_LEVEL=0
NCFWFAPS_TRACE_LEVEL
=31
may be used for diagnostic purposes. It causes all PFS accesses to be traced by
Natural and to be written to the NDV server dataset STDOUT
. It is
recommended to set the NCFWFAPS_TRACE_LEVEL
parameter
value to zero.
SMARTS now should protocol the following line in
SYSLST
during startup:
APSPSX0050-SYSNAME CDI PFS1 PROTOCOL INITIALIZED
Once your Natural development server installation has been completed, issue a Map Environment command to the Natural Development Server, using the following session parameter:
WORK=((1),AM=SMARTS)
The following Natural program should run and display Record 01:
DEFINE DATA LOCAL 1 A(A20) END-DEFINE A := 'Record 01' WRITE WORK 1 A CLOSE WORK 1 READ WORK 1 A WRITE A END-WORK END