This is Presentation about New R12 Feature of Order line Split for B2B Order line
In R12 Oracle allowed user to split a B2B Order line if the line is reserved against Inventory , but if line is reserved againt Requisition Or Purchase then system will not allow user to split the order line.
Search 800 + Posts
Dec 31, 2010
missing activity APPROVE_WAIT_FOR_H
Process "xxxxx_Order_line bill only" is missing activity APPROVE_WAIT_FOR_H which is defined as the waiting/continuation of activity APPROVE_CONT_L in process "yyyy_Order_HEADER With Approval"
Above Message is Standard and provided by Oracle to validate the workflow.
Please note that this is not an error , it is actually result of validation built in Oracle Order Management Transaction Type User Interface (UI).This type of error generally popup when you are trying to assign wrong line workflow with the Order Header workflow.
In this particular Error case user is trying to associated line workflow Process
"xxxxx_Order_line Bill Only " with the Order header workflow ""yyyy_Order_HEADER With Approval"".From name of header workflow it is very clear that header workflow is has activity related to approval.Please note that Order Header workflow that required Approvals , always has activity "APPROVAL_CONT_L" , this is a seeded activity and .
In the "Node Attributes" tab of this activity we can see 2 properties
And if we don't have "APPROVE_WAIT_FOR_H" in the Order line then when ever you assign the line workflow with missing Approval activity to a header that has approval activity and hit the "Validate" buttin system will throw this error.
Note - This is very common when customer customized the workflow and assign wrong line workflow with the header workflow.
thanks
Above Message is Standard and provided by Oracle to validate the workflow.
Please note that this is not an error , it is actually result of validation built in Oracle Order Management Transaction Type User Interface (UI).This type of error generally popup when you are trying to assign wrong line workflow with the Order Header workflow.
In this particular Error case user is trying to associated line workflow Process
"xxxxx_Order_line Bill Only " with the Order header workflow ""yyyy_Order_HEADER With Approval"".From name of header workflow it is very clear that header workflow is has activity related to approval.Please note that Order Header workflow that required Approvals , always has activity "APPROVAL_CONT_L" , this is a seeded activity and .
In the "Node Attributes" tab of this activity we can see 2 properties
- Waiting Activity - APPROVE_WAIT_FOR_H
- Waiting flow - Details
And if we don't have "APPROVE_WAIT_FOR_H" in the Order line then when ever you assign the line workflow with missing Approval activity to a header that has approval activity and hit the "Validate" buttin system will throw this error.
Note - This is very common when customer customized the workflow and assign wrong line workflow with the header workflow.
thanks
Dec 24, 2010
Query to Print Workflow Infomation for Sales Order line.
select p.process_name, p.activity_name, p.activity_item_type, s.activity_result_code,
s.activity_status,s.process_activity,p.instance_label, s.item_key
from wf_process_activities p,
wf_item_activity_statuses s
where p.instance_id = s.process_activity
and s.item_type = 'OEOL'
and s.item_key = '&enter_line_id'
order by s.begin_date,s.end_date, s.execution_time
s.activity_status,s.process_activity,p.instance_label, s.item_key
from wf_process_activities p,
wf_item_activity_statuses s
where p.instance_id = s.process_activity
and s.item_type = 'OEOL'
and s.item_key = '&enter_line_id'
order by s.begin_date,s.end_date, s.execution_time
Query to get workflow details for ATO Model Stuck at WAIT_FOR_CTO and Config line alredy Shipped.
select p.process_name, p.activity_name, p.activity_item_type, s.activity_result_code,s.activity_status, s.action
from wf_item_activity_statuses s,
wf_process_activities p
where s.process_activity = p.instance_id
and s.item_type='OEOL'
and p.activity_name = 'WAIT_FOR_CTO'
and s.activity_status = 'NOTIFIED'
and s.item_key = to_char(&Enter_Model_line_id)
and exists (
select 1 from wf_item_activity_statuses s2,
wf_process_activities p2,
oe_order_lines_all l
where l.item_type_code = 'CONFIG'
and l.ato_line_id = to_number(s.item_key)
and s2.item_key = to_char(l.line_id)
and s2.item_type = 'OEOL'
and p2.instance_id = s2.process_activity
and p2.activity_name = 'FULFILL_LINE'
and s2.activity_status = 'NOTIFIED');
from wf_item_activity_statuses s,
wf_process_activities p
where s.process_activity = p.instance_id
and s.item_type='OEOL'
and p.activity_name = 'WAIT_FOR_CTO'
and s.activity_status = 'NOTIFIED'
and s.item_key = to_char(&Enter_Model_line_id)
and exists (
select 1 from wf_item_activity_statuses s2,
wf_process_activities p2,
oe_order_lines_all l
where l.item_type_code = 'CONFIG'
and l.ato_line_id = to_number(s.item_key)
and s2.item_key = to_char(l.line_id)
and s2.item_type = 'OEOL'
and p2.instance_id = s2.process_activity
and p2.activity_name = 'FULFILL_LINE'
and s2.activity_status = 'NOTIFIED');
PTO Model line got cancelled but Options etc lines are still Open.
Very rare case but many a times I have noticed that model line is cancelled and options/classes etc are still open and if you try to cancel any of these lines system throw error message.
In actual practice when ever we cancel the model, and if model is eligible for cancellation it will cancel model as well as optin/class/included items lines too. But if for some data corruption model line got cancel and rest of lines not cancelled then only way to resolve the problem is data fix.
In addition to cancellation , If we delete Model line (if eligible) , it will delete all the child lines (option/Class etc) too.
In actual practice when ever we cancel the model, and if model is eligible for cancellation it will cancel model as well as optin/class/included items lines too. But if for some data corruption model line got cancel and rest of lines not cancelled then only way to resolve the problem is data fix.
In addition to cancellation , If we delete Model line (if eligible) , it will delete all the child lines (option/Class etc) too.
Dec 23, 2010
Christmas Tree Query
Found interesting Query to print Christmas Tree -
-------------------
with Mx as (select 60 as MaxWidth from dual)
select decode
( sign(floor(MaxWidth /2)-rownum)
, 1
, lpad( ' ', floor(MaxWidth /2)-(rownum-1)) || rpad( '*', 2*(rownum-1)+1, ' *')
, lpad( '* * *', floor(MaxWidth/2)+3)
)
from all_tables ,Mx
where rownum < floor(MaxWidth /2) + 6;
-------------------
Happy Holidays and Merry Christmas
-------------------
with Mx as (select 60 as MaxWidth from dual)
select decode
( sign(floor(MaxWidth /2)-rownum)
, 1
, lpad( ' ', floor(MaxWidth /2)-(rownum-1)) || rpad( '*', 2*(rownum-1)+1, ' *')
, lpad( '* * *', floor(MaxWidth/2)+3)
)
from all_tables ,Mx
where rownum < floor(MaxWidth /2) + 6;
-------------------
Happy Holidays and Merry Christmas
Dec 22, 2010
Supply to Order Workbench for Oracle B2B Sales Order.
This is Short post about how to Navigate between Order Management/requisition/Purchase Order for a B2B Sales Order via Oracle Order to Supply Wokbench.
B2b
View more presentations from eoracle apps.
Technology Strategies to maxmize the value of your Oracle Applications
Found an Interesting Presentation.
Tech strategies keynote final for dc
View more presentations from rickschultz.
Oe_interfaced_flag and Inv_interfaced_flag in wsh_delivery_details table
This post is about 2 Important fields in wsh_delivery_details table from the Order Management and Inventory point of view.
These 2 flags/fields are
As I have stated in many of my posts on ITS that interface Trip Stop(ITS)has 2 parts
NOTE - Inventort part of the ITS always exected once OM part exected successfully.
If OM part of ITS has executed , but INV is not yet exected because of some issues then oe_interfaced_flag = Y and inv_interfaced_flag remains = X(Pending) or N . In such case we have 2 options run the ITS again ( but this time it will executed INV part only and release the reservation and decrement the stock) , or run the "Inventory Interface Concurrent Program"
But many a time I have noticed that delivery is shipped and shipped/shipping qty etc fields got populated , but oe_interfaced_flag = N and INV_interfaced-flag = N and every run of ITS try to ryn the OM Part and erroring out( as action that should be perofrmed by ITS has already completed). In such case one good option is update oe_interfaced_flag = Y and then run ITS gain or run inventory Interface.
These 2 flags/fields are
- oe_interfaced_flag
- inv_interfaced_flag
As I have stated in many of my posts on ITS that interface Trip Stop(ITS)has 2 parts
- Order Management and
- Inventory.
NOTE - Inventort part of the ITS always exected once OM part exected successfully.
If OM part of ITS has executed , but INV is not yet exected because of some issues then oe_interfaced_flag = Y and inv_interfaced_flag remains = X(Pending) or N . In such case we have 2 options run the ITS again ( but this time it will executed INV part only and release the reservation and decrement the stock) , or run the "Inventory Interface Concurrent Program"
But many a time I have noticed that delivery is shipped and shipped/shipping qty etc fields got populated , but oe_interfaced_flag = N and INV_interfaced-flag = N and every run of ITS try to ryn the OM Part and erroring out( as action that should be perofrmed by ITS has already completed). In such case one good option is update oe_interfaced_flag = Y and then run ITS gain or run inventory Interface.
Dec 21, 2010
WBP, Cost of activity and Defer activity in Oracle Workflow
This is a very short post related to
There are two ways to mark an activity as deferred activity.
- Deferred activity,
- How to make an activity a deferred activity and
- What are the signifiance of Minimum Threshold and Maximum Threshold parameter for workflow background process.
There are two ways to mark an activity as deferred activity.
- Assign a cost higher than a designated threshold to a background process. The engine then continues processing the next pending eligible activity that may occur in another parallel branch of the process.The default threshold for the Workflow Engine is 50 hundredths of a second. Activities with a cost higher than this are deferred to background engines.
- Explicit creates a defer activity as associating PL/SQL procedure named WF_STANDARD.DEFER with it.
Dec 20, 2010
Order Line stuck at BOOK_WAIT_FOR_H
Once in a while I have noticed that Order lines stuck at the activity BOOK_WAIT_FOR_H.
This is the First activity in the sales Order line flow and mark as "Start" activity and it got triggered when we create an Order line .
When ever a new line created in an order that is in ENTERED status, order line workflow got created and in the staus BOOK_WAIT_FOR_H..Once we booked the order , work flow for the line progressed from this activity to next activity.
On the other hand if we entered order line in the already booked sales order , workflow for the line will not wait at this activity, rather will progressed immediately from this activity to next activity.
In case you have a case where order header is booked and 1 or more lines got Stuck at this activity ,then you have no option , but to progress the lines from these activity by means of
This is the First activity in the sales Order line flow and mark as "Start" activity and it got triggered when we create an Order line .
When ever a new line created in an order that is in ENTERED status, order line workflow got created and in the staus BOOK_WAIT_FOR_H..Once we booked the order , work flow for the line progressed from this activity to next activity.
On the other hand if we entered order line in the already booked sales order , workflow for the line will not wait at this activity, rather will progressed immediately from this activity to next activity.
In case you have a case where order header is booked and 1 or more lines got Stuck at this activity ,then you have no option , but to progress the lines from these activity by means of
- RETRY this activity either from the workflow admin responsibility or
- With a datafix
Wrokflow activity status for Retry/Skip/Complete.
If you want to retry an workflow activity by a means of a script , and activity is in error status then it doesn't make any difference.In nutt shell if you want to RETRY an workflow activity for Order Management Seeded workflow it doesn't matter if the activity in in status Error or Notified RETRY will take care of that, But if you want to SKIP/Complete an workflow activity, then workflow activity should be in Notified status other wise system will prompt an error message "Activity not in NOTIFIED status.
- Posted using BlogPress
- Posted using BlogPress
Top 10 R12 Upgrade Best Practices.R12 Upgrade Series - 1
- Determine Your Upgrade Path - More recent releases have a direct upgrade path to the latest release.
- Treat Your Upgrade Activity as a Formal Company Project -
- Structured approach for managing the tasks, resolving issues, and measuring progress is critical. Build a team with broad, comprehensive skills.
- Project team that comprises Functional experts, technical experts and representation from the business.
- Focus on reporting with a direction that is geared towards a BI Publishing solution
- Prepare the Organization
- Proactively engage stakeholders to help prepare for the project and the changes that will be experienced once deployed.
- Emphasis on repeated testing.
- Focus on Pre and Post Upgrade requirements
Dec 19, 2010
Added Mobile template for my blog
Added mobile template for my blog and it's looks cool on mobile devices.Check it out at eoracleapps.blogspot.com
Thanks
Model line stuck at WAIT_FOR_CTO in Oracle Order Management.
This post is a out model line for an ato model stuck at WAIT_for_CTO status either in notified or error status and all of the lines Options/Class/Config items are in Fulfill Notified status.
In such case best options at a data fix as there is no other way to progress line. In the data-fix if we progress the Model line from WAIT_FOR_CTO status it will progress all the lines .
Please Note that in actual process whenever config line got shipped and ITS executed successfully it progress workflow of config line from SHIP_LINE nottofed status to Fulfill and at the same time progress the Model line from WAIT_FOR_CTO status.(Note - In case of Model after booking, Model line workflow progress and Created the Config line and then reached to wait_for_cto status and wait till it got pused by the Confog line).
But in case Config line is in FULFILL-Notifed status and Model line is at WAIT_FOR_CTO - Error status , best solution is progress the model line by means of "retry Activities in Error" and this will Progress the Model line as well as all the Class/Option as well as the Config line.
Many a cases I have notice that Model line is in SCHEDULE_LINE - Eligible status where as all the Class/option and config lines are FULFILL-Notifed status, best soltion in that case is Select the Model line and the Right click and then Select "Progress Order" from the Popup menu and it will progress all the lines to next activity.
- Posted using BlogPress
In such case best options at a data fix as there is no other way to progress line. In the data-fix if we progress the Model line from WAIT_FOR_CTO status it will progress all the lines .
Please Note that in actual process whenever config line got shipped and ITS executed successfully it progress workflow of config line from SHIP_LINE nottofed status to Fulfill and at the same time progress the Model line from WAIT_FOR_CTO status.(Note - In case of Model after booking, Model line workflow progress and Created the Config line and then reached to wait_for_cto status and wait till it got pused by the Confog line).
But in case Config line is in FULFILL-Notifed status and Model line is at WAIT_FOR_CTO - Error status , best solution is progress the model line by means of "retry Activities in Error" and this will Progress the Model line as well as all the Class/Option as well as the Config line.
Many a cases I have notice that Model line is in SCHEDULE_LINE - Eligible status where as all the Class/option and config lines are FULFILL-Notifed status, best soltion in that case is Select the Model line and the Right click and then Select "Progress Order" from the Popup menu and it will progress all the lines to next activity.
- Posted using BlogPress
Data Flow and Query to connects Oracle Order Management and Purchasing tables for B2B Order
Often customers order products that you do not typically stock but that you do not manufacture either. You may want to purchase that item specifically for this order, have the supplier ship it to you, and then combine it with other items you may have purchased or stocked to create one shipment to the customer. This is a common scenario for Wholesale Distributors who use the S3 (Sell-Source-Ship) business model as well as for other demand channels. We call this process ‘back-to-back orders’ or ‘procure-to-order’.
Data flow for a Simple B2B(Back to Back Order ) in Oracle Order Management-

.
Data flow for a Simple B2B(Back to Back Order ) in Oracle Order Management-

.

Dec 18, 2010
Get the Facts: Oracle’s Unbreakable Enterprise Kernel
Get the Facts: Oracle’s Unbreakable Enterprise Kernel
Dec 16, 2010
Query to Connect Order Management , Requisition ,Purchasing tables for Drop Ship
Query to Connect Order Management , Requisition ,Purchasing tables for Drop Ship
select h.order_number,l.line_number SO_Line_number, ph.segment1
PO_Number,pl.line_num PO_Line_Number,
ph.authorization_status,ph.closed_date,ph.closed_code,
prh.interface_source_code,
prh.segment1 Requisition_number, prl.line_num Requisition_line_number
from
OE_DROP_SHIP_SOURCES ods,
oe_order_headers_all h,
oe_order_lines_all l,
po_line_locations_all pll,
po_lines_all pl,
po_headers_all ph,
po_requisition_headers_all prh,
po_requisition_lines_all prl
where h.header_id = l.header_id
and h.header_id = ods.header_id
and ods.line_location_id = pll.line_location_id
and ods.po_header_id = ph.po_header_id
and ods.po_line_id = pl.po_line_id
and ph.po_header_id = pl.po_header_id
and prh.requisition_header_id = ods.requisition_header_id
and prl.requisition_line_id = ods.requisition_line_id
and prh.requisition_header_id = prl.requisition_header_id
and h.order_number = &sales_order_number
select h.order_number,l.line_number SO_Line_number, ph.segment1
PO_Number,pl.line_num PO_Line_Number,
ph.authorization_status,ph.closed_date,ph.closed_code,
prh.interface_source_code,
prh.segment1 Requisition_number, prl.line_num Requisition_line_number
from
OE_DROP_SHIP_SOURCES ods,
oe_order_headers_all h,
oe_order_lines_all l,
po_line_locations_all pll,
po_lines_all pl,
po_headers_all ph,
po_requisition_headers_all prh,
po_requisition_lines_all prl
where h.header_id = l.header_id
and h.header_id = ods.header_id
and ods.line_location_id = pll.line_location_id
and ods.po_header_id = ph.po_header_id
and ods.po_line_id = pl.po_line_id
and ph.po_header_id = pl.po_header_id
and prh.requisition_header_id = ods.requisition_header_id
and prl.requisition_line_id = ods.requisition_line_id
and prh.requisition_header_id = prl.requisition_header_id
and h.order_number = &sales_order_number
How to Create Repair line while doing an RMA
How to Create Repair line while doing an RMA –
Case that I am going to discuss in the post is very common practice, and theirs is Standard solution, but over the weekend I came across some issues and thought of putting it on the Post.
In the present day complex manufacturing that involve 3rd party /contract
Manufacturing /Repair there is need for a flow in Supply chain to create the repair order as soon as user receive an RMA (with the assumption that RMA still be repaired). To fulfill there is almost a standard in Order management to create an Outgoing Repair line as soon as we received the RMA line.
In nutshell as soon as we have RMA (inbound line), created the outbound line.
There are 2 ways to Implement this solution
#1.Create Inbound and outbound line together with by means of Process Order API.
#2.Customized Standard RMA line workflow and add a custom activity (to create a outbound line via Process Order API), after the sub-process “Return Receiving – Line”. By doing this system will create the outbound line only once we successfully received the RMA in the inventory.
Case that I am going to discuss in the post is very common practice, and theirs is Standard solution, but over the weekend I came across some issues and thought of putting it on the Post.
In the present day complex manufacturing that involve 3rd party /contract
Manufacturing /Repair there is need for a flow in Supply chain to create the repair order as soon as user receive an RMA (with the assumption that RMA still be repaired). To fulfill there is almost a standard in Order management to create an Outgoing Repair line as soon as we received the RMA line.
In nutshell as soon as we have RMA (inbound line), created the outbound line.
There are 2 ways to Implement this solution
#1.Create Inbound and outbound line together with by means of Process Order API.
#2.Customized Standard RMA line workflow and add a custom activity (to create a outbound line via Process Order API), after the sub-process “Return Receiving – Line”. By doing this system will create the outbound line only once we successfully received the RMA in the inventory.
Dec 15, 2010
Query to Connect tables from Oracle Order Management to Oracle receivables
select to_char(l.line_number) ||
decode(l.shipment_number, null, null, '.' ||
to_char(l.shipment_number))||
decode(l.option_number, null, null, '.' ||
to_char(l.option_number)) ||
decode(l.component_number, null, null,
decode(l.option_number, null, '.',null)||
'.'||to_char(l.component_number))||
decode(l.service_number,null,null,
decode(l.component_number, null, '.' , null) ||
decode(l.option_number, null, '.', null ) ||
'.'|| to_char(l.service_number)) order_line_number,
h.order_number,l.line_id,l.ordered_quantity,l.shipped_quantity,l.invoiced_quantity,
wdd.delivery_detail_id,wnd.delivery_id,wdd.shipped_quantity,
a.org_id,
a.creation_date ,a.trx_number,
b.quantity_ordered , b.quantity_invoiced,
b.interface_line_attribute1,b.interface_line_attribute3,
b.interface_line_attribute6,interface_line_attribute12
from ra_customer_trx_all a,
ra_customer_trx_lines_all b,
oe_order_headers_all h
, oe_order_lines_all l
,wsh_delivery_details wdd
decode(l.shipment_number, null, null, '.' ||
to_char(l.shipment_number))||
decode(l.option_number, null, null, '.' ||
to_char(l.option_number)) ||
decode(l.component_number, null, null,
decode(l.option_number, null, '.',null)||
'.'||to_char(l.component_number))||
decode(l.service_number,null,null,
decode(l.component_number, null, '.' , null) ||
decode(l.option_number, null, '.', null ) ||
'.'|| to_char(l.service_number)) order_line_number,
h.order_number,l.line_id,l.ordered_quantity,l.shipped_quantity,l.invoiced_quantity,
wdd.delivery_detail_id,wnd.delivery_id,wdd.shipped_quantity,
a.org_id,
a.creation_date ,a.trx_number,
b.quantity_ordered , b.quantity_invoiced,
b.interface_line_attribute1,b.interface_line_attribute3,
b.interface_line_attribute6,interface_line_attribute12
from ra_customer_trx_all a,
ra_customer_trx_lines_all b,
oe_order_headers_all h
, oe_order_lines_all l
,wsh_delivery_details wdd
Dec 13, 2010
Sample OE_ORDER_PUB to Create and Canel Order Line
-- API to create Sales Order and Return Order.
declare
l_api_version_number NUMBER := 1;
l_return_status VARCHAR2(2000);
l_msg_count NUMBER;
l_msg_data VARCHAR2(2000);
/*****************PARAMETERS****************************************************/
l_debug_level number := 1; -- OM DEBUG LEVEL (MAX 5)
l_org number := 204; -- OPERATING UNIT
l_user number := 1318; -- USER
l_resp number := 21623; -- RESPONSIBLILTY
l_appl number := 660; -- ORDER MANAGEMENT
/***INPUT VARIABLES FOR PROCESS_ORDER API*************************/
l_header_rec oe_order_pub.header_rec_type;
l_line_tbl oe_order_pub.line_tbl_type;
l_action_request_tbl oe_order_pub.Request_Tbl_Type;
/***OUT VARIABLES FOR PROCESS_ORDER API***************************/
l_header_rec_out oe_order_pub.header_rec_type;
l_header_val_rec_out oe_order_pub.header_val_rec_type;
l_header_adj_tbl_out oe_order_pub.header_adj_tbl_type;
l_header_adj_val_tbl_out oe_order_pub.header_adj_val_tbl_type;
l_header_price_att_tbl_out oe_order_pub.header_price_att_tbl_type;
l_header_adj_att_tbl_out oe_order_pub.header_adj_att_tbl_type;
l_header_adj_assoc_tbl_out oe_order_pub.header_adj_assoc_tbl_type;
l_header_scredit_tbl_out oe_order_pub.header_scredit_tbl_type;
l_header_scredit_val_tbl_out oe_order_pub.header_scredit_val_tbl_type;
l_line_tbl_out oe_order_pub.line_tbl_type;
l_line_val_tbl_out oe_order_pub.line_val_tbl_type;
declare
l_api_version_number NUMBER := 1;
l_return_status VARCHAR2(2000);
l_msg_count NUMBER;
l_msg_data VARCHAR2(2000);
/*****************PARAMETERS****************************************************/
l_debug_level number := 1; -- OM DEBUG LEVEL (MAX 5)
l_org number := 204; -- OPERATING UNIT
l_user number := 1318; -- USER
l_resp number := 21623; -- RESPONSIBLILTY
l_appl number := 660; -- ORDER MANAGEMENT
/***INPUT VARIABLES FOR PROCESS_ORDER API*************************/
l_header_rec oe_order_pub.header_rec_type;
l_line_tbl oe_order_pub.line_tbl_type;
l_action_request_tbl oe_order_pub.Request_Tbl_Type;
/***OUT VARIABLES FOR PROCESS_ORDER API***************************/
l_header_rec_out oe_order_pub.header_rec_type;
l_header_val_rec_out oe_order_pub.header_val_rec_type;
l_header_adj_tbl_out oe_order_pub.header_adj_tbl_type;
l_header_adj_val_tbl_out oe_order_pub.header_adj_val_tbl_type;
l_header_price_att_tbl_out oe_order_pub.header_price_att_tbl_type;
l_header_adj_att_tbl_out oe_order_pub.header_adj_att_tbl_type;
l_header_adj_assoc_tbl_out oe_order_pub.header_adj_assoc_tbl_type;
l_header_scredit_tbl_out oe_order_pub.header_scredit_tbl_type;
l_header_scredit_val_tbl_out oe_order_pub.header_scredit_val_tbl_type;
l_line_tbl_out oe_order_pub.line_tbl_type;
l_line_val_tbl_out oe_order_pub.line_val_tbl_type;
Sample OE_ORDER_PUB to Create Order with 1 Ship line and 1 RMA Line
-- API to create Sales Order and Return Order.
declare
l_api_version_number NUMBER := 1;
l_return_status VARCHAR2(2000);
l_msg_count NUMBER;
l_msg_data VARCHAR2(2000);
/*****************PARAMETERS****************************************************/
l_debug_level number := 1; -- OM DEBUG LEVEL (MAX 5)
l_org number := 204; -- OPERATING UNIT
l_user number := 1318; -- USER
l_resp number := 21623; -- RESPONSIBLILTY
l_appl number := 660; -- ORDER MANAGEMENT
/***INPUT VARIABLES FOR PROCESS_ORDER API*************************/
l_header_rec oe_order_pub.header_rec_type;
l_line_tbl oe_order_pub.line_tbl_type;
l_action_request_tbl oe_order_pub.Request_Tbl_Type;
/***OUT VARIABLES FOR PROCESS_ORDER API***************************/
l_header_rec_out oe_order_pub.header_rec_type;
l_header_val_rec_out oe_order_pub.header_val_rec_type;
l_header_adj_tbl_out oe_order_pub.header_adj_tbl_type;
l_header_adj_val_tbl_out oe_order_pub.header_adj_val_tbl_type;
l_header_price_att_tbl_out oe_order_pub.header_price_att_tbl_type;
l_header_adj_att_tbl_out oe_order_pub.header_adj_att_tbl_type;
l_header_adj_assoc_tbl_out oe_order_pub.header_adj_assoc_tbl_type;
l_header_scredit_tbl_out oe_order_pub.header_scredit_tbl_type;
l_header_scredit_val_tbl_out oe_order_pub.header_scredit_val_tbl_type;
l_line_tbl_out oe_order_pub.line_tbl_type;
l_line_val_tbl_out oe_order_pub.line_val_tbl_type;
l_line_adj_tbl_out oe_order_pub.line_adj_tbl_type;
l_line_adj_val_tbl_out oe_order_pub.line_adj_val_tbl_type;
declare
l_api_version_number NUMBER := 1;
l_return_status VARCHAR2(2000);
l_msg_count NUMBER;
l_msg_data VARCHAR2(2000);
/*****************PARAMETERS****************************************************/
l_debug_level number := 1; -- OM DEBUG LEVEL (MAX 5)
l_org number := 204; -- OPERATING UNIT
l_user number := 1318; -- USER
l_resp number := 21623; -- RESPONSIBLILTY
l_appl number := 660; -- ORDER MANAGEMENT
/***INPUT VARIABLES FOR PROCESS_ORDER API*************************/
l_header_rec oe_order_pub.header_rec_type;
l_line_tbl oe_order_pub.line_tbl_type;
l_action_request_tbl oe_order_pub.Request_Tbl_Type;
/***OUT VARIABLES FOR PROCESS_ORDER API***************************/
l_header_rec_out oe_order_pub.header_rec_type;
l_header_val_rec_out oe_order_pub.header_val_rec_type;
l_header_adj_tbl_out oe_order_pub.header_adj_tbl_type;
l_header_adj_val_tbl_out oe_order_pub.header_adj_val_tbl_type;
l_header_price_att_tbl_out oe_order_pub.header_price_att_tbl_type;
l_header_adj_att_tbl_out oe_order_pub.header_adj_att_tbl_type;
l_header_adj_assoc_tbl_out oe_order_pub.header_adj_assoc_tbl_type;
l_header_scredit_tbl_out oe_order_pub.header_scredit_tbl_type;
l_header_scredit_val_tbl_out oe_order_pub.header_scredit_val_tbl_type;
l_line_tbl_out oe_order_pub.line_tbl_type;
l_line_val_tbl_out oe_order_pub.line_val_tbl_type;
l_line_adj_tbl_out oe_order_pub.line_adj_tbl_type;
l_line_adj_val_tbl_out oe_order_pub.line_adj_val_tbl_type;
Dec 11, 2010
Query to display Sales Order Line Number
Below is Simple Query to display Sales Order Line Number in Oracle Order Management
select to_char(l.line_number) ||
decode(l.shipment_number, null, null, '.' ||
to_char(l.shipment_number))||
decode(l.option_number, null, null, '.' ||
to_char(l.option_number)) ||
decode(l.component_number, null, null,
decode(l.option_number, null, '.',null)||
'.'||to_char(l.component_number))||
decode(l.service_number,null,null,
decode(l.component_number, null, '.' , null) ||
decode(l.option_number, null, '.', null ) ||
'.'|| to_char(l.service_number))||','||
h.order_number
from
oe_order_headers_all h
, oe_order_lines_all l
where
h.header_id = l.header_id
and l.open_flag='Y'
select to_char(l.line_number) ||
decode(l.shipment_number, null, null, '.' ||
to_char(l.shipment_number))||
decode(l.option_number, null, null, '.' ||
to_char(l.option_number)) ||
decode(l.component_number, null, null,
decode(l.option_number, null, '.',null)||
'.'||to_char(l.component_number))||
decode(l.service_number,null,null,
decode(l.component_number, null, '.' , null) ||
decode(l.option_number, null, '.', null ) ||
'.'|| to_char(l.service_number))||','||
h.order_number
from
oe_order_headers_all h
, oe_order_lines_all l
where
h.header_id = l.header_id
and l.open_flag='Y'
Dec 9, 2010
Query to check all the Picked Delivery Deatils where Reservation not exists
Select ool.line_id,
wdd.delivery_detail_id,wdd.source_line_id,wdd.ship_from_location_id,wdd.organi
zation_id,wdd.src_requested_quantity,
wdd.shipped_quantity,wdd.move_order_line_id,wdd.customer_item_id,wdd.split_fro
m_delivery_detail_id,
wdd.source_header_number,wdd.source_line_number,wdd.picked_quantity
from wsh_delivery_details wdd , oe_order_lines_all ool
where wdd.source_line_id = ool.line_id
and ool.open_flag ='Y'
and wdd.source_code ='OE'
and Picked_quantity > 0
and released_status= 'Y'
and ool.header_id = &enter_Sales_Order_Header_id
and not exists
(
select 1 from mtl_reservations mr
where mr.demand_source_line_id = wdd.source_line_id
and mr.inventory_item_id = wdd.inventory_item_id)
Above sample script is with Order_Header_id as a Parameter. If you want to check for all the Orders , then remove the parameter Condition.
Hope that Helps.
wdd.delivery_detail_id,wdd.source_line_id,wdd.ship_from_location_id,wdd.organi
zation_id,wdd.src_requested_quantity,
wdd.shipped_quantity,wdd.move_order_line_id,wdd.customer_item_id,wdd.split_fro
m_delivery_detail_id,
wdd.source_header_number,wdd.source_line_number,wdd.picked_quantity
from wsh_delivery_details wdd , oe_order_lines_all ool
where wdd.source_line_id = ool.line_id
and ool.open_flag ='Y'
and wdd.source_code ='OE'
and Picked_quantity > 0
and released_status= 'Y'
and ool.header_id = &enter_Sales_Order_Header_id
and not exists
(
select 1 from mtl_reservations mr
where mr.demand_source_line_id = wdd.source_line_id
and mr.inventory_item_id = wdd.inventory_item_id)
Above sample script is with Order_Header_id as a Parameter. If you want to check for all the Orders , then remove the parameter Condition.
Hope that Helps.
Unable to save the changes as the corresponding Internal Requisition cannot be updated
Error "Unable to save the changes as the corresponding Internal Requisition cannot be updated" while trying to cancel the Oracle Order Management Internal Sales Order .
without going deep , Just my 2 cents here - you usually encounter this error while trying to cancel Internal Sales Order line(in Oracle Order Management) ,and data in the Purchasing side is corrupted , like internal requisition line is either cancelled or closed.
Solution to thi sissue is - make sure that your PO and OM side are in sysnc with each other.In case their is data corruption , best option is contact Oracle support for data -fix
without going deep , Just my 2 cents here - you usually encounter this error while trying to cancel Internal Sales Order line(in Oracle Order Management) ,and data in the Purchasing side is corrupted , like internal requisition line is either cancelled or closed.
Solution to thi sissue is - make sure that your PO and OM side are in sysnc with each other.In case their is data corruption , best option is contact Oracle support for data -fix
Dec 7, 2010
Steps Required to Close Inventory Period in Oracle Application
This is post about the Steps that we should follow while closing Inventory Period in Oracle Application. Below power point presentation explain
1. Steps that we should follows.
2. Exception reports that we should run before we try to close the Period.
NOTE - Please Note that Period Close in irreversible Process.
Hope that helps.
1. Steps that we should follows.
2. Exception reports that we should run before we try to close the Period.
NOTE - Please Note that Period Close in irreversible Process.
Hope that helps.
How to maximize collective intelligence
Another Very Interesting Presentation from Oracle.
How to maximize collective intelligence
View more presentations from Emiliano Pecis.
Dec 3, 2010
Automatic Attachment in Oracle Order Management
This is Detailed Post about what Automatic Attachment in Oracle Order Management - Please refer the below Presentation for complete Setup and Short Demo.
What is an Attachment
Automatic Attachment in Order Management means ,moment we create and Save the Sales Order , System will attach Attachment to Order Header/Lines based on the Rules and Attributes you have created.
In Oracle Order management , we can enable Auto attachments by either setting the Profile OM: Apply Automatic Attachments = Yes , if it is yes then whenever we save Order system will attach attachment , but if it No then we need to Navigate to Action Button and > Automatic Attachment.
Please note that Automatic Attachment in Oracle Order Management are based on the rules on Attributes . As of Now Supported Attributes are -
For Order Header
What is an Attachment
- Attachment is a file,text doc, or a web file attached to a particular entity, to capture additional information or data, that is otherwise not captured through applications.
- Enable users to link unstructured data, such as images,word doc, spreadsheets, or text to application data.
- Attachment information can flow through entire application
Automatic Attachment in Order Management means ,moment we create and Save the Sales Order , System will attach Attachment to Order Header/Lines based on the Rules and Attributes you have created.
In Oracle Order management , we can enable Auto attachments by either setting the Profile OM: Apply Automatic Attachments = Yes , if it is yes then whenever we save Order system will attach attachment , but if it No then we need to Navigate to Action Button and > Automatic Attachment.
Please note that Automatic Attachment in Oracle Order Management are based on the rules on Attributes . As of Now Supported Attributes are -
For Order Header
- Customer
- Customer PO
- Invoice To
- Order Category
- Order Type
- Ship To
For Order Line
- Customer
- Inventory Item
- Invoice To
- Line Category
- Line Type
- Purchase Order
- Ship To
Dec 2, 2010
Subscribe to:
Posts (Atom)