Search 800 + Posts

Oct 21, 2010

Oracle Sales Order Line Workflow – Fulfill Activity (Internal name – FULFILL_LINE) Errors

Most of the workflow for Sales Order line has this activity, this activity is just before the Invoicing Sub process and indicate that the line is ready for fulfillment, PL/SQL API OE_FULFILL_WF.START_FULFILLMENT for this activity perform various validation and then populate the fulfill Quantity and fulfill flag on the sales Order line.

Fig 1-1



But another important feature of this activity is, this activity has 4 Attributes associated with it, Go to Node Attribute tab and you will see

  1. FULFILLMENT ACTIVITY NAME
  2. REQUIRED COMPLETION RESULT
  3. FULFILLMENT ACTIVITY NAME
  4. REQUIRED COMPLETION RESULT
In this post I will talk about 1 and 2.
Attribute1 indicate what activity should complete before FULFILL_LINE should be executed and Attribute2 indicate what should be the outcome of the activity that is associated with the Attribute1.

For a sales Order that Involves Shipping activities like
  • Line flow generic
  • Line flow generic – Ship Only etc
Values for these attributes are
FULFILLMENT ACTIVITY NAME: SHIP_LINE
REQUIRED COMPLETION RESULT: SHIP_CONFIRM

Above 2 values indicate that FULFILL_LINE will be executed successfully if the activity in the attribute “FULFILLMENT ACTIVITY NAME” will completed with the result indicated in “REQUIRED COMPLETION RESULT”, in nutt shell FULFILL_LINE activity will be executed successfully only if the SHIP_LINE activity in the same workflow executed and completed successfully with the result as “SHIP_CONFIRM”

But for the workflow like
  • Line Flow generic Bill Only or
  • Line Flow generic Bill only with Inventory Interface
We have FULFILL_LINE activity, but none of these 2 attributes has any value, that clearly indicate that fulfill activity will only execute the PL/SQL API associated with it and will not depend on the outcome of these 2 attribute.
It is as simple as it is (reason – in bill only flows we don’t have shipping).

BUT why I am writing this post is, many a time I have notice that consultants customized the Standard workflow and based on the complex nature of business they combined together the both
  • Line flow generic   and
  • Line Flow generic Bill Only
In one flow (because of business need) but at the same time they associate ONLY 1 FULFILL_LINE activity to both of these. Mostly I have notice that they associate the FULFILL_LINE activity of the “Like flow generic  “ to both the workflow. As shown in 1-1
In such scenario, any flow that take CUSTOM2 and SCHEDULE_LINE path ( as shown in  1-1)  will executed successfully without any issue with FULFILL_LINE activity, but each and every line that take route CUSTOM2 – CUSTOM1 – LINE_DEF_INV_INTERFACE_SUB ( as shown in 1-1) will stuck at the FULFILL_LINE activity, because FULFILL_LINE  activity expect

  • FULFILLMENT ACTIVITY NAME: SHIP_LINE 
  • REQUIRED COMPLETION RESULT: SHIP_CONFIRM
Where as CUSTOM2-CUSTOM1  flow  don’t have shipping activity and finally result in a big mess.

There are various options to design the flow where we need
  • Like flow generic as well as
  • Line Flow generic Bill Only.
One such option is include 2 fulfill line activity as shown below
Fig 1.2

No comments:

Post a Comment