Order recognition rule has a tab called Input Message. Should we define the entire order structure (Incoming Sales order) in this tab? In O2A catridge I noticed that the recognition rule has defined an Simple structure as Input message (messageXmlData). Does OSM assign the incoming sales order to this structure type?
What is the purpose of the Input Message in the Order recognition rule?
Yes, like you say tha definition of the help content is this:
Input Message Specify the data structure of the incoming order.
You can select from the Data Dictionary a previously imported XML structure or a node from a previously imported XML structure. At run time, when a recognition rule evaluates to true, OSM adds this input message to the order template (as an XML data type) to contain the incoming message.
Order recognition is the process of determining the type of an incoming order so it can be mapped to an order specification in OSM.
During order recognition, OSM steps through an ordered list of recognition rules to determine which rule applies to the in-bound order. Recognition rules allow OSM to accept any input message structure.
Each recognition rule is associated with an order specification. Rules are evaluated in order based on a property called relevancy, which is defined as part of the rule specification in Design Studio.
The first rule that evaluates to True determines the order specification to use for the incoming order and which validations and transformations are required, if any.
Recognition rules include XQuery expressions. For example, in a simple scenario, you might have the recognition rule based on namespace:
fn:namespace-uri(.) = 'http://www.example.org/exampleNamespace'
In a more complicated scenario, you might create an XQuery expression that looks for a specific namespace, but also interrogates the data within the incoming order.
For more information please check: Order and Service Management 7.0.3 Documentation/Concepts /4 About Receiving and Creating OSM Orders.
Thanks for the update. In the O2A PIP, the input data for the Order recognition rule is defined as messageXmlData. messageXmlData is defined as structure in data dictionary, but this entity does not describe the structure of the incoming order. So my question is , Does OSM assign the incoming sales order to this entity at runtime?
Yes like you say, OSM assign the incoming sales order to this entity at runtime; you can notice that when you assign the node messageXmlData and select the Target Order in the recognition Tab of Ur Order Recognition rule, then by default when you add this node to the order Template of theTarget Order, you can see this node Like "XML Type" in his properties, then thats the way OSM knows that this node going to be an incoming XML Order .