码迷,mamicode.com
首页 > 其他好文 > 详细

在程序中提交XMLP报表

时间:2015-08-15 00:16:33      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:oracle   ebs   

1,首先调用函数fnd_request.add_layout来确定输出文件
   调用方法:result := fnd_request.add_layout(template_appl_name => :template_appl_name,
                                     template_code => :template_code,
                                     template_language => :,template_language,
                                     template_territory => :template_territory,
                                     output_formate => :output_format,
                                     nls_language => :nls_language);
  其中result为boolean类型的变量
  template_appl_name 指请求模版对应的应用简称
  template_code 指请求模版的简称,一般与请求的简称相同
  template_language 指运行请求时模版的语言,中文为zh,英文为us,此参数必须在挂模版时所选的语言范围内
  template_territory 指语言对应的区域,中国为CN
  output_formate 指报表输出时的格式类型,如PDF,EXCEL等
  nls_language 留空即可
  
2,在 result 返回值为 true 时再调用函数 FND_REQUEST.SUBMIT_REQUEST(提交处理事务处理接口请求) 来正式提交请求
调用方法: ln_request_id := fnd_request.submit_request(application => :application,
                                        program => :program,
                                        description => :description,
                                        start_time => :start_time,
                                        sub_request => sub_request,
                                        argument1..100 => :argument1..100);
其中 ln_request_id 为数值类型的变量
application 指请求对应的应用简称,必须
program 指请求的简称,必须
description 描述,在调用时留空即可
start_time 指请求开始运行的时间,在调用时留空即可,表求即时执行
sub_request 指当前请求是否是子请求,一般在调用时赋值 false,必须
argument1..100 指调用请求时的参数,最多100个,在pl/sql中调用时可在最后一个参数后用 chr(0)来表示为最后一个参数,不用写满100个参数,如果在form中调用则需要写满100个参数
3,2步执行后如果 ln_request_id > 0 表示提交成功,则需要显性执行 commit 才可最终提交成功

举例:
SELECT 
        XTV.DEFAULT_LANGUAGE
       ,XTV.DEFAULT_TERRITORY
       ,XTV.TEMPLATE_CODE
    INTO 
        lv_default_language
       ,lv_default_territory
       ,lv_template_code
    FROM 
        XDO_TEMPLATES_VL XTV
    WHERE 
        XTV.APPLICATION_SHORT_NAME = 'XXAR'
    AND XTV.TEMPLATE_CODE = 'CUXARINVP';
    --
    lb_result := FND_REQUEST.ADD_LAYOUT('XXAR',  
                                         lv_template_code,  
                                         lv_default_language,  
                                         lv_default_territory,  
                                         'PDF');
    --
    IF lb_result THEN
      ln_request_id := FND_REQUEST.submit_request(
                                        application => 'XXAR',
                                        program     => 'CUXARINVP',
                                        description => NULL,
                                        start_time  => NULL,
                                        sub_request => FALSE,
                                        argument1   => p_reprint_flag,
                                        argument2   => p_batch_source_id,
                                        argument3   => p_cust_trx_type_id,
                                        argument4   => p_cust_account_id,
                                        argument5   => p_invoice_number_from,
                                        argument6   => p_invoice_number_to,
                                        argument7   => p_invoice_date_from,
                                        argument8   => p_invoice_date_to,
                                        argument9   => p_order_number
                                        );
      COMMIT;

      IF NVL(ln_request_id,0) > 0 THEN
          write_log('Successfully submitted with request_id: '||ln_request_id);
      ELSE
          write_log('Failed to launch.');
      END IF;
     --
      COMMIT;
    END IF;


版权声明:本文为博主原创文章,未经博主允许不得转载。

在程序中提交XMLP报表

标签:oracle   ebs   

原文地址:http://blog.csdn.net/chosen1brain/article/details/47670053

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!