The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT 'X' into l_trx_type_check
from psa_trx_types_ALL a, ra_cust_trx_types_all b
where a.psa_trx_type_id = X_TRANSACTION_TYPE_ID
AND a.psa_trx_type_id = b.cust_trx_type_id ;
select sob.currency_code
into l_base_currency
from GL_SETS_OF_BOOKS sob,AR_SYSTEM_PARAMETERS_ALL sp
where sob.set_of_books_id = X_SET_OF_BOOKS_ID
and sob.set_of_books_id = sp.set_of_books_id
and rownum < 2 ;
select a.creation_method_code into l_payment_method
from AR_RECEIPT_CLASSES a,AR_RECEIPT_METHODS b
where a.RECEIPT_CLASS_ID = b.RECEIPT_CLASS_ID
and b.receipt_method_id = X_RECEIPT_METHOD_ID;
SELECT 'X' into l_trx_type_check
from psa_trx_types_ALL a, ra_customer_trx_all b
where a.psa_trx_type_id = b.cust_trx_type_id
and b.customer_trx_id = X_TRX_ID ;
select sob.currency_code
into l_base_currency
from GL_SETS_OF_BOOKS sob,AR_SYSTEM_PARAMETERS_ALL sp
where sob.set_of_books_id = X_SET_OF_BOOKS_ID
and sob.set_of_books_id = sp.set_of_books_id
and rownum < 2 ;
SELECT 'X' into l_validate_trx
from psa_trx_types_ALL a, ra_customer_trx_all b
where a.psa_trx_type_id = b.cust_trx_type_id
and customer_trx_id = X_SOURCE_ID ;
SELECT 'X' into l_validate_adj
from psa_trx_types_ALL a, ra_customer_trx_all b,
ar_adjustments_all c
where b.customer_trx_id = c.customer_trx_id
and a.psa_trx_type_id = b.cust_trx_type_id
and c.adjustment_id = X_SOURCE_ID ;
select applied_customer_trx_id
into l_app_cust_trx_id
from ar_receivable_applications_all
where receivable_application_id = X_SOURCE_ID;
SELECT 'X' into l_rct_check
from psa_trx_types_ALL a, ra_customer_trx_ALL b
-- ar_cash_receipts_ALL c,ar_receivable_applications_ALL d
-- where b.customer_trx_id = d.applied_customer_trx_id
-- and c.cash_receipt_id = d.cash_receipt_id
-- and
where a.psa_trx_type_id = b.cust_trx_type_id
and b.customer_trx_id = X_TRANSACTION_ID ;
Select Invoice_currency_code into l_inv_currency_code
from ra_customer_trx_all
where customer_trx_id = X_TRANSACTION_ID and
org_id = l_org_id;
select currency_code into l_rct_currency_code
from ar_cash_receipts_all
where cash_receipt_id = X_RECEIPT_ID ;
select a.REMIT_FLAG,a.confirm_flag into
l_remit_flag,l_confirm_flag
from AR_RECEIPT_CLASSES a,AR_RECEIPT_METHODS b
where a.RECEIPT_CLASS_ID = b.RECEIPT_CLASS_ID
and b.receipt_method_id = X_RECEIPT_METHOD_ID ;
SELECT
a.REMIT_FLAG,
a.confirm_flag
INTO
l_remit_flag,
l_confirm_flag
FROM
AR_RECEIPT_CLASSES a,
AR_RECEIPT_METHODS b
WHERE
a.RECEIPT_CLASS_ID = b.RECEIPT_CLASS_ID AND
b.receipt_method_id = X_RECEIPT_METHOD_ID ;
select sob.currency_code
into l_base_currency
from GL_SETS_OF_BOOKS sob,AR_SYSTEM_PARAMETERS_ALL sp
where sob.set_of_books_id = l_set_of_books_id
and sob.set_of_books_id = sp.set_of_books_id
and rownum < 2 ;
Select 'X'
into l_currency_check
from AR_INTERIM_CASH_RECEIPTS_ALL a
WHERE a.currency_code <> l_base_currency
and rownum < 2 ;
select 'X'
into l_payment_method_check
from AR_RECEIPT_CLASSES a,AR_RECEIPT_METHODS b,
AR_INTERIM_CASH_RECEIPTS_ALL c
where a.RECEIPT_CLASS_ID = b.RECEIPT_CLASS_ID
and b.receipt_method_id = c.RECEIPT_METHOD_ID
and a.remit_flag = 'Y'
and rownum < 2 ;
| then Insert the error into Errors Table. Else continue further validation |
+--------------------------------------------------------------------------------*/
if (arp_global.sysparam.accounting_method <> 'ACCRUAL' )
then
return;
INSERT INTO RA_INTERFACE_ERRORS
(INTERFACE_LINE_ID,
MESSAGE_TEXT)
SELECT /*+ ORDERED */ nvl(L.INTERFACE_LINE_ID,0 ) ,
DECODE(B.TYPE ,'GUAR','Commitments Can not be Multi Fund Transactions Type',
'CB' ,'Multi Fund TRansactions Can not be Charged Back' ,
'CM' , 'On-Account Credit Can not use Multi Fund Transaction types')
FROM ra_interface_lines_gt L,
ra_cust_trx_types_all B,
psa_trx_types_all C
WHERE L.REQUEST_ID = l_request_id
AND L.cust_trx_type_id = B.cust_trx_type_id
AND B.TYPE in ('GUAR', 'CB', 'CM')
AND B.cust_trx_type_id = C.psa_trx_type_id;
INSERT INTO RA_INTERFACE_ERRORS
(INTERFACE_LINE_ID,
MESSAGE_TEXT)
SELECT L.INTERFACE_LINE_ID,
'Can not Assign Rules to Multi Fund Transactions'
FROM RA_INTERFACE_LINES_GT L
WHERE L.REQUEST_ID = l_request_id
AND ( L.INVOICING_RULE_ID IS NOT NULL
OR L.INVOICING_RULE_NAME IS NOT NULL )
AND exists
(SELECT 'X' FROM RA_CUST_TRX_TYPES_ALL B,
PSA_TRX_TYPES_ALL C
WHERE B.CUST_TRX_TYPE_ID = C.PSA_TRX_TYPE_ID
AND B.CUST_TRX_TYPE_ID = L.CUST_TRX_TYPE_ID ) ;
INSERT INTO RA_INTERFACE_ERRORS
(INTERFACE_LINE_ID,
MESSAGE_TEXT)
SELECT nvl(L.INTERFACE_LINE_ID,0) ,
'Transaction Currency Should be Equal to the GL Functional Currency'
FROM RA_INTERFACE_LINES_GT L
WHERE L.REQUEST_ID = l_request_id
AND exists
(SELECT 'X' FROM RA_CUST_TRX_TYPES_ALL B,
PSA_TRX_TYPES_ALL C
WHERE B.CUST_TRX_TYPE_ID = C.PSA_TRX_TYPE_ID
AND B.CUST_TRX_TYPE_ID = L.CUST_TRX_TYPE_ID )
AND not exists
(select 'X'
from GL_SETS_OF_BOOKS sob,AR_SYSTEM_PARAMETERS_ALL sp
where sob.set_of_books_id = L.SET_OF_BOOKS_ID
and sob.set_of_books_id = sp.set_of_books_id
and sob.currency_code = L.currency_code
and rownum < 2 );
INSERT INTO RA_INTERFACE_ERRORS
(INTERFACE_LINE_ID,
MESSAGE_TEXT )
SELECT nvl(L.INTERFACE_LINE_ID,0) ,
'Can not Mark Multi Fund Transactions for Automatic Receipts '
FROM RA_INTERFACE_LINES_GT L
WHERE L.REQUEST_ID = l_request_id
AND exists
(SELECT 'X' FROM RA_CUST_TRX_TYPES_ALL B,
PSA_TRX_TYPES_ALL C
WHERE B.CUST_TRX_TYPE_ID = C.PSA_TRX_TYPE_ID
AND B.CUST_TRX_TYPE_ID = L.CUST_TRX_TYPE_ID )
AND exists
(SELECT 'X'
FROM
AR_RECEIPT_CLASSES A,
AR_RECEIPT_METHODS B
WHERE
A.RECEIPT_CLASS_ID = B.RECEIPT_CLASS_ID
AND (B.RECEIPT_METHOD_ID = L.RECEIPT_METHOD_ID
OR B.NAME = L.RECEIPT_METHOD_NAME)
AND A.CREATION_METHOD_CODE = 'AUTOMATIC' ) ;
INSERT INTO RA_INTERFACE_ERRORS
(INTERFACE_LINE_ID,
MESSAGE_TEXT)
SELECT nvl(L.INTERFACE_LINE_ID,0) ,
'Can not Assign Commitments to Multi Fund Transactions'
FROM RA_INTERFACE_LINES_GT L
WHERE L.REQUEST_ID = l_request_id
AND exists
(SELECT 'X' FROM RA_CUST_TRX_TYPES_ALL B,
PSA_TRX_TYPES_ALL C
WHERE B.CUST_TRX_TYPE_ID = C.PSA_TRX_TYPE_ID
AND B.TYPE = 'INV'
AND L.REFERENCE_LINE_ID is not null
AND B.CUST_TRX_TYPE_ID = L.CUST_TRX_TYPE_ID ) ;
INSERT INTO RA_INTERFACE_ERRORS
(INTERFACE_LINE_ID,
MESSAGE_TEXT)
SELECT nvl(L.INTERFACE_LINE_ID,0) ,
'Credit Memo Profile Option must use Invoice Accounting for Multi Fund Transactions'
FROM RA_INTERFACE_LINES_GT L
WHERE L.REQUEST_ID = l_request_id
AND exists
(SELECT 'X' FROM RA_CUST_TRX_TYPES_ALL B,
PSA_TRX_TYPES_ALL C
WHERE fnd_profile.value('AR_USE_INV_ACCT_FOR_CM_FLAG') <> 'Y'
AND B.TYPE = 'CM'
AND L.REFERENCE_LINE_ID is not null
AND B.CUST_TRX_TYPE_ID = L.CUST_TRX_TYPE_ID
AND b.cust_trx_type_id = c.psa_trx_type_id);
SELECT
confirm_flag,
remit_flag
FROM
ar_receipt_classes rc,
ar_receipt_methods rm
WHERE
rc.receipt_class_id = rm.receipt_class_id AND
rm.receipt_method_id = p_receipt_method_id;
SELECT
'Y'
FROM
psa_receivables_trx_all psart,
ar_receivables_trx_all rt
WHERE
psart.psa_receivables_trx_id = p_receivables_trx_id
AND
psart.psa_receivables_trx_id = rt.receivables_trx_id;