There are a few situations where it can be hard to write the template so that it processes
incoming XML files unambiguously, and the following notes may help you solve these:
Be careful with optional attributes that require different processing according to the attribute value. A typical example is an order response, where there may be (say) an Action="Add" or Action="Delete" attribute, or no Action attribute may be present at all. This technique is often used to indicate a product substitution. The "Delete" attribute may indicate a quantity (not necessarily the whole original quantity) of the product requested that cannot be supplied. The "Add" attribute may give the substituted product details, including the product code and the quantity of the new product to be supplied. The absence of the attribute indicates a normal response.
An element group must be created for each possible attribute value, including the absence of an attribute value. Where the attribute value could be omitted, then put that element group before the others.
There are occasions where an element group may have choices dependent on the value given for a child element. Typically this occurs with references, where a child element determines which reference value it concerns — such as an invoice number, delivery note number, or order number. Here you must again create an element group in the template for each possible value. In the parent element of each group add the attribute match="aaa", where aaa is the child element value that determines the processing of the element group. See above for more about the match attribute.
When processing a reply against a detail file, that detail file must be prime-indexed — for example, sales and purchase order detail files. Where possible, make sure the prime index values are sent out with the originating XML file, and that the prime index values are returned with the reply.
In the absence of the incoming prime index value, however, the XML processor will try to construct it from the master file index (e.g. order reference) and the line number of the original message.
Article ID: 1840 Created On: Mon, Jul 9, 2012 at 4:38 PM Last Updated On: Thu, Jun 22, 2023 at 4:48 PM