DPS V4.1.1


Current Fix Level:

D

Current Zap Level:

46

Early Warnings: 1-4253

Current Version:

4.1.1

Fixes | Zaps | Early Warnings

Fixes

FIX EXPLANATION

A COLAPACK - COLAPACK is a Column ETR for packed to numeric conversion. Refer to Section IX.5 Built-in External Transformation Routines for details on using this ETR.


DPSDMASK - An LTR00108 error message occurs when the DPSNATDT field ETR is used in a VSE environment.


COLACNP - This ETR was failing to remove line feed characters (hex'25') from columns.

B DPSDAMAT - The generated CTL File contains invalid syntax for DB2 Version 7 Windows (UDB). The following changes were made:

- Removed DB2 from the beginning of the CTL file
- Provide "SQLID" if specified in OWNER= FTTE Parameter
- Place commas at the end of each line when listing the columns on the CTL File
- Correct format of the METHOD statement in the CTL File

Note - Applies to DB2/UDB and DB2/AIX Targeted Data models only


COLACMB - Does not clean all multiple blanks for column values above 255.


FLDACMB - Does not clean all multiple blanks for field values above 255. Symbolic variables were added that can be customized to control the insertion of a blank as the last byte of the replacement field value. Refer to Section IX - External Transformation Routines in the DPS manual for more details.


FLDADAT8 - Allow the input field value to have a length between 8 and 23 bytes. This routine will only process the rightmost 8 bytes.


FLDAYR4 - This new ETR will convert a 2 byte numeric year into a 4 byte numeric year with the specified century included. Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


DPSZPVFY - This is a zap verify module, for ease in identifying which official zaps have been applied to DPS.

C ACTALODD - Allow non-printable characters to be specified for the delimiter fields COLMDEL, CHARDEL and null CHARDEL. Added support for COLSCALE.

Blanks will be trimmed from the table name.

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


ACTALOD2 - This new action ETR creates a DDIMAGE file in a DB2 mainframe format

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


ACTAVBM - The DDIMAGE file is incorrect (missing some, but not all records) when using 2 action ETRs for some tables (ACTAVBM calls ACTALODD), and other tables use 1 action ETR (ACTALODD).DPS was loading multiple copies of ACTALODD. ACTAVBM will now searchthe list of DPS loaded modules and only load ACTALODD if it has not been previously loaded.

A Symbolic variable(&NEXTRTN) has been added to allow for the specification of the next Action ETR to be called.

NOTE - If ACTAVBM is currently being used to call another action ETR, it is necessary to change the source of ACTAVBM. The symbolic variable &NEXTRTN should be set to the name of the next action ETR to be called by ACTAVBM. The default is blanks, which indicates no subsequent action ETR will be utilized. For a more detailed explanation, refer to the comments at the top of ACTAVBM.

A symbolic variable (&VBMNUM) has been added to allow for the specification of the number of VBMPARM records that will be allowed. The default is 500 (previously only 100 records were allowed).

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


COLADAT8 - A new column ETR that is a combination of COLAPACK and FLDADAT8. If the value is packed, it will be unpacked. The right most 8 bytes of the value will be verified to fall within a date range, and formatted as specified (with or without dashes). It is possible to substitute values if the input value is null, all zeros, all nines or invalid. It is also possible to specify anaction to take if the input value is null all zeros, all nines or invalid.

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


COLADVAL - COLADVAL is a new column ETR that will convert a null column value into a user specified default value.

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


COLAUNIQ - New column ETR that will populate a column with a unique 16 character value that is derived from the 8-byte hex system time-of-day value. Any column mapped with this ETR should be defined as character type (E.G., CHAR or VARCHAR) with a length of 16.

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


DPSDAMAT - An LTR00055 Error is encountered when the RDBMS definition and the FTTE owner names are different. This module correction will allow owner name to be 1 per table instead of 1 per database.


FLDACTB - This ETR has been modified to allow trailing blanks to be removed. It has been enhanced to permit a suffix value from 0 to 4 bytes long to be added at the end of the field value. This suffix value can be a character or hex value.

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


FLDANNP - New field ETR that examines a field value for any non-printable characters, and if found, sets the value to null.

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


FLDANVAL - This is a new field ETR that will examine a field-value to ensure it contains only valid numeric characters, along with plus sign, minus sign, period, and comma. If the value is not numeric, it will be set to null.

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


FLDADAT8 - This ETR has been re-written and enhanced to provide many customizable options. As delivered:

- validates that the last 8-bytes of a field-value conforms to a 'YYYYMMDD' mask and that it falls within the minimum/maximum range of 15820101 and 26991231.

- inserts hyphens to convert the date value into the ISO-standard format of 'YYYY-MM-DD'; and abends when an invalid value is encountered (with an appropriate error message being issued).

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


FLDADAT9 - This field ETR has been enhanced to allow the input value to be from 8 - 23 bytes in length, but only uses the rightmost 8 bytes.

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


FLDAUBIN - This field ETR has been enhanced to have a user defined symbolic variable of &LR (start from left or right). It will also use COLLGTH as the length of the replacement value.

Refer to Section IX - External Transformation Routines in the DPS Manual for more details.


LTRBLD1 - Replacement module to allow owner name to be 1 per table instead of 1 per database.

D ACTALODD - Allow specification of suppress/non-suppress for the VBM_VALUE column values from the DDIMAGE file. The default is to not suppress the VBM_VALUE columns.


ACTAVBM If ACTAVBM has been customized to call an ACTALODx ETR (using the variable &NEXTRTN), the ACTALODx ETR will be called for Adabas Insert and Delete commands only. Calls to the ACTALODx ETRs for Update commands will be controlled by DPS' update module. This will eliminate duplicate inserts on the DDIMAGE file.


COLACNP - COLACNP did not properly convert x'25' line feed characters to a blank.


COLAMAX - A new column ETR that will set a column's value equal to the value of the last occurrence of a mapped ADABAS repeating field.


DSCLEAN Provide source code to allow for site specific DSCLEANB customization. DSCLEANV


* FLDACNP - Table entry modifications to simplify site specific customizations.


FLDADAT8 - Allow specification of a mask format of YYYYMMDD MMDDYYYY or DDMMYYYY. This works in conjunction with the option to specify if dashes will be present.

Also made changes so that a day value of 00 is treated as invalid.


FLDALTIM - A new field ETR that will convert the value of ADADATE, ADATIME, ADADATIM or ADATIMDA to the local time.


FLDANATS - Provide the option to treat an input field value of binary zeros as invalid, and replace with null, similar to the treatment of an input value of blanks or an input value of character zeros.


FLDAUBIN - Added an option to convert an input value of all blanks to a number or set it to null.


Support for input files created with the Large Block Interface (LBI) under ZOS and ADABAS V7.4. This fix impacts ZOS only. It will not affect non-ZOS operating systems.


Remove 300 table limit from ORACLE Materialization CTL and MAT statement generation.


Provide Adabas v7.4 compatability.


S0C1 in Propagation when transactions from the restart file are part of a backed out transaction.


Invalid SQL statements are created with an empty SET clause


When using any of the ACTALODx action routines during propagation, duplicate inserts for child tables may appear on the DDIMAGE file. This caused the DDIMAGE file to contain many more transactions than the SQLOUT file.

 

Zaps

ZAP PROBLEM

1 DPS Materialization incorrectly generates a NULLIF clause in the CTL file for a column that is defined in the RDBMS with a NOTNULL constraint. This zap adds a new FTTE parameter, "COLNULL", with valid values of "COLNULL=NULL" and "COLNULL=NOTNULL". Additionally, the zap prevents DPS from generating a NULLIF clause if a "COLNULL=NOTNULL" entry appears in a column's FTTE entries.

2 An LTR00108 error message occurs when the DPSNATDT Field ETR is used in a VSE environment.

3 During DPS Transformation processing, the "NULL=EMPTY" FTTE parameter is ignored in the case of an ADABAS packed or unpacked numeric field mapped to a CHAR or VARCHAR column. I.e., when the source field has a value of zero, the target column is being incorrectly populated with zero instead of NULL.

4 In DPS Propagation processing, OWNER NAME is not properly prefixed to TABLE NAME in all outputted SQL statements when the target RDBMS is mainframe-based DB2.

5 When DPS is run with the "MATERIALIZATION SQL" runtype option, the COMMIT parameter is ignored and there is no COMMIT generated as the last statement.

6 A SOC3 abend may occur in DPS Propagation (module LTRPUPDT) when an ADABAS file being processed has a PE Group at the end of its FDT, and a corresponding PLOG image being processed contains a nonnull value for the last field within that PE group.

7 A SOC4 abend occurs in LTRPINST during materialization when multiple files are being processed. The error occurs if one of the files has a Long Alpha field containing less than 255 characters.

8 In DPS PROPAGATION, when an Action Routine (such as ACTAVBM) changes the value of ACTION-INDICATOR from 'U' (UPDATE) to 'I' (INSERT) for a given transaction, an incomplete insert statement may be generated.

9 Suppress the ADABAS File password (if present) when printing the contents of the DPS DDPARM file to DDPRINT.

10 When an OWNER name is specified in tRelational, it is not placed in the DDCTL or SQLOUT datasets. The OWNER name should be prefixed onto the TABLE name, i.e.: ownername.tablename

Note - Applies only to an Oracle targeted RDBMS.

11 The count of images extracted by file is incorrect in propagation DDPRINT output.

12 Extraneous update statements are produced by propagation when the DDPARML input contains denormalized PE mappings (i.e., when explicit occurrences of a single PE-component field are mapped to separate RDBMS columns).

13 A S0C4 abend occurs when processing a long alpha field during PROPAGATION or MATERIALIZATION.

14 Change message in EXTRCKPT from:

FILE XXXXX DBID XXXXX BEING PLACED IN REMOVE LIST.
REMATERIALIZATION MAY BE NECESSARY.

to:

FILE XXXXX DBID XXXXX BEING PLACED IN REMOVE LIST.
REMATERIALIZATION MAY BE NECESSARY, OR SPECIFY
NOREMOVE FOR FILE AND RERUN.
15 A S0C4 abend occurs in EXTRPLOG during a full propagation run when SUBFILE or SUBDBID parameters are used and when the first "FILE=" parameter in the DDPARM file is for an ADABAS FILE/DBID combination not referenced in the DDPARML file.

16 A constant value specified in tRelational as ' ' should result in a value of blank in the column, but results in a value of ' ', which includes 2 single quotes.

17 A column with TYPEDEF=B and NULL=EMPTY should be considered null when the value of the column is binary zeros (x'00'), not when the value of the column is blanks (x'40').

18 Problem with checkpoint processing under ADABAS 7.

19 This zap will increase the maximum column length limit to 32000.

The maximum column length limit was 16,500.

If the column length exceeds the maximum column length limit DPS ends with a RC=8 and error message: "LTR00096 - Invalid FTTE RDBMS Physical Column Length"

20 Materialization performance problem in DPSV411.

21 Several repeating field mapping scenarios cause DPS Propagation to create extraneous inserts.

22 Null MU fields are incorrectly propagated after the first MU occurrence.

23 An LTR00121 message is displayed when a special mapping column such as ADAUSER or ADAISN is mapped to a field or column ETR

24 A S0C4 abend occurs in LTRCOLMB when a long alpha field contains a null value.

25 If a group field within a PE group is encountered on PLOG images that have more occurrences on the after image of the PE group than on the before image of the PE group it is possible there will be missing inserts.

26 An LTR00059 message is encountered when processing MU within PE fields. This zap will allow for ROWI of 5 digits (previously it was 3 digits).

27 SELECT not working properly when NE NULL is the condition on the select statement.

28 MATERIALIZATION TRANSSQL is not working properly. The SQLOUT file is empty, and the records are written to the DDCTL and DDMAT files.

29 SELECT not working properly if a field has an offset.

30 LTR Statistics are truncated.

31 DPSTRANS propagation extract gets an 0C4 abend when the USERPOOL specified in DDPARME is full.

32 COLLGTH will now be passed as a parameter to field ETRs.

33 APC abends with S0C4 after issuing message BAD RETURN FROM DPSSFAM ON SFA LOOKUP.

34 APC issues message >>>> APC020-ERROR: DECOMP. FAILED, DPSDCOM2_RC=

35 In APC after printing the following message: >>>> APC020-ERROR: DECOMP. FAILED, DPSDCOM2_RC= there is an abend 722, due to APC repeatedly printing lines containing 'BEFORE'.

36 Invalid deletes are generated in child tables when the PKEY is null. This will only occur when the null value is also part of an FKEY.

37 Owner name should be at the table level, not the database level. Changes were made to allow for 1 owner per table.

38 ADABAS V7.4 compatibility zap. This zap allows DPS to work with ADASAVs or PLOGs from ADABAS V6, ADABAS V7 through ADABAS V7.4. Application of this zap REQUIRES the load modules included with fix D to be applied.

NOTE: With this zap applied, Checkpoint processing will not function properly for ADABAS V5 PLOG input.

39 An invalid record on an ADABAS V7.2 ADASAV causes DPS to either loop or terminate with an S0C7 abend. This zap will bypass the invalid ADASAV record(s).
40 A checkpoint x'25' message:

ADAORD BACKOUT ALL

was changed to:

ADARES BACKOUT ALL

Also added messages for checkpoints:

X'0C' ADASAV RESTORE END
X'49' AOS REMOVE COMPONENT FILE
X'66' AOS LINK COMPONENT FILE
X'68' AOS SET USERISN ON/OFF
X'69' AOS SET MIXDSDEV ON/OFF
X'71' AOS ONLINE REORDER PROCESS
X'73' ADANUC NUCLEUS SUCCESSFULLY QUIESCED
X'74' ADANUC NUCLUES HAVE RESUMED NORMAL PROCESSING

This zap is for MVS only.

41 For SQLserver only, the SQL statements that are output from a Propagation run are incorrectly displaying the delimiter for OWNER name when OWNER name is not present. For example with this zap applied, instead of DBNAME.TABLENAME, DPS will display DBNAME..TABLENAME

42 When using any of the ACTALODx action routines during propagation, duplicate inserts for child tables may appear on the DDIMAGE file. This caused the DDIMAGE file to contain many more transactions than the SQLOUT file.

43 When a column value exceeds the maximum allowable length for a column ETR, DPS failed with an RC 1000 and no message. This has been changed to display the following message:

LTR00123--COLUMN VALUE EXCEEDS THE MAXIMUM ALLOWABLE SIZE FOR A COLUMN ETR and DPS gives an RC 8.

If this error message is received, contact Treehouse Software to obtain optional zap P13984#O to increase the maximum allowable column size.

44 An LTR00121 message is displayed when a special mapping column of ADADATE, ADATIME, ADADATIM or ADATIMDA is mapped to a field or column ETR.

45 A S0C4 abend may occur when a column is mapped to more than one ETR.

46 When using APC with expanded files that are not defined in ascending order, the SQL statements may be created in the incorrect order.

Early Warnings

1-4253 Early Warning regarding Problem:

1-4134
ADABAS v74 user checkpoints are incorrectly identified. DPS may stop processing with a system critical checkpoint and return code 8 or it may remove a file from processing and return code 4.


1-4142
DSCLEAN does not handle x’05’ values correctly. This may cause DSCLEAN to error all records processed. This issue only occurs if DPSv411 Fix level D and zaps 37-48 are applied.


1-4168
The last 2 bytes of the values derived from the mappings for ADADATE, ADADATIM, ADATIMDA, and ADATIME are truncated. This issue only occurs if DPSv411 Fix level D and zaps 37-48 are applied.


1-4180
When executing a DPS batch job that concatenates PLOGs, S337 and/or S333 abends are encountered. This issue only occurs if DPSv411 Fix level D and zaps 37-48 are applied.


Please note:
Early Warnings contain corrections of errors that may cause loss of data integrity or invalid results. TSI strongly recommends applying these corrections.