SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Pick Pack and Ship using Shipping Public API

Introduction:

The shipping Public API’s (Application Program Interface) are pl/sql packages which when called
using wrapper files will perform the same actions possible from the Shipping applications UI.
The real time nature of the shipping API’s in Release 11i and R12 has provided options for the
customers to customize their shipping flows as per the business needs.

In order to call these API’s we only need to pass the required parameters. It is mandatory that
all the required parameters need to be initialized before they are passed to the called shipping
API. The optional parameters are optional and can be passed as additional information if
needed.
The parameters can also be classified as standard parameters and specific parameters.
Standard parameters are almost common to all the shipping API’s and the Specific Parameters
are specific to a particular shipping API and are discussed seperately for each of the API called in
the flow. These standard and specific parameters can be one of the madatory or option
parameter.

Summary of the Flow Sequence:

We have created the following business flow to demonstrate the usage of various shipping
public API’s during Pick, Pack and Ship activities.
The diagram also shows the relevant shipping API’s used during each of these specific steps.
Standard Parameters:

1. p_api_version_number: This is used to compare the incoming API call's version
   number with the current version number (always set to 1.0).

2. p_init_msg_list: This is used to Initialize message list and use FND_API.G_TRUE to
   reset the list.

3. p_commit: Will commit the changes to the database. The Default Value is
   FND_API.G_FALSE

4. x_return_status: Requests that the API return the status of the data after it completes
   its function.

 Valid values include:
        • Success       : FND_API.G_RET_STS_SUCCESS
        • Error          : FND_API.G_RET_STS_ERROR
        • Unexpected Error: FND_API.G_RET_STS_UNEXP_ERROR

5. x_msg_count: Indicates number of error messages API has encountered.

6. x_msg_data: Returns error message text. If the x_msg_count is equal to 1, then this
   contains the actual message.

Setting the application context:

Its necessary that the application context need to be set before making a call to the shipping
API’s from sql*plus.
This is done by calling FND_GLOBAL.APPS_INITIALIZE() procedure in the beginning of the
wrapper file.
The procedure APPS_INITIALIZE takes the following parameters

FND_GLOBAL.APPS_INITIALIZE(user_id         IN number,
                             resp_id          IN number,
                             resp_appl_id      IN number,
                             security_group_id IN number);
You can obtain the valid values for each of these parameters from the application forms session.




1.   Arguments (input)
2.   USER_ID - User ID number.
3.   RESP_ID - ID number of the responsibility.
4.   RESP_APPL_ID - ID number of the application to which the responsibility belongs.
5.   SECURITY_GROUP_ID - ID number of the security group. This argument is automatically
     defaulted by the API. The caller need not pass a value for it.
Detailed Flow Sequence:

Each of the steps created in the flow are discussed in detail under the following headings.

Book order:

Create an Order from order management Super User, Vision Operations (USA) responsibility
with the following details

Customer Number :1006
Warehouse         : M1
Ship Method      : DHL
Line Item       : AS54888
Ordered Quantity : 2
Create Delivery:

As a next step to booking, a new delivery needs to be created. In order to create a new delivery
we need to call the shipping API “WSH_DELIVERIES_PUB.Create_update_delivery” by passing
the required and optional parameter values.

Specific parameters:

    P_api_version_number => 1.0
    p_action_code         => CREATE -- for creating new delivery
    p_delivery_info => Attributes of the delivery entity of type Delivery_Pub_Rec_Type

The sample script attached here can be used to create a new delivery.




(Please note it is necessary to make the changes suggested in these scripts for them to work
correctly in your application environment)
Assign delivery detail to delivery:

The delivery detail can be assigned to the newly created delivery by using the public API
“WSH_DELIVERY_DETAILS_PUB. Detail_to_Delivery”.

Specific Parameters:

    p_TabOfDelDets            => Table of Delivery Detail id’s
    p_action                  => ASSIGN
    p_delivery_id             => Delivery id
    delivery_name             => Delivery name to which the detail lines will be assigned

The sample script attached here can be used to assign the delivery detail to the newly created
delivery.




Delivery Detail is assigned to the Delivery

Pick Release:


The shipping public API "WSH_DELIVERIES_PUB. Delivery_Action”, enables
pick release of the sales order line. The relevant pick release parameters are retrieved from the
Shipping and Organization Parameter setup.
Specific Parameters:
         p_action_code               = > PICK_RELEASE
         p_delivery_id/p_delivery_name => Id/name of delivery

Refer to the attached PICK_RELEASE.sql sample script which will pick releases lines for a given
delivery.




Line in Staged Status

Back order line:

 Select move_order_line_id,organization_id,delivery_detail_id
 From wsh_delivery_details
 Where delivery_detail_id=p_delivery_detail_id

API USED : INV_MO_BACKORDER_PVT.BACKORDER


PICK CONFIRM TO CREATE MOVE ORDER HEADER(Transact move order)

API USED : INV_PICK_WAVE_PICK_CONFIRM_PUB.PICK_CONFIRM

Manual Pack:

Before advancing to this step, Please refer to metalink Note 124593.1(Containerization in
Shipping Execution) for all the necessary needed for packing/containerization
Manual Packing involves two steps

1. Creation of LPN’s:
   LPN creation is done using the public API “WSH_CONTAINER_PUB. Create_Container”

   Specific Parameters:
   p_container_item_id     => Key flexfield Id for the container
   p_organization_id      => Organization ID for the container.
   p_quantity             => Number of containers created
   p_container_name        => Container name if creating just one container
   x_container_ids        => Table of the newly created container IDs of type
                           WSH_UTIL_CORE.ID_TAB_TYPE, which is a table of
                           type number indexed by binary integers

Refer to the attached CREATE_CONTAINER.sql sample script, which will enable the creation of
containers




   Generate LPN - WMS_CONTAINER_PUB.CREATE_LPN
   Pack Nested LPN - wms_container_pvt.packunpack_container
   Pack/Unpack Item into LPN – Inventory Transaction API (Interface Tables & Concurrent
   Manager – Inventory Transaction Worker)




LPN Created
2. Perform Manual Pack operation using the LPN created previously

   In order to pack the delivery detail line item using the LPN created previously, we can use
   the public API “WSH_CONTAINER_PUB.Container_Actions”.

    Specific Parameters:
   p_container_name => Name of the container
   p_action_code     => Action code ‘PACK’
   p_detail_tab     => Delivery detail to be packed. Input table of delivery detail ids of
                     type WSH_UTIL_CORE.ID_TAB_TYPE, which is a table of
                     type Number indexed by binary integers.

Refer to the attached MANUAL_PACK.sql sample script, which will enable the packing action on
the created LPN’s.




   Packing completed. LPN (CT-13) is displayed in the Parent LPN field of the delivery detail
Unpack:

We can unpack the packed delivery line by making call to the container public API
“WSH_CONTAINER_PUB.Container_Actions”

Specific Parameters:
p_container_name=> Name of the container
p_action_code => Action code ‘UNPACK’
p_detail_tab => Delivery detail to be unpacked. Input table of delivery detail ids of type
               WSH_UTIL_CORE.ID_TAB_TYPE which is a table of type Number
                indexed by binary integers.




Unpack Completed. Parent LPN field is blank.

Unassign the unpacked LPN line from delivery:

The delivery detail for the LPN line, which was unpacked, previously needs to be unassigned
from the delivery.

Using “WSH_DELIVERY_DETAILS_PUB.Detail_to_Delivery” shipping API, the delivery detail is
unassigned from the delivery.
Specific parameters:
   p_TabOfDelDets               => Table of Delivery Detail id’s
   p_action                     => Action UNASSIGN
   p_delivery_id or delivery_name => Delivery id or delivery name to which the detail lines will
   be assigned




Auto Pack Master:

The Auto-Pack Master behaves very much similar to Auto-Pack except that it goes one step
further and packs the created “detail” containers into one or more “parent (master)”
container(s).

The parameter “p_pack_cont_flag” set to ‘Y’ or ‘N’ will decide whether to autopack the detail
containers that are created into parent containers.
For Autopack master option, set this parameter to ‘Y’


Specific Parameters:

    P_entity_tab  => Table of ids of either lines or containers or deliveries that need to
                   be autopacked of type WSH_UTIL_CORE.ID_TAB_TYPE
                   which is a table of type Number indexed by binary integers.
    P_entity_type => Type of entity id contained in the entity_tab that needs to be
                   autopacked ('L' - lines, 'C' -containers or 'D' - deliveries).
P_group_id_tab => Table of ids (numbers that determine the grouping of lines for
                    packing into containers) of type
                   WSH_UTIL_CORE.ID_TAB_TYPE which is a table of type
                    Number indexed by binary integers.
   P_pack_cont_flag=> A 'Y' or 'N' value to determine whether to autopack the detail
                    containers that are created into parent containers.
   X_cont_inst_tab => Table of container IDs created during the autopacking process of
                    type




Autopack completed. The item being shipped is packed in LPN – 251 and the LPN – 251 is further
packed on to Master LPN – 252 (shown under Parent LPN field)

Update Delivery Details:

The “WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes” API enables you to modify
data in wsh_delivery_details.
In this specific example we have used this API to update the shipped_quantity field in the
wsh_delivery_details table to ship all quantities.

Specific Parameters:
   p_changed_attributes=>Attributes of ChangedAttributesTabType that are to be updated.
   p_source_code =>Code for source system which updates wsh_delivery_details table(always
   set to OE)
In order to specify in your logic about backorder or staged quantities you can use the
following logic

-- Ship all quantities

changed_attributes(1).delivery_detail_id := <<Enter the detail id>>;
changed_attributes(1).shipped_quantity := <<Enter the full quantity to be shipped>>;

-- Back order all quantities

changed_attributes(2).delivery_detail_id := <<Enter the detail id>>;
changed_attributes(2).shipped_quantity := 0;
changed_attributes(2).cycle_count_quantity := <<Enter the full quantity to be shipped>>;

-- Stage all the quantities

changed_attributes(3).delivery_detail_id := <<Enter the full quantity to be shipped>>;
changed_attributes(3).shipped_quantity := 0;
changed_attributes(3).cycle_count_quantity := 0;




Shipped Quantity (2) is updated in the delivery detail
Ship Confirm:

Ship Confirm Process
================

What happened during Ship Confirm:
******************************************
The results of the picking process are recorded against a Delivery.

• Ship Confirm can only be performed on Deliveries with Delivery Lines that have been Pick
Confirmed.
• Ship confirming a delivery records the results of the picking process. These results could be
shipped, backordered, staged or cycle count or a combination of all 4.
• The workflow activity will be completed when the quantity picked is recorded as “Shipped”.
• If the ordered item is set up with the item attribute “Shippable” checked, Ship Confirming is a
prerequisite for Invoicing.

Shipped Quantities:
************************
• Once the delivery is closed the Order Line is updated with the shipped quantities and the
status of the line is changed to “Shipped”. This enables the order line to proceed to its next
workflow activity.
• The Ship Confirm transaction initiates the Inventory Interface to generate the “Issue of Stores”
transactions which will decrement inventory and remove the material reservation. Then the OM
interfaces is initiated to update the Sales Order Line with Shipped quantities, freight charges,
etc.
• The Cost of goods sold account number that is passed to inventory is workflow generated. In
Inventory it creates a Material Distribution record that is ultimately passed to the General
Ledger.
• If Ship confirm is partial the remaining quantity can be either staged or backordered.

Backordered Quantities:
****************************
• Backordered quantities are left in the Staging Subinventory. They are not automatically
returned to their source location.
• A new pick release will be required before they can be ship confirmed.
• The backordered quantity is removed from the delivery being Ship Confirmed.and the
reservation is removed making the quantity available to ATP.
• The Sales Order line splits into shipment schedules. One schedule will have the quantity that
was shipped and a status of “Shipped”. The other schedule will have the quantity that was
backordered and a status of “Awaiting Shipment”.

Staged Quantities:
**********************
• Staged quantities are left in the Staging subinventory and can be Ship Confirmed at a later
time. The staged quantity is removed from the delivery being confirmed and optionally linked to
a new delivery number.
• The Sales Order line splits into shipment schedules. One schedule will have the quantity that
was shipped and a status of “Shipped”. The other schedule will have the quantity that remained
Staged with a status of “Picked”.
Different Delivery Line Statuses:
*************************************
select * from wsh_lookups
where lookup_type = 'PICK_STATUS'

- Not Applicable (Code X)
The delivery line is invoiceable but non-shippable, for example, a service line or a warranty line.

- Not Ready for Release (Code N)
The delivery line is not eligible for pick release. Occurs when the order line is manually imported
into Oracle Shipping Execution using the Import Delivery Line concurrent process. It has not
reached the Awaiting Shipping workflow activity.

- Ready for Release (Code R)
The delivery line is eligible for pick release. Occurs when the order line has reached the Awaiting
Shipping workflow activity (it is booked, scheduled, and in Oracle Shipping Execution).

- Submitted to Warehouse (Code S)
Pick release has processed the delivery line and has: Created move order headers and lines.
Found available quantity and created inventory allocations. Not pick confirmed. If you are using
auto-pick confirm, it changes release status to Staged. If you are not using auto-pick confirm and
want to progress the delivery lines, navigate to Oracle Inventory Move Order Transaction
window and perform manual pick confirm.

- Staged (Code Y)
The delivery line is pick confirmed; inventory is transferred from storage subinventory to staging
subinventory. It remains staged until ship confirm.

- Backordered (Code B)
Any of the following circumstances occurs: Pick release has processed the delivery line and
cannot find the entire quantity. This typically occurs when the Oracle Inventory inventory
balance indicates that there is not enough material (either because there is not enough material
or because the inventory balance is incorrect).
At ship confirm, you: Enter Shipped Quantity that is less than Original Requested Quantity
Backorder the entire delivery quantity Transfer a reservation to cycle count. This typically occurs
when the material that you want to ship: Has become unavailable, for example, damaged,
between picking and shipping. Is available and you backorder material for specific business
reasons. For example, all available material has been allocated to a specific customer when you
find out additional supply for other orders will be delayed. For information on the backorder
processing in pick release and ship confirm,

- Shipped (Code C)
The delivery line’s delivery is ship confirmed and posted as intransit, OM Interface and Inventory
Interface have processed, and the trip is closed.

- Cancelled (Code D)
The order line that the delivery line supports is cancelled.
=================================
:WSH_DELIVERIES_PUB.Delivery_Action:
=================================
We can call “WSH_DELIVERIES_PUB.Delivery_Action” API in order to ship confirm the delivery
Programatically.

As a final step, call “WSH_DELIVERIES_PUB.Delivery_Action” API in order to ship confirm the
delivery.

Specific Parameters:
p_action_code(Required) => action to be performed on Delivery
p_delivery_id (Required) => delivery id on which the action is performed
p_trip_name => Trip identifier for assignment of trip to delivery
p_asg_pickup_loc_code => Stop location code for pickup assignment
p_asg_pickup_dep_date => Stop location departure date for pickup assignment
p_asg_dropoff_loc_code=> Stop location code for dropoff assignment
p_asg_dropoff_dep_date=> Stop location departure date for dropoff assignment
p_sc_action_flag         => Ship Confirm option - S, B, T, A, C. Used p_sc_intransit_flag   =>
Ship Confirm set in-transit flag.
p_sc_close_trip_flag => Ship Confirm close trip flag.
p_sc_create_bol_flag => Ship Confirm create Bill of Lading flag
p_sc_stage_del_flag      => Ship Confirm create delivery for stage quantity flag
p_sc_trip_ship_method => Ship Confirm trip ship method.
p_wv_override_flag      => Override flag for weight volume calculations.
x_trip_name             => Name of autocreated trip.




Delivery Confirmed and in Closed status
Debugging Shipping API:

In some cases , calls to these API’s may not be successful. In such cases calling the shipping
debugger package(WHS_DEBUG_SV) in the wrapper file will result in the creation of a detailed
debug log file based on the various debug profiles setup for shipping module .

The steps given below will show the step by step approach to generate debug log file during the
call to Shipping Public API’s.


01. Add the following lines into the Wrapper file before making a call to the shipping




02. Set the Profiles
   OM: Debug Level - set to 5
   INV: Debug Level - set to 10
   WSH: Debug Enabled - set to Yes
   WSH: Debug Level - set to Statement
   WSH: Debug Log Directory - set to a valid writeable directory path

03. Execute the shipping action via API

04. Navigate to the respective directories specified using the profile
   “WSH: Debug Log Directory”

05. Obtain the Debug
Debugging Scenario

We are trying to create a delivery and have ensured that the organization passed is not valid.
The wrapper file has been embedded with lines calling the Shipping Debugger. The Debug file
generated in this case has the relevant debug messages.




Refer to the sample wrapper file with enabled debugging and the debug log file
generated as a result of passing invalid organization id.




Metalink References:
       Note 124593.1 Containerization in Shipping Execution.
       Note 290432.1 How to Create a Debug File in Shipping Execution

Order Management Tables.

Entered
oe_order_headers_all 1 record created in header table
oe_order_lines_all Lines for particular records
oe_price_adjustments When discount gets applied
oe_order_price_attribs If line has price attributes then populated
oe_order_holds_all If any hold applied for order like credit check etc.

Booked
oe_order_headers_all Booked_flag=Y Order booked.
wsh_delivery_details Released_status Ready to release

Pick Released
wsh_delivery_details Released_status=Y Released to Warehouse (Line has been released to
Inventory for processing)
wsh_picking_batches After batch is created for pick release.
mtl_reservations This is only soft reservations. No physical movement of stock

Full Transaction
mtl_material_transactions No records in mtl_material_transactions
mtl_txn_request_headers
mtl_txn_request_lines
wsh_delivery_details Released to warehouse.
wsh_new_deliveries if Auto-Create is Yes then data populated.
wsh_delivery_assignments deliveries get assigned

Pick Confirmed
wsh_delivery_details Released_status=Y Hard Reservations. Picked the stock. Physical
movement of stock

Ship Confirmed

wsh_delivery_details Released_status=C Y To C:Shipped ;Delivery Note get printed Delivery
assigned to trip stopquantity will be decreased from staged
mtl_material_transactions On the ship confirm form, check Ship all box
wsh_new_deliveries If Defer Interface is checked I.e its deferred then OM & inventory not
updated. If Defer Interface is not checked.: Shipped

oe_order_lines_all Shipped_quantity get populated.
wsh_delivery_legs 1 leg is called as 1 trip.1 Pickup & drop up stop for each trip.
oe_order_headers_all If all the lines get shipped then only flag N

Autoinvoice

wsh_delivery_details Released_status=I Need to run workflow background process.
ra_interface_lines_all Data will be populated after wkfw process.
ra_customer_trx_all After running Autoinvoice Master Program for
ra_customer_trx_lines_all specific batch transaction tables get populated

Weitere ähnliche Inhalte

Was ist angesagt?

Purchase Order Approval Using Approval Management Engine
Purchase Order Approval Using Approval Management EnginePurchase Order Approval Using Approval Management Engine
Purchase Order Approval Using Approval Management Engine
Ah_Ismail
 
Technical architecture for order management
Technical architecture for order managementTechnical architecture for order management
Technical architecture for order management
Mohit kumar Gupta
 

Was ist angesagt? (20)

Oracle R12 SCM Functional Interview Questions - Order Management,
Oracle R12 SCM Functional Interview Questions - Order Management, Oracle R12 SCM Functional Interview Questions - Order Management,
Oracle R12 SCM Functional Interview Questions - Order Management,
 
Oracle R12 Apps - Order Management Tables & Descriptions
Oracle R12 Apps - Order Management Tables & DescriptionsOracle R12 Apps - Order Management Tables & Descriptions
Oracle R12 Apps - Order Management Tables & Descriptions
 
Oracle R12 Purchasing setup
Oracle R12 Purchasing setupOracle R12 Purchasing setup
Oracle R12 Purchasing setup
 
R12 subinventory transfer and inter org transfers
R12 subinventory transfer and inter org transfersR12 subinventory transfer and inter org transfers
R12 subinventory transfer and inter org transfers
 
Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...
 
Oracle min-max-planning
Oracle min-max-planningOracle min-max-planning
Oracle min-max-planning
 
Oracle R12 Apps - Purchasing Module Setup Steps
Oracle R12 Apps - Purchasing Module Setup Steps Oracle R12 Apps - Purchasing Module Setup Steps
Oracle R12 Apps - Purchasing Module Setup Steps
 
Ame how to diagnose issues with the default approver list in purchasing when ...
Ame how to diagnose issues with the default approver list in purchasing when ...Ame how to diagnose issues with the default approver list in purchasing when ...
Ame how to diagnose issues with the default approver list in purchasing when ...
 
O2 c and p2p cycles
O2 c and p2p cyclesO2 c and p2p cycles
O2 c and p2p cycles
 
How to auto create trip in oracle order management
How to auto create trip in oracle order managementHow to auto create trip in oracle order management
How to auto create trip in oracle order management
 
Purchase Order Approval Using Approval Management Engine
Purchase Order Approval Using Approval Management EnginePurchase Order Approval Using Approval Management Engine
Purchase Order Approval Using Approval Management Engine
 
P2 p and o2c
P2 p and o2cP2 p and o2c
P2 p and o2c
 
Oracle SCM Functional Interview Questions & Answers - Inventory Module - Part...
Oracle SCM Functional Interview Questions & Answers - Inventory Module - Part...Oracle SCM Functional Interview Questions & Answers - Inventory Module - Part...
Oracle SCM Functional Interview Questions & Answers - Inventory Module - Part...
 
Sales order approval process
Sales order approval  processSales order approval  process
Sales order approval process
 
Oracle Inventory Restrict user from update item attribute personalization
Oracle Inventory Restrict user from update item attribute personalizationOracle Inventory Restrict user from update item attribute personalization
Oracle Inventory Restrict user from update item attribute personalization
 
Oracle Purchasing R12 Setup Steps
Oracle Purchasing R12 Setup StepsOracle Purchasing R12 Setup Steps
Oracle Purchasing R12 Setup Steps
 
Oracle inventory R12 Setup Guide
Oracle inventory R12 Setup GuideOracle inventory R12 Setup Guide
Oracle inventory R12 Setup Guide
 
Oracle SCM Functional Interview Questions & Answers - Order Management Module...
Oracle SCM Functional Interview Questions & Answers - Order Management Module...Oracle SCM Functional Interview Questions & Answers - Order Management Module...
Oracle SCM Functional Interview Questions & Answers - Order Management Module...
 
How to configure LCM After receiving
How to configure LCM After receivingHow to configure LCM After receiving
How to configure LCM After receiving
 
Technical architecture for order management
Technical architecture for order managementTechnical architecture for order management
Technical architecture for order management
 

Ähnlich wie Pick pack and ship confirm process in oracle apps

.NET Portfolio
.NET Portfolio.NET Portfolio
.NET Portfolio
mwillmer
 
Uploading customer master extended address using bapi method
Uploading customer master extended address using bapi methodUploading customer master extended address using bapi method
Uploading customer master extended address using bapi method
londonchris1970
 

Ähnlich wie Pick pack and ship confirm process in oracle apps (20)

Pick pack and ship confirm process in oracle apps
Pick pack and ship confirm process in oracle appsPick pack and ship confirm process in oracle apps
Pick pack and ship confirm process in oracle apps
 
List of Coversions in Oracle Apps
List of Coversions in Oracle AppsList of Coversions in Oracle Apps
List of Coversions in Oracle Apps
 
Run report from menu Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...
Run report from menu  Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...Run report from menu  Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...
Run report from menu Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...
 
Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...
 
Oracle Order Management (Assign freight cost on shipping transaction)
Oracle Order Management (Assign freight cost on shipping transaction)Oracle Order Management (Assign freight cost on shipping transaction)
Oracle Order Management (Assign freight cost on shipping transaction)
 
.NET Portfolio
.NET Portfolio.NET Portfolio
.NET Portfolio
 
FDMEE script examples
FDMEE script examplesFDMEE script examples
FDMEE script examples
 
FDMEE script examples
FDMEE script examplesFDMEE script examples
FDMEE script examples
 
Uploading customer master extended address using bapi method
Uploading customer master extended address using bapi methodUploading customer master extended address using bapi method
Uploading customer master extended address using bapi method
 
Notification android
Notification androidNotification android
Notification android
 
E-Bazaar
E-BazaarE-Bazaar
E-Bazaar
 
How to Define a KFF(key flex field) Step by Step
How to Define a KFF(key flex field) Step by StepHow to Define a KFF(key flex field) Step by Step
How to Define a KFF(key flex field) Step by Step
 
Paypal Integration For Android Application By LetsNurture
Paypal Integration For Android Application By LetsNurturePaypal Integration For Android Application By LetsNurture
Paypal Integration For Android Application By LetsNurture
 
Apps1
Apps1Apps1
Apps1
 
Assign Freight Cost On Shipping Transaction
Assign Freight Cost On Shipping TransactionAssign Freight Cost On Shipping Transaction
Assign Freight Cost On Shipping Transaction
 
How to use VTS with loadrunner
How to use VTS with loadrunnerHow to use VTS with loadrunner
How to use VTS with loadrunner
 
Interface
InterfaceInterface
Interface
 
Vtlib 1.1
Vtlib 1.1Vtlib 1.1
Vtlib 1.1
 
Validation type 'special' in value sets
Validation type 'special' in value setsValidation type 'special' in value sets
Validation type 'special' in value sets
 
Magento 2.3.4 cli commands
Magento 2.3.4 cli commandsMagento 2.3.4 cli commands
Magento 2.3.4 cli commands
 

Mehr von shravan kumar chelika

Mehr von shravan kumar chelika (20)

Build Restful Service using ADFBC
Build Restful Service using ADFBCBuild Restful Service using ADFBC
Build Restful Service using ADFBC
 
Create rest webservice for oracle public api using java class via jdeveloper
Create rest webservice for oracle public api using java class via jdeveloperCreate rest webservice for oracle public api using java class via jdeveloper
Create rest webservice for oracle public api using java class via jdeveloper
 
Oracle mobile cloud service
Oracle mobile cloud serviceOracle mobile cloud service
Oracle mobile cloud service
 
How to convert custom plsql to web services-Soap OR Rest
How to convert custom plsql to web services-Soap OR RestHow to convert custom plsql to web services-Soap OR Rest
How to convert custom plsql to web services-Soap OR Rest
 
How to create PO with ASN
How to create PO with ASNHow to create PO with ASN
How to create PO with ASN
 
Basics of Oracle Order Management
Basics of Oracle Order ManagementBasics of Oracle Order Management
Basics of Oracle Order Management
 
Basics of Oracle Purchasing
Basics of Oracle PurchasingBasics of Oracle Purchasing
Basics of Oracle Purchasing
 
Procure to pay flow
Procure to pay flowProcure to pay flow
Procure to pay flow
 
Oracle glossary
Oracle glossaryOracle glossary
Oracle glossary
 
Oracle Inventory
Oracle InventoryOracle Inventory
Oracle Inventory
 
iExpenses Setup
iExpenses SetupiExpenses Setup
iExpenses Setup
 
iExpenses Introduction
iExpenses IntroductioniExpenses Introduction
iExpenses Introduction
 
Expense personalization
Expense personalizationExpense personalization
Expense personalization
 
Get On Hand Quantities Through API
Get On Hand Quantities Through APIGet On Hand Quantities Through API
Get On Hand Quantities Through API
 
Order to cash cycle
Order to cash cycleOrder to cash cycle
Order to cash cycle
 
Attach a image to the requisition line in iprocurement
Attach a image to the requisition line in iprocurementAttach a image to the requisition line in iprocurement
Attach a image to the requisition line in iprocurement
 
Mandatory sql functions for beginners
Mandatory sql functions for beginnersMandatory sql functions for beginners
Mandatory sql functions for beginners
 
Basics of oracle service contracts
Basics of oracle service contractsBasics of oracle service contracts
Basics of oracle service contracts
 
Fixed assets-set-up
Fixed assets-set-upFixed assets-set-up
Fixed assets-set-up
 
Physical inventory
Physical inventoryPhysical inventory
Physical inventory
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 

Pick pack and ship confirm process in oracle apps

  • 1. Pick Pack and Ship using Shipping Public API Introduction: The shipping Public API’s (Application Program Interface) are pl/sql packages which when called using wrapper files will perform the same actions possible from the Shipping applications UI. The real time nature of the shipping API’s in Release 11i and R12 has provided options for the customers to customize their shipping flows as per the business needs. In order to call these API’s we only need to pass the required parameters. It is mandatory that all the required parameters need to be initialized before they are passed to the called shipping API. The optional parameters are optional and can be passed as additional information if needed. The parameters can also be classified as standard parameters and specific parameters. Standard parameters are almost common to all the shipping API’s and the Specific Parameters are specific to a particular shipping API and are discussed seperately for each of the API called in the flow. These standard and specific parameters can be one of the madatory or option parameter. Summary of the Flow Sequence: We have created the following business flow to demonstrate the usage of various shipping public API’s during Pick, Pack and Ship activities. The diagram also shows the relevant shipping API’s used during each of these specific steps.
  • 2. Standard Parameters: 1. p_api_version_number: This is used to compare the incoming API call's version number with the current version number (always set to 1.0). 2. p_init_msg_list: This is used to Initialize message list and use FND_API.G_TRUE to reset the list. 3. p_commit: Will commit the changes to the database. The Default Value is FND_API.G_FALSE 4. x_return_status: Requests that the API return the status of the data after it completes its function. Valid values include: • Success : FND_API.G_RET_STS_SUCCESS • Error : FND_API.G_RET_STS_ERROR • Unexpected Error: FND_API.G_RET_STS_UNEXP_ERROR 5. x_msg_count: Indicates number of error messages API has encountered. 6. x_msg_data: Returns error message text. If the x_msg_count is equal to 1, then this contains the actual message. Setting the application context: Its necessary that the application context need to be set before making a call to the shipping API’s from sql*plus. This is done by calling FND_GLOBAL.APPS_INITIALIZE() procedure in the beginning of the wrapper file. The procedure APPS_INITIALIZE takes the following parameters FND_GLOBAL.APPS_INITIALIZE(user_id IN number, resp_id IN number, resp_appl_id IN number, security_group_id IN number);
  • 3. You can obtain the valid values for each of these parameters from the application forms session. 1. Arguments (input) 2. USER_ID - User ID number. 3. RESP_ID - ID number of the responsibility. 4. RESP_APPL_ID - ID number of the application to which the responsibility belongs. 5. SECURITY_GROUP_ID - ID number of the security group. This argument is automatically defaulted by the API. The caller need not pass a value for it.
  • 4. Detailed Flow Sequence: Each of the steps created in the flow are discussed in detail under the following headings. Book order: Create an Order from order management Super User, Vision Operations (USA) responsibility with the following details Customer Number :1006 Warehouse : M1 Ship Method : DHL Line Item : AS54888 Ordered Quantity : 2
  • 5. Create Delivery: As a next step to booking, a new delivery needs to be created. In order to create a new delivery we need to call the shipping API “WSH_DELIVERIES_PUB.Create_update_delivery” by passing the required and optional parameter values. Specific parameters: P_api_version_number => 1.0 p_action_code => CREATE -- for creating new delivery p_delivery_info => Attributes of the delivery entity of type Delivery_Pub_Rec_Type The sample script attached here can be used to create a new delivery. (Please note it is necessary to make the changes suggested in these scripts for them to work correctly in your application environment)
  • 6. Assign delivery detail to delivery: The delivery detail can be assigned to the newly created delivery by using the public API “WSH_DELIVERY_DETAILS_PUB. Detail_to_Delivery”. Specific Parameters: p_TabOfDelDets => Table of Delivery Detail id’s p_action => ASSIGN p_delivery_id => Delivery id delivery_name => Delivery name to which the detail lines will be assigned The sample script attached here can be used to assign the delivery detail to the newly created delivery. Delivery Detail is assigned to the Delivery Pick Release: The shipping public API "WSH_DELIVERIES_PUB. Delivery_Action”, enables pick release of the sales order line. The relevant pick release parameters are retrieved from the Shipping and Organization Parameter setup.
  • 7. Specific Parameters: p_action_code = > PICK_RELEASE p_delivery_id/p_delivery_name => Id/name of delivery Refer to the attached PICK_RELEASE.sql sample script which will pick releases lines for a given delivery. Line in Staged Status Back order line: Select move_order_line_id,organization_id,delivery_detail_id From wsh_delivery_details Where delivery_detail_id=p_delivery_detail_id API USED : INV_MO_BACKORDER_PVT.BACKORDER PICK CONFIRM TO CREATE MOVE ORDER HEADER(Transact move order) API USED : INV_PICK_WAVE_PICK_CONFIRM_PUB.PICK_CONFIRM Manual Pack: Before advancing to this step, Please refer to metalink Note 124593.1(Containerization in Shipping Execution) for all the necessary needed for packing/containerization
  • 8. Manual Packing involves two steps 1. Creation of LPN’s: LPN creation is done using the public API “WSH_CONTAINER_PUB. Create_Container” Specific Parameters: p_container_item_id => Key flexfield Id for the container p_organization_id => Organization ID for the container. p_quantity => Number of containers created p_container_name => Container name if creating just one container x_container_ids => Table of the newly created container IDs of type WSH_UTIL_CORE.ID_TAB_TYPE, which is a table of type number indexed by binary integers Refer to the attached CREATE_CONTAINER.sql sample script, which will enable the creation of containers Generate LPN - WMS_CONTAINER_PUB.CREATE_LPN Pack Nested LPN - wms_container_pvt.packunpack_container Pack/Unpack Item into LPN – Inventory Transaction API (Interface Tables & Concurrent Manager – Inventory Transaction Worker) LPN Created
  • 9. 2. Perform Manual Pack operation using the LPN created previously In order to pack the delivery detail line item using the LPN created previously, we can use the public API “WSH_CONTAINER_PUB.Container_Actions”. Specific Parameters: p_container_name => Name of the container p_action_code => Action code ‘PACK’ p_detail_tab => Delivery detail to be packed. Input table of delivery detail ids of type WSH_UTIL_CORE.ID_TAB_TYPE, which is a table of type Number indexed by binary integers. Refer to the attached MANUAL_PACK.sql sample script, which will enable the packing action on the created LPN’s. Packing completed. LPN (CT-13) is displayed in the Parent LPN field of the delivery detail
  • 10. Unpack: We can unpack the packed delivery line by making call to the container public API “WSH_CONTAINER_PUB.Container_Actions” Specific Parameters: p_container_name=> Name of the container p_action_code => Action code ‘UNPACK’ p_detail_tab => Delivery detail to be unpacked. Input table of delivery detail ids of type WSH_UTIL_CORE.ID_TAB_TYPE which is a table of type Number indexed by binary integers. Unpack Completed. Parent LPN field is blank. Unassign the unpacked LPN line from delivery: The delivery detail for the LPN line, which was unpacked, previously needs to be unassigned from the delivery. Using “WSH_DELIVERY_DETAILS_PUB.Detail_to_Delivery” shipping API, the delivery detail is unassigned from the delivery.
  • 11. Specific parameters: p_TabOfDelDets => Table of Delivery Detail id’s p_action => Action UNASSIGN p_delivery_id or delivery_name => Delivery id or delivery name to which the detail lines will be assigned Auto Pack Master: The Auto-Pack Master behaves very much similar to Auto-Pack except that it goes one step further and packs the created “detail” containers into one or more “parent (master)” container(s). The parameter “p_pack_cont_flag” set to ‘Y’ or ‘N’ will decide whether to autopack the detail containers that are created into parent containers. For Autopack master option, set this parameter to ‘Y’ Specific Parameters: P_entity_tab => Table of ids of either lines or containers or deliveries that need to be autopacked of type WSH_UTIL_CORE.ID_TAB_TYPE which is a table of type Number indexed by binary integers. P_entity_type => Type of entity id contained in the entity_tab that needs to be autopacked ('L' - lines, 'C' -containers or 'D' - deliveries).
  • 12. P_group_id_tab => Table of ids (numbers that determine the grouping of lines for packing into containers) of type WSH_UTIL_CORE.ID_TAB_TYPE which is a table of type Number indexed by binary integers. P_pack_cont_flag=> A 'Y' or 'N' value to determine whether to autopack the detail containers that are created into parent containers. X_cont_inst_tab => Table of container IDs created during the autopacking process of type Autopack completed. The item being shipped is packed in LPN – 251 and the LPN – 251 is further packed on to Master LPN – 252 (shown under Parent LPN field) Update Delivery Details: The “WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes” API enables you to modify data in wsh_delivery_details. In this specific example we have used this API to update the shipped_quantity field in the wsh_delivery_details table to ship all quantities. Specific Parameters: p_changed_attributes=>Attributes of ChangedAttributesTabType that are to be updated. p_source_code =>Code for source system which updates wsh_delivery_details table(always set to OE)
  • 13. In order to specify in your logic about backorder or staged quantities you can use the following logic -- Ship all quantities changed_attributes(1).delivery_detail_id := <<Enter the detail id>>; changed_attributes(1).shipped_quantity := <<Enter the full quantity to be shipped>>; -- Back order all quantities changed_attributes(2).delivery_detail_id := <<Enter the detail id>>; changed_attributes(2).shipped_quantity := 0; changed_attributes(2).cycle_count_quantity := <<Enter the full quantity to be shipped>>; -- Stage all the quantities changed_attributes(3).delivery_detail_id := <<Enter the full quantity to be shipped>>; changed_attributes(3).shipped_quantity := 0; changed_attributes(3).cycle_count_quantity := 0; Shipped Quantity (2) is updated in the delivery detail
  • 14. Ship Confirm: Ship Confirm Process ================ What happened during Ship Confirm: ****************************************** The results of the picking process are recorded against a Delivery. • Ship Confirm can only be performed on Deliveries with Delivery Lines that have been Pick Confirmed. • Ship confirming a delivery records the results of the picking process. These results could be shipped, backordered, staged or cycle count or a combination of all 4. • The workflow activity will be completed when the quantity picked is recorded as “Shipped”. • If the ordered item is set up with the item attribute “Shippable” checked, Ship Confirming is a prerequisite for Invoicing. Shipped Quantities: ************************ • Once the delivery is closed the Order Line is updated with the shipped quantities and the status of the line is changed to “Shipped”. This enables the order line to proceed to its next workflow activity. • The Ship Confirm transaction initiates the Inventory Interface to generate the “Issue of Stores” transactions which will decrement inventory and remove the material reservation. Then the OM interfaces is initiated to update the Sales Order Line with Shipped quantities, freight charges, etc. • The Cost of goods sold account number that is passed to inventory is workflow generated. In Inventory it creates a Material Distribution record that is ultimately passed to the General Ledger. • If Ship confirm is partial the remaining quantity can be either staged or backordered. Backordered Quantities: **************************** • Backordered quantities are left in the Staging Subinventory. They are not automatically returned to their source location. • A new pick release will be required before they can be ship confirmed. • The backordered quantity is removed from the delivery being Ship Confirmed.and the reservation is removed making the quantity available to ATP. • The Sales Order line splits into shipment schedules. One schedule will have the quantity that was shipped and a status of “Shipped”. The other schedule will have the quantity that was backordered and a status of “Awaiting Shipment”. Staged Quantities: ********************** • Staged quantities are left in the Staging subinventory and can be Ship Confirmed at a later time. The staged quantity is removed from the delivery being confirmed and optionally linked to a new delivery number. • The Sales Order line splits into shipment schedules. One schedule will have the quantity that was shipped and a status of “Shipped”. The other schedule will have the quantity that remained Staged with a status of “Picked”.
  • 15. Different Delivery Line Statuses: ************************************* select * from wsh_lookups where lookup_type = 'PICK_STATUS' - Not Applicable (Code X) The delivery line is invoiceable but non-shippable, for example, a service line or a warranty line. - Not Ready for Release (Code N) The delivery line is not eligible for pick release. Occurs when the order line is manually imported into Oracle Shipping Execution using the Import Delivery Line concurrent process. It has not reached the Awaiting Shipping workflow activity. - Ready for Release (Code R) The delivery line is eligible for pick release. Occurs when the order line has reached the Awaiting Shipping workflow activity (it is booked, scheduled, and in Oracle Shipping Execution). - Submitted to Warehouse (Code S) Pick release has processed the delivery line and has: Created move order headers and lines. Found available quantity and created inventory allocations. Not pick confirmed. If you are using auto-pick confirm, it changes release status to Staged. If you are not using auto-pick confirm and want to progress the delivery lines, navigate to Oracle Inventory Move Order Transaction window and perform manual pick confirm. - Staged (Code Y) The delivery line is pick confirmed; inventory is transferred from storage subinventory to staging subinventory. It remains staged until ship confirm. - Backordered (Code B) Any of the following circumstances occurs: Pick release has processed the delivery line and cannot find the entire quantity. This typically occurs when the Oracle Inventory inventory balance indicates that there is not enough material (either because there is not enough material or because the inventory balance is incorrect). At ship confirm, you: Enter Shipped Quantity that is less than Original Requested Quantity Backorder the entire delivery quantity Transfer a reservation to cycle count. This typically occurs when the material that you want to ship: Has become unavailable, for example, damaged, between picking and shipping. Is available and you backorder material for specific business reasons. For example, all available material has been allocated to a specific customer when you find out additional supply for other orders will be delayed. For information on the backorder processing in pick release and ship confirm, - Shipped (Code C) The delivery line’s delivery is ship confirmed and posted as intransit, OM Interface and Inventory Interface have processed, and the trip is closed. - Cancelled (Code D) The order line that the delivery line supports is cancelled. ================================= :WSH_DELIVERIES_PUB.Delivery_Action:
  • 16. ================================= We can call “WSH_DELIVERIES_PUB.Delivery_Action” API in order to ship confirm the delivery Programatically. As a final step, call “WSH_DELIVERIES_PUB.Delivery_Action” API in order to ship confirm the delivery. Specific Parameters: p_action_code(Required) => action to be performed on Delivery p_delivery_id (Required) => delivery id on which the action is performed p_trip_name => Trip identifier for assignment of trip to delivery p_asg_pickup_loc_code => Stop location code for pickup assignment p_asg_pickup_dep_date => Stop location departure date for pickup assignment p_asg_dropoff_loc_code=> Stop location code for dropoff assignment p_asg_dropoff_dep_date=> Stop location departure date for dropoff assignment p_sc_action_flag => Ship Confirm option - S, B, T, A, C. Used p_sc_intransit_flag => Ship Confirm set in-transit flag. p_sc_close_trip_flag => Ship Confirm close trip flag. p_sc_create_bol_flag => Ship Confirm create Bill of Lading flag p_sc_stage_del_flag => Ship Confirm create delivery for stage quantity flag p_sc_trip_ship_method => Ship Confirm trip ship method. p_wv_override_flag => Override flag for weight volume calculations. x_trip_name => Name of autocreated trip. Delivery Confirmed and in Closed status
  • 17. Debugging Shipping API: In some cases , calls to these API’s may not be successful. In such cases calling the shipping debugger package(WHS_DEBUG_SV) in the wrapper file will result in the creation of a detailed debug log file based on the various debug profiles setup for shipping module . The steps given below will show the step by step approach to generate debug log file during the call to Shipping Public API’s. 01. Add the following lines into the Wrapper file before making a call to the shipping 02. Set the Profiles OM: Debug Level - set to 5 INV: Debug Level - set to 10 WSH: Debug Enabled - set to Yes WSH: Debug Level - set to Statement WSH: Debug Log Directory - set to a valid writeable directory path 03. Execute the shipping action via API 04. Navigate to the respective directories specified using the profile “WSH: Debug Log Directory” 05. Obtain the Debug
  • 18. Debugging Scenario We are trying to create a delivery and have ensured that the organization passed is not valid. The wrapper file has been embedded with lines calling the Shipping Debugger. The Debug file generated in this case has the relevant debug messages. Refer to the sample wrapper file with enabled debugging and the debug log file generated as a result of passing invalid organization id. Metalink References: Note 124593.1 Containerization in Shipping Execution. Note 290432.1 How to Create a Debug File in Shipping Execution Order Management Tables. Entered oe_order_headers_all 1 record created in header table oe_order_lines_all Lines for particular records oe_price_adjustments When discount gets applied oe_order_price_attribs If line has price attributes then populated oe_order_holds_all If any hold applied for order like credit check etc. Booked oe_order_headers_all Booked_flag=Y Order booked. wsh_delivery_details Released_status Ready to release Pick Released wsh_delivery_details Released_status=Y Released to Warehouse (Line has been released to Inventory for processing) wsh_picking_batches After batch is created for pick release. mtl_reservations This is only soft reservations. No physical movement of stock Full Transaction mtl_material_transactions No records in mtl_material_transactions mtl_txn_request_headers mtl_txn_request_lines
  • 19. wsh_delivery_details Released to warehouse. wsh_new_deliveries if Auto-Create is Yes then data populated. wsh_delivery_assignments deliveries get assigned Pick Confirmed wsh_delivery_details Released_status=Y Hard Reservations. Picked the stock. Physical movement of stock Ship Confirmed wsh_delivery_details Released_status=C Y To C:Shipped ;Delivery Note get printed Delivery assigned to trip stopquantity will be decreased from staged mtl_material_transactions On the ship confirm form, check Ship all box wsh_new_deliveries If Defer Interface is checked I.e its deferred then OM & inventory not updated. If Defer Interface is not checked.: Shipped oe_order_lines_all Shipped_quantity get populated. wsh_delivery_legs 1 leg is called as 1 trip.1 Pickup & drop up stop for each trip. oe_order_headers_all If all the lines get shipped then only flag N Autoinvoice wsh_delivery_details Released_status=I Need to run workflow background process. ra_interface_lines_all Data will be populated after wkfw process. ra_customer_trx_all After running Autoinvoice Master Program for ra_customer_trx_lines_all specific batch transaction tables get populated