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 called universal encoding support (UES). Entire Net-Work detects when it is connected to a target database that converts data and passes the data through to Adabas without converting it.
UES is enabled by default for the link routine ADALNK.
Note:
The use of UES-enabled link routines is transparent to applications,
including applications that do not require UES translation support: it is not
necessary to disable UES support.
No source module for ADALNK is delivered with this version of Adabas. The module ADALNK already has the UES component, LNKUES, and the translation tables ASC2EBC and EBC2ASC bound to it.
The ADALNK module consists of ADALNK, ADAL2P and LNKUES. You can bind modified ASC2EBC or EBC2ASC translation tables to ADALNK-BASE using the job ALNKUES.
The two standard translation tables are:
ASC2EBC: ASCII to EBCDIC translation; and
EBC2ASC: EBCDIC to ASCII translation.
It should only be necessary to modify these translation tables in the rare case when a country-specific character other than A-Z a-z 0-9 must be used in the Additions 1 (user ID) or Additions 3 field of the control block.
The Adabas translation table pair is provided in the section Translation Tables.
Job library member ALNKUES is an example job of how to link ADALNK with the UES components.
For information on the JCL required for UES and TCP/IP support, read JCL Required for UES and TCP/IP Support (BS2000).
LNKUES is called only on ADALNK requests (X‘08’), (X‘0C’) with reply (X‘10’) or (X‘1C‘) and reply (X‘20’) calls if the first byte of the communication ID contains X‘01’ and the second byte does not have the EBCDIC (X‘04’) bit set.
For requests, LNKUES receives control before UEXITB. For replies, LNKUES receives control after UEXITA.
The Adabas database must be UES-enabled. See Adabas DBA Tasks and the ADACMP and ADADEF utilities in Adabas Utilities for more information.
UES-enabled databases are connected to machines with different architectures through Software AG's internal product software (APS) or through Entire Net-Work (WCP).
Adabas SQL Gateway (ACE) clients may not be strictly EBCDIC in an environment where databases are connected through Software AG’s internal product software (APS).
The nucleus job statements for a UES nucleus require the following items:
BLSLIB access to the APS module libraries is required, so these extras statements are required:
/SET-FILE-LINK APSLIB,$SAG.APSvrs.LIB /SET-FILE-LINK BLSLIBnn,$SAG.APSvrs.LIB
Note:
Newer APS module libraries are updates of the original. We advise
you to copy the original, merge the new library into it, and reference the
merged library in the JCL.
The job needs to contain the procedure call below to access the DDECSOJ object library:
/CALL-PROCEDURE ($SAG.APSvrs.LIB,LMSLINKLIB),(LNK-NAME=BLSLIBn1)
---where BLSLIBn1 is last in the BLSLIB sequence
The DDECSOJ SET-FILE-LINK statement should point to the ECS encoding objects $SAG.ADAvrs.ECnn library.
No special Software AG internal product software (APS) parameters need to be set.
The setting of extra options on the START-PROGRAM statement can be done as follows:
/START-PROGRAM ($SAG.ADAvrs.MOD,ADARUN),- / RUN-MODE=*ADVANCED(ALT-LIB=YES,LOAD-INF=*REF,UNRES=*DELAY,- / MESSAGE=*ERROR)
An example of Adabas session job control for UES (BS2000) is supplied in the $SAG.ADAvrs.SRC(ADANUCU,J) library element.
Note:
The Software AG internal product software (APS) batch system will
create a subtask job with the same user attributes as the UES nucleus job. This
job will be stopped automatically when the UES nucleus is stopped.
Adabas is delivered with the module LNKUES for Universal Encoding Support (UES). LNKUES converts data in the Adabas buffers and byte-swaps, if necessary, depending on the data architecture of the caller. LNKUES is fix bound to ADALNK.
LNKUES is called only on ADALNK request (X’1C’) and reply (X’20’) calls if the first byte of the communication ID contains X’01’ and the second byte does not have the EBCDIC (X’04’) bit set.
For requests, LNKUES receives control before UEXITB
For replies, LNKUES receives control after UEXITA
By default, two translation tables are linked into LNKUES/ADALNK:
ASC2EBC: ASCII to EBCDIC translation; and
EBC2ASC: EBCDIC to ASCII translation
Note:
It should only be necessary to modify these translation tables in the
rare case that some country-specific character other than "A-Z a-z
0-9" must be used in the Additions 1 (user ID) or Additions 3 field of
the control block.
If you prefer to use the same translation tables that are used in Entire Net-Work:
in ASC2EBC and EBC2ASC, change the COPY statements from UES2ASC and UES2EBC to NW2ASC and NW2EBC, respectively.
reassemble the translation tables and relink LNKUES/ADALNK.
Both the Adabas and Entire Net-Work translation table pairs are provided in section Translation Tables. You may want to modify the translation tables or create your own translation table pair. Be sure to (re)assemble the translation tables and (re)link LNKUES/ADALNK.
/ASS-SYSDTA *SYSCMD /STA-PROG $TSOLNK MODULE ADALNK,LIB=USER.MOD,ELEM=ADALNK NCAL LINK SYMBOLS *KEEP INCLUDE ADALNK,ADABAS.MOD INCLUDE ASC2EBC,ADABAS.MOD INCLUDE EBC2ASC,ADABAS.MOD BIND /ASS-SYSDTA *PRIM
The (re)linked ADALNK must be made available to Entire Net-Work. 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.