Oracle ORA-06508:PL/SQL:无法在包AR_receive_API_PUB过程中找到正在调用的程序单元
当一个自定义Oracle并发程序试图取消应用Oracle AR收据时,我遇到以下错误。请在下面找到代码片段。 现在,如果我要检查无效对象,我看不到任何与AR相关的包是无效的,包括AR_RECEIPT_API_PUB。 任何指示都会有帮助。 ORA-06508:PL/SQL:无法在包AR_receive_API_PUB过程中找到正在调用的程序单元Oracle ORA-06508:PL/SQL:无法在包AR_receive_API_PUB过程中找到正在调用的程序单元,oracle,plsql,Oracle,Plsql,当一个自定义Oracle并发程序试图取消应用Oracle AR收据时,我遇到以下错误。请在下面找到代码片段。 现在,如果我要检查无效对象,我看不到任何与AR相关的包是无效的,包括AR_RECEIPT_API_PUB。 任何指示都会有帮助。 ORA-06508:PL/SQL:无法在包AR_receive_API_PUB过程中找到正在调用的程序单元 ar_receipt_api_pub.unapply(p_api_version => 1.0
ar_receipt_api_pub.unapply(p_api_version => 1.0
,p_init_msg_list => fnd_api.g_true
,p_receivable_application_id => r_appn_cur.rcv_app_id
,p_org_id => r_appn_cur.org_id
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data);
如果包存在且没有错误,则可能是用户正在尝试使用它,无法访问它。只是为了验证,请尝试为包创建公共同义词并进行尝试。您已确保设置了所有必需的api参数。
出现错误的原因可能是编译器无法找到包的确切声明。这是否返回任何无效对象<代码>选择引用的所有者、引用的名称、引用的类型、AO.Status FROM DBA\U Dependencies AD INNER JOIN DBA\U OBJECTS AO on AO.Owner=AD.Owner和AO.Object\U name=AD.name,其中AD.name='AR\U RECEIPT\U API\U PUB'订单由AO.Status asc确定代码>如果没有,则可能需要重新编译列表中的所有对象。某些对象可能只是“损坏”了,需要从所有错误中重新编译
SELECT*代码>也可能显示一些有价值的东西。对我来说,听起来像Oracle应用程序(可能是EBS)。您是否向应用程序用户授予了执行权限?如果我记得的话,EBS中的PUB通常是同义词。因此,首先检查同义词first-select*from dba_同义词,其中同义词_name='AR_RECEIPT_API_PUB';它指向正确的那个吗?然后,在sqlplus中,“DESC AR_RECEIPT_API_PUB”并检查“UNAPPLY”过程是否存在,并且您已经提供了所有正确的参数。