Sample Script Used to Create a Sales Order With Credit Card Payment

Embed Size (px)

DESCRIPTION

Create Sales Order with Prepayment

Citation preview

Sample Script used to Create a Sales Order with credit card Payment:DECLARE l_header_rec OE_ORDER_PUB.Header_Rec_Type; x_header_rec OE_ORDER_PUB.Header_Rec_Type; l_line_tbl OE_ORDER_PUB.Line_Tbl_Type; l_action_request_tbl OE_ORDER_PUB.Request_Tbl_Type; l_header_adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type; l_line_adj_tbl OE_ORDER_PUB.line_adj_tbl_Type; l_header_scr_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type; l_line_scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type; l_request_rec OE_ORDER_PUB.Request_Rec_Type ; l_return_status VARCHAR2(1000); l_msg_count NUMBER; l_msg_data VARCHAR2(1000); p_api_version_number NUMBER :=1.0; p_init_msg_list VARCHAR2(10) := FND_API.G_FALSE; p_return_values VARCHAR2(10) := FND_API.G_FALSE; p_action_commit VARCHAR2(10) := FND_API.G_FALSE; x_return_status VARCHAR2(1); x_msg_count NUMBER; x_msg_data VARCHAR2(100); p_header_rec OE_ORDER_PUB.Header_Rec_Type := OE_ORDER_PUB.G_MISS_HEADER_REC;

p_old_header_rec OE_ORDER_PUB.Header_Rec_Type := OE_ORDER_PUB.G_MISS_HEADER_REC; p_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type := OE_ORDER_PUB.G_MISS_HEADER_VAL_REC; p_old_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type := OE_ORDER_PUB.G_MISS_HEADER_VAL_REC; p_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_TBL; p_old_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_TBL; p_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_VAL_TBL; p_old_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_VAL_TBL; p_Header_price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_PRICE_ATT_TBL; p_old_Header_Price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_PRICE_ATT_TBL; p_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_ATT_TBL; p_old_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_ATT_TBL; p_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_ASSOC_TBL; p_old_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_ASSOC_TBL; p_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_SCREDIT_TBL; p_old_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_SCREDIT_TBL; p_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_SCREDIT_VAL_TBL; p_old_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_SCREDIT_VAL_TBL; p_line_tbl OE_ORDER_PUB.Line_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_TBL; p_old_line_tbl OE_ORDER_PUB.Line_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_TBL; p_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_VAL_TBL; p_old_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_VAL_TBL; p_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_ADJ_TBL; p_old_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_ADJ_TBL; p_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_ADJ_VAL_TBL; p_old_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_ADJ_VAL_TBL; p_Line_price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_PRICE_ATT_TBL; p_old_Line_Price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_PRICE_ATT_TBL; p_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_ADJ_ATT_TBL; p_old_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_ADJ_ATT_TBL; p_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_ADJ_ASSOC_TBL; p_old_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_ADJ_ASSOC_TBL; p_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_SCREDIT_TBL; p_old_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_SCREDIT_TBL; p_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_SCREDIT_VAL_TBL; p_old_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_SCREDIT_VAL_TBL; p_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type := OE_ORDER_PUB.G_MISS_LOT_SERIAL_TBL; p_old_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type := OE_ORDER_PUB.G_MISS_LOT_SERIAL_TBL; p_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_LOT_SERIAL_VAL_TBL; p_old_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_LOT_SERIAL_VAL_TBL; p_action_request_tbl OE_ORDER_PUB.Request_Tbl_Type := OE_ORDER_PUB.G_MISS_REQUEST_TBL; x_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type; x_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type; x_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type; x_Header_price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type; x_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type; x_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type; x_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type; x_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type; x_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type; x_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type; x_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type; x_Line_price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type; x_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type; x_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type; x_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type; x_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type; x_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type; x_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type; x_action_request_tbl OE_ORDER_PUB.Request_Tbl_Type;

l_x_header_payment_rec OE_ORDER_PUB.Header_Payment_Rec_Type; l_x_header_payment_tbl OE_ORDER_PUB.Header_Payment_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_PAYMENT_TBL;

x_header_payment_tbl OE_ORDER_PUB.Header_Payment_Tbl_Type; x_Header_Payment_Val_Tbl_Type OE_ORDER_PUB.Header_Payment_Val_Tbl_Type; x_Line_Payment_Tbl_Type OE_ORDER_PUB.Line_Payment_Tbl_Type; x_Line_Payment_Val_Tbl_Type OE_ORDER_PUB.Line_Payment_Val_Tbl_Type;

X_DEBUG_FILE VARCHAR2(100); l_line_tbl_index NUMBER; l_msg_index_out NUMBER(10);BEGIN dbms_output.enable(1000000); fnd_global.apps_initialize(1014580,21623,660); -- pass in user_id, responsibility_id, and application_id MO_GLOBAL.INIT('ONT'); -- Required for R12 mo_global.set_org_context ( 204, NULL, 'ONT' ) ; fnd_global.set_nls_context ( 'AMERICAN' ) ; MO_GLOBAL.SET_POLICY_CONTEXT('S', 204); -- Required for R12 oe_msg_pub.initialize; oe_debug_pub.initialize; X_DEBUG_FILE := OE_DEBUG_PUB.Set_Debug_Mode('FILE'); oe_debug_pub.SetDebugLevel(5); -- Use 5 for the most debuging output, I warn you its a lot of data dbms_output.put_line('START OF NEW DEBUG'); --This is to CREATE an order header and an order line --Create Header record --Initialize header record to missing

l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC; l_header_rec.TRANSACTIONAL_CURR_CODE := 'USD'; l_header_rec.pricing_date := SYSDATE; l_header_rec.cust_po_number := 'TestAPICreditCard'; l_header_rec.sold_to_org_id := 5371; l_header_rec.price_list_id := 296715; l_header_rec.ordered_date := SYSDATE; l_header_rec.shipping_method_code := 'DHL'; l_header_rec.sold_from_org_id := 204; l_header_rec.salesrep_id := 1001; l_header_rec.order_type_id := 1437; l_header_rec.operation := OE_GLOBALS.G_OPR_CREATE; l_line_tbl_index :=1; -- FIRST LINE RECORD -- Initialize record to missing l_line_tbl(l_line_tbl_index) := OE_ORDER_PUB.G_MISS_LINE_REC; -- Line attributes l_line_tbl(l_line_tbl_index).inventory_item_id := 382075; l_line_tbl(l_line_tbl_index).ordered_quantity := 2; l_line_tbl(l_line_tbl_index).ship_from_org_id := 207; l_line_tbl(l_line_tbl_index).subinventory := 'FGI'; l_line_tbl(l_line_tbl_index).operation := OE_GLOBALS.G_OPR_CREATE;

l_x_header_payment_rec.operation := OE_GLOBALS.G_OPR_CREATE; --l_x_header_payment_rec.header_index := 1;l_x_header_payment_rec.receipt_method_id := 1; --6875; --6755;l_x_header_payment_rec.payment_type_code := 'CREDIT_CARD';l_x_header_payment_rec.credit_card_number := '4111111111111111';l_x_header_payment_rec.credit_card_code := 'VISA';l_x_header_payment_rec.credit_card_holder_name := 'All OracleApps';l_x_header_payment_rec.credit_card_expiration_date :=sysdate + 100;l_x_header_payment_rec.payment_level_code := 'ORDER';l_x_header_payment_rec.prepaid_amount := 100;l_x_header_payment_tbl(1):=l_x_header_payment_rec;

-- CALL TO PROCESS ORDER Check the return status and then commit. OE_ORDER_PUB.process_order ( p_api_version_number => 1.0 , p_init_msg_list => fnd_api.g_false , p_return_values => fnd_api.g_false , p_action_commit => fnd_api.g_false , x_return_status => l_return_status , x_msg_count => l_msg_count , x_msg_data => l_msg_data , p_header_rec => l_header_rec , p_line_tbl => l_line_tbl , p_action_request_tbl => l_action_request_tbl , p_Header_Payment_tbl => l_x_header_payment_tbl -- OUT PARAMETERS , x_header_rec => x_header_rec , x_header_val_rec => x_header_val_rec , x_Header_Adj_tbl => x_Header_Adj_tbl , x_Header_Adj_val_tbl => x_Header_Adj_val_tbl , x_Header_price_Att_tbl => x_Header_price_Att_tbl , x_Header_Adj_Att_tbl => x_Header_Adj_Att_tbl , x_Header_Adj_Assoc_tbl => x_Header_Adj_Assoc_tbl , x_Header_Scredit_tbl => x_Header_Scredit_tbl , x_Header_Scredit_val_tbl => x_Header_Scredit_val_tbl , x_Header_Payment_tbl => x_header_payment_tbl , x_Header_Payment_val_tbl => x_Header_Payment_Val_Tbl_Type , x_line_tbl => p_line_tbl , x_line_val_tbl => x_line_val_tbl , x_Line_Adj_tbl => x_Line_Adj_tbl , x_Line_Adj_val_tbl => x_Line_Adj_val_tbl , x_Line_price_Att_tbl => x_Line_price_Att_tbl , x_Line_Adj_Att_tbl => x_Line_Adj_Att_tbl , x_Line_Adj_Assoc_tbl => x_Line_Adj_Assoc_tbl , x_Line_Scredit_tbl => x_Line_Scredit_tbl , x_Line_Scredit_val_tbl => x_Line_Scredit_val_tbl , x_Line_Payment_tbl => x_Line_Payment_Tbl_Type , x_Line_Payment_val_tbl => x_Line_Payment_Val_Tbl_Type , x_Lot_Serial_tbl => x_Lot_Serial_tbl , x_Lot_Serial_val_tbl => x_Lot_Serial_val_tbl , x_action_request_tbl => l_action_request_tbl ); dbms_output.put_line('OM Debug file: ' ||oe_debug_pub.G_DIR||'/'||oe_debug_pub.G_FILE); dbms_output.put_line ('Header_ID : '||x_header_rec.header_id); -- Retrieve messages FOR i IN 1 .. l_msg_count LOOP Oe_Msg_Pub.get( p_msg_index => i , p_encoded => Fnd_Api.G_FALSE , p_data => l_msg_data , p_msg_index_out => l_msg_index_out); DBMS_OUTPUT.PUT_LINE('message is: ' || l_msg_data); DBMS_OUTPUT.PUT_LINE('message index is: ' || l_msg_index_out); END LOOP; -- Check the return status IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN dbms_output.put_line('Process Order Sucess'); ELSE dbms_output.put_line('Failed'); END IF;EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Error: '||SQLERRM);END;Result:START OF NEW DEBUGOM Debug file: /dbfiles/applcsf/log/l4038887.dbgHeader_ID : 204656Process Order SucessScripts to Verify the data: SELECT * FROM oe_order_headers_all WHERE header_id = 204656;

SELECT * FROM oe_order_lines_all WHERE header_id = 204656;

SELECT payment_level_code , header_id , payment_type_code , prepaid_amount , receipt_method_id , trxn_extension_id , credit_card_holder_name , credit_card_number FROM OE_PAYMENTS WHERE header_id = 204656;- See more at: http://alloracleapps.com/scripts/apis_interfaces/om-apis/sales-order-api-with-credit-card-payment/#sthash.glN6aQKm.dpuf