IBM Support

Explanation of properties in wdi.properties and Queue Trigger Attributes for WDI Advanced Adapter

Troubleshooting


Problem

This is an explanation of the various properties that are defined in the wdi.properties file. Also this explains the trigger attributes that are defined in the trigger field of the trigger queues when using the WDI Advanced Adapter with WebSphere® MQ.

Resolving The Problem

Below is a list of logical tags and values that may be supplied in the "wdi.properties" file for use with the WDI Advanced Adapter. This file should be available to the WDIServer, WDIService, WDITrigger and WDIShutdown programs when they start. The file may either be in the current working directory or supplied as a folder path name in the environment variable WDISERVER_PROPERTIES.

qmgrname

Indicates the WebSphere MQ queue manager name. This value is case sensitive and must match a queue manager configured on your system. If it is not provided an attempt will be made to connect to the default queue manager.

initq

This is the initiation queue where WDITrigger waits for WMQ trigger messages. The default queue is WDI.INIT.Q. This value is case sensitive and must match an existing WMQ queue.

runtimedirectory

This indicates the directory where the WebSphere Data Interchange executables are located. This property is ignored by the advanced adapter.

datadirectory

This names the folder used as the working home directory for WDIServer. Each WDIService instance will use a distinct folder created under this parent. Path names specified for translation should either be absolute path names or paths relative to the WDIService sub-folder.

prtdirectory

This folder name is used to construct the physical file name used in WDI's SetPrintFile() API call to define the logical file PRTFILE.

appdirectory

This folder name is used to construct the physical file name used in WDI's SetAppFile() API call to define the logical file APPFILE.

edidirectory

This folder name is used to construct the physical file name used in WDI's SetEdiFile() API call to define the logical file EDIFILE.

rptdirectory

This folder name is used to construct the physical file name used in WDI's SetReportFile() API call to define the logical file RPTFILE.

fakdirectory

This folder name is used to construct the physical file name used in WDI's SetFunAckFile() API call to define the logical file FAKFILE.

qrydirectory

This folder name is used to construct the physical file name used in WDI's SetQueryFile() API call to define the logical file QRYFILE.

xexdirectory

This folder name is used to construct the physical file name used in WDI's SetFile() API call to define the logical file XMLEXCP.

xtrcdirectory

This folder name is used to construct the physical file name used in WDI's SetFile() API call to define the logical file XMLTRC.

xwrkdirectory

This folder name is used to construct the physical file name used in WDI's SetFile() API call to define the logical file XMLWORK.

xerrdirectory

This folder name is used to construct the physical file name used in WDI's SetFile() API call to define the logical file XMLERR.

wrkdirectory

This folder name is used to construct the physical file name used in WDI's SetWorkFile() API call to define the logical file WRKFILE.

rcvdirectory

This folder name is used to construct the physical file name used in WDI's SetFileName() API call to define the logical file specified in the FileID() trigger parameter. The trigger parameter defaults to the name of the triggering WMQ Queue if not specified.

plan

Specifies the database plan which will be used in the initialization of the translator. In most cases this should be defined as EDIEC33E which is the default plan name created when WebSphere Data Interchange is installed. Only change this value if you have created an alias to the database or are using more than one WebSphere Data Interchange database on the same system.

userid

The account used to connect to DB2. This is optional in keeping with DB2 connection API. When used, this user must exist and have appropriate execution permissions for WDI's DB2 packages.

userpassword

The un encrypted password passed to DB2 during connection.

languagecode

This specifies the language code that will be used. This should be set to the default which is ENU, and it must match to a WDI Language Profile.

waitinterval

This specifies the default number of milliseconds each translator should wait for input before they become idle. When data arrives on an input queue one or more translators will be assigned to the queue. They will continue to consume data arriving on that queue until it is empty. The waitinterval property determines how long they will monitor that queue before they become idle and can be reassigned to another queue. If this value is less than or equal to 60, it is treated as a number of seconds rather than milliseconds. This is overridden by the Timeout() value specified in the trigger message. The default value is 5000 milliseconds.

numtranslators

This value defines how many translators start when WDIServer is invoked. This defines the maximum number of WDIService instances that will be active at any one time. Absent any work, these instances will become idle and terminate. The processes start again when there is sufficient work requested.

cmdqname

Indicates the name of the command queue. Command messages represent incomplete work for the WDIServer. Work requests are placed on this queue by the WDITrigger process, and they remain until the target queues are emptied. WDIShutdown also places a command on this queue to request termination. Such messages are ignored during startup. Work messages may remain on this queue when WDI is terminated before all queues are considered drained. By default this is set to WDIAdapterCmd.

cyclecount


The number of times the server iterates through command review before it takes corrective action. A WDIService that shows no activity for this period is asked to terminate. A process asked to terminate for this period is sent a shutdown message or killed if it no longer is reading its command queue. This also controls the interval that WDITrigger notifies WDIService of its availability.

cycletimeout

The amount of time in milliseconds that the WDIServer waits for a new command (e.g. a new trigger or shutdown command) to arrive on the command queue before it reviews any existing work in the queue.

userexitname

Specifies the name of the user exit module. When WDIServer is started it will attempt to load the module specified by this property. If it is unable to do so (i.e it could not be found) a warning message will be written to standard output and no exits will be called. WDITrigger and each WDIService also load this shared library. The default value is msgExit.dll for Windows or msgExits.so for AIX.

genprtfile

This property tells the adapter under what circumstances a print file should be placed onto the designated print file queue. Valid values are: always, onerror, and never. If the keyword is omitted a print file will be copied to the WMQ Queue only on error conditions.

prtfileq

The name of a WMQ Queue used for messages containing the translation Audit Log written to the logical PRTFILE. The default value is WDI.PRTFILE.Q.

keeparchive

This property tells WDIService to copy file to folders in the "archive" sub-folder of the "datadirectory." Folders are created using the character representation of the WMQ Message ID. During initial setup and testing, it can be helpful if these files are not cleaned up after each translation. In production, you would not want to keep these files. Valid values are: always, and onerror. The "always" value copies all files from the WDIService folder after each WMQ message and retains the WDIService logging after the process terminates. The "onerror" value copies the Audit Log and received data file only when an error returns from WDI.


tracelevel
This is used for process debugging, and it tells the various processes to generate additional processing information. Valid values are "1" for warning messages and "2" for information messages. Tracing is used at the request of IBM technical support personnel for problem determination purposes.

rollback
This property allows the WDI Adapter to back out recoverable resources, that is, WMQ queues and DB2 updates, if a WMQ message tails translation. Valid values are "Yes" and "No". Without this setting, the default value is "No" and messages route to the failure queue immediately when translation fails, and all resources are committed. With the Value of "Yes", WMQ messages that are backed out will reprocess until they exceed the BOTHRESH defined for the WMQ Queue, at which time the message will route to the failure queue. Resources that do not participate in the unit of work like native files, Event Log tables and WMQ Queues where "Syncpoint Control" is disabled in the Queue Profile will update with any rollback setting.

QUEUE TRIGGERING ATTRIBUTES

Six options that can be passed to the translator through the Trigger Data taken from the trigger and queue definitions in WMQ. Parameter values are specified in parenthesis. All parameters are optional and are not case sensitive. These six options are:

1. NumThreads()

Specifies the maximum number of translators that will be assigned to this queue from the available WDIService pool.

2. Timeout()

Specifies the amount of time in milliseconds that translators will wait for new data to arrive on the triggering queue before they become idle. This value overrides any setting in the properties file. If this value is less than or equal to 60, it is treated as a number of seconds rather than milliseconds.

3. ReqId()

Specifies the requester ID that will be used in the PERFORM command passed to the WebSphere Data Interchange API. If this value is not provided, it defaults to the queue name. This value should match to a Network Profile for a WMQ network.

4. FileId()

Specifies the file ID that will be used when processing data from this queue. The file ID is set in the PERFORM command. This value defaults to the name of the triggering WMQ queue. The value becomes the logical file associated with the physical "receive" file. It also identifies the service profile that will be executed when WebSphere Data Interchange begins processing.

5. Convert ()

Indicates that WebSphere Data Interchange should convert the message code page as it is received. Valid values are Y for yes and N for no. The default is Y.

6. CCSID()

Indicates the Coded Character Set ID used when converting data read from this queue. Valid values are determined by WebSphere® MQ, and the default value is zero to use the CCSID defined for the local Queue Manager.

7. APPLID()


The name of the Application Defaults profile used by the translators. This can be set for individual queues in the trigger data with the applid() attribute. The default value is EDIFFS.

NOTE: FileId and ReqId are required when using Queue Names greater than eight characters. Unless specified in the trigger message, REQID and FILEID keywords default to the name of the WMQ queue. This limits the queue name to the eight characters expected in WDI.

[{"Product":{"code":"SSFKTZ","label":"WebSphere Data Interchange"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF033","label":"Windows"}],"Version":"3.3","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
16 June 2018

UID

swg21498562