转:Form 中调用并发请求生成报表并输出PDF的方法。

这篇具有很好参考价值的文章主要介绍了转:Form 中调用并发请求生成报表并输出PDF的方法。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Oracle Form中调用并发请求生成报表并输出为PDF的方法 (FND_CONCURRENT.WAIT_FOR_REQUEST)_rfb0204421的博客-CSDN博客

Form 中调用并发请求生成报表并输出PDF的方法。
要完成这个目的,首先要在ebs中注册报表,并注册模板。
然后再方法里先调用FND_REQUEST.ADD_LAYOUT添加模板,然后调用FND_REQUEST.SUBMIT_REQUEST提交并发请求,再调用FND_CONCURRENT.WAIT_FOR_REQUEST等待请求完成并返回分析,状态和完成信息。
procedure print_report(order_number in NUMBER,date_from in date,date_to in date) is
           L_REQUEST_ID NUMBER;
            L_BL_RESULT  BOOLEAN;
            v_layout     BOOLEAN;
            X_PHASE      VARCHAR2(100);
            X_STATUS     VARCHAR2(100);
            X_DEV_PHASE  VARCHAR2(100);
            X_DEV_STATUS VARCHAR2(100);
            X_MESSAGE    VARCHAR2(100);
   BEGIN
        /*
           --
          -- Name
          --   add_layout
          -- Purpose
          --   Called before submission to add layout options for request output.
          --
          -- Arguments
          --    Template_APPL_Name            - Template Application Short name.
          --    Template_code                 - Template code
          --    Template_Language             - Template File language (iso value)
          --    Template_Territory            - Template File Territory (iso value)
          --    Output Format                 - Output Format
          --添加输出模板,FND_REQUEST.add_layout (template_appl_name in varchar2,
                                 template_code     in varchar2,
                                 template_language in varchar2,
                                 template_territory in varchar2,
                                 output_format     in varchar2) return boolean
        */
        
               v_layout:=FND_REQUEST.ADD_LAYOUT('PO',
                                         'TRNORDER094',
                                          Null,
                                          Null,
                                          'PDF'); 
                                         
        /*
          --
          -- Name
          --   submit_request
          -- Purpose
          --   Submits concurrent request to be processed by a concurrent manager
          --
          -- Arguments
          --   application    - Short name of application under which the program
          --            - is registered
          --   program        - concurrent program name for which the request has
          --            - to be submitted
          --   description    - Optional. Will be displayed along with user
          --            - concurrent program name
          --   start_time    - Optional. Time at which the request has to start
          --            - running
          --   sub_request    - Optional. Set to TRUE if the request is submitted
          --               - from another running request and has to be treated
          --            - as a sub request. Default is FALSE
          --   argument1..100    - Optional. Arguments for the concurrent request
          --  提交并发请求
          --FND_REQUEST.SUBMIT_REQUEST(application IN varchar2 default NULL,
                                      program IN varchar2 default NULL,
                                      description IN varchar2 default NULL,
                                      start_time IN varchar2 default NULL,
                                      sub_request IN boolean default FALSE
                                      argument1,
                                      argument2, ..., argument99,
                                      argument100) return number;
        */ 
       
               L_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST('PO',
                                                                                                    'TRNORDER094',
                                                                                                    '',
                                                                                                    '',
                                                                                                    FALSE,
                                                                                                    order_number,
                                                                                                    date_from,
                                                                                                    date_to,
                                                                                                    CHR(0),'','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','');
                                                                                                                                                                                                                                                                                                     
                COMMIT;   
                IF L_REQUEST_ID IS NULL OR L_REQUEST_ID = 0 THEN
                    RETURN;
                END IF;       
               
                /*
          --
          -- Name
          --   WAIT_FOR_REQUEST
          -- Purpose
          --   Waits for the request completion, returns phase/status and
          --   completion text to the caller. Calls sleep between db checks.
          -- Arguments (input)
          --   request_id    - Request ID to wait on
          --   interval         - time b/w checks. Number of seconds to sleep
          --            - (default 60 seconds)
          --   max_wait        - Max amount of time to wait (in seconds)
          --            - for request's completion
          -- Arguments (output)
          --               User version of      phase and status
          --               Developer version of phase and status
          --               Completion text if any
          --   phase         - Request phase ( from meaning in fnd_lookups )
          --   status        - Request status( for display purposes          )
          --   dev_phase    - Request phase as a constant string so that it
          --            - can be used for comparisons )
          --   dev_status    - Request status as a constatnt string
          --   message        - Completion message if request has completed
          --
          --等待并发请求完成,并返回分析/状态和完成信息,FND_CONCURRENT.WAIT_FOR_REQUEST(request_id IN number default NULL,
                                                                                          interval IN number default 60,
                                                                                          max_wait IN number default 0,
                                                                                          phase OUT varchar2,
                                                                                          status OUT varchar2,
                                                                                          dev_phase OUT varchar2,
                                                                                          dev_status OUT varchar2,
                                                                                          message OUT varchar2) return boolean;
                */
               
               
                L_BL_RESULT := FND_CONCURRENT.WAIT_FOR_REQUEST(L_REQUEST_ID,
                                                                                                             1,
                                                                                                             0,
                                                                                                             X_PHASE,
                                                                                                             X_STATUS,
                                                                                                             X_DEV_PHASE,
                                                                                                             X_DEV_STATUS,
                                                                                                             X_MESSAGE);
                IF X_DEV_PHASE = 'COMPLETE' AND X_DEV_STATUS = 'NORMAL' THEN
                    editor_pkg.report(L_REQUEST_ID,'Y'); --使输出的报表pdf文件在浏览器中显示。
                ELSE               
                    fnd_file.put_line(1,RPAD('x_phase',20,' ') || '=' || X_PHASE);
                    fnd_file.put_line(1,RPAD('x_status=',20,' ') || '=' || X_STATUS);
                    fnd_file.put_line(1,RPAD('x_dev_phase=', 20, ' ') || '=' || X_DEV_PHASE);
                    fnd_file.put_line(1,RPAD('x_dev_status=',20,' ') || '=' || X_DEV_STATUS);
                    fnd_file.put_line(1,RPAD('x_message=',20,' ') || '=' || X_MESSAGE);
                    fnd_file.put_line(1,'Warning : Starting journal print report failure! It did not running in 120 seconds, its request_id is ' ||
                                            TO_CHAR(L_REQUEST_ID) || ' please check it.');           
                END IF;
   end print_report;文章来源地址https://www.toymoban.com/news/detail-707990.html

到了这里,关于转:Form 中调用并发请求生成报表并输出PDF的方法。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Python调用ImageMagick生成PDF文件缩略图

    Python调用ImageMagick生成PDF文件缩略图

    Imagemagick使用Ghostscript作为其依赖项之一,以便能够处理和转换PDF相关的图像。 准备 安装Ghostscript,网站 安装ImageMagick,网站 安装完毕后,需要自行配置环境路径 脚本 使用示例: 输出: 支持灵活传入页面参数 [ 4 − 8 , 12 − 17 , 20 , 24 , 27 − ] [4-8,12-17,20,24,27-] [ 4 − 8 , 12 −

    2024年02月16日
    浏览(7)
  • PDF 书签制作和 Word 文档转 PDF 生成书签保留目录超链接的方法

    PDF 书签制作和 Word 文档转 PDF 生成书签保留目录超链接的方法

    根据 PDF 文档创建性质来制作书签 由可编辑文档创建 由不可编辑的图片创建 一、Word 文档目录转 PDF 生成书签 Word自带转换为PDF同时生成目录书签(office 2010 以后均支持) 打开 Word 文档,选择【文件】–【另存为 Adobe PDF】 –【选项】 –【将Word 标题转换为书签(H)】 在已安

    2024年02月04日
    浏览(14)
  • Oracle 生成AWR报表以及报表参数解读

    Oracle 生成AWR报表以及报表参数解读

    目录 一、什么是 AWR? 二、如何使用AWR? 1、手工创建一个快照 2、手工删除指定范围的快照 3、修改采集时间和统计信息保留时间 4、生成报表 三、解读 AWR 1、报表头 2、负载 3、实例效率 4、TOP 等待事件 5、主机 CPU、实例 CPU 6、Cache Sizes 7、共享池统计信息 AWR 全称叫 Automat

    2024年04月16日
    浏览(99)
  • HTTP POST接口带参数的HttpClient请求方法和调用

    HTTP POST接口带参数的HttpClient请求方法和调用

    接口自动化测试,今天遇到POST接口带参数,参数在url上,发现原来的工具类中没有该方法,重新调试加上。  doPost方法如下: 参考: [Java 接口自动化框架]httpclient4.5.3(CloseableHttpClient) https的工具类HttpsClientUtils

    2024年02月06日
    浏览(13)
  • springboot+JXLS+Jexl实现报表模版生成报表

    springboot+JXLS+Jexl实现报表模版生成报表

    前言 做这个项目的思路是由于公司基于自身发展,需要将之前的老项目平台拆解出来,由于之前的项目是所有的功能全部集中在一起,学习成本以及后续的扩展性来说,非常的不友好,并且由于之前设计人员的流失导致了项目无法进一步优化,所以想将其进行拆解,将单个功

    2024年02月08日
    浏览(8)
  • 报表控件FastReport使用指南-在Ubuntu LTS中创建PDF文档

    报表控件FastReport使用指南-在Ubuntu LTS中创建PDF文档

    FastReport  是功能齐全的报表控件,可以帮助开发者可以快速并高效地为.NET,VCL,COM,ActiveX应用程序添加报表支持,由于其独特的编程原则,现在已经成为了Delphi平台最优秀的报表控件,支持将编程开发中的报表信息输出为TXT、PDF等多种文件格式,是编程开发人员必备的报表

    2024年02月06日
    浏览(9)
  • 爬虫入门指南(5): 分布式爬虫与并发控制 【提高爬取效率与请求合理性控制的实现方法】

    爬虫入门指南(5): 分布式爬虫与并发控制 【提高爬取效率与请求合理性控制的实现方法】

    在进行爬虫任务时,我们常常会面临两个重要问题:如何提高爬取效率以及如何合理控制请求的并发量,以避免对目标网站造成过大的压力。针对这些问题,本文将介绍分布式爬虫与并发控制的相关知识点,并演示使用Scrapy框架实现分布式爬虫,并对并发控制进行限制请求频

    2024年02月12日
    浏览(15)
  • SpringBoot 使用【AOP 切面+注解】实现在请求调用 Controller 方法前修改请求参数和在结果返回之前修改返回结果

    在项目中需要实现 在请求调用 Controller 方法前修改请求参数和在结果返回之前修改返回结果 。 我们可以使用 AOP 切面+注解的形式实现。这样我们就可以在不修改原始代码的情况下,通过切面类在方法调用前后插入额外的逻辑。 自定义注解 @PreProcess 自定义注解 @PreProcess 用于

    2024年03月20日
    浏览(19)
  • LabVIEW于C#各自生成的DLL互相调用的方法

    LabVIEW于C#各自生成的DLL互相调用的方法

    1.LV调用C#生成的DLL (1)C#类库代码原型 Debug生成的DLL: LV代码: 结果显示 2.C#调用LabVIEW生成的DLL: LV源码 VS2017添加LV生成的DLL 加入命名控件,加源码 运行结果:

    2024年02月16日
    浏览(9)
  • PHP版滴滴cps联盟Api签名生成和接口调用方法分享

    最近准备把我自己开发的淘客系统接入滴滴联盟平台,做打车优惠券搞佣金。 由于淘客系统本身是PHP开发的,所以只能采用PHP的代码接入滴滴联盟Api 下面把滴滴联盟签名生成和接口调用的代码分享给大家  

    2024年02月08日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包