Below script will help you to import an Order through API
OE_ORDER_PUB.PROCESS_ORDER
SCRIPT:
SET SERVEROUTPUT
ON;
DECLARE
v_api_version_number
NUMBER
:=
1
;
v_return_status
VARCHAR2
(
2000
);
v_msg_count
NUMBER
;
v_msg_data
VARCHAR2
(
2000
);
-- IN Variables --
v_header_rec oe_order_pub
.header_rec_type
;
v_line_tbl oe_order_pub
.line_tbl_type
;
v_action_request_tbl oe_order_pub
.request_tbl_type
;
v_line_adj_tbl oe_order_pub
.line_adj_tbl_type
;
-- OUT Variables --
v_header_rec_out oe_order_pub
.header_rec_type
;
v_header_val_rec_out oe_order_pub
.header_val_rec_type
;
v_header_adj_tbl_out oe_order_pub
.header_adj_tbl_type
;
v_header_adj_val_tbl_out oe_order_pub
.header_adj_val_tbl_type
;
v_header_price_att_tbl_out oe_order_pub
.header_price_att_tbl_type
;
v_header_adj_att_tbl_out oe_order_pub
.header_adj_att_tbl_type
;
v_header_adj_assoc_tbl_out oe_order_pub
.header_adj_assoc_tbl_type
;
v_header_scredit_tbl_out oe_order_pub
.header_scredit_tbl_type
;
v_header_scredit_val_tbl_out oe_order_pub
.header_scredit_val_tbl_type
;
v_line_tbl_out oe_order_pub
.line_tbl_type
;
v_line_val_tbl_out oe_order_pub
.line_val_tbl_type
;
v_line_adj_tbl_out oe_order_pub
.line_adj_tbl_type
;
v_line_adj_val_tbl_out oe_order_pub
.line_adj_val_tbl_type
;
v_line_price_att_tbl_out oe_order_pub
.line_price_att_tbl_type
;
v_line_adj_att_tbl_out oe_order_pub
.line_adj_att_tbl_type
;
v_line_adj_assoc_tbl_out oe_order_pub
.line_adj_assoc_tbl_type
;
v_line_scredit_tbl_out oe_order_pub
.line_scredit_tbl_type
;
v_line_scredit_val_tbl_out oe_order_pub
.line_scredit_val_tbl_type
;
v_lot_serial_tbl_out oe_order_pub
.lot_serial_tbl_type
;
v_lot_serial_val_tbl_out oe_order_pub
.lot_serial_val_tbl_type
;
v_action_request_tbl_out oe_order_pub
.request_tbl_type
;
BEGIN
DBMS_OUTPUT
.PUT_LINE
(
'Starting of script'
);
-- Setting the Enviroment --
mo_global
.init
(
'ONT'
);
fnd_global
.apps_initialize
( user_id
=>
123
,resp_id
=>
456
,resp_appl_id
=>
789
);
mo_global
.set_policy_context
(
'S'
,
785
);
-- Header Record --
v_header_rec
:= oe_order_pub
.g_miss_header_rec
;
v_header_rec
.operation
:= oe_globals
.g_opr_create
;
v_header_rec
.order_type_id
:=
1005
;
v_header_rec
.sold_to_org_id
:=
7157
;
v_header_rec
.ship_to_org_id
:=
5480
;
v_header_rec
.invoice_to_org_id
:=
5181
;
v_header_rec
.order_source_id
:=
0
;
v_header_rec
.booked_flag
:=
'N'
;
v_header_rec
.price_list_id
:=
7018
;
v_header_rec
.pricing_date
:=
SYSDATE;
v_header_rec
.flow_status_code
:=
'ENTERED'
;
v_header_rec
.cust_po_number
:=
'99478222532'
;
v_header_rec
.sold_from_org_id
:=
83
;
v_header_rec
.salesrep_id
:=
-
3
;
v_header_rec
.transactional_curr_code
:=
'GBP'
;
v_action_request_tbl
(
1
)
:= oe_order_pub
.g_miss_request_rec
;
-- Line Record --
v_line_tbl
(
1
)
:= oe_order_pub
.g_miss_line_rec
;
v_line_tbl
(
1
).operation
:= oe_globals
.g_opr_create
;
v_line_tbl
(
1
).inventory_item_id
:=
27893
;
v_line_tbl
(
1
).ordered_quantity
:=
1
;
v_line_tbl
(
1
).unit_selling_price
:=
2000
;
v_line_tbl
(
1
).calculate_price_flag
:=
'Y'
;
DBMS_OUTPUT
.PUT_LINE
(
'Starting of API'
);
-- Calling the API to create an Order --
OE_ORDER_PUB.PROCESS_ORDER
(
p_api_version_number
=> v_api_version_number
, p_header_rec
=> v_header_rec
, p_line_tbl
=> v_line_tbl
, p_action_request_tbl
=> v_action_request_tbl
, p_line_adj_tbl
=> v_line_adj_tbl
-- OUT variables
, x_header_rec
=> v_header_rec_out
, x_header_val_rec
=> v_header_val_rec_out
, x_header_adj_tbl
=> v_header_adj_tbl_out
, x_header_adj_val_tbl
=> v_header_adj_val_tbl_out
, x_header_price_att_tbl
=> v_header_price_att_tbl_out
, x_header_adj_att_tbl
=> v_header_adj_att_tbl_out
, x_header_adj_assoc_tbl
=> v_header_adj_assoc_tbl_out
, x_header_scredit_tbl
=> v_header_scredit_tbl_out
, x_header_scredit_val_tbl
=> v_header_scredit_val_tbl_out
, x_line_tbl
=> v_line_tbl_out
, x_line_val_tbl
=> v_line_val_tbl_out
, x_line_adj_tbl
=> v_line_adj_tbl_out
, x_line_adj_val_tbl
=> v_line_adj_val_tbl_out
, x_line_price_att_tbl
=> v_line_price_att_tbl_out
, x_line_adj_att_tbl
=> v_line_adj_att_tbl_out
, x_line_adj_assoc_tbl
=> v_line_adj_assoc_tbl_out
, x_line_scredit_tbl
=> v_line_scredit_tbl_out
, x_line_scredit_val_tbl
=> v_line_scredit_val_tbl_out
, x_lot_serial_tbl
=> v_lot_serial_tbl_out
, x_lot_serial_val_tbl
=> v_lot_serial_val_tbl_out
, x_action_request_tbl
=> v_action_request_tbl_out
, x_return_status
=> v_return_status
, x_msg_count
=> v_msg_count
, x_msg_data
=> v_msg_data
);
DBMS_OUTPUT
.PUT_LINE
(
'Completion of API'
);
IF v_return_status
= fnd_api
.g_ret_sts_success
THEN
COMMIT;
DBMS_OUTPUT
.put_line
(
'Order Import Success : '||v_header_rec_out
.header_id
);
ELSE
DBMS_OUTPUT
.put_line
(
'Order Import failed:'||v_msg_data
);
ROLLBACK;
FOR i
IN
1
.. v_msg_count
LOOP
v_msg_data
:= oe_msg_pub
.get
( p_msg_index
=> i
, p_encoded
=>
'F'
);
dbms_output
.put_line
( i||
') '|| v_msg_data
);
END
LOOP
;
END
IF;
END;
/