Tuesday, December 9, 2014

Single drop shipment warehouse



In many cases enterprises need only one Drop Shipment warehouse, which is separate from the regular stock carrying facility. Separating the Drop Shipment Organization (DSO) into its own entity allows for much better control over billing as any on-hand quantities in that org are a clear sign of a customer billing that went wrong. There is much less transparency if the onhands form drop ships are commingled with regular on hand quantities in stock carrying warehouses.

The trick to having a single drop ship warehouse is to make sure that it gets defaulted in onto all Externally sourced lines, and especially when the line Source Type is changed from Internal to External.

Here are the changes and setups to make it happen:



1.       Make Source Type a dependency source attribute
Enter the below code into OE_Line_Util_Ext. Clear_Dependent_Attr
IF NOT OE_GLOBALS.Equal(p_x_line_rec.source_type_code, p_old_line_rec.SOURCE_TYPE_code)
        THEN
            l_index := l_index + 1.0;
            l_src_attr_tbl(l_index) := OE_LINE_UTIL.G_SOURCE_TYPE ;
        END IF;

This goes at the end of the package, as the very last code inside the main IF statement  in the package. It will make the ‘Source Type’ a dependency source attribute

2.       Change the OEXUDEPB.pls  version
From something like this:
/* $Header: OEXUDEPB.pls 120.5.12010000.7 2012/02/01 20:10:02 gabhatia ship $ */
To
/* $Header: OEXUDEPB.pls 120.999 custom version freeze  $ */
This is recommended by oracle documentation to prevent patches from overriding the changes in OE_Line_Util_Ext. If any patches alter this package the above code changes will have to be applied to the OEXUDEPB.pls  version  provided by the patch manually and only then the new version can be deployed.

3.       Make Warehouse dependent on Source Type

Alter OE_Dependencies_Extn. Load_Entity_Attributes by uncommenting the sample dependency code and adding the text highlighted in red
   ELSIF p_entity_code = OE_GLOBALS.G_ENTITY_LINE THEN

       null;

       -- Sample Code for Disabling dependency of Invoice To on Ship To
       -- x_extn_dep_tbl(l_index).source_attribute := OE_LINE_UTIL.G_SHIP_TO_ORG;
       -- x_extn_dep_tbl(l_index).dependent_attribute := OE_LINE_UTIL.G_INVOICE_TO_ORG;
       -- x_extn_dep_tbl(l_index).enabled_flag := 'N';
       -- l_index := l_index + 1;

       -- Sample Code for adding dependency of Source Type on Item
        x_extn_dep_tbl(l_index).source_attribute :=  OE_LINE_UTIL.G_SOURCE_TYPE;
        x_extn_dep_tbl(l_index).dependent_attribute := OE_LINE_UTIL.G_SHIP_FROM_ORG;
        x_extn_dep_tbl(l_index).enabled_flag := 'Y';
        l_index := l_index + 1;

    END IF;

4.       Change the OEXEDEPB.pls version to prevent patches from overriding OE_Dependencies_Extn. Similar way as in p.2

5.       Create new dependency template
OM-> Setup -> Rules -> Defaulting -> Order Line -> Defaulting Condition Templates


6.       Change order of defaulting rules by putting Source Type in front of Warehouse

OM-> Setup -> Rules -> Defaulting -> Order Line




7.       Set up the default drop ship warehouse
OM-> Setup -> Rules -> Defaulting -> Order Line ->Warehouse -> Defaulting Rules


Make sure that the Drop Ship condition has lower precedence than the Always condition
Go to Tools and Generate the Defaulting Handler Package




Now that all the setups are done, you can create an OM line, add Receiving Org to your folder and see how the warehouse and Source Org change as you change the Source Type from Internal to External.

The last thing to remember is adding items and costs to your new organization.
To simplify and full automate it, you may consider


  • creating a concurrent request based on EGO_ITEM_PUB.ASSIGN_ITEM_TO_ORG API to always add all the items from your mater item org to the Drop Shipment Organization.
  • defining the org as FIFO, even if you are Standard or Average Cost shop in all other orgs. This way you will never have any variances and never have to define cost for this org.

With that in place, create an alert of recurring report to tell you about any onhands present in the DSO org. If there are any that means someone didn't get invoiced properly...
With the single drop shipment org this is trivial to identify.

No comments:

Post a Comment