首页  ·  知识 ·  数据库
在OracleForm中打印Reporter
xialingge2006   http://blog.163.com/xialingge2006@126/blog/static/1028229020097254303919/    编辑:德仔   图片来源:网络
代码如下: procedure procedure_name is L_REQUEST_ID NUMBER; &l

代码如下:

procedure procedure_name is
    L_REQUEST_ID NUMBER;
    L_RESULT BOOLEAN;
    L_BL_RESULT  BOOLEAN;
    X_PHASE      VARCHAR2(100);
    X_STATUS     VARCHAR2(100);
    X_DEV_PHASE  VARCHAR2(100);
    X_DEV_STATUS VARCHAR2(100);
    X_MESSAGE    VARCHAR2(100);
begin
    --fnd_message.debug('headers.order_number' || :headers.order_number);
    IF(:headers.order_number is null) then
        fnd_message.set_name('fnd', '请选择一个订单');
        fnd_message.error;
        raise form_trigger_failure;
    end if;

--定义一个Layout
    l_result := fnd_request.add_layout(
                                template_appl_name => 'XHU',
                                template_code => 'XHUPOR2198F',
                                template_language => NULL,
                                template_territory => NULL,
                                output_format => 'PDF');
    --fnd_request,这个package存在于ebs的服务器数据库上            

--提交请求                               
    L_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST('XHU',
                                                'XHUPOR2198F',
                                                '',
                                                '',
                                                FALSE,
                                                :HEADERS.ORDER_NUMBER,                                                   
                                                '','','','','','','','','',
                                                '','','','','','','','','','',
                                                '','','','','','','','','','',
                                                '','','','','','','','','','',
                                                '','','','','','','','','','',
                                                '','','','','','','','','','',
                                                '','','','','','','','','','',
                                                '','','','','','','','','','',
                                                '','','','','','','','','','',
                                                '','','','','','','','','','');   
    COMMIT;   
    IF L_REQUEST_ID IS NULL OR L_REQUEST_ID = 0 THEN
      fnd_message.set_name('XHU','打印错误');
        fnd_message.error;
        raise form_trigger_failure;
    END IF;       

--等待请求,需要往form中添加附加库FNDCONC.pll       
    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');    
    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;

本文作者:xialingge2006 来源: http://blog.163.com/xialingge2006@126/blog/static/1028229020097254303919/
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读