Wednesday, June 27, 2012
Friday, June 8, 2012
Back to Back Order
1. Customer orders items (OM).
2. Purchase those items from the supplier (PO) and receive them into the warehouse.
3. Ship those items to the customer (OM).
In Drop Ship the source will be external
In Drop Ship orders, material is directly shipped to the customer from the supplier. Thus, inventory is not affected. In this case, only logical receiving is done. But in the case of Back-to-Back orders, material is taken from inventory.
Drop Ship orders may have many Purchase Orders connected to them. In Back-to-Back orders one PO is tied to one Sales Order ???
The Item attributes to be set are
- Assemble to Order’ flag (ATO) and ‘Customer Orderable’ flag
- ‘Purchasable’ flag, enter a value in the ‘List Price’ field.
- ‘Build in WIP’ flag is checked.
- ‘Make or Buy flag’ to ‘Buy’.
- When you create the Sales Order and Book it, the line status will be Supply_Eligible.
- When you progress the line the status will change to PO_REQ_REQUESTED
- Run the Requisition Import program [ Import Source CTO ]
- Get the Requisition # from the Output of the Import program
- Go to the Requisition Summary form and AutoCreate the PO
- Receive the PO and Verify the Receive and Deliver Transactions
- The Line Status will now change to "AWAITING_SHIPPING".
- Pick Release and Ship the Order to the Customer
You can create a ASL ( Blanket PO ) and Sourincg Rule For the Item to Automate the PO Release .
You can use Sales order Purchase order discrepancy report to identify discrepancies between the OM and the PO
In B2B the source will be internal but the item would be procured after the order is created or after the demand is made.
In Drop Ship the source will be external
In Drop Ship orders, material is directly shipped to the customer from the supplier. Thus, inventory is not affected. In this case, only logical receiving is done. But in the case of Back-to-Back orders, material is taken from inventory.
Wednesday, May 16, 2012
Pension Plan Basics
What are pension plans?
A pension plan is designed to generate regular income for individuals once they retire. Insurance companies offer various pension plans (also called as retirement plans or annuity plans) where a person has to initially invest either a lump sum amount or regular annual installments/ premiums over a period of time in return for regular income either for life or for fixed number of years depending, upon the plan. For example, Rita received Rs. 10L superannuation benefit upon retirement. She was interested in getting regular income out of this fund in order to meet her routine daily expenses. So Rita started exploring her options and stumbled upon the idea of investing her money in a pension plan. Rita researched the different types of pension plans offered by insurance companies and here is what she found:
Deferred Annuity Plan: Under this type of plan, the pension is not paid immediately but deferred for a time period as required by policyholder. If the policyholder survives the term of the policy, then the accumulated amount (consisting of sum assured, guaranteed additions and bonuses) is invested to generate regular income. For example, LIC has Jeevan Nidhi plan which is a deferred annuity plan. Rita concluded that this option is suitable for an individual who is still working and has many more years before he/she retires.
Immediate Annuity Plan: Rita found this plan interesting. This is because this plan can be purchased for a lump sum in return for fixed payments throughout her life. Insurance companies offer various options under annuity plans. There are different categories of Immediate Annuity plans:
Annuity Certain: Here the insurance company pays a fixed sum of money for a certain number of years.
Guaranteed Period Annuity: Under this plan, Rita will be paid pension for a certain number of years as stated in her plan (say 10 years) even if she does not survive this period. So, if Rita dies after 4 years of purchasing the policy, her nominee will receive the pension amount for the remaining 6 years. If she survives through the 10 years then she will receive the pension amount throughout her life.
Life Annuity: Rita will be paid a specified amount regularly through her life. This plan also comes with the option of 'return of purchase price' to the beneficiary upon the policyholder's death. In case Rita opts for this plan, her nominee will get the maturity amount plus any bonus upon her death.
For example, LIC has Jeevan Akshay annuity plan for annuity payable for 5, 10, 15 or 20 years or for the lifetime of policyholder. There is also a life annuity plan where 50 percent of the annuity is payable to the spouse in case of death of policyholder.
A pension plan is designed to generate regular income for individuals once they retire. Insurance companies offer various pension plans (also called as retirement plans or annuity plans) where a person has to initially invest either a lump sum amount or regular annual installments/ premiums over a period of time in return for regular income either for life or for fixed number of years depending, upon the plan. For example, Rita received Rs. 10L superannuation benefit upon retirement. She was interested in getting regular income out of this fund in order to meet her routine daily expenses. So Rita started exploring her options and stumbled upon the idea of investing her money in a pension plan. Rita researched the different types of pension plans offered by insurance companies and here is what she found:
Deferred Annuity Plan: Under this type of plan, the pension is not paid immediately but deferred for a time period as required by policyholder. If the policyholder survives the term of the policy, then the accumulated amount (consisting of sum assured, guaranteed additions and bonuses) is invested to generate regular income. For example, LIC has Jeevan Nidhi plan which is a deferred annuity plan. Rita concluded that this option is suitable for an individual who is still working and has many more years before he/she retires.
Immediate Annuity Plan: Rita found this plan interesting. This is because this plan can be purchased for a lump sum in return for fixed payments throughout her life. Insurance companies offer various options under annuity plans. There are different categories of Immediate Annuity plans:
Annuity Certain: Here the insurance company pays a fixed sum of money for a certain number of years.
Guaranteed Period Annuity: Under this plan, Rita will be paid pension for a certain number of years as stated in her plan (say 10 years) even if she does not survive this period. So, if Rita dies after 4 years of purchasing the policy, her nominee will receive the pension amount for the remaining 6 years. If she survives through the 10 years then she will receive the pension amount throughout her life.
Life Annuity: Rita will be paid a specified amount regularly through her life. This plan also comes with the option of 'return of purchase price' to the beneficiary upon the policyholder's death. In case Rita opts for this plan, her nominee will get the maturity amount plus any bonus upon her death.
For example, LIC has Jeevan Akshay annuity plan for annuity payable for 5, 10, 15 or 20 years or for the lifetime of policyholder. There is also a life annuity plan where 50 percent of the annuity is payable to the spouse in case of death of policyholder.
Tuesday, May 8, 2012
Delivery and Trips
When a Trip record and Trip Stop record will be created.
i) Will it be created at the time of Delivery Creation itself?
If you are coming from Pick Release point of view and decide to autocreate delivery, Yes, a Trip and Two stops will be automatically created.
ii) Inbetween Delivery Creation and Ship Confirmation of the delivery?
If you decide to not to create delivery during pick releasing, you will be either autocreating a delivery for the delivery detail in the shipping screen manually or assigning to an existing open delivery. If you choose to do so, you have to either create trip manually from the shipping screen or assign to existing open trip.
iii) After Ship Confirmation?
No, you have to have a trip and minimum of two stops to ship confirm. But, if you have not created the trip for the delivery in the step2, system will autocreate the trip and stop when you perform ship confirmation step.
iv) Inventory updates will occur after Ship confirmation of the delivery or closing of the trips?
Inventory updates will happen only when Interface Trip Stops program is run successfully for the inventory interface component.
i) Will it be created at the time of Delivery Creation itself?
If you are coming from Pick Release point of view and decide to autocreate delivery, Yes, a Trip and Two stops will be automatically created.
ii) Inbetween Delivery Creation and Ship Confirmation of the delivery?
If you decide to not to create delivery during pick releasing, you will be either autocreating a delivery for the delivery detail in the shipping screen manually or assigning to an existing open delivery. If you choose to do so, you have to either create trip manually from the shipping screen or assign to existing open trip.
iii) After Ship Confirmation?
No, you have to have a trip and minimum of two stops to ship confirm. But, if you have not created the trip for the delivery in the step2, system will autocreate the trip and stop when you perform ship confirmation step.
iv) Inventory updates will occur after Ship confirmation of the delivery or closing of the trips?
Inventory updates will happen only when Interface Trip Stops program is run successfully for the inventory interface component.
USE View : WSH_DELIVERY_TRIPS_V
Thursday, May 3, 2012
Order Header Closing
Use oe_order_close_util
Metalink 133837.1
The header level workflow process 'Close-Order' has a wait function, which causes the header to wait until all the lines on the order
are closed before progressing the header to a closed status. This wait function comes seeded with a constant value which sets it to
defer until the last day of the month.
The following example from the omse11i.sql output shows the workflow status:
PROCESS_NAME ACTIVITY_NAME RESULT ACT_STATUS BEGIN_DATE
Close - Order Wait Null Deferred 31-JAN 00:00:00
This wait value comes seeded with the Application.
You can view the workflow process 'Close-Order' as follows:
In Workflow Builder, open the workflow definition for OM Order Header.
Under Processes, open up Close - Order.
Here you will notice the Wait function just after the Start function.
Right click on Wait and select Properties.
Under the Node Attributes tab you will see the following:
Wait Mode is a constant set to 'Day Of Month',
Day of Month is a constant set to 'Last'
These values can be changed to cause the workflow to defer for a set number of days, or to progress immediately. However it is
recommended that changes to workflows be done by someone proficient in Oracle Workflow. NOTE: These changes should not be
made to seeded workflow processes. It is advisable that a new workflow process be created and the necessary change made.
However if the seeded workflow or existing flow is modified, the change will not affect existing orders. Only newly created orders
will adopt the change.
Thursday, April 19, 2012
FND_PROFILE_OPTION_VALUES
| Column | Description |
| Profile Level |
Level 1 = Site
Level 2 = Application Level 3 = Responsibility Level 4 = User |
SELECT
substr(pro1.user_profile_option_name,1,35) Profile,
decode(pov.level_id,
10001,'Site',
10002,'Application',
10003,'Resp',
10004,'User') Option_Level,
decode(pov.level_id,
10001,'Site',
10002,appl.application_short_name,
10003,resp.responsibility_name,
10004,u.user_name) Level_Value,
nvl(pov.profile_option_value,'Is Null') Profile_option_Value
FROM
fnd_profile_option_values pov,
fnd_responsibility_tl resp,
fnd_application appl,
fnd_user u,
fnd_profile_options pro,
fnd_profile_options_tl pro1
WHERE
pro.profile_option_name = pro1.profile_option_name
and pro.profile_option_id = pov.profile_option_id
and resp.responsibility_name like '%General%Ledger%'
and pov.level_value = resp.responsibility_id (+)
and pov.level_value = appl.application_id (+)
and pov.level_value = u.user_id (+)
order by 1,2;
SELECT
substr(pro1.user_profile_option_name,1,35) Profile,
decode(pov.level_id,
10001,'Site',
10002,'Application',
10003,'Resp',
10004,'User') Option_Level,
decode(pov.level_id,
10001,'Site',
10002,appl.application_short_name,
10003,resp.responsibility_name,
10004,u.user_name) Level_Value,
nvl(pov.profile_option_value,'Is Null') Profile_option_Value
FROM
fnd_profile_option_values pov,
fnd_responsibility_tl resp,
fnd_application appl,
fnd_user u,
fnd_profile_options pro,
fnd_profile_options_tl pro1
WHERE
pro1.user_profile_option_name like ('%Ledger%')
and pro.profile_option_name = pro1.profile_option_name
and pro.profile_option_id = pov.profile_option_id
and resp.responsibility_name like '%General%Ledger%' /* comment this line if you need to check profiles for all responsibilities */
and pov.level_value = resp.responsibility_id (+)
and pov.level_value = appl.application_id (+)
and pov.level_value = u.user_id (+)
order by 1,2;
|
Monday, April 2, 2012
How to check Interface Trip Stop problems
SOURCE
select wdd.source_header_number, wdd.source_line_id, wdd.delivery_detail_id, wdd.released_status,wdd.creation_date
from wsh_delivery_details wdd,oe_order_lines_all ol
where wdd.source_code = 'OE'
and wdd.released_status <> 'D'
and wdd.oe_interfaced_flag in ('N','P')
and wdd.source_line_id = ol.line_id
and trunc(wdd.creation_date) > sysdate -365
and ol.open_flag = 'N'
and ol.cancelled_flag = 'N'
and not exists ( select 'x'
from wsh_delivery_details wdd1
where wdd1.source_code = 'OE'
and wdd1.source_line_id = wdd.source_line_id
and wdd1.oe_interfaced_flag = 'Y')
order by 1,2,3;
Comments: Please provide the raw trace file and debug log file of Interface Trip Stop process (with debug settings as per Metalink Note 290432.1) for a similar order(with same order type, item where user ships partial quantity). These outputs are needed to verify if there are any intermediate commits either in the custom code or supported package extensions/hooks.
Apply split_line_trigger.sql to stop future occurences of this issue. Log a bug once a process(like ITS) errors out because of this trigger.
from wsh_delivery_details wdd,oe_order_lines_all ol
where wdd.source_code = 'OE'
and wdd.released_status = 'C'
and trunc(wdd.creation_date) > sysdate-365
and wdd.source_line_id = wdd.top_model_line_id
and wdd.oe_interfaced_flag in ('N','P')
and wdd.source_line_id = ol.line_id
and ol.open_flag = 'N'
and not exists (select 'x'
from wsh_delivery_details wdd1
where wdd.top_model_line_id = wdd1.top_model_line_id
and wdd1.source_code = 'OE'
and wdd1.released_status <> 'D'
and wdd1.oe_interfaced_flag = 'Y'
and wdd1.released_status = 'C'
and wdd1.source_line_id <> wdd.top_model_line_id)
order by 1;
from wsh_delivery_details wdd,wsh_delivery_assignments wda,wsh_new_deliveries wnd, wsh_delivery_legs wdl,wsh_trip_stops wts
where wdd.source_code = 'OE'
and wdd.released_status = 'C'
and (wdd.oe_interfaced_flag in ('N','P') or wdd.inv_interfaced_flag in ('N','P'))
and wdd.delivery_detail_id = wda.delivery_detail_id
and trunc(wdd.creation_date) > sysdate -365
and wda.delivery_id = wnd.delivery_id
and wnd.delivery_id = wdl.delivery_id
and wdl.pick_up_stop_id = wts.stop_id
and nvl(wts.pending_interface_flag,'X') <> 'Y'
order by 1;
select wdd.source_header_number,wdd.source_header_id,wdd.source_line_id,wdd.delivery_detail_id
from wsh_delivery_details wdd,oe_order_lines_all ol
where wdd.source_code = 'OE'
and wdd.source_line_id = ol.line_id
and trunc(wdd.creation_date) > sysdate -365
and wdd.released_status <> 'D'
and nvl(wdd.inv_interfaced_flag,'N') in ('N','P')
and wdd.source_line_id = ol.line_id
and ol.source_document_type_id = 10
and not exists ( select 'x'
from po_requisition_lines_all pl,
po_req_distributions_all pd
where pl.requisition_line_id = ol.source_document_line_id
and pl.requisition_header_id = ol.source_document_id
and pl.requisition_line_id = pd.requisition_line_id)
order by 1,3,4;
6) ITS completes with 'Batch is not yet fully interfaced to OM'.
You need to use one of the following queries depending on the symptoms.
i) Use this query if the shipped quantity on details is 0/null and the released status is 'Shipped'.
select distinct wdd.source_header_number, wdd.delivery_detail_id,wdd.creation_date
from wsh_delivery_details wdd
where wdd.source_code = 'OE'
and wdd.released_status = 'C'
and nvl(wdd.shipped_quantity,0) = 0
and wdd.oe_interfaced_flag = 'N'
and trunc(wdd.creation_date) > sysdate -365
order by 1,2;
Comments: Apply trigger ship_qty_zero_trig.sql to stop future occurences of this issue. Log a bug once a process(like 'Ship Confirm'/'Close Stop') errors out because of this trigger.
ii) Otherwise, use this one
select wdd.source_header_number,wdd.source_line_id,ol.shipping_quantity,ol.flow_status_code, wdd.delivery_detail_id,wdd.creation_date
from wsh_delivery_details wdd,oe_order_lines_all ol
where wdd.source_code = 'OE'
and wdd.released_status = 'C'
and wdd.source_line_id = ol.line_id
and wdd.oe_interfaced_flag = 'P'
and trunc(wdd.creation_date) > sysdate -365
order by 1,2,5;
7) Interface trip Stops program errors out with "for this transaction row the serial records are missing".
select wdd.source_header_number , wdd.delivery_detail_id, wdd.shipped_quantity,
wdd.transaction_temp_id, msi.serial_number_control_code
from wsh_delivery_details wdd, mtl_system_items msi
where wdd.released_status = 'C'
and wdd.source_code = 'OE'
and wdd.oe_interfaced_flag = 'Y'
and wdd.inv_interfaced_flag in ('N','P')
and wdd.inventory_item_id = msi.inventory_item_id
and wdd.organization_id = msi.organization_id
and wdd.transaction_temp_id is null
and exists (
select 'x'
from wsh_serial_numbers wsn where wsn.delivery_detail_id = wdd.delivery_detail_id );
Most of the Interface Trip Stop problems will require a datafix from Development. The following are some of the scenario that can appear for Oracle Order Management Interface issues. The scenario also includes the query which needs to be run where the output will need to be included in the datafix bug.
1) Order line is closed but the delivery detail is not yet OM interfaced:
select wdd.source_header_number, wdd.source_line_id, wdd.delivery_detail_id, wdd.released_status,wdd.creation_date
from wsh_delivery_details wdd,oe_order_lines_all ol
where wdd.source_code = 'OE'
and wdd.released_status <> 'D'
and wdd.oe_interfaced_flag in ('N','P')
and wdd.source_line_id = ol.line_id
and trunc(wdd.creation_date) > sysdate -365
and ol.open_flag = 'N'
and ol.cancelled_flag = 'N'
and not exists ( select 'x'
from wsh_delivery_details wdd1
where wdd1.source_code = 'OE'
and wdd1.source_line_id = wdd.source_line_id
and wdd1.oe_interfaced_flag = 'Y')
order by 1,2,3;
2) Order line is shipped and one of the WDDs is OM interfaced but other WDDs are not OM interfaced.
select wdd.source_header_number, wdd.source_line_id, wdd.delivery_detail_id,wdd.released_status,wdd.creation_date
from wsh_delivery_details wdd
where wdd.source_code = 'OE'
and wdd.oe_interfaced_flag = 'N'
and wdd.released_status <> 'D'
and trunc(wdd.creation_date) > sysdate - 365
and exists ( select 'x'
from wsh_delivery_details wdd1
where wdd1.source_code = 'OE'
and wdd.source_line_id = wdd1.source_line_id
and wdd1.oe_interfaced_flag = 'Y')
order by 1,2,3;
from wsh_delivery_details wdd
where wdd.source_code = 'OE'
and wdd.oe_interfaced_flag = 'N'
and wdd.released_status <> 'D'
and trunc(wdd.creation_date) > sysdate - 365
and exists ( select 'x'
from wsh_delivery_details wdd1
where wdd1.source_code = 'OE'
and wdd.source_line_id = wdd1.source_line_id
and wdd1.oe_interfaced_flag = 'Y')
order by 1,2,3;
Comments: Please provide the raw trace file and debug log file of Interface Trip Stop process (with debug settings as per Metalink Note 290432.1) for a similar order(with same order type, item where user ships partial quantity). These outputs are needed to verify if there are any intermediate commits either in the custom code or supported package extensions/hooks.
Apply split_line_trigger.sql to stop future occurences of this issue. Log a bug once a process(like ITS) errors out because of this trigger.
3) Model components are interfaced to OM but the Model line is failing OM interface.
select wdd.source_header_number, wdd.source_line_id, wdd.delivery_detail_id from wsh_delivery_details wdd,oe_order_lines_all ol
where wdd.source_code = 'OE'
and wdd.released_status = 'C'
and trunc(wdd.creation_date) > sysdate-365
and wdd.source_line_id = wdd.top_model_line_id
and wdd.oe_interfaced_flag in ('N','P')
and wdd.source_line_id = ol.line_id
and ol.open_flag = 'N'
and not exists (select 'x'
from wsh_delivery_details wdd1
where wdd.top_model_line_id = wdd1.top_model_line_id
and wdd1.source_code = 'OE'
and wdd1.released_status <> 'D'
and wdd1.oe_interfaced_flag = 'Y'
and wdd1.released_status = 'C'
and wdd1.source_line_id <> wdd.top_model_line_id)
order by 1;
4) Trip Stop/delivery do not show up in ITS LOV but some of the details are not OM/INV interfaced.
select distinct wdd.source_header_number, wts.stop_id, wts.trip_id from wsh_delivery_details wdd,wsh_delivery_assignments wda,wsh_new_deliveries wnd, wsh_delivery_legs wdl,wsh_trip_stops wts
where wdd.source_code = 'OE'
and wdd.released_status = 'C'
and (wdd.oe_interfaced_flag in ('N','P') or wdd.inv_interfaced_flag in ('N','P'))
and wdd.delivery_detail_id = wda.delivery_detail_id
and trunc(wdd.creation_date) > sysdate -365
and wda.delivery_id = wnd.delivery_id
and wnd.delivery_id = wdl.delivery_id
and wdl.pick_up_stop_id = wts.stop_id
and nvl(wts.pending_interface_flag,'X') <> 'Y'
order by 1;
5) Inventory Interface/Interface Trip stop log file shows 'Requisition Line not found' message and the details are not INV interfaced.
select wdd.source_header_number,wdd.source_header_id,wdd.source_line_id,wdd.delivery_detail_id
from wsh_delivery_details wdd,oe_order_lines_all ol
where wdd.source_code = 'OE'
and wdd.source_line_id = ol.line_id
and trunc(wdd.creation_date) > sysdate -365
and wdd.released_status <> 'D'
and nvl(wdd.inv_interfaced_flag,'N') in ('N','P')
and wdd.source_line_id = ol.line_id
and ol.source_document_type_id = 10
and not exists ( select 'x'
from po_requisition_lines_all pl,
po_req_distributions_all pd
where pl.requisition_line_id = ol.source_document_line_id
and pl.requisition_header_id = ol.source_document_id
and pl.requisition_line_id = pd.requisition_line_id)
order by 1,3,4;
6) ITS completes with 'Batch is not yet fully interfaced to OM'.
You need to use one of the following queries depending on the symptoms.
i) Use this query if the shipped quantity on details is 0/null and the released status is 'Shipped'.
select distinct wdd.source_header_number, wdd.delivery_detail_id,wdd.creation_date
from wsh_delivery_details wdd
where wdd.source_code = 'OE'
and wdd.released_status = 'C'
and nvl(wdd.shipped_quantity,0) = 0
and wdd.oe_interfaced_flag = 'N'
and trunc(wdd.creation_date) > sysdate -365
order by 1,2;
Comments: Apply trigger ship_qty_zero_trig.sql to stop future occurences of this issue. Log a bug once a process(like 'Ship Confirm'/'Close Stop') errors out because of this trigger.
ii) Otherwise, use this one
select wdd.source_header_number,wdd.source_line_id,ol.shipping_quantity,ol.flow_status_code, wdd.delivery_detail_id,wdd.creation_date
from wsh_delivery_details wdd,oe_order_lines_all ol
where wdd.source_code = 'OE'
and wdd.released_status = 'C'
and wdd.source_line_id = ol.line_id
and wdd.oe_interfaced_flag = 'P'
and trunc(wdd.creation_date) > sysdate -365
order by 1,2,5;
7) Interface trip Stops program errors out with "for this transaction row the serial records are missing".
select wdd.source_header_number , wdd.delivery_detail_id, wdd.shipped_quantity,
wdd.transaction_temp_id, msi.serial_number_control_code
from wsh_delivery_details wdd, mtl_system_items msi
where wdd.released_status = 'C'
and wdd.source_code = 'OE'
and wdd.oe_interfaced_flag = 'Y'
and wdd.inv_interfaced_flag in ('N','P')
and wdd.inventory_item_id = msi.inventory_item_id
and wdd.organization_id = msi.organization_id
and wdd.transaction_temp_id is null
and exists (
select 'x'
from wsh_serial_numbers wsn where wsn.delivery_detail_id = wdd.delivery_detail_id );
Subscribe to:
Posts (Atom)