IBM Support

WDI translation returns century date value of 19.

Flashes (Alerts)


Abstract

Century date value is unexpectedly output as 19 when translating or transforming data. The century and year are being output as 1921, instead of 2021.

Content

There is a feature of WDI to aid with adding century (CC) to dates containing only the year (YY), i.e. input dates with no century value. There is a Century Control Year as specified in the Application Defaults profile on WDI Client which controls the century (19 or 20) that should be produced for a given YY input. For years greater than this Century Control Year value, the generated century will be 19. For years less than or equal to this value, the generated century will be 20. If YY is 21, and 1921 is being output, the value for Century Control Year would be 20 or less or blank. On WDI 3.2.1 Client, you'll find this profile under "Setup." On WDI 3.3 Client, it is under "Environment."

The "Century Control Year" is on the right-hand side of the profile. To fix the problem, set the value to greater than 20. But, keep in mind, that when the new year comes around in the future, it will need to be changed again. Also consider that the higher the value, the less it can handle older dates, such as for date-of-birth or other back dates where 19 is desired when the century control year is exceeded. For example, if the value is "20" or less or blank, change the value to 25. This will make any year value (YY) less than or equal to 25 assign a century value (CC) of 20, and any year value (YY) greater than 25 assign a century value (CC) of 19. Note: The only permanent solution is to provide the actual century (CC) within the input so WDI does not have to determine the century.

Simply adjust all Application Defaults profile members accordingly, or see below to determine which Application Defaults profile is in effect. If not specified as below, the default profile member is EDIFFS.
 
  • WDI for z/OS:
    APPLID setting in the JCL, as specified in the PARMs within the SYSTSIN dd or on the job step's EXEC statement.

    For WDI CICS:
    APPLID is set in the CICS control information (commarea) passed from the application to WDI.

    WDI for MultiPlatform:
    APPLID is set in the ediservr command file.
    If using the Advanced MQ Adapter, APPLID can optionally be set in the DEFINE QLOCAL TRIGDATA parameter or within the DEFINE PROCESS ENVRDATA parameter.


Important Note: Although not common, it is also possible to override the century control year within a Send/Receive map. The command is, "&SET DICCCTRL <value>." There is no equivalent command for Data Transformation maps.

To find if this command is in use, use SPUFI to run the following SELECT:
SELECT * FROM EDIENU33.EDIMAPELE
WHERE SNIPET LIKE '%DICCCTRL%';

If any rows are returned, then the MAPID column contains the Send/Receive map name.
Note: Change EDIENU33 above to match your DB2 table high-level-qualifier.

[{"Product":{"code":"SSFKTZ","label":"WebSphere Data Interchange"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"WDI 3.3 z\/OS","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"},{"code":"PF035","label":"z\/OS"}],"Version":"3.2;3.2.1;3.3","Edition":"All Editions","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
25 September 2022

UID

swg21418940