Oracle EBS OM 取消订单

DECLARE 
l_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_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_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; 
X_DEBUG_FILE VARCHAR2(100); 
l_msg_index_out NUMBER(10); 
BEGIN 
dbms_output.enable(1000000); 
fnd_global.apps_initialize(4096,21623,660); -- pass in  user_id,responsibility_id, and application_id 
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 cancel an order 
-- Initialize the record to missing 
l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC; 
l_header_rec.header_id := 98252; 
l_header_rec.cancelled_flag := 'Y'; 
l_header_rec.change_reason := 'Not provided'; 
l_header_rec.operation := OE_GLOBALS.G_OPR_Update; 
-- Call To Process order API 
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 
-- OUT PARAMETERS 
  , x_header_rec => l_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_line_tbl => l_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_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); 
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); 
  dbms_output.put_line(' www.dezai.cn'); 
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; 
-- debug output 
dbms_output.put_line('Debug Output'); 
FOR i in 1..OE_DEBUG_PUB.g_debug_count 
LOOP 
  dbms_output.put_line(OE_DEBUG_PUB.G_debug_tbl(i)); 
END LOOP; 
END; 
/ 
commit;

  

土豆君
原文地址:https://www.cnblogs.com/jenrry/p/10021058.html