zoukankan      html  css  js  c++  java
  • PL/SQL调用系统标准的请求实例

    需求:实现供应商的接口导入:

             导入供应商、供应商地址和供应商联系人的信息。

        

    定义变量:

    --提交标准并发请求时的参数
        l_request_id1 NUMBER;
        l_request_id2 NUMBER;
        l_request_id3 NUMBER;
        l_request_id4 NUMBER;
        l_bl_result1  BOOLEAN;
        l_bl_result2  BOOLEAN;
        l_bl_result3  BOOLEAN;

       调用标准的请求,将三个接口表中的数据导入到系统中。

       实现sql如下:

    IF v_supplier_error_flag = 'N' AND v_supplier_site_error_flag = 'N' AND  
           v_supplier_contact_error_flag = 'N' THEN  
      
          --分ou的导入,并且初始化OU  
          FOR l_cur_submit IN cur_submit LOOP  
            v_org_id := NULL; --初始化ou  
            v_org_id := get_org_id(l_cur_submit.org_name);  
            --初始化环境变量  
            set_policy_context(v_org_id);  
            --调用标准的并发请求  
            --调用供应商的并发请求  
            l_request_id1 := fnd_request.submit_request('SQLAP', --应用简称  
                                                        'APXSUIMP', --并发程序  
                                                        '',  
                                                        '',  
                                                        FALSE,  
                                                        'NEW',  --NEW、Reject、ALL
                                                        1000,  --默认1000
                                                        'N',  --只输出错误记录
                                                        'N',  --是否启用调试信息
                                                        'N',  --是否开启Trace
                                                        chr(0));  
            COMMIT;  
            IF l_request_id1 IS NULL OR l_request_id1 = 0 THEN  
              retcode := 2;  
              errbuf  := '供应商接口导入标准表出错!';  
              RETURN;  
            END IF;  
      
            l_bl_result1 := fnd_concurrent.wait_for_request(l_request_id1, --等待的请求  
                                                            1, --间隔时间  
                                                            0, --等待时间  
                                                            v_phase,  
                                                            v_status,  
                                                            v_dev_phase,  
                                                            v_dev_status,  
                                                            v_message);  
      
            IF v_dev_phase = 'COMPLETE' AND v_dev_status = 'NORMAL' THEN  
      
              --调用供应商地点的并发请求  
              l_request_id2 := fnd_request.submit_request('SQLAP', --应用简称  
                                                          'APXSSIMP', --并发程序  
                                                          '',  
                                                          '',  
                                                          FALSE,  
                                                          'NEW',  
                                                          1000,  
                                                          'N',  
                                                          'N',  
                                                          'N',  
                                                          chr(0));  
              COMMIT;  
              IF l_request_id2 IS NULL OR l_request_id2 = 0 THEN  
                retcode := 2;  
                errbuf  := '供应商地点接口导入标准表出错!';  
                RETURN;  
              END IF;  
      
              l_bl_result2 := fnd_concurrent.wait_for_request(l_request_id2, --等待的请求  
                                                              1, --间隔时间  
                                                              0, --等待时间  
                                                              v_phase,  
                                                              v_status,  
                                                              v_dev_phase,  
                                                              v_dev_status,  
                                                              v_message);  
      
              IF v_dev_phase = 'COMPLETE' AND v_dev_status = 'NORMAL' THEN  
                --调用供应商地点联系人的并发请求  
                l_request_id3 := fnd_request.submit_request('SQLAP', --应用简称  
                                                            'APXSCIMP', --并发程序  
                                                            '',  
                                                            '',  
                                                            FALSE,  
                                                            'NEW',  
                                                            1000,  
                                                            'N',  
                                                            'N',  
                                                            'N',  
                                                            chr(0));  
                COMMIT;  
                IF l_request_id3 IS NULL OR l_request_id3 = 0 THEN  
                  retcode := 2;  
                  errbuf  := '供应商地点联系人接口导入标准表出错!';  
                  RETURN;  
                END IF;  
                l_bl_result3 := fnd_concurrent.wait_for_request(l_request_id3, --等待的请求  
                                                                1, --间隔时间  
                                                                0, --等待时间  
                                                                v_phase,  
                                                                v_status,  
                                                                v_dev_phase,  
                                                                v_dev_status,  
                                                                v_message);  
                IF v_dev_phase <> 'COMPLETE' AND v_dev_status <> 'NORMAL' THEN  
                  retcode := 2;  
                  errbuf  := '供应商地点联系人接口导入标准表出错!';  
                  RETURN;  
                END IF;  
              END IF;  
            END IF;  
      
            COMMIT;  
          END LOOP; --结束loop循环  
    END IF;  
  • 相关阅读:
    Go语言从入门到放弃(三) 布尔/数字/格式化输出
    11. GLOBAL_VARIABLES 与 SESSION_VARIABLES
    10. GLOBAL_STATUS 与 SESSION_STATUS
    9. FILES
    8. EVENTS
    7. ENGINES
    6. COLUMN_PRIVILEGES
    5. COLUMNS
    4. COLLATION_CHARACTER_SET_APPLICABILITY
    3. COLLATIONS
  • 原文地址:https://www.cnblogs.com/Cqiang/p/2991563.html
Copyright © 2011-2022 走看看