`
kb5706
  • 浏览: 41164 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

PL/SQL调用系统标准的请求实例

阅读更多

原文:http://blog.csdn.net/cunxiyuan108/article/details/5805762

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

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

定义变量:

--提交标准并发请求时的参数
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',  
                                                    1000,  
                                                    'N',  
                                                    'N',  
                                                    'N',  
                                                    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;  

分享到:
评论

相关推荐

    如何通过PL/SQL访问到Web Services

    在Web Services红得发紫的今天,到处都在谈论和使用Web Services;Oracle也始终走在技术的最前沿,早在9i...本文将通过一个实例向你展示如何通过PL/SQL调用Web Services,本文的重点是PL/SQL调用Web Services实现上。

    PL/SQL 基础.doc

    1) PL/SQL(Procedual language/SQL)是在标准SQL的基础上增加了过程化处理的语言; 2) Oracle客户端工具访问Oracle服务器的操作语言; 3) Oracle对SQL的扩充; 4. PL/SQL的优缺点 优点:1) 结构化模块化编程,...

    pl/sql操作手册

    pl/sql 7.1操作手册,中文,总共239页 目录 目录..............................................................................................................................................................

    Oracle数据库存储过程技术文档.doc

    2.5 一个完整的PL/SQL实例 24 第三章 oracle存储过程讨论 25 3.1 函数(FUNCTION) 26 3.1.1 用户函数创建,编译,删除 26 3.1.2 参数传递 27 3.2 存储过程 28 3.3 包 29 3.3.1 创建包 30 3.3.2 删除包 30 3.3.3 ...

    OraclePLSQL编程经典例子

    pl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展。pl/sql不仅允许嵌入式sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误。这样使得他的功能变的更强大。...

    学生成绩管理系统Oracle全部SQL语句.txt

    3、要求使用sqlplus,pl/sql或developer建立存储过程,触发器和程序包等代码,其中要求用到游标,异常,各种语句等对表中数据进行处理; 4、使用自己熟悉的开发语言,加入界面,连接数据库; 5、报告要有操作截图...

    Python使用cx_Oracle调用Oracle存储过程的方法示例

    这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace procedure test_msg(i_user in varchar2, o_msg out varchar2) is begin o_msg := i_user ||', Good ...

    oracle存储过程应用实例

    Oracle 允许将PL/ SQL 语言编写的存储过程作为数据库对象存储在数据库中,存储过程通过语法分析,将第一 次执行编译的SQL 语句存储在高速缓冲存储器中,下次使用只需从高速缓冲区中调用已编译的代码,加速了SQL 语句的执...

    oracle数据库11G初学者指南.Oracle.Database.11g,.A.Beginner's.Guide

    5.9 调用PL/SQL程序 5.10 本章 测验 第6章 数据库管理员 6.1 了解DBA的工作 6.2 执行日常操作 6.2.1 体系结构和设计 6.2.2 容量规划 6.2.3 备份和恢复 6.2.4 安全 6.2.5 性能和调整 6.2.6 管理数据库对象 6.2.7 ...

    PLSQL Developer用户指南

    PL/SQL Developer 是一个为 Oracle 数据库开发存储程序单元的集成开发环境(IDE),使用 PL/SQL Developer 你能方便地创建你的客户/服务器应用程序的服务器部分 ,绝对实用 目录.3 1. 介绍.....9 2. 安装...13 2.1 ...

    21天学通Oracle

    第3章 SQL Plus和PL/SQL(教学视频:11分钟) 39 3.1 SQL Plus与PL/SQL简介 39 3.2 使用SQL Plus 40 3.2.1 登录SQL Plus 40 3.2.2 SQL Plus输出结果的格式化 41 3.2.3 SQL Plus小结 46 3.3 PL/SQL 46 3.3.1 ...

    精通SQL--结构化查询语言详解

    2.4.2 pl/sql程序结构 33 第3章 创建、修改和删除表 37 3.1 表的基础知识 37 3.1.1 表的基本结构 37 3.1.2 表的种类 38 3.2 sql数据类型 39 3.2.1 字符型数据 39 3.2.2 数字型数据 40 3.2.3 日期数据类型 41...

    oracle存储过程学习经典[语法+实例+调用]

    商业规则和业务逻辑可以通过程序存储在Oracle中,这... 存储过程是SQL, PL/SQL, Java 语句的组合,它使你能将执行商业规则的代码从你的应用程序中移动到数据库。这样的结果就是,代码存储一次但是能够被多个程序使用。

    Oracle Database 11g初学者指南--详细书签版

    5.9 调用PL/SQL程序 151 5.10 本章测验 152 第6章 数据库管理员 153 6.1 了解DBA的工作 154 6.2 执行日常操作 154 6.2.1 体系结构和设计 155 6.2.2 容量规划 155 6.2.3 备份和恢复 155 6.2.4 安全 155 ...

    oracle实验报告

    (2) 练习标准SQL的数据操作,查询命令及其查询优化。 (3) 学会使用高级SQL命令,排序、分组、自连接查询等。 (4) 学会使用SQL*PLUS命令显示报表,存储到文件等。 【实验内容】 一、 准备使用SQL*PLUS 1. 进入SQL*...

    精通SQL 结构化查询语言详解

    19.1.3 SQL调用层接口(CLI)  19.2 嵌入式SQL的使用  19.2.1 创建嵌入式SQL语句  19.2.2 SQL通信区  19.2.3 主变量  19.2.4 嵌入式SQL中使用游标  19.3 检索、操作SQL数据  19.3.1 不需要游标的SQL ...

    Oracle经典自定义创建函数和存储过程

    自定义函数不能被直接在Java中调用,可以通过存储过程调用函数的方法。本文采用实例的方法,介绍如何在Oracle数据库客户端PL/SQL中创建自定义函数,然后创建相应的存储过程调用该函数,最终实现一个实例计算。

    Oracle 10g 开发与管理

    7.3 PL/SQL 块中的SQL 语句 58 7.4 使用%TYPE和%ROWTYPE类型的变量 58 1.%Type 59 2.%RowType 59 7.5 复合变量 60 1.记录类型(“行”) 60 2.记录表类型(“表” ) 60 (1)使用的原因: 60 (2)定义记录表类型...

    OTL+代码+实例+帮助

    OTL 4.0 covers the functionality of a full featured C++ database access library with just a handful of classes: otl_stream, otl_connect, otl_exception, otl_long_string, and several template PL/SQL ...

    JDBC 3.0数据库开发与设计

    2.2.4 PL/SQL和Java的实际开发应用实例 2.2.5 Java连接各类数据库的程序代码 2.3 Web应用服务器 2.3.1 Tomcat的安装及系统文件设置 2.3.2 WebSphere简介 2.3.3 WebLogic的安装和配置 2.3.4 Resin的安装与配置 ...

Global site tag (gtag.js) - Google Analytics