Tuesday, 12 August 2025

Script to Release the Hold from Sales order

SET SERVEROUTPUT ON SIZE 100000;

SET DEFINE OFF;

DECLARE
    l_return_status  VARCHAR2(30);
    l_msg_data       VARCHAR2(4000);
    l_msg_count      NUMBER;
    l_order_tbl      oe_holds_pvt.order_tbl_type;
    l_hold_id        NUMBER := 1;
    l_header_id      NUMBER := 14621798;--14612797;
    l_context        VARCHAR2(2);
BEGIN
    dbms_output.put_line('START');
    mo_global.init('ONT');
    fnd_global.apps_initialize(user_id => 233158, resp_id => 57420, resp_appl_id => 660);

    mo_global.set_policy_context('S', 111);
    l_order_tbl(1).header_id := l_header_id;
    l_return_status := NULL;
    l_msg_data := NULL;
    l_msg_count := NULL;
    dbms_output.put_line('Calling the API to Release hold');
    oe_holds_pub.release_holds(p_api_version => 1.0, p_order_tbl => l_order_tbl,
                              p_hold_id => l_hold_id,
                              p_release_reason_code => 'CREDIT_APPROVED',
                              p_release_comment => 'TEST1',
                              x_return_status => l_return_status,
                              x_msg_count => l_msg_count,
                              x_msg_data => l_msg_data);

    IF l_return_status = fnd_api.g_ret_sts_success THEN
        dbms_output.put_line('success:');
        COMMIT;
    ELSIF l_return_status IS NULL THEN
        dbms_output.put_line('Status is null');
    ELSE
        dbms_output.put_line('Failed: ' || l_msg_data);
        FOR i IN 1..oe_msg_pub.count_msg LOOP
            l_msg_data := oe_msg_pub.get(p_msg_index => i, p_encoded => 'F');
            dbms_output.put_line(i
                                 || ') '
                                 || l_msg_data);
        END LOOP;

        ROLLBACK;
    END IF;

    dbms_output.put_line('END');
EXCEPTION
    WHEN OTHERS THEN
        dbms_output.put_line('Error is '
                             || sqlcode
                             || '---'
                             || sqlerrm);
END;
/

No comments:

Post a Comment