首页 > 代码库 > 订单应用暂挂

订单应用暂挂

You can apply hold on existing order by populating the order import interface with the following :

OE_HEADERS_IFACE_ALL
 ORDER_SOURCE_ID  
 ORIG_SYS_DOCUMENT_REF 
 OPERATION_CODE => 'UPDATE' 
 ORG_ID 
 ORDER_TYPE_ID 
 CREATED_BY 
 CREATION_DATE 
 LAST_UPDATED_BY 
 LAST_UPDATE_DATE

OE_ACTIONS_IFACE_ALL
 ORDER_SOURCE_ID,
 ORIG_SYS_DOCUMENT_REF,
 ORG_ID,
 HOLD_ID,
 HOLD_TYPE_CODE,
 HOLD_TYPE_ID,
 OPERATION_CODE => 'APPLY_HOLD'

HOLD_ID is the type of hold that should be applied.
HOLD_ID from OE_HOLD_DEFINITIONS

HOLD_TYPE_CODE is the entity code for the hold source to be created.
C: Customer hold source
S: Bill To or Ship To hold source
I: Item hold source
O: Order hold source
W: Warehouse Hold Source

HOLD_TYPE_ID value depends on value you populate in HOLD_TYPE_CODE,
for example, when you populate HOLD_TYPE_CODE = 'C', HOLD_TYPE_ID would be the customer_number.

A sample call to the process_order API to apply hold is given below.

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_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);
   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;
   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;
   x_debug_file                 VARCHAR2(100);
   l_msg_index_out              NUMBER(10);
BEGIN
   dbms_output.enable(1000000);
   fnd_global.apps_initialize(1370, 50717, 20005); -- pass in user_id, responsibility_id, and application_id 
   oe_msg_pub.initialize;
   oe_debug_pub.initialize;
   mo_global.init('ONT');
   mo_global.set_policy_context(p_access_mode => 'S', p_org_id => 81);
   x_debug_file := oe_debug_pub.set_debug_mode('FILE');
   dbms_output.put_line('file :' || x_debug_file);
   oe_debug_pub.add('debug statement', 1);
   oe_debug_pub.setdebuglevel(5);
   dbms_output.put_line('START OF NEW DEBUG');
   --This is to release hold an order header 
   l_request_rec.entity_id    := 431001;
   l_request_rec.entity_code  := oe_globals.g_entity_header;
   l_request_rec.request_type := oe_globals.G_APPLY_HOLD;
   -- hold_id must be passed 
   l_request_rec.param1 := 2001;--销售未确认-暂挂
   -- indicator that it is an order hold 
   l_request_rec.param2 := 'O';
   -- Header ID of the order 
   l_request_rec.param3 := 431001; --60002
   --l_request_rec.param4 := 'OA_APPROVAL';
   --l_request_rec.param5 :=' '; 
   l_action_request_tbl(1) := l_request_rec;
   -- 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           =http://www.mamicode.com/> l_msg_data,>

订单应用暂挂