本文主要是介绍oracle发票验证,发票验证请求报错MSG-00000,REP-1419,REP-0069,REP-57054,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
客户化的 发票验证请求,运行报错,日志如下:
+---------------------------------------------------------------------------+
应付帐款: Version : 12.0.0
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
APPRVL module:XXX_发票验证
+---------------------------------------------------------------------------+
当前的系统时间为 XXXXXXX
+---------------------------------------------------------------------------+
+-----------------------------
| 正在启动并发执行程序...
+-----------------------------
变元
------------
p_org_id='81'
p_option='All'
p_sob_id='2021'
p_trace_flag='N'
p_commit_size='1000'
------------
APPLLCSP Environment Variable set to :
Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are :
SIMPLIFIED CHINESE_CHINA.UTF8
'.,'
输出口令:
MSG-00000: When Others:User-Defined Exception
REP-1419: 'beforereport': PL/SQL 程序中止。
REP-0069: 内部错误
REP-57054: 已终止进程中的作业:已终止, 错误为:
REP-1419: MSG-00000: When Others:User-Defined Exception
REP-1419: 'beforereport': PL/SQL 程序中止。
Report Builder: Release 10.1.2.2.0 - Production on 1 03 XXXX
Copyright (c) 1982, 2005, Oracle. All rights reserved.
+---------------------------------------------------------------------------+
FND_FILE 中日志消息开始
+---------------------------------------------------------------------------+
此会计分类代码与所有项目类别代码均不关联。
User-Defined Exception
+---------------------------------------------------------------------------+
FND_FILE 中日志消息结束
+---------------------------------------------------------------------------+
程序 退出时出现状态 1
在为并发请求 11864236 运行 Oracle 报表管理系统时,并发管理器遇到了一个错误。
有关详情,请复查您的并发请求日志和(或)报表输出文件。
+---------------------------------------------------------------------------+
正在执行请求完成选项...
已完成执行请求完成选项。
+---------------------------------------------------------------------------+
已完成并发请求
当前的系统时间为 XXXX
+---------------------------------------------------------------------------+
before report中的部分代码为:
function BeforeReport return boolean is
begin
/* This is the before report trigger for Oracle Payables Release 10 reports */
DECLARE
init_failure EXCEPTION;
BEGIN
/* Init AOL - only necessary if AOL user exits are called */
/* If this is deleted, also delete SRWEXIT in After Report Trigger! */
SRW.USER_EXIT('FND SRWINIT');
IF (
_debug_switch in ('y','Y')) THEN
SRW.MESSAGE('1','After SRWINIT');
END IF;
/*Get company name */
IF (get_company_name != TRUE) THEN
RAISE init_failure;
END IF;
IF (
_debug_switch in ('y', 'Y')) THEN
SRW.MESSAGE('2', 'After Get Company Name');
END IF;
/* Get NLS messages */
IF (get_nls_strings != TRUE) THEN
RAISE init_failure;
END IF;
IF (
_debug_switch in ('y','Y') )THEN
SRW.MESSAGE('3','After Get NLS Strings');
END IF;
/* Get Operating Unit */
IF (get_operating_unit != TRUE) THEN
RAISE init_failure;
END IF;
IF (
_debug_switch in ('y','Y') )THEN
SRW.MESSAGE('24','After Get Operating Unit');
END IF;
/* Get User Name */
IF (get_user_name != TRUE) THEN
RAISE init_failure;
END IF;
IF (
_debug_switch in ('y','Y') )THEN
SRW.MESSAGE('24','After Get User Name');
END IF;
/* Select invoices for Batch approval and call the online approval
package for each invoice selected */
IF (batch_approval != TRUE) THEN -- Call report level PL/SQL function
RAISE init_failure;
END IF;
IF (
_debug_switch in ('y','Y')) THEN
SRW.MESSAGE('30','After Batch Validation');
END IF;
/* Getting the Batch Name from AP_BATCHES table -Bug 1944393 */
--
-- bug 1954691 add IF stmt to execute SELECT when
_inv_batch_id IS NOT NULL and
-- add the EXCEPTION clause
IF (
_inv_batch_id IS NOT NULL) THEN
IF (
_debug_switch in ('y','Y')) THEN
SRW.MESSAGE('31','After Batch Validation: Get Batch Name');
END IF;
BEGIN
SELECT batch_name
INTO :c_batch_name
FROM ap_batches_all
WHERE batch_id =
_inv_batch_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
END IF;
If (:p_invoice_id is Not Null) Then
IF (:p_debug_switch in ('y','Y')) THEN
SRW.MESSAGE('31','After Batch Validation: Get Invoice Num');
END IF;
Begin
Select invoice_num
into :cp_invoice_number
from ap_invoices
where invoice_id = :p_invoice_id;
Exception
When No_data_found Then
null;
End;
End If;
If (:p_vendor_id IS NOT NULL) Then
IF (:p_debug_switch in ('y','Y')) THEN
SRW.MESSAGE('31','After Batch Validation: Get Supplier Name');
END IF;
Begin
SELECT vendor_name
INTO :cp_supplier_name
FROM po_vendors
WHERE vendor_id = :p_vendor_id;
Exception
When No_data_found Then
null;
End;
End If;
/* If the debug switch is turned on, do an SRW.BREAK to show current */
/* parameter and column assignments. */
IF (:p_debug_switch in ('y','Y')) THEN
SRW.BREAK;
END IF;
/* If there have been no exceptions so far, RETURN(TRUE) */
RETURN (TRUE);
/* Exception Handler Section. If there is an exception, abort program */
EXCEPTION
WHEN OTHERS THEN
SRW.MESSAGE('0','When Others:'||SQLERRM);
RAISE SRW.PROGRAM_ABORT;
END;
return (TRUE);
end;
其中 的 batch_APPROVAL调用的是
FUNCTION batch_approval RETURN BOOLEAN
IS
BEGIN
IF (AP_APPROVAL_PKG.BATCH_APPROVAL
(p_run_option => :P_OPTION,
p_sob_id => :P_SOB_ID,
p_inv_start_date => :P_INV_START_DATE,
p_inv_end_date => :P_INV_END_DATE,
p_inv_batch_id => :P_INV_BATCH_ID,
p_vendor_id => :P_VENDOR_ID,
p_pay_group => :P_PAY_GROUP,
p_invoice_id => :P_INVOICE_ID,
p_entered_by => :P_ENTERED_BY,
p_debug_switch => :P_DEBUG_SWITCH,
p_conc_request_id => :P_CONC_REQUEST_ID,
p_commit_size => :P_COMMIT_SIZE,
p_org_id => :P_ORG_ID,
p_report_holds_count => :C_REP_COUNT) <> TRUE) THEN
RETURN FALSE;
END IF;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
SRW.MESSAGE('101','Error occured in BATCH_APPROVAL()');
SRW.MESSAGE('102','Error Code : '||SQLCODE);
SRW.MESSAGE('103','Error Message : '||SQLERRM);
RETURN FALSE;
END;
请问各位前辈 如何知道问题的原因 和解决方法么?谢谢
这篇关于oracle发票验证,发票验证请求报错MSG-00000,REP-1419,REP-0069,REP-57054的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!