Connecting to UES-Enabled Adabas Databases

Prior to Adabas version 7, Entire Net-Work converted all data for mainframe Adabas when necessary from ASCII to EBCDIC. Starting with version 7, Adabas is delivered with its own data conversion capability (module LNKUES); that is, Universal Encoding Support (UES). Entire Net-Work detects when it is connected to a target database with UES support and passes the data through to Adabas without converting it.

In order for UES support to work, the ADALNK modules require the Adabas UES module, LNKUES. LNKUES converts data in the Adabas buffers and byte swaps, if necessary, depending on the data architecture of the caller. All currently supported versions of Adabas provide a UES-enabled ADALNK module; so there is nothing you need to do for UES support. However, if you have altered the translation table, you will need to assemble and link the ADALNK module again.

Important:
If an ADALNK batch link routine has been linked or modified by Software AG product modules or user exits, it cannot be used in any application startups of Adabas utility jobs or Adabas, Entire System Server, Adabas Review Hub, or Entire Net-Work nuclei.

This document covers the following topics:


Overview of UES Support

This section provides a general overview of the UES support provided in Adabas. For detailed information about UES support in Adabas, refer to the Adabas installation documentation for the operating system you are using.

In order for UES support to work, various ADALNK modules and tables must be linked to the Adabas UES module, LNKUES. LNKUES converts data in the Adabas buffers and byte-swaps, if necessary, depending on the data architecture of the caller.

This section covers the following topics:

UES-Linked Load Modules

The ADALNK load modules that have been linked with module LNKUES vary, depending on the operating system and environment you are running. For a complete list of the modules that have been linked, read the UES sections of the appropriate Adabas installation documentation.

UES Translation Tables

Two standard translation tables are provided with Adabas UES support:

  • ASC2EBC: ASCII to EBCDIC translation

  • EBC2ASC: EBCDIC to ASCII translation

The Adabas and Entire Net-Work translation table pairs are provided in the appropriate Adabas installation documentation.

You can use the supplied translation tables, or you may prepare your own customized translation tables, reassemble them , and link them with the LNKUES module. Using your own customized translation tables should only be necessary if you require the use of some country-specific character other than the standard A-Z, a-z, or 0-9 characters in the additions 1 (user ID) or additions 3 field of the control block. For detailed information on using the default or customized translation tables, refer to the UES sections of the appropriate Adabas installation documentation.

If you prefer to use the same translation tables that are used in Entire Net-work, change the COPY statements in ASC2EBC and EBC2ASC from UES2ASC and UES2EBC to NW2ASC and NW2EBC, respectively. After modifying the translation tables, be sure to (re)assemble them and link them with the delivered LNKUES module. The sample jobs referenced in Connecting to UES-Enabled Databases through Entire Net-Work and Activating ADATCP include steps that reassemble and link the translation tables with LNKUES.

Job Steps

Job library members are provided with Adabas for each operating system it supports to assemble and link the appropriate modules with the UES components. For more information, read the UES sections of the appropriate Adabas installation documentation.

Calling LNKUES

On all platforms, LNKUES receives control before UEXITB for UES requests and after UEXITA for UES replies.

Connection Possibilities

UES-enabled databases are connected to machines with different architectures through Entire Net-Work and optionally through ADATCP - a direct TCP/IP link to the Adabas nucleus from web-based applications such as Software AG's Jadabas. These connection methods are described elsewhere in this section.

Environment Requirements

To support UES-enabled databases, be sure that your environment meets the requirements described in this section.

Database Requirements

The Adabas database must be UES-enabled (it must have been defined with UES=YES set during the ADADEF utility run). For complete information read about database maintenance tasks in the Adabas DBA tasks documentation and about the ADACMP and the ADADEF utilities in the Adabas utilities documentation.

Start of instruction setIn general, to UES-enable an Adabas database:

  • Specify MODIFY UES=YES in the Adabas ADADEF utility settings for each target database.

Data Set Requirements with UES-Enabled Database Using ICS

Make sure that the ICS library described in this section is loaded and concatenated correctly.

Additional Libraries

With Adabas Version 8.5 and above, the International Components for Unicode for Software AG (ICS) library is required if you intend to enable a database for universal encoding service (UES) support. This library is delivered separately from the product libraries.

For UES support, the following library must be loaded and included in the STEPLIB concatenation, where nnn is the load library level and vrs is the number of the latest version of that code delivered on the tape:

ICSvrs.Lnnn

This library includes all supported code pages. For more information about the supported code pages, read about Supplied UES Encodings in your Adabas documentation.

Adabas JCL Updates

With Adabas Version 8.5 and above, if you intend to enable your database for universal encoding service (UES), the startup job for the Adabas nucleus must be updated as described in this section.

  • The ICS library must be concatenated in the STEPLIB or LIBDEF. The following is an example of such a STEPLIB concatenation:

    //STEPLIB DD DISP=SHR,DSN=ADABAS.ADAvrs.MVSLOAD
    //        DD DISP=SHR,DSN=SAG.ICSvrs.MVSLnnn

    where nnn is the load library level.

  • If you intend to connect your UES-enabled database directly through ADATCP, the ADATCP library must also be concatenated in the STEPLIB. The following example shows a sample DD statement in a STEPLIB concatenation:

    //DD DISP=SHR,DSN=SAG.WCPvrs.MVSLOAD
    //DD DISP=SHR,DSN=SAG.WTCvrs.MVSLOAD

Disk Space Requirements for ICS Library

The minimum disk space requirements on a 3390 disk for the ICS library delivered with Adabas is as follows:

Libraries 3390 Cylinders 3390 Tracks Directory Blocks
ICSvrs.Lnnn 200 3000 250

Data Set Requirements with UES-Enabled Database Using APS

Make sure that the internal product libraries described in this section are loaded and concatenated correctly.

Required Internal Product Libraries

If you are using the Software AG internal product library (APS) for your UES-enabled database, the following libraries must be loaded and included in the STEPLIB or LIBDEF concatenation:

APSvrs.MVSLDnn 
APSvrs.MVSLD00

where nn is the load library level.

Also for UES support, the following library must be loaded and included in the session execution JCL:

ADABAS.ADAvrs.MVSEC0n

This library includes all supported code pages. For more information about the supported code pages, read about Supplied UES Encodings in your Adabas documentation.

Adabas JCL Updates

If you intend to enable your database for universal encoding service (UES) using APS, the startup job for the Adabas nucleus must be updated as described in this section.

  • The MVSLDnn internal product libraries must be concatenated in the STEPLIB or LIBDEF. The following is an example of such a STEPLIB concatenation:

    //STEPLIB DD DISP=SHR,DSN=ADABAS.ADAvrs.MVSLOAD
    //        DD DISP=SHR,DSN=SAG.APSvrs.MVSLDnn
    //        DD DISP=SHR,DSN=SAG.APSvrs.MVSLD00

    where nn is the load library level.

  • In addition, the following ECS objects data set and parameter data must be included in the session execution JCL:

    //DDECSOJ DD DISP=SHR,DSN=ADABAS.ADAvrs.MVSEC0n 
    //SYSPARM DD *
    SYSTEM_ID=ADAAPS
    ABEND_RECOVERY=NO
    THREAD_ABEND_RECOVERY=NO
  • If you intend to connect your UES-enabled database directly through ADATCP, the ADATCP library must also be concatenated in the STEPLIB. The following example shows a sample DD statement in a STEPLIB concatenation:

    //DD DISP=SHR,DSN=SAG.WCPvrs.MVSLOAD
    //DD DISP=SHR,DSN=SAG.WTCvrs.MVSLOAD

Disk Space Requirements for Internal Product Data Sets

The minimum disk space requirements on a 3390 disk for the internal product libraries delivered with Adabas is as follows:

Libraries 3390 Cylinders 3390 Tracks Directory Blocks
APSvrs.MVSLDnn 8 120 100
APSvrs.MVSLD00 7 105 100

SYSPARM Requirements

If you are using the ADATCP component with UES support, you will need an additional parameter, CDI_DRIVER, to identify the TCP/IP stack you are using, as follows:

CDI_DRIVER=('tcpip,PAAOSOCK,ADDRSPCE=STACKNAME') <--IBM TCP/IP stack for OES

Verify Required ADALNK Module Available

Ensure that the ADALNK module in Entire Net-Work's STEPLIB or LIBDEF is UES-enabled. ADALNK is UES-enabled by default. WAL Version 8 (or later) is included with Entire Net-Work Version 3.

Connecting to UES-Enabled Databases through Entire Net-Work

The ADALNK module has been UES-enabled for you, so there are no specific steps you must perform to connect to UES-enabled databases. However, if you have altered the translation tables, you will need to perform the step described in this section (depending on the platform) that assembles and links the updated translation tables into ADALNK.

In all cases, whenever you alter ADALNK, you must be sure to make the updated module available to Entire Net-Work.

Assembling and Linking ADALNK on z/OS Systems

Start of instruction setTo assemble and link the ADALNK module on z/OS systems:

  1. Assemble and link the modified batch ADALNK with the translation tables and LNKUES. You can use the sample JCL found in MVSJOBS member LNKLNK8 in the WAL libraries. Make sure you:

    • Provide all necessary job card information.

    • Check the symbolic parameter value for version, revision level, and SP level (vrs). It must reflect the level of your Adabas source and load libraries.

    • Check the data set names for SYSLIB, SYSIN, SYSLMOD, and SYSLIN in the SAGASM and LINKALL inline procedures.

  2. Once it is successfully linked, make ADALNK available to Entire Net-Work's job STEPLIB concatenation list.

For complete instructions on UES-enablement in Adabas, refer to the UES sections of your Adabas documentation.

Assembling and Linking ADALNK on z/VSE Systems

Start of instruction setTo assemble and link the ADALNK module on z/VSE systems:

  1. Punch the ADALNK.A source from the Adabas library.

  2. Assemble and link ADALNK with LNKUES and the translation tables into a separate sublibrary for use with UES only. You can use the following sample JCS:

    // OPTION LIST,SXREF,CATAL
     PHASE ADALNK,*,NOAUTO
    *
    // LIBDEF PHASE,CATALOG=SAGLIB.usrlib
    // LIBDEF *,SEARCH=(SAGLIB.ADAvrs)
    // EXEC ASMA90,SIZE=(ASMA90,50K),                                      X
                   PARM=’EXIT(LIBEXIT(EDECKXIT(ORDER=AE))),OP(ESA)’
       <<<<< place modified ADALNK.A source here >>>>>
    /*
    INCLUDE LNKUES
    INCLUDE ASC2EBC
    INCLUDE EBC2ASC
    ENTRY ADABAS
    // EXEC LNKEDT,SIZE=512K,PARM=’AMODE=31,RMODE=24
  3. Once it is successfully (re)linked, make ADALNK available to Entire Net-Work's job LIBDEF concatenation list. If you are calling Adabas version 7 and you do not have the correct LNKUES/ADALNK module, Adabas produces unexpected results: response code 022 (ADARSP022), 253 (ADARSP253), etc.

For complete instructions on UES-enablement in Adabas, refer to the UES sections of your Adabas documentation.

Assembling and Linking ADALNK on BS2000 Systems

Start of instruction setTo assemble and link the ADALNK module on BS2000 systems:

  • Link or bind LNKUES, ASC2EBC and EBC2ASC to the ADALNK module.

    The following sample JCL takes modules from $SAG.ADABAS.MOD and makes a new ADALNK module with LNKUES and the translation tables (ASC2EBC and EBC2ASC) in $SAG.ADABAS.ADALNKUES.MOD:

    /BEGIN-PROC A,PROC-PAR=(-                     
    / &ADAL=$SAG.ADABAS.ADALNKUES.MOD,-                 
    / &ADAS=$SAG.ADABAS.MOD,-                 
    / &LIB=$SAG.ADABAS.PROTOCOL,-                  
    / &MEM­ALNK,-                               
    / &MOD­ALNK-                                
    / ),ESC-CHAR=’&’                              
    /REMA                                         
    /REMA                                         
    /REMA                                         
    /MOD-TEST DUMP=NO                             
    /ASS-SYSLST *L(&LIB,LNK.&MEM)                 
    /ASS-SYSDTA *SYSCMD                           
    /REMA                                         
    /STA-PROG $TSOSLNK                            
    MOD &MOD,LET=Y,LIB=&ADAL,XREF=Y,PR=Y,SORT=Y   
    NCAL                                          
    TRAITS AMODE=ANY,RMODE=ANY                    
    LINK-SYMBOLS HIDE=LNKUES       
    INCLUDE &MEM,&ADAS             
    INCLUDE LNKUES,&ADAS
    INCLUDE ASC2EBC,&ADAS
    INCLUDE EBC2ASC,&ADAS           
    BIND                           
    /ASS-SYSLST *PRIM              
    /ASS-SYSDTA *PRIM              
    /END-PROC            

For complete instructions on UES-enablement in Adabas, refer to the UES sections of your Adabas documentation.