OrderLine user-defined field Change

OrderLine user-defined field change is an order amendment type where the amended order lines have changed only their corresponding User Defined Fields. All other attributes remain unchanged. This application is able to identify if the orders have changed only with respect to User Defined Fields by inspecting the orderlines to identify if the User Defined Fields have been modified, added or removed. This way of identifying the amended user-defined field is different from TIBCO Order Management 2.0.1 and prior, where user-defined field only change was identified by checking value of special UDF (MODIFICATION_IDENTIFYING_ATTR) passed in the order line. Starting from TIBCO Order Management 2.1.0, there is no have to pass MODIFICATION_IDENTIFYING_ATTR UDF to tell the application, which user-defined field is being modified.

Here is the sample orderline showing the changes between TIBCO Order Management 2.1.0 and TIBCO Order Management 2.0.1 and prior:

Sample OrderLine in TIBCO Order Management 2.0.1

<ord1:line>
	<ord1:lineNumber>1</ord1:lineNumber>
               <ord1:productID>MODEM</ord1:productID>
               <ord1:productVersion>1.0</ord1:productVersion>
               <ord1:quantity>1</ord1:quantity>
               <ord1:uom>UOM</ord1:uom>
               <ord1:action>PROVIDE</ord1:action>
               <ord1:actionMode>MOVE</ord1:actionMode>
               <ord1:requiredByDate>2011-04-30T13:20:00-05:00</ord1:requiredByDate>
               <ord1:inventoryID>1</ord1:inventoryID>
               <ord1:notes>NOTES</ord1:notes>
               <ord1:slaID>SLA_ID</ord1:slaID>
                <ord1:udf>
                    <ord1:name>MODIFICATION_IDENTIFYING_ATTR</ord1:name>
                    <ord1:value>Region</ord1:value>
                </ord1:udf>
                <ord1:udf>
                    <ord1:name>Region</ord1:name>
                    <ord1:value>Antarctica</ord1:value>
                </ord1:udf>
</ord1:line>

Sample Order Line in TIBCO Order Management 2.1.0

<ord1:line>
	<ord1:lineNumber>1</ord1:lineNumber>
            <ord1:productID>MODEM</ord1:productID>
            <ord1:productVersion>1.0</ord1:productVersion>
            <ord1:quantity>1</ord1:quantity>
            <ord1:uom>UOM</ord1:uom>
            <ord1:action>PROVIDE</ord1:action>
            <ord1:actionMode>MOVE</ord1:actionMode>
            <ord1:requiredByDate>2011-04-30T13:20:00-05:00</ord1:requiredByDate>
            <ord1:udf>
	    				<ord1:name>Region</ord1:name>
                	<ord1:value>Asia</ord1:value>
            </ord1:udf>
 </ord1:line>

Identifying user-defined field only Amendment

TIBCO Order Management checks the following conditions to identify user-defined field only change amendment scenario. All the following conditions, which are mentioned, holds true for user-defined field Only Change Amendment:

  • Number of order lines in initial order must match number of order lines in amended order.
  • The product Id in order line in Initial Order must match with the product Id in corresponding order line of amended order.
  • The Action in order line in Initial Order must match with the Action in corresponding order line of amended order.
  • The RequiredByDate in order line in Initial Order must match with the RequiredByDate in corresponding order line of amended order.

New Execution Plan Modification Rules Characteristics

Starting with the version number 2.1.0, the application provides more granular Execution Plan Modification Rules actions to be configured for user-defined field modifications based on the status of the plan items, so as to have more control when generating the COMPENSATE or REDO plan items.

The format of new Execution Plan Modification Rules characteristics are:

  1. EPMR_ACTION_<<action>>_UDF_CHANGE: Using this format Execution Plan Modification Rules action can be configured on per Amendment Type. The supported values of <<action>> are:
    1. PROVIDE
    2. CEASE
    3. UPDATE
    4. WITHDRAW

    The following is an example of the characteristic, configured in product model with Execution Plan Modification Rules:

    <ns0:characteristics>
          	<ns0:name>EPMR_ACTION_PROVIDE_UDF_CHANGE</ns0:name>
    	<ns0:description>Characteristic</ns0:description>
          	<ns0:instanceOptional/>
          	<ns0:instanceCeaseSequence/>
          	<ns0:instanceUpdateSequence/>
          	<ns0:instanceSequence/>
          	<ns0:instanceMin>0</ns0:instanceMin>
          	<ns0:instanceMax>0</ns0:instanceMax>
          <ns0:evaluationPriority/>
          <ns0:value>
           	<ns0:type>PROVIDE</ns0:type>
            	<ns0:discreteValue>COMPENSATE_RESTART</ns0:discreteValue>
            	<ns0:mandatoryValue>true</ns0:mandatoryValue>
          </ns0:value>
          <ns0:simpleRule>
            	<ns0:name>EPMR_ACTION_PROVIDE_UDF_CHANGE</ns0:name>
            	<ns0:ruleSetOutcome>Characteristic</ns0:ruleSetOutcome>
          </ns0:simpleRule>
    </ns0:characteristics>
    
  2. EPMR_ACTION_<<action>>_UDF_CHANGE_<<Plan Item Status>>: Using this format, Execution Plan Modification Rules action can be configured on per Amendment Type and Plan Item Status . The supported values of Plan Item Status are:
    1. COMPLETE
    2. SUSPENDED
    3. PENDING
    4. EXECUTION

    The following is an example of the characteristic, configured in product model with Execution Plan Modification Rules:

    <ns0:characteristics>
          	<ns0:name>EPMR_ACTION_PROVIDE_UDF_CHANGE_SUSPENDED</ns0:name>
    	<ns0:description>Characteristic</ns0:description>
          	<ns0:instanceOptional/>
          	<ns0:instanceCeaseSequence/>
          	<ns0:instanceUpdateSequence/>
          	<ns0:instanceSequence/>
          	<ns0:instanceMin>0</ns0:instanceMin>
          	<ns0:instanceMax>0</ns0:instanceMax>
          	<ns0:evaluationPriority/>
          	<ns0:value>
            		<ns0:type>PROVIDE</ns0:type>
            		<ns0:discreteValue>COMPENSATE_RESTART</ns0:discreteValue>
            		<ns0:mandatoryValue>true</ns0:mandatoryValue>
          	</ns0:value>
          	<ns0:simpleRule>
            		<ns0:name>EPMR_ACTION_PROVIDE_UDF_CHANGE</ns0:name>
            		<ns0:ruleSetOutcome>Characteristic</ns0:ruleSetOutcome>
          	</ns0:simpleRule>
    </ns0:characteristics>
    

Backward Compatibility with TIBCO Order Management 2.0.1

TIBCO Order Management 3.0.0 supports the use of MODIFICATION_IDNETIFYING_ATTR udf to denote the user-defined field being changed through the use of a flag. This flag, called EnableModificationIdentifyingAttribute, can configured from the Configurator UI is as shown in the following figure:

The default value of this flag is FALSE.

Predefined User Defined Fields

Changes in following User Defined Fields are ignored by the application:

  • ORDERLINE
  • GLOBAL_PRODUCT_NAME
  • EOL
  • ACTION
  • M_EPS_UDFS
Note: The changes done only in the User Defined Fields at the order header level in an amendment request doesn’t have any impact on the existing plan in terms of the creation of compensatory and redo plan items. There is no changes in the dependencies between the plan items either. However, the amendment plan contains the updated value of the User Defined Fields. The plan items, which go into EXECUTION post amendment is able to get the updated value of the header level User Defined Fields using GetPlan JMS data interface or GetOrderExecutionPlan service.