壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1545|回复: 16

form中如何調用report

  [复制链接]
发表于 2011/3/2 14:00:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
form中如何調用report
      一个forms,在其上添加一个打印按钮,点此按钮,可以打开指定的report,如何實現
 楼主| 发表于 2011/3/2 14:00:57 | 显示全部楼层
form中如何調用report
      一个forms,在其上添加一个打印按钮,点此按钮,可以打开指定的report,如何實現
 楼主| 发表于 2011/3/2 14:03:54 | 显示全部楼层
form中如何調用report
      一个forms,在其上添加一个打印按钮,点此按钮,可以打开指定的report,如何實現
 楼主| 发表于 2011/3/2 14:20:05 | 显示全部楼层
form中如何調用report
      一个forms,在其上添加一个打印按钮,点此按钮,可以打开指定的report,如何實現
 楼主| 发表于 2011/3/2 16:23:07 | 显示全部楼层
form中如何調用report
      一个forms,在其上添加一个打印按钮,点此按钮,可以打开指定的report,如何實現
发表于 2011/3/2 16:23:59 | 显示全部楼层
Oracle Form中调用并发请求生成报表并输出为PDF的方法 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;

http://www.cnblogs.com/benio/archive/2011/02/28/1966853.html
发表于 2011/3/2 17:25:44 | 显示全部楼层
顶一下 哈哈
发表于 2011/3/2 21:42:07 | 显示全部楼层
试一试,谢谢!
发表于 2011/3/3 10:20:37 | 显示全部楼层
6楼那样就可以啦
发表于 2011/3/3 14:44:58 | 显示全部楼层
  L_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST('PO',
                                                                                                    'TRNORDER094',
                                                                                                    '',
                                                                                                    '',
                                                                                                    FALSE,
                                                                                                    order_number,
                                                                                                    date_from,
                                                                                                    date_to,
                                                                                                    CHR(0),'','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','',
                                                                                                    '','','','','','','','','','');
正解
发表于 2011/3/4 15:18:07 | 显示全部楼层
感谢6楼的,学习了
发表于 2011/3/7 16:10:10 | 显示全部楼层
105个参数。。。
发表于 2011/3/29 20:41:29 | 显示全部楼层
记得有一次面试也遇到过这样的问题!
发表于 2011/4/21 15:49:09 | 显示全部楼层
顶一下。谢谢。
发表于 2013/7/4 09:37:25 | 显示全部楼层
好复杂啊{:soso_e150:}
发表于 2013/7/4 11:20:28 | 显示全部楼层
mark                                       
发表于 2013/7/9 11:15:21 | 显示全部楼层
好动西,非常感谢楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 02:04 , Processed in 0.021713 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表