• OE_ORDER_PUB.PROCESS_ORDER to Release a hold on sales order in R12


    PURPOSE:

    This post is to provide a sample script to Release a hold on sales order using an API OE_ORDER_PUB.PROCESS_ORDER.

    TEST INSTANCE:  R12.1.1

    SCRIPT:

     

     

     

    DECLARE

    v_api_version_number           NUMBER  := 1;

    v_return_status                VARCHAR2 (2000);

    v_msg_count                    NUMBER;

    v_msg_data                     VARCHAR2 (2000);

     

    -- 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 --

    fnd_global.apps_initialize (user_id        => 1450,

                               resp_id        => 50675,

                               resp_appl_id   => 700);

    oe_msg_pub.initialize;                            

     

    mo_global.set_org_context (p_org_id_char       => 81,

                              p_sp_id_char        => null,

                              p_appl_short_name   => 'ONT');

                             

    --This is to Release hold an order header

    v_action_request_tbl (1)              := oe_order_pub.g_miss_request_rec;

    v_action_request_tbl (1).entity_id    := 333351; -- Header ID of the order

    v_action_request_tbl (1).entity_code  := OE_GLOBALS.G_ENTITY_HEADER;

    v_action_request_tbl (1).request_type := OE_GLOBALS.G_RELEASE_HOLD;

    v_action_request_tbl (1).param1       := 1041;    -- hold_id

    v_action_request_tbl (1).param2       := 'O';   -- indicator that it is an order hold

    v_action_request_tbl (1).param3       := 333351; -- Header ID of the order

    v_action_request_tbl (1).param4       := 'AR_AUTOMATIC'; -- Release Reason Code

     

    /*

    --This is to Release hold an order line

    v_action_request_tbl (1)              := oe_order_pub.g_miss_request_rec;

    v_action_request_tbl (1).entity_id    := 286897; -- LINE ID of the order

    v_action_request_tbl (1).entity_code  := OE_GLOBALS.G_ENTITY_LINE;

    v_action_request_tbl (1).request_type := OE_GLOBALS.G_RELEASE_HOLD;

    v_action_request_tbl (1).param1       := 1041;    -- hold_id

    v_action_request_tbl (1).param2       := 'O';   -- indicator that it is an order hold

    v_action_request_tbl (1).param3       := 286897; -- LINE ID of the order

    v_action_request_tbl (1).param4       := 'AR_AUTOMATIC'; -- Release Reason Code

    */

     

    DBMS_OUTPUT.PUT_LINE('Starting of API');

     

    -- Calling the API to Release hold on Existing 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 ('Releasing Hold on Sales Order is Success ');

    ELSE

        DBMS_OUTPUT.put_line ('Releasing Hold on Sales Order 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;

     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;

     

    来自 <http://www.shareoracleapps.com/2010/06/oe-order-pub-process-order-to-release.html>

  • 相关阅读:
    MVC 传值
    LINQ to SQL 语句(2)之 Select/Distinct
    LINQ to SQL 语句(1)之 Where
    输入变量相同情况下,结果不正确
    vmware ubuntu 切换终端命令行
    汉字编码问题
    Windows API所提供的功能可以归为七类
    比较好的c++博文
    环境和库的引入
    C#调用Fortran生成的DLL的方法报内存不足
  • 原文地址:https://www.cnblogs.com/quanweiru/p/7911659.html
Copyright © 2020-2023  润新知