• OE_HOLDS_PUB.RELEASE_HOLDS Release Holds Script


    Below script will help you to Release Order level or Line Level hold in Oracle Order Management through API OE_HOLDS_PUB.RELEASE_HOLDS

    This script was tested in R12.1.1 

    SET serveroutput ON;
    DECLARE

    v_return_status    VARCHAR2(30);
    v_msg_data         VARCHAR2(4000);
    v_msg_count        NUMBER;
    v_order_tbl        OE_HOLDS_PVT.order_tbl_type;
    v_hold_id          NUMBER DEFAULT 50;
    v_header_id        NUMBER DEFAULT 1705;

    v_context          VARCHAR2 (2);

    FUNCTION set_context( i_user_name    IN VARCHAR2
                         ,i_resp_name    IN VARCHAR2
                         ,i_org_id       IN NUMBER)
    RETURN VARCHAR2
    IS
    BEGIN
     NULL;
        -- In order to reduce the content of the post I moved the implementation part of this function to another post and it is   available here  
    END set_context;
     
    BEGIN

    -- Setting the context ----

    v_context := set_context ('&user', '&responsibility', 2038);
    IF v_context = 'F'
       THEN
       DBMS_OUTPUT.put_line ('Error while setting the context');
    END IF;

    --- context done ------------

    BEGIN

    v_order_tbl(1).header_id           := v_header_id;
    v_return_status                    := NULL;
    v_msg_data                         := NULL;
    v_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           => v_order_tbl,
                             p_hold_id             => v_hold_id,
                             p_release_reason_code => 'AR_AUTOMATIC',
                             p_release_comment     => 'TESTING',
                             x_return_status       => v_return_status,
                             x_msg_count           => v_msg_count,
                             x_msg_data            => v_msg_data
                               );


    IF v_return_status = FND_API.G_RET_STS_SUCCESS THEN
    dbms_output.put_line('success:');
    COMMIT;
    ELSIF v_return_status IS NULL THEN
    dbms_output.put_line('Status is null');
    ELSE
    dbms_output.put_line('Failed: '|| v_msg_data );


    FOR i IN 1 .. oe_msg_pub.count_msg
         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;
        
    ROLLBACK;
    END IF;

    EXCEPTION
    WHEN OTHERS THEN
     dbms_output.put_line('Error is '||SQLCODE||'---'||SQLERRM);
    END;
  • 相关阅读:
    python 判断返回结果 in用法
    关于requests的session方法保持不了cookie的问题。(seesion的意思是保持一个会话,比如 登陆后继续操作(记录身份信息) 而requests是单次请求的请求,身份信息不会被记录)
    python-selenium并发执行测试用例(方法一 各模块每一条并发执行)
    python 正则表达提取方法 (提取不来的信息print不出来 加个输出type 再print信息即可)
    unittest框架 assertEqual 报错 让其出现中文的方法(这个问题出现时 我找了老半天) 还追加了 报错信息自定义的方法
    python 指定文件编码的方法
    解决python中路径中包含中文无法找到文件的问题
    python 字符转换记录
    python-selenium 并发执行用例的问题
    深度影响价值
  • 原文地址:https://www.cnblogs.com/benio/p/2541566.html
Copyright © 2020-2023  润新知