Infolinks

Friday 6 July 2012

API-OE ORDER CONVERSION USING API

OE ORDER CONVERSION USING API

DECLARE
v_api_version_number           NUMBER    := 1;
v_return_status                VARCHAR2(2000);
v_msg_count                    NUMBER;
v_msg_data                     VARCHAR2(2000);
--apps initilization variables
 x_user_id                       NUMBER      :=Fnd_Profile.VALUE('USER_ID');--profile value
    x_resp_id                       NUMBER      :=fnd_global.resp_id;
    x_appl_id                       NUMBER      :=fnd_global.resp_appl_id;
    x_org_id                        NUMBER      :=fnd_global.org_id;
    x_login_id                      NUMBER      :=Fnd_Profile.VALUE('LOGIN_ID');
   
-- 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(x_user_id, x_resp_id, x_appl_id,x_login_id);
    DBMS_OUTPUT.PUT_LINE('API Execution Started');
   
              FND_MSG_PUB.INITIALIZE;
-- 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          := 1000;
  v_header_rec.sold_to_org_id         := 5454;
v_header_rec.ship_to_org_id         := 7233;
v_header_rec.invoice_to_org_id      := 6505;
v_header_rec.order_source_id        := 0;
v_header_rec.booked_flag            := 'N';
v_header_rec.price_list_id          := 1000;
v_header_rec.pricing_date           := SYSDATE;
v_header_rec.flow_status_code       := 'ENTERED';
v_header_rec.cust_po_number         := null;
v_header_rec.sold_from_org_id       := 204;
 v_header_rec.salesrep_id            := 1006;
 v_header_rec.transactional_curr_code:= 'USD';
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    := 149;
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;

No comments:

Post a Comment