Oracle EBS更新销售订单行信息API


更新销售订单行信息

DECLARE
  l_header_rec             oe_order_pub.header_rec_type;
  l_line_tbl               oe_order_pub.line_tbl_type;
  l_line_tb2               oe_order_pub.line_tbl_type;
  l_action_request_tbl     oe_order_pub.request_tbl_type;
  l_return_status          VARCHAR2(1000 );
  l_msg_count              NUMBER;
  l_msg_data               VARCHAR2(1000 );
  v_line_number            VARCHAR2(1000 );
  l_index                  VARCHAR2(1000 );
  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;
BEGIN
  fnd_global.apps_initialize(user_id      => 1190,
                             resp_id      => 50786,
                             resp_appl_id => 20003);
  mo_global.init( ‘ONT‘); --r12的安全机制,必须初始化否则报错
  oe_msg_pub.initialize;
  oe_debug_pub.initialize;
  oe_debug_pub.debug_on;
  oe_debug_pub.setdebuglevel( 5);
  --mo_global.set_policy_context(‘S‘, 1497); --貌似也不需要
  l_header_rec := oe_order_pub.g_miss_header_rec;
  --不需要
  l_header_rec.header_id := 101449; --501010000051
  l_header_rec.operation := oe_globals.g_opr_update;
  l_line_tbl(1) := oe_order_pub.g_miss_line_rec;
  l_line_tbl(1).line_id := 112362;
  l_line_tbl(1).operation := oe_globals.g_opr_update;
  l_line_tbl(1).ship_tolerance_below := 0;
  --dbms_output.put_line(‘l_line_tbl:‘ || l_line_tbl(1).open_flag);
  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,
                             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_tb2, --r11中这里跟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_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( ‘l_index:‘ || l_index || ‘l_msg_data1:‘ ||
                       l_msg_data);
  IF l_msg_count > 0 THEN
    FOR l_index IN 1 .. l_msg_count LOOP
      l_msg_data := oe_msg_pub.get(p_msg_index => l_index, p_encoded => ‘F‘);
    END LOOP ;
  END IF;
  dbms_output.put_line( ‘l_index:‘ || l_index || ‘l_msg_data:‘ ||
                       l_msg_data);
  IF l_return_status = fnd_api.g_ret_sts_success THEN
    dbms_output.put_line( ‘OK‘);
    --COMMIT;
  ELSE
    dbms_output.put_line( ‘Failed‘);
    ROLLBACK;
  END IF;
  --COMMIT;

END;

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。