Question & Answer
Question
WDI data transformation is not issuing an error when there is a syntax problem with an incoming Functional Acknowledgement. For example, is there a way to validate if EDIFACT CONTRL message has the correct segment count in envelope trailer UNT segment? Currently WDI just analyzes the status from UCI segments and writes FF0585 The PERFORM TRANSFORM command completed successfully. The applicable error for this case would be
:
Message: TR0103 Severity: 08
Transaction set trailer contains invalid segment count. Trading
Partner ID =
Answer
There are two parts to inbound Functional Acknowledgment (FA) processing for either EDIFACT CONTRL or X12 997 handling under Data Transformation processing. The first part is where WDI always attempts internally to reconcile any inbound FA's against the originally sent EDI message. i.e. it looks for a match in the Document Store outbound EDI documents. The second part is to optionally run the data through a Data Transformation Map. That is, if WDI finds an active DT Map rule for the FA (CONTRL message), it will then process the data just like any other inbound EDI transaction through its DT map. It is this latter part where the validation node comes in from a WDI design standpoint under DT processing. In other words, there is no syntax checking or error reporting as such for the automatic, internal FA reconciliation process. Meaning, to invoke syntax checking, a DT map must be defined for the inbound CONTRL message. Once in place, even basic (default) syntax checking will report the above error condition.
The DT map is determined via normal mapping rule look-up, e.g. no special map name. However, no 'map rule not found' error will be issued when not found. This is by design as most users do not map FA's directly. And, remember, use the EDI2DICT table to resolve the UNH0203 into an actual EDI dictionary name, hence you shouldn't need to hard code DICTIONARY on the PERFORM Statement. Note that WDI determines the EDIFACT dictionary by looking up the UNH0203 value in the EDI2DICT forward translation table. In most cases, this is adequate. However, for more granularity, if the dictionary is not found when looking up just the UNH0203 element, then the UNH0203 + UNH0204 + UNH0205 elements are concatenated together, and that value will be looked up in the EDI2DICT table.
Note that a DT map requires something to be mapped. This could be a simple one element mapping to an ADF field. And the output file will need to be managed, such as, if using the MQ adapter, then via Data References. Or simply write to a static file. If CLEARFILE(Y) is already on the perform statement, then the static file will be cleared upon each execution.
Was this topic helpful?
Document Information
Modified date:
01 August 2018
UID
swg22014317