ITPub博客

首页 > 数字化转型 > ERP > 在PL/SQL中调用Oracle ERP请求(一)-提交请求集

在PL/SQL中调用Oracle ERP请求(一)-提交请求集

ERP 作者:xxc_weil 时间:2017-06-06 12:00:24 0 删除 编辑
转自:
http://zhaisx.iteye.com/blog/803277


PROCEDURE prc_do_import_set(prm_org     IN NUMBER,
                              prm_appcode OUT NUMBER,
                              prm_appmsg  OUT VARCHAR2) IS
    custom_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);
  BEGIN
    prm_appcode := 0;
    --初始化设置
    fnd_global.apps_initialize(user_id      => global_user_id,
                               resp_id      => global_resp_id,
                               resp_appl_id => global_resp_appl_id);
    --设置请求集
    success := fnd_submit.set_request_set('INV', 'PLM_ERP_IMPORT');
    IF NOT success THEN
      RAISE custom_exception;
    END IF;
    --设置单请求参数
    success := fnd_submit.submit_program('INV',
                                         'INCOIN',
                                         'STAGE10',
                                         prm_org,
                                         '1',
                                         '1',
                                         '1',
                                         '1',
                                         '1',
                                         '1',
                                         chr(0));
    IF NOT success THEN
      RAISE custom_exception;
    END IF;
    v_start_time := to_char(SYSDATE, 'DD-MON-YYYY HH24:MI:SS');
    v_request_id := fnd_submit.submit_set(v_start_time, FALSE);
    IF v_request_id = 0 THEN
      RAISE custom_exception;
    ELSE
      COMMIT;
    END IF;
    --等待
    v_request_flag := fnd_concurrent.wait_for_request(request_id => v_request_id,
                                                      INTERVAL   => 5,
                                                      max_wait   => 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
        NULL;
      ELSE
        RAISE custom_exception;
      END IF;
    ELSE
      RAISE custom_exception;
    END IF;
  EXCEPTION
    WHEN custom_exception THEN
      prm_appcode := -1;
      prm_appmsg  := '错误提示:导入ERP正式表出错!' || SQLERRM;
    WHEN OTHERS THEN
      prm_appcode := -1;
      prm_appmsg  := '错误提示:导入ERP正式表出错!' || SQLERRM;
  END prc_do_import_set;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31407706/viewspace-2140340/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-11-02

  • 博文量
    50
  • 访问量
    41914