Sales Order line Reservation API
Hi All,
how to do reserve the sales order line by using plsql program. Can you provide the API name which i can use for sales order line reservation.
thanks
reddy
Hi,
Please mention the application release and the OS. Also, post the code of the API you are using.
Please See if these documents are applicable.
Note: 887776.1 - NO LOT VALIDATION AFTER PATCH 4649626
Note: 396645.1 - "APP-GMI-83119 Invalid lot no" While Transferring from Newly Created Lot with Null Inventory
Note: 428393.1 - Cannot Move Lot with No Onhand Inventory
Regards,
Hussein
Similar Messages
-
Can anyone tell me how to insert the new sales order lines using API.
Hi,
I am trying to Insert new sales order lines using oe_order_pub.Process_Order API, but i am unable to insert.
Help me on this.
Thanks in Adavance
Shravan Kumar.Hi,
Have you checked this link?
http://download-west.oracle.com/docs/cd/B25516_08/current/acrobat/115omapi.zip
it has extensive information on OM APIs
Regards
Prashant Pathak -
Unable to cancel sales order line using API
Hi,
After running the below API script I am getting the error message as
Error Message: FND FND_AS_UNEXPECTED_ERROR N PKG_NAME OE_Order_PVT N
PROCEDURE_NAME Process_Order N ERROR_TEXT ORA-01403: no data found
Help me out to fix the issue.
Please find the code below :
create or replace procedure xxso_line_cancel
is
l_user_id NUMBER;
l_resp_id NUMBER;
l_appl_id NUMBER;
l_header_rec_in oe_order_pub.header_rec_type;
l_line_tbl_in oe_order_pub.line_tbl_type;
l_action_request_tbl_in oe_order_pub.request_tbl_type;
l_header_rec_out oe_order_pub.header_rec_type;
l_line_tbl_out oe_order_pub.line_tbl_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_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;
l_line_price_att_tbl_out oe_order_pub.line_price_att_tbl_type;
l_line_adj_att_tbl_out oe_order_pub.line_adj_att_tbl_type;
l_line_adj_assoc_tbl_out oe_order_pub.line_adj_assoc_tbl_type;
l_line_scredit_tbl_out oe_order_pub.line_scredit_tbl_type;
l_line_scredit_val_tbl_out oe_order_pub.line_scredit_val_tbl_type;
l_lot_serial_tbl_out oe_order_pub.lot_serial_tbl_type;
l_lot_serial_val_tbl_out oe_order_pub.lot_serial_val_tbl_type;
l_action_request_tbl_out oe_order_pub.request_tbl_type;
l_chr_program_unit_name VARCHAR2 (100);
l_ret_status VARCHAR2 (1000) := NULL;
l_msg_count NUMBER := 0;
l_msg_data VARCHAR2 (2000);
l_api_version NUMBER := 1.0;
CURSOR c_so_details
IS
SELECT ol.line_number, ol.shipment_number, ol.header_id, ol.line_id, ol.flow_status_code
FROM
oe_order_headers_all oh,
oe_order_lines_all ol
WHERE
ol.header_id = oh.header_id
AND ol.flow_status_code IN ('AWAITING_SHIPPING','ENTERED')
AND oh.flow_status_code IN ('BOOKED', 'ENTERED')
and oh.header_id = 34756
and line_number=1;
begin
fnd_global.apps_initialize ( user_id => 1257 ,resp_id => 21623 , resp_appl_id => 660);
mo_global.set_policy_context('S',122);
mo_global.init('ONT');
FOR i IN c_so_details
LOOP
l_line_tbl_in (1) := oe_order_pub.g_miss_line_rec;
l_line_tbl_in (1).line_id := i.line_id;
l_line_tbl_in (1).ordered_quantity := 0;
l_line_tbl_in (1).cancelled_quantity := 4;
l_line_tbl_in (1).cancelled_flag := 'Y';
l_line_tbl_in (1).change_reason := '1'; --Administrative Reason
l_line_tbl_in (1).change_comments := 'Cancel Order Line with reference to ticket#000000';
l_line_tbl_in (1).operation := oe_globals.g_opr_update;
oe_msg_pub.delete_msg;
oe_order_pub.process_order
(p_api_version_number => l_api_version,
p_init_msg_list => fnd_api.g_true,
p_return_values => fnd_api.g_true,
p_action_commit => fnd_api.g_true,
p_line_tbl => l_line_tbl_in,
x_header_rec => l_header_rec_out,
x_header_val_rec => l_header_val_rec_out,
x_header_adj_tbl => l_header_adj_tbl_out,
x_header_adj_val_tbl => l_header_adj_val_tbl_out,
x_header_price_att_tbl => l_header_price_att_tbl_out,
x_header_adj_att_tbl => l_header_adj_att_tbl_out,
x_header_adj_assoc_tbl => l_header_adj_assoc_tbl_out,
x_header_scredit_tbl => l_header_scredit_tbl_out,
x_header_scredit_val_tbl => l_header_scredit_val_tbl_out,
x_line_tbl => l_line_tbl_out,
x_line_val_tbl => l_line_val_tbl_out,
x_line_adj_tbl => l_line_adj_tbl_out,
x_line_adj_val_tbl => l_line_adj_val_tbl_out,
x_line_price_att_tbl => l_line_price_att_tbl_out,
x_line_adj_att_tbl => l_line_adj_att_tbl_out,
x_line_adj_assoc_tbl => l_line_adj_assoc_tbl_out,
x_line_scredit_tbl => l_line_scredit_tbl_out,
x_line_scredit_val_tbl => l_line_scredit_val_tbl_out,
x_lot_serial_tbl => l_lot_serial_tbl_out,
x_lot_serial_val_tbl => l_lot_serial_val_tbl_out,
x_action_request_tbl => l_action_request_tbl_out,
x_return_status => l_ret_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
commit;
l_msg_data := NULL;
IF l_ret_status <> 'S'
THEN
FOR iindx IN 1 .. l_msg_count
LOOP
l_msg_data := l_msg_data || ' ' || oe_msg_pub.get (iindx);
END LOOP;
DBMS_OUTPUT.put_line ('Return Status: ' || l_ret_status);
DBMS_OUTPUT.put_line ('Error Message: ' || l_msg_data);
ELSE
DBMS_OUTPUT.put_line ('Return Status: ' || l_ret_status);
DBMS_OUTPUT.put_line ('Error Message: ' || l_msg_data);
END IF;
END LOOP;
END;Hi,
After running the below API script I am getting the error message as
Error Message: FND FND_AS_UNEXPECTED_ERROR N PKG_NAME OE_Order_PVT N
PROCEDURE_NAME Process_Order N ERROR_TEXT ORA-01403: no data found
Help me out to fix the issue.
Please find the code below :
create or replace procedure xxso_line_cancel
is
l_user_id NUMBER;
l_resp_id NUMBER;
l_appl_id NUMBER;
l_header_rec_in oe_order_pub.header_rec_type;
l_line_tbl_in oe_order_pub.line_tbl_type;
l_action_request_tbl_in oe_order_pub.request_tbl_type;
l_header_rec_out oe_order_pub.header_rec_type;
l_line_tbl_out oe_order_pub.line_tbl_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_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;
l_line_price_att_tbl_out oe_order_pub.line_price_att_tbl_type;
l_line_adj_att_tbl_out oe_order_pub.line_adj_att_tbl_type;
l_line_adj_assoc_tbl_out oe_order_pub.line_adj_assoc_tbl_type;
l_line_scredit_tbl_out oe_order_pub.line_scredit_tbl_type;
l_line_scredit_val_tbl_out oe_order_pub.line_scredit_val_tbl_type;
l_lot_serial_tbl_out oe_order_pub.lot_serial_tbl_type;
l_lot_serial_val_tbl_out oe_order_pub.lot_serial_val_tbl_type;
l_action_request_tbl_out oe_order_pub.request_tbl_type;
l_chr_program_unit_name VARCHAR2 (100);
l_ret_status VARCHAR2 (1000) := NULL;
l_msg_count NUMBER := 0;
l_msg_data VARCHAR2 (2000);
l_api_version NUMBER := 1.0;
CURSOR c_so_details
IS
SELECT ol.line_number, ol.shipment_number, ol.header_id, ol.line_id, ol.flow_status_code
FROM
oe_order_headers_all oh,
oe_order_lines_all ol
WHERE
ol.header_id = oh.header_id
AND ol.flow_status_code IN ('AWAITING_SHIPPING','ENTERED')
AND oh.flow_status_code IN ('BOOKED', 'ENTERED')
and oh.header_id = 34756
and line_number=1;
begin
fnd_global.apps_initialize ( user_id => 1257 ,resp_id => 21623 , resp_appl_id => 660);
mo_global.set_policy_context('S',122);
mo_global.init('ONT');
FOR i IN c_so_details
LOOP
l_line_tbl_in (1) := oe_order_pub.g_miss_line_rec;
l_line_tbl_in (1).line_id := i.line_id;
l_line_tbl_in (1).ordered_quantity := 0;
l_line_tbl_in (1).cancelled_quantity := 4;
l_line_tbl_in (1).cancelled_flag := 'Y';
l_line_tbl_in (1).change_reason := '1'; --Administrative Reason
l_line_tbl_in (1).change_comments := 'Cancel Order Line with reference to ticket#000000';
l_line_tbl_in (1).operation := oe_globals.g_opr_update;
oe_msg_pub.delete_msg;
oe_order_pub.process_order
(p_api_version_number => l_api_version,
p_init_msg_list => fnd_api.g_true,
p_return_values => fnd_api.g_true,
p_action_commit => fnd_api.g_true,
p_line_tbl => l_line_tbl_in,
x_header_rec => l_header_rec_out,
x_header_val_rec => l_header_val_rec_out,
x_header_adj_tbl => l_header_adj_tbl_out,
x_header_adj_val_tbl => l_header_adj_val_tbl_out,
x_header_price_att_tbl => l_header_price_att_tbl_out,
x_header_adj_att_tbl => l_header_adj_att_tbl_out,
x_header_adj_assoc_tbl => l_header_adj_assoc_tbl_out,
x_header_scredit_tbl => l_header_scredit_tbl_out,
x_header_scredit_val_tbl => l_header_scredit_val_tbl_out,
x_line_tbl => l_line_tbl_out,
x_line_val_tbl => l_line_val_tbl_out,
x_line_adj_tbl => l_line_adj_tbl_out,
x_line_adj_val_tbl => l_line_adj_val_tbl_out,
x_line_price_att_tbl => l_line_price_att_tbl_out,
x_line_adj_att_tbl => l_line_adj_att_tbl_out,
x_line_adj_assoc_tbl => l_line_adj_assoc_tbl_out,
x_line_scredit_tbl => l_line_scredit_tbl_out,
x_line_scredit_val_tbl => l_line_scredit_val_tbl_out,
x_lot_serial_tbl => l_lot_serial_tbl_out,
x_lot_serial_val_tbl => l_lot_serial_val_tbl_out,
x_action_request_tbl => l_action_request_tbl_out,
x_return_status => l_ret_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
commit;
l_msg_data := NULL;
IF l_ret_status <> 'S'
THEN
FOR iindx IN 1 .. l_msg_count
LOOP
l_msg_data := l_msg_data || ' ' || oe_msg_pub.get (iindx);
END LOOP;
DBMS_OUTPUT.put_line ('Return Status: ' || l_ret_status);
DBMS_OUTPUT.put_line ('Error Message: ' || l_msg_data);
ELSE
DBMS_OUTPUT.put_line ('Return Status: ' || l_ret_status);
DBMS_OUTPUT.put_line ('Error Message: ' || l_msg_data);
END IF;
END LOOP;
END; -
Unable to insert the new sales order line using API.
Hi,
when i am tring to insert the deleted line with ENTERED Status, i am getting the follwing error msg.
Yesterday morning i insert the lines, but from yesterday evening onwords i am unable to insert line and i am getting below error msg.
Item with inventory_item_id=394131 is not defined in Item validation Org
i written the code like this
l_step varchar2(250);
l_err_msg varchar2(1000);
l_line_tbl oe_order_pub.Line_Tbl_Type;
lx_return_status VARCHAR2(2000);
lx_msg_count NUMBER;
lx_msg_data VARCHAR2(2000);
lx_header_rec oe_order_pub.Header_Rec_Type;
lx_header_val_rec oe_order_pub.Header_Val_Rec_Type;
lx_header_adj_tbl oe_order_pub.Header_Adj_Tbl_Type;
lx_header_adj_val_tbl oe_order_pub.Header_Adj_Val_Tbl_Type;
lx_header_price_att_tbl oe_order_pub.Header_Price_Att_Tbl_Type;
lx_header_adj_att_tbl oe_order_pub.Header_Adj_Att_Tbl_Type;
lx_header_adj_assoc_tbl oe_order_pub.Header_Adj_Assoc_Tbl_Type;
lx_header_scredit_tbl oe_order_pub.Header_Scredit_Tbl_Type;
lx_header_scredit_val_tbl oe_order_pub.Header_Scredit_Val_Tbl_Type;
lx_Header_Payment_tbl oe_order_pub.Header_Payment_Tbl_Type;
lx_Header_Payment_val_tbl oe_order_pub.Header_Payment_Val_Tbl_Type;
lx_line_tbl oe_order_pub.Line_Tbl_Type;
lx_line_val_tbl oe_order_pub.Line_Val_Tbl_Type;
lx_Line_Adj_tbl oe_order_pub.Line_Adj_Tbl_Type;
lx_Line_Adj_val_tbl oe_order_pub.Line_Adj_Val_Tbl_Type;
lx_Line_price_Att_tbl oe_order_pub.Line_Price_Att_Tbl_Type;
lx_Line_Adj_Att_tbl oe_order_pub.Line_Adj_Att_Tbl_Type;
lx_Line_Adj_Assoc_tbl oe_order_pub.Line_Adj_Assoc_Tbl_Type;
lx_Line_Scredit_tbl oe_order_pub.Line_Scredit_Tbl_Type;
lx_Line_Scredit_val_tbl oe_order_pub.Line_Scredit_Val_Tbl_Type;
lx_Line_Payment_tbl oe_order_pub.Line_Payment_Tbl_Type;
lx_Line_Payment_val_tbl oe_order_pub.Line_Payment_Val_Tbl_Type;
lx_Lot_Serial_tbl oe_order_pub.Lot_Serial_Tbl_Type;
lx_Lot_Serial_val_tbl oe_order_pub.Lot_Serial_Val_Tbl_Type;
lx_action_request_tbl oe_order_pub.Request_Tbl_Type;
v_hold_release_rec OE_HOLDS_PVT.order_tbl_type;
v_hold_source_rec OE_HOLDS_PVT.Hold_Source_Rec_Type;
v_err_msg VARCHAR2(2000);
v_return_flag VARCHAR2(1);
v_err_flag VARCHAR2(1);
BEGIN
FOR c_ins_rec in (SELECT *
FROM terom_sales_order_lines_stg
LOOP
IF c_ins_rec.flow_status_code = 'ENTERED' THEN
-- ASSIGNMENT OF LINE RECORD FOR ENTERED STATUS
l_line_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_REC;
l_line_tbl(1).header_id := c_ins_rec.header_id;
l_line_tbl(1).inventory_item_id := c_ins_rec.inventory_item_id;
l_line_tbl(1).ordered_quantity := c_ins_rec.ordered_quantity;
l_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
ELSE
-- ASSIGNMENT OF LINE RECORD
l_line_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_REC;
l_line_tbl(1).header_id := c_ins_rec.header_id;
l_line_tbl(1).inventory_item_id := c_ins_rec.inventory_item_id;
l_line_tbl(1).ordered_quantity := c_ins_rec.cancelled_quantity;
l_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
END IF;
-- API CALL
APPS.OE_ORDER_PUB.PROCESS_ORDER(
p_api_version_number => 1.0,
p_init_msg_list => apps.fnd_api.g_true,
p_return_values => apps.fnd_api.g_false,
x_return_status => lx_return_status,
x_msg_count => lx_msg_count,
x_msg_data => lx_msg_data,
p_line_tbl => l_line_tbl,
x_header_rec => lx_header_rec,
x_header_val_rec => lx_header_val_rec,
x_header_adj_tbl => lx_header_adj_tbl,
x_header_adj_val_tbl => lx_header_adj_val_tbl,
x_header_price_att_tbl => lx_header_price_att_tbl,
x_header_adj_att_tbl => lx_header_adj_att_tbl,
x_header_adj_assoc_tbl => lx_header_adj_assoc_tbl,
x_header_scredit_tbl => lx_header_scredit_tbl,
x_header_scredit_val_tbl => lx_header_scredit_val_tbl,
x_line_tbl => lx_line_tbl,
x_line_val_tbl => lx_line_val_tbl,
x_line_adj_tbl => lx_line_adj_tbl,
x_line_adj_val_tbl => lx_line_adj_val_tbl,
x_line_price_att_tbl => lx_line_price_att_tbl,
x_line_adj_att_tbl => lx_line_adj_att_tbl,
x_line_adj_assoc_tbl => lx_line_adj_assoc_tbl,
x_line_scredit_tbl => lx_line_scredit_tbl,
x_line_scredit_val_tbl => lx_line_scredit_val_tbl,
x_lot_serial_tbl => lx_lot_serial_tbl,
x_lot_serial_val_tbl => lx_lot_serial_val_tbl,
x_action_request_tbl => lx_action_request_tbl
COMMIT;
can any one help me why this error mesg is coming, it's very URGENT.
Thank,
Shravan Kumar Kota.Hi,
Have you checked this link?
http://download-west.oracle.com/docs/cd/B25516_08/current/acrobat/115omapi.zip
it has extensive information on OM APIs
Regards
Prashant Pathak -
Can we modify sales order line item before its booked through API?
can we modify sales order line item before its booked through process_order API?
here we have a situation where related item should be substituted for actual order item when user selects the related item , So looking for a way to modify the ordered item on sales order line .
Thanks,Hi
There is an API to update the Related Item on the line level in the Sales Order.
PROCESS_ORDER API can be used for this purpose. It is part of OE_ORDER_PUB.
Below are the fields on line table type that will be assigned to create an order line with related item and original ordered item.
ORIGINAL_ORDERED_ITEM : Original Item
ORDERED_ITEM : Related Item
ITEM_RELATIONSHIP_TYPE : Type of Relationship.
Please go ahead and try to create it like this. I am pretty sure that it will get the order created with related items.
Note: Please make sure the profile option
OM: Enable Related Items
should be enabled.
Please mark the response as helpful or correct if it provides you the solution.
Thanks
Mirza Tanzeel -
URGENT: API to Schedule Sales Order Line
Hi,
Could anybody share me API to schedule sales order line? Actuaaly I need to release sales order by API but first need to do scheduling for lines.
Thanks,Hi;
Please check Hussein Sawwan greatest post about similar topic:
API
Fixed Asset API
please also check:
Api's in EBS
Re: Api's in EBS
http://sairamgoudmalla.blogspot.com/2009/05/script-to-find-oracle-apis-for-any.html
Hope it helps
Regard
Helios -
Error in cancelling sales order line using process order API
Hi,
I have created a sales order which is in booked status. I want to cancel the order line . when I am running the concurrent request I am getting the following error message.I am using the process order API to perform this operation.
API Error Message You are not allowed to update Inventory Item because:
line has been booked
API Error Message You are not allowed to update Line Type because:
Line is Booked
Can anyone help.
thanks
AshwiniHi,
What is the application release?
What concurrent program you are running? Is it a custom or seeded one? And, what is the API name?
Please see if these docs are applicable.
Unable To Manual Mass Update Items For Multiple Booked Sales Order Lines [ID 887905.1]
Cannot Update Ordered Item To Related Item On Booked Sales Order Line [ID 298796.1]
Thanks,
Hussein -
Sales Order Line Hold Release from API
Hi Expecrts,
I need one help, by using pl/sql program i want to hold release sales order line, I can see the oe_hold_pub api. but it contain three release_hold procedures. Which one i can use? what parameter i need to pass for line level only. line level release_hold should not impact to header level holds.
if possible, please can you provide the api and its parameters.
Thanks
reddyPut an audit trail on the ordered_quantity field and use oe_order_lines_all_ac1 view.
It will give you what you need.
Hope this helps,
Sandeep Gandhi -
SALES ORDER LINE IS CANCELLED BUT DELIVERY DETAIL IS SHOING AS BACKORDERED
SALES ORDER LINE IS CANCELLED BUT still the DELIVERY DETAIL IS showing as BACKORDERED it should be in cancelled
status.The Sales order (only one ex:3904854) is cancelled , however order in shipping transactions screen indicates order is on backorder.
at that time of order cancellation the line level workflow error out due to the Workflow package is inactive .
I tried to resubmit the error out workflow using retry option from the responsibility “Workflow Administrator” the workflow is completed with forcible option but still the delivery detail is in back order status not changing it to cancel status.
Error Name :-4068 [Error Process Error: WF Error Message: ORA-04068: existing state of packages has been discarded
ORA-04061: existing state of package body "APPS.XRX_SUPPLIES_NEW_WF_PKG" has been invalidated
ORA-04065: not executed, altered or dropped package body "APPS.XRX_SUPPLIES_NEW_WF_PKG"
ORA-06508: PL/SQL: could not find program unit being called: "APPS.XRX_SUPPLIES_NEW_WF_PKG" [Error Process Error: 3114: Activity 'WFERROR/R_ERROR_RETRY' is not a process.]
Error Stack: Wf_Engine_Util.Function_Call(XRX_SUPPLIES_NEW_WF_PKG.XRX_CLOSE_LINE_DETAILS, OEOL, 55098479, 195982, RUN)
[Error Process Error: Wf_Engine.CreateProcess(WFERROR, WF5147218, R_ERROR_RETRY) ]Mohan
You need a simple script to get the status corrected. Log an SR or search metalink for the script. I am sure there is one out there (if you search with the orphan reservations). This script supported, but not exactly targeted at your problem But it will solve it. You can log an SR and confirm.
Thanks
Nagamohan -
Cancel Sales Order lines that are picked
Hi
1. I'm trying to cancel sales order lines through process order api that are picked and delivery status is Staged/Pick Confirmed. The error is
You are not allowed to cancel Order Line because:
Line has been pick confirmed/staged.
I'm unable to perform by below means
1.There is a processing constraint on the field SCHEDULE_ARRIVAL_DATE.
Delete the processing constraint and retry the cancel line process - Processing constraint form the fields are protected against update
2.Navigate to the shipping transaction form and query the order. Select the line and enter 0 at shipped quantity.Save the record.Ship confirm the line, this will cause the line to be backordered.Query the order line in the order entry form and cancel this. - Shipping transactions form the fields are protected against update
2. Is there a way to cancel Internal Sales Order(ISO) lines of one OU and the corresponding internal requisition is another OU
Thanks
kumarIf you are in R12, there are some enhancements from Oracle that allows updating/cancelling certain Internal requistion fields and Internal orders automatically. You may need to disable few processing constraints too.
As of Now Oracle support change to following attribute at OM side
1 Order Quantity
2 Request Date
3 Schedule date
4 Arrival date
Similarly if we make changes in following fields in Approved IR
1 Quantity
2 Need by Date
These changes will got reflected in ISO
Plus cancel the IR line or ISO line, the other one gets cancelled automaically.
To cancel the picked line, first undo the pick confirmation process by back ordering. or unassign the delivery details from the delivery (if created already) and cancel the delivery.In either case, you need to manually trasnfer the qty from staging area to original locations. Oracle doesn't automatically move the qty back, (undo move order transaction).
Ganesan. -
Unable to copy the Price Modifiers associated with a Sales Order Line
Dear All,
I am copying Sales Order Line using the process_order API. I was not able to copy the Price Modifiers associated with the Lines. How can I accomplish this..?
Is there any API available for copying the Price Modifier info associated with the Sales Order Line..?
Environment is 11i and OS is SUN Solaris
Please update...
Many thanks in advance..Hello All,
Please let me know is this possible to have the list of Invoices for an associated Sales Order.
Thanks,
Abdul -
Create multiple single unit wip jobs for total sales order line qty
Hi all,
I want to know if there's a standard way to create multiple single unit wip jobs from a sales order line which has 2 or more units, i mean...
I have a sales order line with item A with 3 units. If I progress the sales order, a single job is automatically created in WIP with 3 units to be created. What i want is to create 3 jobs with one unit each, all of them linked to the sales line order...
Thanks in advance!
Regards!
Answered.........
Edited by: user604737 on Nov 10, 2010 3:51 PMHi Sandeep
We have similar requirement (SO qty = 3 then 3 WIP jobs should be created). However when planning releases WIP jobs it does not tie back(reserve) the jobs to sales order.
Are you aware of any standard way to do the same??
Regards
Mudit Gupta -
Updating a sales order through DI API
Hi All,
I have an issue regarding updating a sales order.
The problem is:
If there r 2 items(A00001&A00002) existed in the sales order and if I am adding two more items(A00003 & 4)the sales order is updated in a fashion that first item is replaced with third item and forth item is added as last record.The items to that particular sales order after updating will be like this(A00003,A00002,A00004).My doubt is why the 3rd item is replaced with first record.I am sending the code also i have written.
objRecordSet = SBOCOMUtil.newRecordset(company);
IDocuments oOrder =SBOCOMUtil.newDocuments(company,SBOCOMConstants.BoObjectTypes_Document_oOrders);
objRecordSet.doQuery("select DocEntry from ORDR where DocNum=" + 1111);
DocEntryL =objRecordSet.getFields().item(new String("DocEntry")).getValueInteger().intValue();
str += DocEntryL;
System.out.println(DocEntryL);
if (oOrder.getByKey(new Integer(DocEntryL))) {
//objRecordSet2.doQuery("delete from rdr1 where DocEntry="+DocEntryL);
str += "2";
System.out.println(str);
//oOrder.remove();
oOrder.setDiscountPercent(new Double(5));
oOrder.setComments("success");
System.out.println(str);
IDocument_Lines oOrderLines = oOrder.getLines();
str += "3";
String[] item={"A00005","A00006"};
for (int counter = 0; counter < item.length; counter++) {
// oOrderLines.setCurrentLine(new Integer(counter));
if (counter > 0)
oOrder.getLines().add();
str += "4";
oOrderLines.setItemCode(item[counter]);
System.out.println(item[counter]);
//oOrderLines.setBaseType(new Integer(-1));
//oOrderLines.setBaseEntry(new Integer(0));
//oOrder.getLines().setCurrentLine(new Integer(counter));
//oOrderLines.setQuantity(new Double(1));
//oOrderLines.setPrice(new Double(1500));
//oOrderLines.setCurrency(strCurrency[counter]);
//oOrderLines.setLineTotal(new Double(dblLineTotal[counter]));
str += "5";
//oOrder.getLines().getUserFields().getFields().item("Quantity").setValue(new Integer(2));
System.out.println(str);
int result = oOrder.update();
str += "6" + result;
if (result == 0) {
System.out.println("successfully updated");
company.disconnect();
} else {
company.getLastErrorDescription();
System.out.println(
"Error :" + company.getLastErrorDescription());
company.disconnect();If you are using SBP 2004 there are many threads on this forum talking about bugs when updating sales order lines through DI API. This issue was supposed to be fixed with patch level 45 for 2004 which was recently released.
If u are using 2005 or SP1 I think you may have found a new bug. -
How to update UDF of sales order line of closed sales order header
Hello experts,
We are using SAP 8.81.313 PL 05 and we noticed that through SDK using businessobject SAPbobsCOM.BoObjectTypes.oOrders, we can't update an user defined field on sales order line for a sales order with header closed.
calling the method Update() it returns 0 but actually the table field was not changed !
Also we noticed that It's possible to make an update of UDF of delivery line for a delivery with header closed.
I don't understand why.
Is it a bug or the expected behavior ?
Our customer needs to change some UDF of sales order line even when the order header is CLOSED.
Please help me.
Many thanks for your time.
Best regards
AndreaHi Elio,
Yes from UI it's the expected behavior but through DI API I could update an user defined field of sales order line even if the LineStatus is equal to "C" (Closed) but only if the order header is not closed.
Regards
Andrea -
Problem with sales order line items
hey All,
I wrote a simple test program this morning Using DI API that creates and updates orders, and I found some weird behaviour:
1. Once an order is created, if a line item is deleted off the order in B1 - the updates work fine.
2. If an item is added to the end of the order, the updates work fine.
3. If an item is added in the middle of the existing line items, the next update does weird things - it swaps prices and item keys and screws up the order total.
4. If an item code is changed to an existing item (such as changing the AddModel the actual item code), the update does weird thing, same as #3.
Has anyone experienced issues such as this? Or has anyone successfully completed an application like this that works properly?Ok can anyone from SAP comment on this please? I have some more details if you want to duplicate this.
My simple program just creates a sales order from DI API. Then you complete step 2, 3, 4 as listed below using a Business One Client.
I then go back to my program and do some simple updates to the sales order through DI API using the SetCurrentLine method and looping over the Lines object count. Once I call the update method and go back into B1 to look at the order the DI API has updated the wrong items.
Anyone have any ideas or run into a similiar problem? We are desperate here for a fix.
Steps to duplicate
1. Create B1 sales order using DI API with 4 line items for example
2. In B1, delete a line item in the middle of the order
3. Change the first any item Code to a different item
4. Save the order in B1.
6. Run a sales order update from DI API.
7. Recall the order in B1 - the totals will be all jacked up and the prices will no longer match the items
Maybe you are looking for
-
Can I see my desktop on Apple TV?
Able to access my library on Apple TV for photos and music. Wanted to play a DVD and watch it on the larger TV. Thought I could do that with Apple TV (wirelessly, without HDMI cables). Please advise...
-
Password protected PDF says it is downloaded but is not
I am attempted to download a password protected PDF file using the newest version of Firefox and Adobe. Firefox says a file has been downloaded but the file is not seen in the download file or the download tab in Firefox. Any ideas what the problem i
-
"My Windows 7 Dell will see Airport network but will not connect"
"My Windows 7 Dell will see Airport network but will not connect" Can anyone help me out with this? Thanks,
-
Two different document types in MIRO
Hi Gurus, Can we have two different FI document types in MIRO for Service PO and Normal PO? Standard is RE but we want one more. Can you please suggest something? Regards,
-
Question about burning audio CD
When I select "Burn CD" and get the window where I can choose the disc format, exactly how does it choose what file format to burn when I select "Audio CD"?