December 27, 2016

Enabling Operating Unit for Concurrent Program in R12 during Submit

The Operating Unit Mode field is added to the Define Concurrent Program in the OA Framework pages only.
You can define it via the following path :
  • Log on the responsibility System Administration ( and not System Administrator ).
  • Go to the menu Concurrent / Programs.
  • Query a concurrent Program ( i.e : Packing Slip Report ).
  • Click on the button Update.
  • Click on the TAB Request.
The field "Operating Unit Mode" is on the right of the screen.

Read More

November 18, 2016

Back to Back(B2B) process is used for items that are not typically stocked nor manufactured. In an environment where lead times are often only a matter of 24 hours, the B2B process improves efficiency of the three steps above, by closely linking the Sales Order and the Purchase Order together.

The B2B process automates the creation of a supply order (PO) when a sales order is booked. The supply order is hard pegged (hard-reservation) to the sales order that it is supplying so that once the PO is received, the items are not inadvertently taken by another order or demand. Where the sales order line is within the process, can be visible at all times so that customer service inquiries can be answered. 

This process is also called Supply to Order.

1. Customer orders items (OM).
2. Purchase those items from the supplier (PO) and receive them into the warehouse.
3. Ship those items to the customer (OM).

Create a B2B Item

Go to Inventory > Items > Master Items and define the item as follows :
Enter item name and description.
From Tools > Copy From, apply the Purchased Item template.

 In the Purchasing tab, enter a value in the List Price field.

 In the General Planning tab, set the Make or Buy flag to Buy

 In the Work in Process tab, make sure the Build in WIP flag is checked

  In the Order Management tab, check the Assemble to Order flag (ATO).

Save, and assign to Organization M1
B2B item must be created at item validation org.
Same item in same item validation org cannot be both stock item and a B2B item

Define Sourcing rule for the item

Sourcing rules can be set up in PO to default sourcing information such as the supplier from which the item is purchased.

Assign the item to the price list

Back to Back Order Flow

Create Order

Go to OM > Orders, Returns > Sales Orders.

Create a sales order with Order Type Mixed and enter the B2B item created in previous step in the lines for any quantity.
Book the order. Note down the Order Number

 The line status will move to Supply Eligible (flow_status_code SUPPLY_ELIGIBLE).

Place cursor on the line and go to Actions > Progress Order > Select Create Supply Order - Eligible to progress the workflow of the line 

The line status will now show PO-ReqRequested/External Requisition Requested (flow_status_code PO_REQ_REQUESTED).

OM has inserted a record in the PO requisitions interface table.

Go to Purchasing > Reports > Run and run the concurrent program Requisition Import with the Import Source parameter = CTO. Leave the other parameters as default. The concurrent program can also be run from OM > Orders, Returns > Requisition Import.
Go to View > Requests and verify that the Requisition Import has completed successfully.

The line status of the sales order line will now show PO-ReqCreated/External Requisition Open (flow_status_code PO_REQ_CREATED)

From the sales order line, go to Tools > Scheduling > Reservation Details > 'Supply' tab. Verify that the order line is reserved against the requisition. Note down the requisition number seen in this window.

Go to Purchasing > Requisitions > Requisition Summary.

In the Find Requisitions window, enter requisition number found in the previous step and click on Find.
Verify that the status is Approved

Go to Purchasing > Autocreate.
From Edit > Clear > Record, clear any query criteria that may be defaulted like buyer, requester etc.
Enter requisition number and click Find.

Check the checkbox to the left of the line, and click on Automatic. Enter the Supplier and Supplier site such as the following and click on Create

 Once the PO created, enter the supplier and site details and once everything is OK, approve the PO

The line status of the sales order line will now show PO-Created/PO Open (flow_status_code PO_CREATED)

From the sales order line, go to Tools > Scheduling > Reservation Details > 'Supply' tab. Verify that the order line is reserved against the PO

Go to Purchasing > Receiving > Receipts.

Enter Purchase Order number and click on Find.
In the Receipts window, check the checkbox to the left of the line and enter and save the receipt

Go to Purchasing > Receiving > Receiving Transactions Summary.

Enter the Purchase Order number and click on Find.
Click on the Transactions button.
Verify a Receive and Delivery transaction. This means that the B2B item has been received into Inventory.

The line status of the sales order line will now show Awaiting Shipping (flow_status_code = AWAITING_SHIPPING).

On the sales order line, Tools > Scheduling > Reservation Details will now show that the item is reserved against Inventory in Subinventory = FGI (PO has been received in this subinventory).

The line can now be pick released, shipped and invoiced to the customer.

This completes the Back to Back Order workflow.

Useful queries

Once you progress the order after Supply Eligible step, use below query to find whether the data inserted to requisition interface or not

select * from po_requisitions_interface_all
where interface_source_line_id = &order_line_id
and interface_source_code = 'CTO';

Read More

October 5, 2016

Below Script will help you to get the Inventory Org to Business Group details with Legal Entity, Operating Unit, Ledger, Period details, Inventory Validation org and Purchase Validation org for the Operating unit

This script is in the context of Oracle R12

select mp.organization_code org_code,
       org.organization_id org_id, org_name,
       ou.organization_id ou_id, OU,
       le.legal_entity_id le_id, LE,
       gl.ledger_id, primary_ledger,
       gl.currency_code, bg,
       (select organization_code
          from apps.mtl_parameters
         where organization_id =
               (select parameter_value
                  from apps.OE_SYS_PARAMETERS_ALL
                 where parameter_code = 'MASTER_ORGANIZATION_ID'
                   and org_id = ou.organization_id)) IVO,
       (select organization_code
          from apps.mtl_parameters
         where organization_id =
               (select inventory_organization_id
                  from AP.FINANCIALS_SYSTEM_PARAMS_ALL#
                 where org_id = ou.organization_id)) PVO,
       (select period_name || ' : ' || open_flag
          from apps.ORG_ACCT_PERIODS
         where period_start_date <= trunc(sysdate)
           and schedule_close_date >= trunc(sysdate)
           and organization_id = mp.organization_id) inv_period,
       (select period_name || ' : ' || show_status
          from apps.GL_PERIOD_STATUSES_V
         where start_date <= trunc(sysdate)
           and end_date >= trunc(sysdate)
           and ledger_id = gl.ledger_id
           and application_id = 101) gl_ledger_period,
       (select period_name || ' : ' || show_status
          from apps.GL_PERIOD_STATUSES_V
         where start_date <= trunc(sysdate)
           and end_date >= trunc(sysdate)
           and ledger_id = gl.ledger_id
           and application_id = 200) AP_period,
       (select period_name || ' : ' || show_status
          from apps.GL_PERIOD_STATUSES_V
         where start_date <= trunc(sysdate)
           and end_date >= trunc(sysdate)
           and ledger_id = gl.ledger_id
           and application_id = 222) AR_period,
       (select period_name || ' : ' || show_status
          from apps.GL_PERIOD_STATUSES_V
         where start_date <= trunc(sysdate)
           and end_date >= trunc(sysdate)
           and ledger_id = gl.ledger_id
           and application_id = 201) PO_period

  from apps.XLE_ENTITY_PROFILES         le,
       apps.HR_ALL_ORGANIZATION_UNITS   org,
       apps.mtl_parameters              mp,
       apps.GL_LEDGERS                  gl,
       apps.hr_locations                hl
 where mp.organization_id = org.organization_id
   and org.organization_id = orginfo.organization_id
   and org.location_id = hl.location_id
   and orginfo.org_information_context = 'Accounting Information'
   and orginfo.org_information3 = ou.organization_id
   and orginfo.org_information1 = gl.ledger_id
   and orginfo.org_information2 = le.legal_entity_id
   and ou.organization_id = ouinfo.organization_id
   and ouinfo.org_information_context = 'Operating Unit Information'
   and ouinfo.org_information2 = le.legal_entity_id
   and ouinfo.org_information3 = gl.ledger_id
   and bg.organization_id = ou.business_group_id
   and mp.organization_code in ('V1');
Read More

August 19, 2016

Pick Release is the process of Picking the order for ship confirming.
This process includes 3 parts, Move Order creation and Move order Allocation and Move order transaction.

When you do a pick release, it will create a move order, as per the details you have provided in the picking process, it will allocate the move order from the satisfied subinventory, locator, lot, serial, LPN.
And as per the criteria (whether auto pick confirm is Yes or No), it will transact the move order as well.

So in Shipping transaction form, the flow will happen like this

1. Ready to Release: The order is booked and ready and you can run the pick release on this
2. Released to Warehouse: Once you did pick release and if the pick release successful, it will be changed to Released to warehouse. Also if no order satisfies the criteria what you have given, then the status will remain as it is. If Auto Pick confirm is set as Yes, this satus will never come and it will move to next status Satged/Pick released.
3. Backordered: If there is no satisfied source find during the process of pick release, delivery details will be back ordered.
4. Staged/Pick Confirmed: Once pick release process including pick confirm completes (depends on the Auto pick confirm flag), status will be changed to this.

Auto Pick Confirm flag under shipping tab

Mostly this flag was kept as No for Warehouse enabled Organizations, so that the physical pick and drop process can be done from the physical location through Paper based picking or task directed picking. When this flag is No, after pick release, the status in shipping transaction form will be released to warehouse and as per setup pick slip will be printed. Warehouse operator will do the Pick and Drop transaction using the data from the pick slip in MSCA.
Also even if it in not WMS enabled organization, still if you need to manually do the Move order transactions and if your business has some checks, then also you can keep the flag as No.

If the flag is set to Yes, during pick release, system will do the move order transaction as well and status in shipping transaction form will be staged/pick confirmed. Which means pick release is complete and order/delivery is ready for shipping.

Pick release can be done in different ways
Order Management --> Shipping --> Release Sales Order

Using Release Sales Orders form

Here you can enter all required parameter and release the orders either in concurrent or in online method.
In this method, you can pick release individual orders and restrict them with different parameters in the order tab.

In the Shipping tab, you can select how you want to handle the picking batch, whether you want to auto create delivery, whether you want to auto pick confirm, if you want to auto ship confirm the order from this form, also you can do so, if you select Auto pick confirm as Yes and using a ship confirm rule.
You can even restrict or specify certain other parameters like ship method and which sequence rule you want to use.

In the Inventory tab, you can specify from which warehouse, subinventory, locator you want to pick from and which subinventory and locator you want to stage in.
Also you can choose allocation method here whether inventory or cross-docking.
Here you can use business required predefined pick slip grouping rule as well to group the pick slips.

Using Release Sales Orders SRS

Pre-req for this process is to have your Pick release rule defined before hand (explained below).

Benefit of this method is, you can release multiple orders in one request just using a required release Rule name which satisfies your current business need which you have already defined in system.

Note: If you have many Release Rules defined for your business and you want them to be scheduled and executed one by one. You can consolidate all requests in one request set one by one and schedule that request set.

Define Release Rule Form:

Order Management --> Setup --> Shipping --> Picking --> Define Release Rule Form

Pick Release rule is nothing but the predefined pick release rule with all specific restrictions and attributes depending on your business needs.
This form is exactly like the Pick release form we discussed above. The same criteria, same restrictions can be used her as well. But here, you can define the rule, so that instead of manually selecting those criteria, every time, you can use the pre-defined release rule.
You can define multiple release rules with all set of parameters like for different customer, different item category, and all type of business requirements and use the same for Pick release from using the Form or Pick release through SRS.

Post pick Release and Debugging

Post Pick release execution, if any exception occurred, you can find those details in below table

select * from WSH_EXCEPTIONS;

Tables involved in pick release are below
You will be able to find the pick release batch details like what restrictions,, attributes used for the pick release.


Other tables involved here as well for delivery are


If you want to check which release rules used for which order and what is the pick release batch for your sales order, you can use below script

SELECT wdd.source_header_number,
       mtrl.request_id mtl_req_id,
       wpb.request_id pick_batch_req_id,
       wdd.batch_id pick_batch_id,
       (select user_concurrent_program_name
          from apps.fnd_concurrent_programs_tl
         where concurrent_program_id =
               (select concurrent_program_id
                  from apps.fnd_concurrent_requests
                 where request_id = nvl(mtrl.request_id, wpb.request_id))) prog_name,
       decode((select concurrent_program_id
                from apps.fnd_concurrent_requests
               where request_id = nvl(mtrl.request_id, wpb.request_id)),
              (select PICKING_RULE_NAME
                 from apps.WSH_PICKING_RULES_V
                where picking_rule_id =
                      (select argument1
                         from apps.fnd_concurrent_requests
                        where request_id =
                              nvl(mtrl.request_id, wpb.request_id)))) rel_rule

  FROM apps.wsh_delivery_details  wdd,
       apps.mtl_txn_request_lines mtrl,
       apps.oe_order_lines_all    oel,
       apps.wsh_picking_batches   wpb,
       apps.mtl_parameters        mp
 WHERE wpb.batch_id = wdd.batch_id
   AND mtrl.line_id = wdd.move_order_line_id
   AND wdd.released_status IN ('S', 'Y', 'C')
   AND wdd.source_code = 'OE'
   AND wdd.source_line_id = oel.line_id
   AND oel.line_id = &LINE_ID
   and oel.ship_from_org_id = mp.organization_id;

Read More

August 6, 2016

Labels are an integral part of WMS functionalities.
This will help in easy transaction, clear tracking and using this transactions can be automated.
Oracle provides different types of labels to setup as per your business transactions.
Supplier labeling speeds-up the receiving process by enabling bar code scanning of inbound purchase orders, that results in less receipt processing time, immediate recognition of available materials, and higher receiving accuracy.
Labels can be customized as per customer needs to cpmly with specific business or govt compliances with fields and barcodes.
Even you can print customized documents as labels in case of requirement using label printing api.
Below is the step wise setup with an example for clear understanding

Create an Item

Inventory Super User -> Inventory -> Items -> Master Items

Assign Items to the organization
Tools -> Organization Assignments

Define Label Format

You can use oracle provided standard Labels or you can customize as per your business need
Warehouse Manager -> Setup -> Warehouse Configuration -> Printers & Devices -> Define Label Format

Select label type and entity type, find seeded label format and click on Label Fields and variables to check visible fields. You can define your custom format and select required fields.

Assign Label Format to Business Flow

Setup -> Warehouse Configuration -> Printers & Devices -> Assign Label Format to Business Flow

*Drill down business flow and select Miscellaneous / Alias Receipt. Assign label type at user level

Create Label Format Rule

Setup -> Warehouse Configuration -> Rules -> Warehouse Execution -> Rules
*Create a new Label format rule to satisfy the business condition
Then run Generate All Rule concurrent program

Do A transaction to understand how it works

Do a Misc Receipt Transaction using MSCA 

Check the generated Labels

Navigate to
Warehouse manager -> Inquiry -> View Label Requests
Query by giving your user id or any such specific parameter in the form and you will be able to see the label, its status with details and the XML format of the label.

This labels can be printed in all types of label printers provided by many different vendors like Zebra, etc.

Read More

July 29, 2016

Curtail Pick

To raise a task exception in Oracle Warehouse Management, a transaction reason set up is required and it should be linked to the reason type. While entering an exception during the picking process, we need to select the reason for the exception.

Curtail Pick and Pick None are the two reason contexts, in which Pick None is applied when there is no need to perform the task from that locator or the system assumes that there is no on-hand quantity available in that locator while Curtail Pick ends the picking process after picking a few license plate numbers (LPN) or lots and loads the contents.

Read More

July 28, 2016

Cycle Count

Read More

May 4, 2016

Defining Shipping Method in Oracle

Go to any OM Super User responsibility
Navigate to
Setup à Shipping à Freight Carriers, Cost Types à Freight Carriers

Shipping method is combination of 3 basic properties
  • Carriers
  • Service Level
  • Mode

So to define a shipping method, you can use either existing carrier and service level or you can create a new one in this form
Lets Create a new one here

For creating new Carrier, enter the carrier name and Short name as you need

For creating a new service level, click on the Define Service Levels button

Define the details and Save.

Close the form and add the same service level in the Carriers form which you have created (you can use any service level as you need from the LOV as well)

Select the Mode of transport from the LOV. Say for example TL (TL for Truck)

When you enter the Mode and hit Tab, system will generate a shipping method considering the 3 properties as in this case, Test Carrier-TL-Test Service Level (Carrier – Mode – Service Level)

But you can rename the shipping method as per your need and save

As in this case, I have added, TEST at the end

Once you save the Shipping Method, here, it will create a record in in the SHIP_METHOD quick code in  the Inventory application.

Now you can assign this ship method to any inventory orgs by clicking on the button Organization Assignments in this form only

Click the assigned check box and click on Done to assign the shipping method to required org.

You can see this ship method in the SHIP_METHOD quick code in Inv responsibility, if you need to add any DFF details.

To do this, go to any INV Super user responsibility
Navigate to

Setup à Organizations à Shipping Methods

Here it will show all the shipping methods defined in system

So query the one you have created now by entering the shipping method name in the Meaning field

Now setup the DFF as you need and save.

Shipping method is ready to be used. Read More

March 18, 2016

  1. My Oracle Support account
  2. Valid CSI, should be approved to your account
  3. Patch download access
Login to your My Oracle Support Account

Go to Patch & Updates

Select Product or Family (Advanced)

Fill the details as below for search criteria

Product is: Oracle Tutor
Release is one of: all
Platform is Microsoft Windows (32 bit)
Description contains Courseware

Then hit Search

Click on Any patch name hyper link

Then click on Download.

It will download the complete courseware

!!!Happy Learning!!!
Read More

February 28, 2016

Multi Org Access Control Setup: Business Group to Inventory Organization

Below is the MO Hierarchy
Business Group à Legal Entity à Operating Unit à Inventory Organization

Business Group Setup

Below are the pre-setups required for Business Group

Define a Location

Navigate to Human Recourses Responsibility -> Work Structure -> Location

Enter Address Style, Address details, Timezone in Address Details Tab
In Shipping Details Tab, select all required business purposes for this location

Define the Business Group

Navigate to Human Recourses Responsibility -> Work Structure -> Organization -> Description

Select New

Enter the Business Group Name
Enter the location you have created
Select Internal in Internal or External field
Then Click Save
Enter Business Group in Name under Organization Classification Check Enabled and the Save

Click on Others Button, select *Business Group Info option from the LOV

Click on the Business Group Info. Field, it will open the DFF
Fill All the details

Click Ok and then Save

Setup Legal Entity

Need to create below 2 Legal Entities
India LE
Singapore LE Switch responsibility to General Ledger, Visions Operations (USA)
Navigate to Setup à  Financials à Accounting Setup Manager à Accounting Setups
Select Legal Entity Tab, the click on create Legal Entity

Enter the details

Select on Create New Address radio button for creating new address, else select an address from the existing list
Fill the details in General Information
Then Click on Apply.
Again go to Legal Entity tab and click on Create Legal Entity to create Singapore LE
Create or Select from the list

Click on Apply
Confirmation message displays

Create Ledger

We have to create 2 ledgers here

Chart of Account

Accounting Convention In multi org structure we will follow the same calendar, currency and chart of accounts for the companies. In the above scenario as we have the companies in 2 different countries we will have 2 different ledgers.
  • India Ledger
  • Sinapore Ledger
Switch responsibility to General Ledger, Visions Operations (USA)
Navigate to Setup à  Financials à Accounting Setup Manager à Accounting Setups

Click on Create Accounting Setup

We have already created the legal entity, so we can move to next
Enter the Primary Ledger details

You can create your own Chart of Account, Calendar, Currency and Subledger Accounting Method or you can use from the system.
Click Next

Click Finish

Create the Singapore Ledger Similarly

Create and Assign Operating Unit and Legal Entity

Switch responsibility to General Ledger, Visions Operations (USA)
Navigate to Setup à  Financials à Accounting Setup Manager à Accounting Setups

Enter the Ledger Name and Click Go 

Click Update Accounting Option button
Click Add Legal Entity 
Search for the India Legal Entity

Click on Apply button
Legal entity now attached
Click on the Update action for Ledger options and proceed next till finish.

After finish, operating unit option will be enabled

Adding Operating Unit to the Ledger

Click on the update button on the operating unit

Click on Add Operating Unit

Click Apply

Now Search the OU created
Click on Complete 

Now complete all other ledger option

Click Complete
Similarly complete the ledger setup and Operating and LE assignment for both the operating Units 

Create Inventory Organization

Read more on Oracle Inventory Organization

Navigate to Human Recourses Responsibility -> Work Structure -> Organization -> Description

Click on Others and select Accounting information
Click Ok, then Yes for the Save pop up.
Now Click others again and select Inventory Information

Enter details in the Inventory Tab

Enter the details in the costing tab

Enter the details in Revision, LOT, Serial And LPN tab

Enter the details in ATP, Pick, Item Sourcing tab

Enter the details in the Inter-org informations tab

Enter the details in the Other Accounts tab

Click on SAVE

Click OK

Create the other Inventory orgs for Kolkata and Singapore similary

Run the required programs to get access to all created OUs and Multi org structure

Run the Replicate Seed Data conc program to get access to the Operating Units created

Submit this program for all the Operating Units created
*Note: If the program not exists in Human Resource responsibility, try to look in System Administrator
Run the Multi-Org Setup Validation Report

Multi Org Access Control

This special feature of R12 allows users to submit or access data of multi operating usint using one responsibility.
Pre-requisites for this is to create a security profile and attach the required operating units under that
Navigate to Human resource responsibility
Security à Profile

Define the profile option and attach both the operating units

There are 4 ways you can control the security profile

  • View All organizations (no security) 
  • Secure organizations by organization hierarchy and/or organization list 
  • Secure organization by single operating unit 
  • Secure organizations by operating units and inventory organizations

Submit the Security List Maintenance concurrent program to activate the created security profile

Now create a new responsibility and user, assign the Multi org profile option to the responsibility and the responsibility to the user

Create Responsibility

Navigate to the System Administrator
Security à Responsibility à Define

Create User

Navigate to the System Administrator
Security à User à Define

Assign the responsibility 

Set the profile

Navigate to the System Administrator
Profile à System

You can use below profile options as as well for multi org access control

MO: Default Operating Unit: Even though you have the flexibility to choose many orgs or operating unit from the responsibility, if you want to default any specific operating unit in the responsibility, you can use this profile option.
This can be set at responsibility and user level. This comes into picture when you are using Multi Org Access Control (MOAC).

But if you are not using MOAC and want to tag the responsibility or user to an Operating Unit, you can use the profile option MO: Operating Unit.

If you are using Order Management responsibility to test this and using Sales Order Form, then Operating Unit field is not visible.
To show Operating Unit in Sales Order form, you can use folder tool to move the existing field and and show the Operating Unit filed.
You can define your own folder.
Also you can default folders to any responsibility.

Read More
Copyright © . Oracle Apps (SCM) . All Rights Reserved
Oracle Apps (SCM) is an online knowledge sharing blog which index online free tutorials, blogs and other sources, to get easier and accessible manner. The blog has been created keeping only one intention of sharing knowledge and for learning purpose. All trademarks, trade names, service marks, copyrighted work, logos referenced herein belong to their respective owners/companies. If any of the posting is violating copyright and you want us to remove that content. Please contact Here