OE_ORDER_PUB.PROCESS_ORDER ( Sample Script for R12)

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;
/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值