wait_for_request的作用

PROCEDURE submit_and_wait_load_request( p_import_request_id IN NUMBER,
                                          p_file_name         IN VARCHAR2,
                                          p_error_code        OUT NUMBER,
                                          p_error_message     OUT VARCHAR2 )
  IS
    v_conc_request_id    NUMBER;
    v_phase              VARCHAR2(100);
    v_status             VARCHAR2(100);
    v_dev_phase          VARCHAR2(100);
    v_dev_status         VARCHAR2(100);
    v_message            VARCHAR2(2000);
    v_wait_outcome       BOOLEAN;
  BEGIN
    -- 提交载入请求
    v_conc_request_id := fnd_request.submit_request
                          ( application => 'CPO',
                            program     => 'QPOORDLOAD',
                            description => NULL,
                            start_time  => NULL,
                            sub_request => FALSE,
                            argument1   => p_import_request_id,
                            argument2   => p_file_name );

    IF v_conc_request_id = 0 THEN
      ROLLBACK;
      p_error_code := 2;
      p_error_message := '提交数据载入的并发请求失败';
      RETURN;
    END IF;

    COMMIT;

    -- 等待请求完成
    v_wait_outcome := fnd_concurrent.wait_for_request
                                   ( request_id => v_conc_request_id,
                                     interval   => 10,
                                     phase      => v_phase,
                                     status     => v_status,
                                     dev_phase  => v_dev_phase,
                                     dev_status => v_dev_status,
                                     message    => v_message );

    IF upper(v_dev_phase) != 'COMPLETE' OR upper(v_dev_status) != 'NORMAL' THEN
      delete_temp_data( p_import_request_id => p_import_request_id );
      p_error_code := 2;
      p_error_message := '载入数据失败,具体请见数据载入请求的日志信息。' ||
                         chr(10) || '请求标识 ' || to_char(v_conc_request_id);
    ELSE
      p_error_code := 0;
    END IF;

  END submit_and_wait_load_request;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值