读书人

EBS价目表设立导入功能(4)-提交请求

发布时间: 2012-08-10 12:19:33 作者: rapoo

EBS价目表设置导入功能(4)-提交请求

4.提交请求功能

procedure prc_do_price_request(prm_user_number in varchar2, prm_appcode out number, prm_appmsg out varchar2) is        e_exception exception;        success        boolean;        v_request_id   number;        v_phase        varchar2(30);        v_status       varchar2(30);        v_dev_phase    varchar2(30);        v_dev_status   varchar2(30);        v_message      varchar2(1000);        v_request_flag boolean;        v_start_time   varchar2(30);        v_user_id      number;    begin        prm_appcode := 0;        v_user_id   := fnd_get_user_id(prm_user_number);        --初始化设置        fnd_global.apps_initialize(v_user_id, --用户ID                                   g_resp_id, --责任ID                                   g_resp_appl_id); --应用ID        --设置打印参数        success := fnd_request.set_print_options(g_printer, g_style, g_copies);        if not success then            raise e_exception;        end if;        v_start_time := to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS');        --调用请求            v_request_id := fnd_request.submit_request('QP', --应用                                                   'QPXVBLK', --程序                                                   null, --程序说明                                                   v_start_time, --开始时间                                                   false, --是否作为子请求提交,该请求如果是被其它请求调用设为TRUE,否则为FALSE                                                   'PRL', --实体--*--1                                                   null, --实体名称--2                                                   null, --流程标识--3                                                   null, --流程类型--4                                                   'N', --流程父项--5                                                   1, --线程数--6                                                   'N', --派生请求--7                                                   null, --请求编号--8                                                   'Y', --打开调试--9                                                   chr(0)); --结束标识            if v_request_id = 0 then            raise e_exception;        else            commit;        end if;        --等待        v_request_flag := fnd_concurrent.wait_for_request(request_id => v_request_id, --返回的请求ID                                                          interval   => 2, --重复检测时间差                                                          max_wait   => 0, --最长等待时间,0为一直等待                                                          phase      => v_phase,                                                          status     => v_status,                                                          dev_phase  => v_dev_phase,                                                          dev_status => v_dev_status,                                                          message    => v_message);        if v_request_flag then            if v_dev_status = 'NORMAL' then                -- OR v_dev_status = 'WARNING'                null;            else                raise e_exception;            end if;        else            raise e_exception;        end if;    exception        when e_exception then            rollback;            prm_appcode := -1;            prm_appmsg  := '错误提示:导入销售订单时出错!(request)' || sqlerrm;            return;        when others then            rollback;            prm_appcode := -1;            prm_appmsg  := '错误提示:导入销售订单时出错!(request)' || sqlerrm;            return;    end prc_do_price_request;

读书人网 >行业软件

热点推荐