重新打印/重新发布错误:ORA-00904:‘printer’:标识符无效”

          鄙人今天在上班的时候,突然被用户叫过去,EBS系统升级之后出现了一个问题,就是用户一般在跑报表的时候,都是先跑一次,看看数据是不是正确了,然后再重新打印,但是今天遇到一个问题,就是在点击菜单的“重新打印/重新发布”之后再选打印机的时候,发现出错了,报错是“ORA-00904:’printer’:标识符无效”。

        看着错误挺可爱的!~

   

  然后就去oracle支持网站上找了,果真就被我找到了!~

Oracle Application Object Library – Version 12.0.4 to 12.1.3 [Release 12 to 12.1]

Oracle Concurrent Processing – Version 12.0.0 to 12.1.3 [Release 12 to 12.1]

Information in this document applies to any platform.

ORA-00904, PRINTER, invalid identifier, REPUBLISH, REPRINT

Checked for relevance on 24-JUL-2013

反正就是它了

https://support.oracle.com/epmos/faces/ui/km/SearchDocDisplay.jspx?returnToSrId=&_afrLoop=48781099948702&srnum=&type=DOCUMENT&id=734626.1&displayIndex=2&_afrWindowMode=0&_adf.ctrl-state=ozjd73a33_77

第一步:查看是否存在一个方法

select web_html_call

from fnd_form_functions

where function_name = ‘FND_CP_REPUBLISH_REPRINT’;

我们期望是没结果,果真就没结果了!~

第二部:执行FNDLOAD

FNDLOAD apps/ 0 Y UPLOAD

$FND_TOP/patch/115/import/afsload.lct

$FND_TOP/patch/115/import/US/afcpxgnt.ldt

此时你就能找到该方法了,然后你再点击之前的操作!~,就发现自动跑到一个web界面去选打印机了,但是不会错误的1~

第三步:然后就没了

本来问题解决了,然后就没第三步了,处于好奇,自己就下载源FORM来seesee,对应的菜单下面的代码是这样的:

--fnd_requests_print_options.reprint;

-- XML Project calling the oam framework page to republish/reprint for given request_id

if (not fnd_function.test('FND_CP_REPUBLISH_REPRINT')) then
fnd_requests_print_options.reprint;
else
if (:jobs.request_id = NULL ) then
fnd_message.set_name('FND', 'CONC-NO REQUEST ID');
fnd_message.set_token('FUNC', 'FND_CP_REPUBLISH_REPRINT');
fnd_message.show;
else
fnd_function.execute(FUNCTION_NAME=>'FND_CP_REPUBLISH_REPRINT',
OPEN_FLAG=>'Y',
OTHER_PARAMS=>'REQUESTID=' || :jobs.request_id );
end if;
end if;

然后就学习了两个方法,一个是fnd_function.test测试一个方法是不是存在,一个fnd_function.execute执行一个方法,这个方法可以是基于form的,也可以是基于web的!~

然后就真没了!~good day!~

共有 0 条评论

Top