Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Starting DBH

&pagelevel(4)&pagelevel

Independent DBH

You start the independent DBH by loading the master task with the START-UDS-DBH command (for further start options, see point 11 in chapter "Starting DBH") and terminate it with the DAL command CLOSE. During the session you can intervene to control the workflow using commands from the database administrator language.

You can enter the DAL commands via the administration interface (see section “Administration of UDS/SQL via UDSADM” and section “Administration of UDS/SQL via DCAM”).

Syntax of the START-UDS-DBH command:

START-UDS-DBH

VERSION = *STD / <product-version>

,MONJV = *NONE / <filename 1..54 without-gen-vers>

,CPU-LIMIT = *JOB-REST / <integer 1..32767 seconds>

,RESIDENT-PAGES = [*PARAMETERS](...)


[*PARAMETERS](...)



|

MINIMUM = *STD / <integer 0..32767 4Kbyte>



|

,MAXIMUM = *STD / <integer 0..32767 4Kbyte>

VERSION =
Product version of the DBH which is to be started.

VERSION = *STD
No explicit specification of the product version. The product version is selected as follows:

  1. The version predefined with the /SELECT-PRODUCT-VERSION command.

  2. The highest DBH version installed with IMON.

VERSION = <product-version>
Explicit specification of the product version in the form mm.n[a[kk]].

You are recommended always to specify the version in full, e.g. 02.9B00, in order to facilitate migration in the event of correction packages.

MONJV =
Specifies a monitor job variable to monitor the DBH run.

MONJV = *NONE
No monitor job variable is used.

MONJV = <filename 1..54 without-gen-vers>
Name of the job variable to be used.

During the program run the system sets the job variable to the following values:

$R

$T

$A

Program running

Program successfully terminated

Program terminated with error

CPU-LIMIT =
Maximum CPU time in seconds which the DBH may take to execute.

CPU-LIMIT = *JOB-REST
The remaining CPU time for the BS2000 job is to be used for the task.

CPU-LIMIT = <integer 1..32767 seconds>
Only the time specified should be used.

RESIDENT-PAGES = *PARAMETERS(...)
Number of resident memory pages which are required for the DBH run.
This operand must be specified if pages are to be made resident in the program by means of a CSTAT macro (see the “Executive Macros” manual). The permissible number of resident memory pages can be influenced by the operator.
If the operand is missing (this corresponds to MIN=*STD, MAX=*STD), the memory requests are taken from the first record in the program; the file must be open to do this.

MINIMUM = *STD / <integer 0..32767 4Kbyte>
Minimum number of resident memory pages required.

MAXIMUM = *STD / <integer 0..32767 4Kbyte>
Maximum number of resident memory pages required.


Linked-in DBH

The linked-in DBH is started by loading and starting the application program which incorporates the linked-in DBH. The linked-in DBH is started automatically:

when COBOL-DML is used
at the start of the DB application program

when CALL DML is used exclusively
with the first READYC call

when KDBS is used
with the first OPDB call

when IQS is used
at the start of the IQS load module C.L.IQS.

The DBH is closed on termination of the application program.

Commands for starting DBH

The following command overview is based on the standard case in which the DBH of a UDS/SQL version which was installed using IMON and is managed centrally in the SCI (Software Configuration Inventory) is used. The sections headed “Private installation” list commands which are not relevant for the standard case but only if you are using a privately installed UDS/SQL version which is not managed in the SCI.

No.

Commands

independent
DBH

Linked-in DBH

1.

/SET-FILE-LINK LINK-NAME=DATABASE
,FILE-NAME=configuration-name

X

X

2.

[/CREATE-FILE FILE-NAME=confname.TEMPO.nnn
,SUPPORT=*PRIVATE-DISK(VOLUME=priv-vsn
,DEVICE-TYPE=device[,SPACE=...])]

X

X

3.

[/CREATE-FILE FILE-NAME=confname.SLF
,SUPPORT=*PRIVATE-DISK(VOLUME=priv-vsn
,DEVICE-TYPE=device[,SPACE=...])]

X

X

4.

/CREATE-FILE FILE-NAME=confname.DBSTAT
,SUPPRESS-ERRORS=*FILE-EXISTING
/CREATE-FILE FILE-NAME=confname.DBSTAT.SAVE
,SUPPRESS-ERRORS=*FILE-EXISTING

X

X

5.

[/MODIFY-JOB-SWITCHES OFF=28]


X

6.

[/ASSIGN-SYSDTA TO={*LIBRARY-ELEMENT(...) |
*SYSCMD}]

X

X

[/ADD-FILE-LINK LINK-NAME=PPFILE
,FILE-NAME=filename]

X

X

7.

[/SET-FILE-LINK LINK-NAME=UDSDBHJV
,FILE-NAME=jvname]

X

X

8.

[/SET-JV-LINK LINK-NAME=UDSPS01
,JV-NAME=jvname]

X

X

9.

[/ADD-FILE-LINK LINK-NAME=$UDSSSI
,FILE-NAME=SSITAB-modlib]


X

[/ADD-FILE-LINK LINK-NAME=$UDSPLEX
,FILE-NAME=PLITAB-modlib]


X

10.

[/ADD-FILE-LINK LINK-NAME=$UDSKONF
,FILE-NAME=UDSTRTAB-modlib]

X

X

11.

/SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL
,VERSION=nn.nann,SCOPE=*TASK

X

X

[/SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-D
,VERSION=nn.nann,SCOPE=*TASK]

X


Private installation (additional commands)

[/ADD-FILE-LINK LINKNAME=$UDSLIB
,FILE-NAME=UDS/SQL-modlib]

X

X

[/ADD-FILE-LINK LINKNAME=$UDSDLIB
,FILE-NAME=UDS-D-modlib]

X


[/ADD-FILE-LINK LINKNAME=$UDSKLIB
,FILE-NAME=KDBS-modlib]


X

12.

/START-UDS-DBH
[RESIDENT-PAGES=*PAR(MIN=...,MAX=...)]

X


Private installation (alternative command)

/START-EXECUTABLE-PROGRAM FROM-FILE=*MODULE
(LIB=UDS/SQL-modlib
,ELEM=UDSSQL)

X


13.

/START-PROGRAM FROM-FILE=(LIB=lib
,ELEM=elem,RUN-MODE=*ADVANCED
[(NAME-COLLISION=*STD)],PROG-MOD=*ANY)
[,RESIDENT-PAGES=*PAR(MIN=...,MAX=...)]


X

Table 7: Command for startting DBH

  1. This SET-FILE-LINK command assigns the name of the DB configuration to the session.

    configuration-name

    Freely selectable name for the database configuration, which may be identical with dbname in mono-DB mode. The following rules apply:

          • configuration-name must not exceed 41 characters in length;

          • every configuration-name used in a BS2000 session must be unique in the first seven characters;

          • configuration-name must not contain any special characters in the first eight characters.

    confname

    The first eight characters of configuration-name. Zeros at the end of confname are not significant characters, i.e. the system does not distinguish between confname ABC and confname ABC0

    The DBH uses the first eight characters of configuration-name to form the names of the following files:

    - session log file (SLF):

    confname.SLF

    - temporary realm:

    confname.TEMPO.nnn

    - RLOG files:

    confname.RLOG.rlog-time-stamp{1 | 2}[.SAVE]

    - session job variable

    UDSSQL.DBH.confname

    The DBH catalogs these files under the user ID with which the user starts the DBH, unless they are user-generated files.

    In the case of the independent DBH, the first eight bytes of configuration-name are also used to define the communication paths (event names for P1 Eventing and names of the common memory pool); configuration names that are shorter than eight bytes are padded with C’0’. They are used by the database application programs and DCAM administration to establish connections with the DB configuration.

    UDS/SQL expands the following files (unless they are large enough anyway): 

    SLFSPACE = (24,0)
    DBSTATSPACE = (24,48)
    RLOGSPACE = (192,192)
    TEMPOSPACE = (192,576)

    Note on the independent DBH

    If realms or files of the DB configuration are located on private disks, the disks concerned must be made accessible to several tasks (see the commands manuals for “BS2000 OSD/BC“). This is done before the DBH is started by means of the operator command:

    /SET-DISK-PARAMETER,...

  2. By default the DBH creates the temporary user realms on public disk. If the temporary realms are to be held on private disks, the following command must be used to set up a temporary realm in the configuration user ID for each transaction (see PP TRANSACTION in  chapter "DBH load parameters"): 

    /CREATE-FILE FILE-NAME=confname.TEMPO.nnn
       ,SUPPORT=*PRIVATE-DISK(VOLUME=priv-vsn,DEVICE-TYPE=device[,SPACE=...])

    confname

    The first eight characters of configuration-name

    nnn

    Number of the transaction, three characters with leading zeros

    001..<m>
    m

    value of the DBH load parameter PP TRANSACTION (see PP TRANSACTION in chapter "DBH load parameters"). 

  3. By default the DBH creates the session log file (SLF) on public disk. If the session log file is to be held on private disk, it must be set up using the following command: 

    /CREATE-FILE FILE-NAME=confname.SLF
       ,SUPPORT=PRIVATE-*DISK(VOLUME=priv-vsn,DEVICE-TYPE=device[,SPACE=...])

    The SLF is created with a 4-Kbyte page format. If an SLF from a version prior to UDS/SQL V2.0 (i.e. with a 2-Kbyte page format) already exists, and you want to use the same configuration name again, the existing SLF will need to be deleted first.

    CAUTION!

    The SLF must not be write-buffered or write/read buffered in volatile media (see section “Using DAB caching for UDS/SQL”).
  4. The DB status files must be created if they do not already exist. These files are created with a 4-Kbyte page format and may be placed on different volumes.

    If the DB status files are to reside on private disk, they must be created using the following command: 

    /CREATE-FILE FILE-NAME=confname.DBSTAT[.SAVE]
      ,SUPPORT=*PRIVATE-DISK(VOLUME=priv-vsn,DEVICE-TYPE=device[,SPACE=...])
      ,SUPPRESS-ERRORS=*FILE-EXISTING.

    CAUTION!

    The DB status files must not be write-buffered or write/read buffered in volatile media (see section “Using DAB caching for UDS/SQL”).
  5. If the connection module UDSLNKA was linked into the application program, the job switch 28 must be set to OFF so that the linked-in DBH is started (if the job switch 28 is set to ON, the independent variant of the application program is started; see also the “Application Programming” manual, section “Starting a COBOL program”).

  6. These commands define the input source from which the DBH is to read in the load parameters. Input sources can be:

      • a SAM or ISAM file

      • a PLAM library element

      • a procedure file (DBH start procedure)

    Below are the respective commands you need, depending on the input source to be assigned:

    1. Assigning a SAM or ISAM file (independent and linked-in DBH)

      /ADD-FILE-LINK LINK-NAME=PPFILE,FILE-NAME=filename

    2. Assigning a PLAM library element (independent and linked-in DBH)

      /ASSIGN-SYSDTA TO=*LIBRARY-ELEMENT(LIB=lib,ELEM=elem,TYPE=S)
      /ADD-FILE-LINK LINK-NAME=PPFILE,FILE-NAME=SYSDTA

      See “Note on the linked-in DBH” in chapter "Starting DBH".

    3. Assigning a procedure file (independent DBH)

      If the load parameters are in the DBH start procedure, the following command must be specified before the DBH start command:

      /ADD-FILE-LINK LINK-NAME=PPFILE,FILE-NAME=SYSCMD

    4. Assigning a procedure file (linked-in DBH)

      If the load parameters are in the start procedure for the linked-in application program, the following command must be specified before the application program is started:

      /ASSIGN-SYSDTA TO=*SYSCMD

      See “Note on the linked-in DBH” in chapter "Starting DBH".

      Note on the linked-in DBH

      Input of the load parameters via PPFILE is recommended if SYSDTA is to be used for user data. If the file containing the load parameters is assigned as SYSDTA and the application program also reads from SYSDTA, then:

      • when COBOL-DML is used, the timing of load parameter input is dependent upon when the first COBOL module containing subschema declarations was executed:

        • If the data for the program is read in after the first branch to a COBOL module containing subschema declarations, the load parameters must come before the data for the program.

        • If the data for the program is read in before the first branch to a COBOL module containing subschema declarations, the load parameters must come after the data for the program.

      • When CALL-DML is used exclusively, the timing of load parameter and data input is dependent upon whether the application program reads from SYSDTA before or after the first READYC call.

  7. This command allows you to define the variable part of the name of the session job variable. See section “Session job variable”.
  8. This command allows you to assign a pubset declaration job variable in which a UDS/SQL pubset declaration is specified. With this declaration you can restrict the requirement that file names should be unique to a selected set of catalog IDs. It is advisable always to assign a pubset declaration job variable in the start procedure as this cannot be done later from another task. If you do not want to restrict the pubsets which are to be taken into account, you can enter the default setting "*" in the pubset declaration job variable. See section “Pubset declaration job variable”.

    If a faulty job variable assignment exists or an incorrect UDS/SQL pubset declaration is assigned when the DBH starts, this causes the session to abort.
  9. These commands are only relevant when the linked-in DBH is started up.In the case of CALL DML application programs, the library from which the SSITAB modules are to be dynamically loaded at execution time must be known. First, the library that was assigned with the link name $UDSSSI is searched. If the SSITAB modules are held in more than one library, e.g. in a separate one for each database, the other libraries with the link names BLSLIB00 through BLSLIB99 can be assigned. Assignment with the link name $UDSSSI and if appropriate also with BLSLIBnn is the recommended standard procedure. The abbreviation “$UL” is used for this procedure in the error messages of the product.

    If the link name $UDSSSI is not used or the dynamic-loading operation was unsuccessful, for compatibility reasons a library UDS.MODLIB in the runtime ID or a library assigned with the SET-TASKLIB command is searched. The abbreviation “TSK” is used for this procedure in the error messages of the product.

    With KDBS applications the library containing the PLITAB modules must also be assigned with the link name $UDSPLEX. The dynamic-loading procedure is the same as the handling of the SSITAB modules.

  10. If a translation table (UDSTRTAB) is used for user-specific sorting of character fields, the library from which the UDSTRTAB module is to be dynamically loaded must be known. Firstly, a library in the configuration user ID that was assigned with the link name $UDSKONF is searched. For further details see the “Application Programming” manual, section “Translation table for application-specific sorting”.

  11. It is recommended that you generally specify which UDS/SQL version is to be used with the SELECT-PRODUCT-VERSION command, as a number of UDS/SQL versions could be installed in parallel and a number of versions of the UDS/SQL subsystem could be preloaded with IMON in the Software Configuration Inventory (SCI). The version number specified should always include the release status and correction status (e.g. 02.9B00). For further information on using the SELECT-PRODUCT-VERSION command, see section “Using multiple UDS/SQL versions concurrently”. The procedure described in more detail there is also recommended when for long periods only one UDS/SQL version is used on the system.
    When the independent DBH is called, the version of the start module UDSSQL (master task) is selected with SELECT-PRODUCT-VERSION; when the linked-in application program is called, the version of the version-dependent connection module LCCONCT to be dynamically loaded is selected. The actual UDS/SQL coding is used in the version appropriate to the start module or linked-in connection module either as a preloaded subsystem or is dynamically loaded from the corresponding SYSLNK library of the UDS/SQL product.
    The abbreviation “SCI” is used for this procedure in the error messages of the product.For further details, see section “Using multiple UDS/SQL versions concurrently” and, on linked-in application programs, section “Linking, loading and starting a UDS/SQL-TIAM application program” in the “Application Programming” manual.


    Using UDS-D:

    When UDS-D is used (only possible with an independent DBH), an additional SELECT-PRODUCT-VERSION command should be employed to specify the UDS-D version corresponding to the UDS/SQL version in order to ensure that the correct product parts of UDS-D are loaded dynamically. Here, too, it is recommended that you also use SELECT-PRODUCT-VERSION when for long periods only one UDS-D version is used on the system.

    Private installation

    If you want to use a product version which is not managed in the SCI throughout the system, the following special conditions apply:

    The libraries from which the modules of the product UDS/SQL and, if appropriate, the products UDS-D and UDSKDBS are to be dynamically loaded in the desired version are explicitly assigned with the ADD-FILE-LINK command. The following link names are available for the assignments:

    $UDSLIB

    $UDSDLIB

    $UDSKLIB

    Modules of the product UDS/SQL (independent and linked-in DBH)

    Modules of the product UDS-D (only with independent DBH)

    Modules of the product KDBS (only with linked-in DBH)

    The abbreviation “$UL” is used for this procedure in the error messages of the product.

    For reasons of compatibility, the use of a UDS.MODLIB, possibly with TASKLIB assignment, continues to be supported for dynamically loading the modules if the products are not provided via SCI or via the link names $UDSLIB, $UDSDLIB and $UDSKLIB. The abbreviation “TSK” is used for this procedure in the error messages of the product.

    The SELECT-PRODUCT-VERSION commands for the products UDS/SQL and, if applicable, UDS-D might also be required for a private installation for the following reasons:

    In parallel with a privately installed product version, UDS/SQL and UDS-D subsystems might also be preloaded. The SELECT-PRODUCT-VERSION command ensures that the modules loaded dynamically from the private installation establish a connection to the correct subsystem version.

  12. The independent DBH is started with the START-UDS-DBH command.
    We recommend that you specify the RESIDENT-PAGES operand in the START command, as only in this case does UDS/SQL use the more efficient access method FASTPAM (instead of UPAM) for file accesses (for further details, see section “Using FASTPAM in UDS/SQL”).
    As an alternative to the START-UDS-DBH command, for reasons of compatibility the START-EXECUTABLE-PROGRAM command (or the START-PROGRAM command) can also be used to call the independent DBH (for an example, see under “Private installation” in chapter "Starting DBH").
    The master task reads in the DBH load parameters. The DBH initializes the common memory pools and then activates one or more server tasks as ENTER jobs. The master task enters the corresponding ENTER files under the user ID with which the DBH was started (configuration user ID), using the following file names:

    UDS.ENTER.tsn.ST0nn

    ENTER file(s) for the server task(s)

    tsn
    Task sequence number of the master task

    n 
    Number of the server task

    If, when UDS-D is used, PP DISTRIBUTION=START or STANDBY is entered, the following additional ENTER file is created and is activated in response to PP DISTRIBUTION=START:
    UDS.ENTER.tsn.CT000

    The master task starts the ENTER jobs for the server tasks (and, in UDS-D operation, for the UDS-D task) as follows:

      • JOB-CLASS = job class of the master task
        if the master task is being run as an ENTER job. If the master task is being run as an interactive task, it starts the ENTER jobs in the default job class for the user ID (JOB-CLASS=*STD).

      • RUN-PRIO = priority of the master task

      • START=IMMEDIATELY

      • START is ignored if it is not permitted in the ADD-USER entry or the job class.

      • TIME=NTL or
        TIME=32000
        if NTL is not permitted in the current user ID or the job class.

    If an attempt to start the ENTER jobs in the job class of the master task is unsuccessful, the master task tries to start them in the default job class for the user ID, but with the same RUN-PRIO and TIME parameters.
    If this, too, is unsuccessful, the tasks are started in the default job class without RUN-PRIO specifications.

    Job classes and user IDs are set up for the database administrator by the BS2000 system administrator.
    You can find out which values are entered for your user ID or job classes by issuing the BS2000 command: SHOW-USER-ATTRIBUTES or SHOW-JOB-CLASS (see the commands manuals for “BS2000 OSD/BC“).

    The master task deletes these ENTER files automatically after normal termination of the DBH.

    Private installation  

    If you are using a product version which is not managed in the SCI throughout the system, you cannot as a rule use the START command described above. Use the START-EXECUTABLE-PROGRAM command instead. 

    Example 

    /START-EXECUTABLE-PROGRAM FROM-FILE=(
           LIB=$userid.SYSLNK.UDS-SQL.version,ELEM=UDSSQL)
  13. You load and start the linked-in DBH by calling the application program with the START-PROGRAM command (or with the START-EXECUTABLE-PROGRAM command).

    The preset value NAME-COLLISION=*STD should not be changed, as this may lead to name conflicts in dynamically loadable entries in applications which are linked with the linkage editor BINDER.

    If the application program uses the COBOL DML, the connection module calls the modules of the linked-in DBH after the start of the program. The linked-in DBH then reads in the load parameters of the DBH before returning the control to the application program.

    If you are using CALL DML, the first READYC call causes the connection module to dynamically load the modules of the linked-in DBH and of the CALL DML translator. The linked-in DBH then reads in the load parameters of the DBH before processing the READYC call.

Messages on starting the DBH

After the ENTER-JOB command to start the server task(s), the master task waits in a time loop for the start messages from the server task(s). Until such time as all tasks have reported to the master task, the following message appears on the database administrator’s display terminal and on the operator console at intervals of about 3 minutes:

% UDS0212 UDS SYSTEM INITIALIZATION DELAYED. PLEASE CHECK BATCHLIMIT

In this case you should check which DBH tasks have not yet been started and why (batch limit, ADD-USER entry), or whether any DBH tasks have terminated abnormally.

The message:

% UDS0201 UDS SYSTEM READY

indicates that the DBH has been successfully activated.

The session job variable is set to UDSDBH_ACTIVE (see section “Using job variables in UDS/SQL”).

UDS/SQL pubset declaration

A UDS/SQL pubset declaration taken into account when the DBH starts (see section “Pubset declaration job variable”) is logged as follows:

UDS0746 UDS PUBSET DECLARATION (CURRENT) FOLLOWS (...,tsn4)
tsn4: UDS-PUBSET-JV: jv-name
tsn4: PUBSETS: catid-group_1
tsn4: PUBSETS: catid-group_2
tsn4: PUBSETS: ...

Once each for every catid group specified in the UDS/SQL pubset declaration.

tsn4: DEFAULT PUBSET: <default catalog ID of the execution user ID>
tsn4: ----------------------------------------------------------

The assignment of a non-existent or an inaccessible job variable or a job variable with the length 0 is rejected as follows:

UDS0752 UDS USER ERROR: ACCESS TO UDS-PUBSET-JV VIA JV-LINKNAME
*UDSPS01 FAILED (...,tsn4)

Additional information on the cause of the error may be provided in other messages.

Content errors in the UDS/SQL pubset declaration are reported as follows depending on the type of error and the time at which it was detected:

  • Syntax errors which were detected during the syntactical analysis (identification of the catid groups): 

    UDS0748 UDS USER ERROR IN UDS PUBSET DECLARATION (SYNTAX): <reason>
    (...,tsn4) 

    where <reason> can have the following values:

    • CATID GROUP TOO LONG

    • TOO MANY CATID GROUPS

    • EXCLUDE CATID GROUP NOT ALONE

    tsn4: UDS-PUBSET-JV: jv-name
    tsn4: UDS-PUBSET-JV-CONTENTS:
    tsn4: Content of the job variable may be distributed over several lines
    tsn4: -----------------------------------------------------------------
  • Errors detected while the catid groups are being checked using the SDF macro CMDWCC:

    UDS0749 UDS USER ERROR IN UDS PUBSET DECLARATION (SYNTAX): CATID GROUP 
    REJECTED BY CMDWCC (...,tsn4)
    
    tsn4: UDS-PUBSET-JV: jv-name
    tsn4: PUBSETS: catid-group

    For each catid group in which the CMDWCC macro detected a fault and resulted in failure, up to 10 times.
    If there are more than 10 catid groups with errors, only the first 10 are logged, and the line below is used to show that further catid groups with errors exist:

    tsn4: FURTHER ERRORS NOT SHOWN
    tsn4: ----------------------------------------------------------
  • Errors detected while the catid groups are being checked using FSTAT:

    UDS0749 UDS USER ERROR IN UDS PUBSET DECLARATION (SYNTAX): CATID GROUP 
    REJECTED BY FSTAT (...,tsn4)
    tsn4: UDS-PUBSET-JV: jv-name
    tsn4: PUBSETS: catid-group, FSTAT-DMS-RC: xxxx

    For each catid group in which FSTAT detected an error and resulted in failure, up to 10 times.
    If there are more than 10 catid groups with errors, only the first 10 are logged, and the line below is used to show that further catid groups with errors exist:

    tsn4: FURTHER ERRORS NOT SHOWN
    tsn4: ----------------------------------------------------------

Examples

Example 1: Starting the independent DBH as a batch job

Contents of the DBH start procedure ENTER.DBH.IND:

/SET-LOGON-PARAMETERS
/ASS-SYSOUT TO=O.DBH.INT
/SHOW-JV JV.MANUAL.VERSION
/SET-JV-LINK LINK-NAME=VERS,JV-NAME=JV.MANUAL.VERSION
/SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL,    VERSION=&(*VERS) 
/SET-JV-LINK LINK-NAME=UDSPS01,JV-NAME=PUBSDECL.PUBS
/SHOW-JV JV-CONTENTS=*LINK(LINK-NAME=UDSPS01)
/CREATE-FILE FILE-NAME=CONFEXMP.DBSTAT
/CREATE-FILE FILE-NAME=CONFEXMP.DBSTAT.SAVE
/SET-FILE-LINK LINK-NAME=DATABASE,FILE-NAME=CONFEXMP
/ADD-FILE-LINK LINK-NAME=PPFILE,FILE-NAME=UDSDBB.PP.FILE.IND
/START-UDS-DBH RESIDENT-PAGES=*PAR(MIN=0,MAX=1525)
/EXIT-JOB SYSTEM-OUTPUT=*NONE

Start the ENTER procedure:

/ENTER-JOB FROM-FILE=ENTER.DBH.IND,JOB-CLASS=JCB32000
JMS0066 JOB 'TRA' ACCEPTED ON 19-01-29 AT 09:28, TSN = 4TMX

Log of the ENTER job (excerpt)

/SHOW-JV JV.EXAMPLE
% 02.9B00
...
/SHOW-JV JV-CONTENTS=*LINK(LINK-NAME=UDSPS01)
% IUDS 
...
/START-UDS-DBH RESIDENT-PAGES=*PAR(MIN=0,MAX=1525)
...

Example 2: Starting a linked-in application (COBOL-DML) as an interactive job

Contents of the load parameter file PP.FILE:

PP LOG=PUBLIC
PP PARLIST=YES
PP PRIVACY-CHECK=OFF
PP STDCKPT=YES
PP END

Contents of the start procedure P.SHIPPING:

/BEGIN-PROCEDURE
/SHOW-JV JV.SHIPPING
/SET-JV-LINK LINK-NAME=VERS,JV-NAME=JV.SHIPPING
/SET-JV-LINK LINK-NAME=UDSPS01,JV-NAME=PUBSDECL.PUB
/SHOW-JV JV-CONTENTS=*LINK(LINK-NAME=UDSPS01)
/SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL,    VERSION=&(*VERS)
/ADD-FILE-LINK LINK-NAME=DATABASE,FILE-NAME=SHIPPING.DBDIR
/ADD-FILE-LINK LINK-NAME=EINART,FILE-NAME=DATA.SHIPMENT.ARTICLE
/ADD-FILE-LINK LINK-NAME=HERST,FILE-NAME=DATA.SHIPMENT.PRODUCER
/ADD-FILE-LINK LINK-NAME=PPFILE,FILE-NAME=UDSDBB.PP.FILE
/START-PROGRAM FROM-FILE=*MODULE(LIBRARY=LIB.SHIPPING,ELEMENT=SHIPM),  RUN-MODE=ADVANCED
/END-PROCEDURE

Call the start procedure:

/CALL-PROC FROM=P.SHIPPING

Runtime log (excerpt):

...
/SHOW-JV JV.SHIPPING
%  02.9B00
...
/SHOW-JV JV-CONTENTS=*LINK(LINK-NAME=UDSPS01)
%  *
...
/START-EXECUTABLE-PROGRAM FROM-FILE=(LIBRARY=LIB.SHIPPING,ELEMENT=SHIPM)
...
%  UDS0215 UDS STARTING UDS/SQL V2.9 (LINKED-IN), DATE=2019-01-29 (ILL2038,09:27:26/4TE7)  
%  UDS0746 UDS PUBSET DECLARATION (CURRENT) FOLLOWS (ILL2038,09:27:26/4TE7) 
4TE7: UDS-PUBSET-JV:  :IUDS:$XXXXXXXX.PUBSDECL.ALL
4TE7: PUBSETS:        *
4TE7: DEFAULT PUBSET: IUDS
4TE7: ------------------------------------------
%  UDS0722 UDS ORDER ADD RLOG 190129082726 IN EXECUTION (ILL1283,09:27:27/4TE7)  
%  UDS0354 UDS ALOG CHECKPOINT FOR SHIPPING (ILL1307,09:27:27/4TE7)  
4TE7: ALOG-CKPT 20190129082725: CKPT ALREADY EXISTING.
4TE7: MAXDB          =      1
4TE7: TRANSACTION    =      1
4TE7: SUBSCHEMA      =      1
4TE7: 2KB-BUFFER-SIZE=      1
4TE7: 4KB-BUFFER-SIZE=      1
4TE7: 8KB-BUFFER-SIZE=      0
4TE7: LOG            = PUBLIC
4TE7: LOG-2          = NO
4TE7: LOG-SIZE       = (    192,    192)
4TE7: RESERVE        = NONE
4TE7: WARMSTART      = STD
4TE7: CONSOLE        = NO
4TE7: STDCKPT        = YES
4TE7: LOCK           = STD
4TE7: PRIVACY-CHECK  = OFF
4TE7: CONFNAME       = $XXXXXXXX.SHIPPING
4TE7: DATABASES OF CONFIGURATION:
4TE7:   $XXXXXXXX.SHIPPING                      ,EXCLUSIVE-UPD     ,*SYSTEM
%  UDS0356 UDS EXECUTION OF ORDERS FOR SHIPPING TERMINATED (ILL1309,09:27:27/4TE7)  
DB-ART-NO 000001
DB-NAME SUMMER DRESS WITH JACKET
DB-ART-NO 000002
DB-NAME TWO-PART SUMMER DRESS
DB-ART-NO 000003
DB-NAME WHEAT BEER
DB-ART-NO 000004
DB-NAME LAGER
DB-ART-NO 000005
DB-NAME LEMONADE
DB-ART-NO 830950
DB-NAME PLEATED DRESS WITH JACKET
DB-ART-NO 830993
DB-NAME JERSEY CREPE DRESS
DB-ART-NO 835758
DB-NAME FLOWING JERSEY DRESS
DB-ART-NO 831213
DB-NAME FLOWING JERSEY DRESS WITH JACKET
DB-ART-NO 835928
DB-NAME T-SHIRT DRESS
DB-ART-NO 835952
DB-NAME POLO DRESS
DB-ART-NO 001140
DB-NAME LOW-FAT NATURAL YOGHURT
DB-ART-NO 001141
DB-NAME ORGANIC NATURAL YOGHURT
*** NORMAL PROGRAM END ***
%  UDS0354 UDS ALOG CHECKPOINT FOR SHIPPING (ILL1307,09:27:27/4TE7)  
4TE7: ALOG-CKPT 20190129082727: FIXED ( ALOG-NR:000000001, START-CKPT: 20190129082725 ).
%  UDS0758 NUMBER OF DML-STATEMENTS AND I/O COUNTERS PER DATABASE  (ILL1758,09:27:27/4TE7) 
 4TE7: DATABASE NAME           DMLS   LOG READ  PHYS READ  LOG WRITE PHYS WRITE
 4TE7: ------------------------------------------------------------------------
 4TE7: SHIPPING                 115       1491        103        696        106
%  UDS0213 UDS NORMAL SYSTEM TERMINATION WITH *************115 DML-STATEMENTS 2019-01-29 (ILLY033,09:27:27/4TE7)