Saturday, March 28, 2015

Oracle Inventory: Internal Requisition v/s Inter Org Transfer



If you are moving serialized items setup with serialization control 'At Sales Order Issue' then Internal Requisitions (Internal Orders) are best because the item serial numbers are updated on shipment and receipt. Inter Org transfers are good to move non serial controlled items or items setup with serialization 'At Receipt'. 

We use both for 2 different orgs:

1. We have a resin plant a few miles away that supplies our manufacturing facility with raw resin. We use the inter-org transfer, because of the streamline nature of the transaction, and because there is virtually no in-transit time; they "Push" the inventory into our org.
2. We have a distribution facility in another state that sends us finished goods, and vice versa. We use internal requisitions and internal sales orders, because we can pick release and ship confirm an internal SO just like a regular customer SO; therefore, we automatically get a packing slip and BOL; it fits into our normal processes for filling orders. While the shipment is on the road, the inventory value is automatically held in an in-transit account on the balance sheet. The inventory has been decremented from the shipping facility, but is not in the receiving facility until a receiving transaction is performed against the IR when the shipment physically arrives; neither orgs perpetual inventory is artificially affected by quantities still physically on the road.

The main problem for both inte-org and IR cycles is that there is now RMA for IRs and no cancel shipment for inter-org so you are obliged to receive shippments sent by user mistakes causing a mess in items costs.

The inter-org cycle is more simple flow (few steps), more user friendly and no interfaces used so less headeche in troubleshooting interface errors.

The IR cycle usefull for more tracing, control (IR, SO), approvals and generating pick slips.  Internal Requisition is used to replenish the material from other inventory
organization to your inventory organization.
It's better to have difference between internal sales order Vs Inter-Org
transfer?
1) Internal sales order has sales document (i.e proforma invoice) where as
inter org transfer is just transfer between inventory orgs with document
sales document.
2) Approval process is possible in ISO but it is not possible in Inter-Org
transfer.

Oracle Apps Script to Add Responsibility to User

Below is Simple script that one can use to Add responsibility to Oracle Apps User

 DECLARE
   v_appl_shrt_name   VARCHAR2 (20);
   v_appl_name           VARCHAR2 (50);
   v_resp_key              VARCHAR2 (50);
   v_user_name            VARCHAR2 (20) := 'DUMUSER';
   v_req_resp_name    VARCHAR2 (50) := 'DUMRESP';
   v_description            VARCHAR2 (100) :='DUMSCRIPT';
BEGIN
   SELECT fav.application_short_name,
                  fav.application_name,
                  frv.responsibility_key
     INTO   v_appl_shrt_name,
                 v_appl_name,
                 v_resp_key
     FROM FND_APPLICATION_VL fav,
                 FND_RESPONSIBILITY_VL frv
    WHERE frv.application_id = fav.application_id
     AND     frv.responsibility_name = v_req_resp_name;

   fnd_user_pkg.addresp
                         (username         => v_user_name,
                          resp_app         => v_appl_shrt_name,
                         resp_key          => v_resp_key,
                         security_group  => 'STANDARD',
                         description        => v_description,
                         start_date          => SYSDATE,
                         end_date           => NULL);
   COMMIT;
   DBMS_OUTPUT.put_line ('Responsibility ' || v_req_resp_name || ' is added to the user ' || v_user_name);
EXCEPTION
   WHEN OTHERS THEN
      DBMS_OUTPUT.put_line ('Responsibility addition Failed: ' || SQLCODE || '; '
                                            || SUBSTR (SQLERRM, 1, 250));
      ROLLBACK;
END;