The following lines contain the word 'select', 'insert', 'update' or 'delete':
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_fatal_error_flag OUT NOCOPY VARCHAR2,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calc_user_xrate IN VARCHAR2,
p_prepay_period_name IN OUT NOCOPY VARCHAR2,
p_prepay_invoice_id OUT NOCOPY NUMBER,
p_prepay_case_name OUT NOCOPY VARCHAR2,
p_request_id IN NUMBER,
p_allow_interest_invoices IN VARCHAR2, --Bug4113223
p_calling_sequence IN VARCHAR2)
RETURN BOOLEAN IS
check_inv_validation_failure EXCEPTION;
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
l_temp_invoice_status, -- OUT
p_po_vendor_id => l_vendor_id, -- OUT
p_po_vendor_site_id => l_vendor_site_id_per_po, -- OUT
p_po_exists_flag => l_po_exists_flag, -- OUT
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_po<-'||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_party <-'||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_return_vendor_id => l_vendor_id, -- OUT
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_supplier<-'||current_calling_sequence);
THEN UPDATE ap_invoices_interface
SET vendor_id = l_vendor_id
WHERE invoice_id = p_invoice_rec.invoice_id;
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_return_party_site_id => l_party_site_id, -- OUT
p_terms_date_basis => l_terms_date_basis, -- OUT
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_party_site<-'
||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_return_party_site_id => l_party_site_id, -- OUT
p_terms_date_basis => l_terms_date_basis, -- OUT
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_party_site<-'
||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_return_vendor_site_id => l_vendor_site_id, -- OUT
p_terms_date_basis => l_terms_date_basis, -- OUT
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_supplier_site<-'
||current_calling_sequence);
p_default_last_updated_by,
p_default_last_update_login) <> TRUE) then
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_party_vendor<-'
||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_invoice_num<- '||current_calling_sequence);
p_default_last_updated_by => p_default_last_updated_by, -- IN
p_default_last_update_login => p_default_last_update_login,-- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_currency_code<-'||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invoice_type_amount<-'||current_calling_sequence);
p_default_last_updated_by => p_default_last_updated_by, -- IN
p_default_last_update_login => p_default_last_update_login,-- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_awt_group<-'||current_calling_sequence);
p_default_last_updated_by => p_default_last_updated_by, -- IN
p_default_last_update_login => p_default_last_update_login,-- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_pay_awt_group<-'||current_calling_sequence);
p_default_last_updated_by => p_default_last_updated_by, -- IN
p_default_last_update_login => p_default_last_update_login,-- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_exchange_rate_type<-'||current_calling_sequence);
p_default_last_updated_by => p_default_last_updated_by, -- IN
p_default_last_update_login => p_default_last_update_login,-- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_terms<-'||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_misc_invoice_info<-'||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_Legal_Entity_info<-'||current_calling_sequence);
p_default_last_updated_by => p_default_last_updated_by,-- IN
p_default_last_update_login => p_default_last_update_login,-- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_pay_curr<-'||current_calling_sequence);
TO_CHAR(p_default_last_updated_by),
TO_CHAR(p_default_last_update_login),
current_calling_sequence,
TO_CHAR(p_invoice_rec.vendor_site_id), -- arg 8
p_invoice_rec.payment_currency_code, -- arg 9
NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,
p_current_status => l_temp_invoice_status);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_prepay_info<-' ||current_calling_sequence);
p_default_last_updated_by => p_default_last_updated_by,
p_default_last_update_login => p_default_last_update_login,
p_current_invoice_status => l_temp_invoice_status,
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_tax_info<-' ||current_calling_sequence);
p_default_last_updated_by => p_default_last_updated_by, -- IN
p_default_last_update_login => p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_remit_supplier<-'||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_invoice_base_amount => l_invoice_base_amount, -- OUT
p_current_invoice_status => l_temp_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_inavlid_currency_code<-' ||current_calling_sequence);
p_default_last_updated_by,
p_default_last_update_login)
<> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_payment_defaults<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_po_vendor_id OUT NOCOPY NUMBER,
p_po_vendor_site_id OUT NOCOPY NUMBER,
p_po_exists_flag OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
invalid_po_check_failure EXCEPTION;
SELECT closed_date, vendor_id, vendor_site_id, closed_code /* Added closed_code - 1Off Bug 10288184 / 11i Bug 8410175 */
INTO l_closed_date ,l_vendor_id, l_vendor_site_id, l_closed_code /* Added l_closed_code - 1Off Bug 10288184 / 11i Bug 8410175 */
FROM po_headers
WHERE segment1 = p_invoice_rec.po_number
AND type_lookup_code in ('BLANKET', 'PLANNED', 'STANDARD')
/* BUG 2902452 added*/
AND nvl(authorization_status,'INCOMPLETE') in ('APPROVED','REQUIRES REAPPROVAL','IN PROCESS');--Bug5687122 --Added In Process condition
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INACTIVE PO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
SELECT vendor_name
INTO l_invoice_vendor_name
FROM po_vendors
WHERE vendor_id = p_invoice_rec.vendor_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT PO SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'SUPPLIER NAME',
l_invoice_vendor_name) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT PO SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PO NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO NUMBER',
p_invoice_rec.po_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_return_vendor_id OUT NOCOPY NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2)
RETURN BOOLEAN IS
supplier_check_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NO SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT vendor_id
INTO l_vendor_id
FROM po_vendors pv
WHERE vendor_id = p_invoice_rec.vendor_id
AND nvl(trunc(PV.START_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
<= AP_IMPORT_INVOICES_PKG.g_inv_sysdate
AND nvl(trunc(PV.END_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate ;
SELECT vendor_id
INTO l_vendor_id_per_num
FROM po_vendors PV
WHERE segment1 = p_invoice_rec.vendor_num
AND nvl(trunc(PV.START_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
<= AP_IMPORT_INVOICES_PKG.g_inv_sysdate
AND nvl(trunc(PV.END_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
SELECT vendor_id
INTO l_vendor_id_per_name
FROM po_vendors PV
WHERE vendor_name = p_invoice_rec.vendor_name
AND nvl(trunc(PV.START_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
<= AP_IMPORT_INVOICES_PKG.g_inv_sysdate
AND nvl(trunc(PV.END_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate ;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_return_vendor_site_id OUT NOCOPY NUMBER,
p_terms_date_basis OUT NOCOPY VARCHAR2,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
supplier_site_check_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NO SUPPLIER SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
SELECT vendor_site_id, pay_site_flag, terms_date_basis
INTO l_vendor_site_id, l_pay_site_flag, p_terms_date_basis
FROM po_vendor_sites pvs
WHERE vendor_site_id = p_invoice_rec.vendor_site_id
AND nvl(trunc(PVS.INACTIVE_DATE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate ;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID SUPPLIER SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE
) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
SELECT vendor_site_id, pay_site_flag, terms_date_basis
INTO l_vendor_site_id, l_pay_site_flag, p_terms_date_basis
FROM po_vendor_sites pvs
WHERE vendor_id = p_invoice_rec.vendor_id
AND nvl(Primary_pay_site_flag,'N')='Y'
AND pvs.Org_id=p_invoice_rec.org_id
AND nvl(trunc(PVS.INACTIVE_DATE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate ;
UPDATE AP_ppa_invoices_gt H
SET vendor_site_id = l_vendor_site_id
WHERE invoice_id = p_invoice_rec.invoice_id;
SELECT vendor_site_id, pay_site_flag, terms_date_basis
INTO l_vendor_site_id, l_pay_site_flag, p_terms_date_basis
FROM po_vendor_sites pvs
WHERE vendor_id = p_invoice_rec.vendor_id
AND pvs.Org_id=p_invoice_rec.org_id
AND NVL(pvs.pay_site_flag,'N')='Y'
AND nvl(trunc(PVS.INACTIVE_DATE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate ;
UPDATE AP_ppa_invoices_gt H
SET vendor_site_id = l_vendor_site_id
WHERE invoice_id = p_invoice_rec.invoice_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID SUPPLIER SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
SELECT vendor_site_id, pay_site_flag,
terms_date_basis
INTO l_vendor_site_id_per_code, l_pay_site_flag_per_code,
p_terms_date_basis
FROM po_vendor_sites
WHERE vendor_site_code = p_invoice_rec.vendor_site_code
AND vendor_id = p_invoice_rec.vendor_id
AND nvl(trunc(INACTIVE_DATE),AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate ;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID SUPPLIER SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT SUPPL SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
SELECT 'X'
INTO l_valid_vendor
FROM po_vendor_sites
WHERE vendor_site_id = nvl(l_vendor_site_id ,l_vendor_site_id_per_code)
AND vendor_id = p_invoice_rec.vendor_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT SUPPL SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
SELECT distinct vendor_id
INTO l_check_vendor_id
FROM po_vendor_sites
WHERE vendor_site_id IN (l_vendor_site_id, p_vendor_site_id_per_po,
l_vendor_site_id_per_code);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT SUPPL SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT SUPPL SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NOT PAY SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NOT PAY SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID SUPPLIER SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2)
RETURN BOOLEAN IS
party_check_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PARTY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT party_id
INTO l_party_id
FROM hz_parties hzp
WHERE party_id = p_invoice_rec.party_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PARTY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_return_party_site_id OUT NOCOPY NUMBER,
p_terms_date_basis OUT NOCOPY VARCHAR2,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2)
RETURN BOOLEAN IS
party_site_check_failure EXCEPTION;
SELECT party_site_id
INTO l_party_site_id
FROM HZ_Party_Sites HPS
WHERE HPS.Party_ID = p_invoice_rec.party_id
AND HPS.Identifying_Address_Flag = 'Y'
AND NVL(HPS.Start_Date_Active, AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
<= AP_IMPORT_INVOICES_PKG.g_inv_sysdate
AND NVL(HPS.End_Date_Active, AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
>= AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PARTY SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
SELECT party_site_id
INTO l_party_site_id
FROM hz_party_sites hps
WHERE party_site_id = p_invoice_rec.party_site_id
AND party_id = p_invoice_rec.party_id
AND status = 'A'
AND NVL(HPS.Start_Date_Active, AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
<= AP_IMPORT_INVOICES_PKG.g_inv_sysdate
AND NVL(HPS.End_Date_Active, AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
>= AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PARTY SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
/*SELECT terms_date_basis
INTO p_terms_date_basis
FROM ap_system_parameters
WHERE org_id = p_invoice_rec.org_id;*/ --Bug8323165
SELECT terms_date_basis
INTO p_terms_date_basis
FROM ap_product_setup;--Bug8323165
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
invoice_num_check_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NO INVOICE NUMBER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID INVOICE NUMBER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE NUMBER',
l_invoice_num) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT count(*)
INTO l_invoice_count
FROM ap_invoices
WHERE vendor_id = p_invoice_rec.vendor_id
AND invoice_num = l_invoice_num
AND (party_site_id = p_invoice_rec.party_site_id /*Bug9105666*/
OR (party_site_id is null and p_invoice_rec.party_site_id is null)) /*Bug9105666*/
AND rownum = 1;
SELECT count(*)
INTO l_count_in_history_invoices
FROM ap_history_invoices ahi,
ap_supplier_sites ass /*Bug9105666*/
WHERE ahi.vendor_id = ass.vendor_id /*Bug9105666*/
AND ahi.org_id = ass.org_id /*Bug9105666*/
AND ahi.vendor_id = p_invoice_rec.vendor_id
AND (ass.party_site_id = p_invoice_rec.party_site_id /*Bug9105666*/
OR (ass.party_site_id is null and p_invoice_rec.party_site_id is null)) /*Bug9105666*/
AND ahi.invoice_num = l_invoice_num;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'DUPLICATE INVOICE NUMBER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE NUMBER',
l_invoice_num) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
invalid_inv_curr_code_failure EXCEPTION;
SELECT Invoice_currency_code
INTO p_inv_currency_code
FROM AP_System_Parameters
WHERE Org_ID = p_invoice_rec.org_id;
SELECT Invoice_currency_code
INTO p_inv_currency_code
FROM po_vendor_sites
WHERE vendor_site_id = p_invoice_rec.vendor_site_id;
SELECT Invoice_currency_code
INTO p_inv_currency_code
FROM po_vendor_sites
WHERE vendor_site_id = p_invoice_rec.vendor_site_id;
SELECT Invoice_currency_code
INTO p_inv_currency_code
FROM AP_System_Parameters
WHERE Org_ID = p_invoice_rec.org_id;
/*SELECT start_date_active, end_date_active,
minimum_accountable_unit, precision, enabled_flag
INTO l_start_date_active, l_end_date_active,
l_min_acc_unit_inv_curr,l_precision_inv_curr, l_enabled_flag
FROM fnd_currencies
WHERE currency_code = p_inv_currency_code; */
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INACTIVE CURRENCY CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID CURRENCY CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID CURRENCY CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
invalid_type_lookup_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID INV TYPE LOOKUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID INVOICE AMOUNT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y') <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT INV TYPE/AMT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT nvl(sum(amount),0) , count(*)
INTO l_lines_amount_sum, l_no_of_lines
FROM ap_invoice_lines_interface
WHERE invoice_id = p_invoice_rec.invoice_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVOICE AMOUNT INCORRECT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NO INVOICE LINES',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'AMOUNT EXCEEDS PRECISION',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
awt_group_check_failure EXCEPTION;
SELECT group_id, inactive_date
INTO l_awt_group_id, l_inactive_date
FROM ap_awt_groups
WHERE group_id = p_invoice_rec.awt_group_id;
SELECT group_id, inactive_date
INTO l_awt_group_id_per_name, l_inactive_date_per_name
FROM ap_awt_groups
WHERE name = p_invoice_rec.awt_group_name;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INACTIVE AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INACTIVE AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT awt_group_id
INTO p_awt_group_id
FROM po_vendor_sites
WHERE vendor_id = p_invoice_rec.vendor_id
AND vendor_site_id = p_invoice_rec.vendor_site_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
pay_awt_group_check_failure EXCEPTION;
SELECT group_id, inactive_date
INTO l_pay_awt_group_id, l_inactive_date
FROM ap_awt_groups
WHERE group_id = p_invoice_rec.pay_awt_group_id;
SELECT group_id, inactive_date
INTO l_pay_awt_group_id_per_name, l_inactive_date_per_name
FROM ap_awt_groups
WHERE name = p_invoice_rec.pay_awt_group_name;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT PAY AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INACTIVE PAY AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INACTIVE PAY AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT pay_awt_group_id
INTO p_pay_awt_group_id
FROM po_vendor_sites
WHERE vendor_id = p_invoice_rec.vendor_id
AND vendor_site_id = p_invoice_rec.vendor_site_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PAY AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
exchange_rate_type_failure EXCEPTION;
SELECT 'X'
INTO l_valid_conversion_type
FROM gl_daily_conversion_types
WHERE conversion_type = l_conversion_type;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID EXCH RATE TYPE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID EXCH RATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT RATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NO EXCHANGE RATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NO EXCHANGE RATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID EXCH RATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT RATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT INFO ENTERED',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT RATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
terms_check_failure EXCEPTION;
SELECT term_id, start_date_active, end_date_active
INTO l_term_id, l_start_date_active, l_end_date_active
FROM ap_terms
WHERE term_id = p_invoice_rec.terms_id;
SELECT term_id, start_date_active, end_date_active
INTO l_term_id_per_name, l_start_date_active_per_name,
l_end_date_active_per_name
FROM ap_terms
WHERE name = p_invoice_rec.terms_name;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID TERMS',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
SELECT terms_id
INTO l_term_id
FROM po_headers
WHERE segment1 = p_invoice_rec.po_number
AND type_lookup_code in ('BLANKET', 'PLANNED', 'STANDARD');
SELECT p.terms_id
INTO l_term_id
FROM po_headers p, ap_invoice_lines_interface l
WHERE p.type_lookup_code in ('BLANKET', 'PLANNED', 'STANDARD')
AND ((l.po_header_id = p.po_header_id) OR
(l.po_number = p.segment1))
AND l.invoice_id = p_invoice_rec.invoice_id
AND p.terms_id IS NOT NULL
GROUP BY p.terms_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT TERMS INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
SELECT p.terms_id
INTO l_term_id
FROM rcv_transactions r,
po_headers p,
ap_invoice_lines_interface l
WHERE p.po_header_id = r.po_header_id
AND r.transaction_id = l.rcv_transaction_id
AND l.invoice_id = p_invoice_rec.invoice_id
AND p.terms_id IS NOT NULL
GROUP BY p.terms_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT TERMS INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
SELECT terms_id
INTO l_term_id
FROM po_vendor_sites
WHERE vendor_id = p_invoice_rec.vendor_id
AND vendor_site_id = p_invoice_rec.vendor_site_id;
SELECT terms_id
INTO l_term_id
FROM ap_product_setup;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NO TERMS INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
SELECT start_date_active, end_date_active
INTO l_start_date_active, l_end_date_active
FROM ap_terms
WHERE term_id = l_term_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT TERMS INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INACTIVE TERMS',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INACTIVE TERMS',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'DATE INVOICE RECEIVED REQ',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'DATE GOODS RECEIVED REQ',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NO SPECIAL CALENDAR FOR TERMS',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2)
RETURN BOOLEAN IS
misc_invoice_info_failure EXCEPTION;
SELECT fsp.accts_pay_code_combination_id
INTO p_invoice_rec.accts_pay_code_combination_id
FROM ap_system_parameters asp,
financials_system_parameters fsp
WHERE asp.org_id = p_invoice_rec.org_id
AND asp.org_id = fsp.org_id;
SELECT accts_pay_code_combination_id
INTO p_invoice_rec.accts_pay_code_combination_id
FROM ap_supplier_sites_all
WHERE vendor_id = p_invoice_rec.vendor_id
AND vendor_site_id = p_invoice_rec.vendor_site_id;
SELECT chart_of_accounts_id
INTO l_chart_of_accounts_id
FROM gl_sets_of_books
WHERE set_of_books_id = p_set_of_books_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID LIABILITY ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
SELECT account_type
INTO l_acct_type
FROM gl_code_combinations
WHERE code_combination_id = l_ccid;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID LIABILITY ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT LIAB ACCOUNT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID LIABILITY ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT account_type
INTO l_acct_type
FROM gl_code_combinations
WHERE code_combination_id =
p_invoice_rec.accts_pay_code_combination_id;
SELECT chart_of_accounts_id
INTO l_chart_of_accounts_id
FROM gl_sets_of_books
WHERE set_of_books_id = p_set_of_books_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID LIABILITY ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID LIABILITY ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID LIABILITY ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID LIABILITY ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PAY GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'X'
INTO l_valid_info
FROM po_lookup_codes
WHERE lookup_code = p_invoice_rec.pay_group_lookup_code
AND lookup_type = 'PAY GROUP'
AND DECODE(SIGN(NVL(inactive_date,
AP_IMPORT_INVOICES_PKG.g_inv_sysdate) -
AP_IMPORT_INVOICES_PKG.g_inv_sysdate),
-1,'','*') = '*';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PAY GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT count(*)
INTO l_invoice_count
FROM ap_invoices
WHERE voucher_num = p_invoice_rec.voucher_num;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'DUPLICATE VOUCHER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID REQUESTER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT count(*)
INTO l_emp_count
FROM hr_employees_current_v
Where Employee_Id = nvl(P_Invoice_Rec.Requester_Id, Employee_Id)
AND Last_Name = nvl(P_Invoice_Rec.requester_Last_Name, Last_Name)
AND First_Name = nvl(P_Invoice_Rec.Requester_First_Name, First_Name)
AND employee_num = nvl(p_invoice_rec.requester_employee_num, employee_num);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID REQUESTER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT count(*)
INTO l_emp_count
FROM hr_employees_current_v
WHERE employee_id = p_invoice_rec.requester_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID REQUESTER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
Select Employee_Id
INTO p_invoice_rec.requester_id
From Hr_Employees_Current_V
Where (Last_Name) =(P_Invoice_Rec.requester_Last_Name)
And (First_Name) =(P_Invoice_Rec.Requester_First_Name);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID REQUESTER',
p_default_last_updated_by,
p_default_last_update_login,
Current_Calling_Sequence) <> True) Then
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||Current_Calling_Sequence);
Select Employee_Id
INTO p_invoice_rec.requester_id
FROM hr_employees_current_v
WHERE employee_num = p_invoice_rec.requester_employee_num;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID REQUESTER',
p_default_last_updated_by,
p_default_last_update_login,
Current_Calling_Sequence) <> True) Then
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||Current_Calling_Sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
le_invoice_info_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID LEGAL ENTITY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
SELECT bill_to_location_id,
accts_pay_code_combination_id
INTO l_bill_to_location_id,
l_supp_site_liab_ccid
FROM po_vendor_sites
WHERE vendor_site_id = p_invoice_rec.vendor_site_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT LE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID LEGAL ENTITY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
invalid_pay_curr_code_failure EXCEPTION;
/*SELECT start_date_active, end_date_active
INTO l_start_date_active, l_end_date_active
FROM fnd_currencies
WHERE currency_code = p_invoice_rec.payment_currency_code; */
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INACTIVE PAY CURR CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INACTIVE PAY CURR CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'PAY X RATE NOT FIXED',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT description
INTO l_warning
FROM ap_lookup_codes
WHERE lookup_type = 'REJECT CODE'
AND lookup_code = 'PAY RATE OVERWRITTEN';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PAY CURR CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
l_current_invoice_status VARCHAR2(1);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections (
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT PREPAY APPL INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT count(*)
INTO l_count_lines_matched
FROM ap_invoice_lines ail,
ap_invoices ai,
po_line_locations pll
WHERE ai.invoice_num = p_invoice_rec.prepay_num
AND ai.org_id = p_invoice_rec.org_id
AND ail.invoice_id = ai.invoice_id
AND ail.po_line_location_id = pll.line_location_id
AND pll.shipment_type = 'PREPAYMENT';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections (
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'CANNOT MANUALLY RECOUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
l_reject_code,
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_invoice_base_amount OUT NOCOPY NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
no_xrate_base_amount_failure EXCEPTION;
select nvl(make_rate_mandatory_flag, 'N')
from ap_system_parameters_all
where org_id = l_org_id
and multi_currency_flag = 'Y';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'BASE AMOUNT NOT ALLOWED',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID EXCH RATE TYPE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT XRATE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NO EXCHANGE RATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NO EXCHANGE RATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
/* For Bug - 2823140. Added trim to trailing spaces wherever necessary */
/* For Bug - 6349739 Added NVL to tax classification code
* Added handling for retek generated concatenated accts */
CURSOR invoice_lines IS
SELECT rowid, -- BUG 1714845
invoice_line_id,
line_type_lookup_code,
line_number,
line_group_number,
amount,
NULL, -- base amount
trunc(accounting_date), /*16240104*/
NULL, --period name
deferred_acctg_flag,
trunc(def_acctg_start_date), /*16240104*/
trunc(def_acctg_end_date), /*16240104*/
def_acctg_number_of_periods,
def_acctg_period_type,
trim(description),
prorate_across_flag,
NULL, -- match_type
po_header_id,
po_number,
po_line_id,
po_line_number,
po_release_id,
release_num,
po_line_location_id,
po_shipment_num,
po_distribution_id,
po_distribution_num,
unit_of_meas_lookup_code,
inventory_item_id,
item_description,
quantity_invoiced,
ship_to_location_code,
unit_price,
final_match_flag,
distribution_set_id,
distribution_set_name,
NULL, -- partial segments
-- bug 6349739
DECODE(AP_IMPORT_INVOICES_PKG.g_source,
'RETEK',
TRANSLATE(RTRIM(dist_code_concatenated,'-'),
'-',
AP_IMPORT_INVOICES_PKG.g_segment_delimiter),
dist_code_concatenated), -- 6349739
dist_code_combination_id,
awt_group_id,
awt_group_name,
pay_awt_group_id,--bug6639866
pay_awt_group_name,--bug6639866
balancing_segment,
cost_center_segment,
account_segment,
trim(attribute_category),
trim(attribute1),
trim(attribute2),
trim(attribute3),
trim(attribute4),
trim(attribute5),
trim(attribute6),
trim(attribute7),
trim(attribute8),
trim(attribute9),
trim(attribute10),
trim(attribute11),
trim(attribute12),
trim(attribute13),
trim(attribute14),
trim(attribute15),
trim(global_attribute_category),
trim(global_attribute1),
trim(global_attribute2),
trim(global_attribute3),
trim(global_attribute4),
trim(global_attribute5),
trim(global_attribute6),
trim(global_attribute7),
trim(global_attribute8),
trim(global_attribute9),
trim(global_attribute10),
trim(global_attribute11),
trim(global_attribute12),
trim(global_attribute13),
trim(global_attribute14),
trim(global_attribute15),
trim(global_attribute16),
trim(global_attribute17),
trim(global_attribute18),
trim(global_attribute19),
trim(global_attribute20),
project_id,
task_id,
award_id,
expenditure_type,
expenditure_item_date,
expenditure_organization_id,
pa_addition_flag,
pa_quantity,
stat_amount,
type_1099,
income_tax_region,
assets_tracking_flag,
asset_book_type_code,
asset_category_id,
serial_number,
manufacturer,
model_number,
warranty_number,
price_correction_flag,
price_correct_inv_num,
NULL, -- corrected_inv_id.
-- This will populated based on the price_correct_inv_num
price_correct_inv_line_num,
receipt_number,
receipt_line_number,
rcv_transaction_id,
NULL, -- bug 7344899
match_option,
packing_slip,
vendor_item_num,
taxable_flag,
pa_cc_ar_invoice_id,
pa_cc_ar_invoice_line_num,
pa_cc_processed_code,
reference_1,
reference_2,
credit_card_trx_id,
requester_id,
org_id,
NULL, -- program_application_id
NULL, -- program_id
NULL, -- request_id
NULL, -- program_update_date
control_amount,
assessable_value,
default_dist_ccid,
primary_intended_use,
ship_to_location_id,
product_type,
product_category,
product_fisc_classification,
user_defined_fisc_class,
trx_business_category,
tax_regime_code,
tax,
tax_jurisdiction_code,
tax_status_code,
tax_rate_id,
tax_rate_code,
tax_rate,
incl_in_taxable_line_flag,
application_id,
product_table,
reference_key1,
reference_key2,
reference_key3,
reference_key4,
reference_key5,
purchasing_category_id,
purchasing_category,
cost_factor_id,
cost_factor_name,
source_application_id,
source_entity_code,
source_event_class_code,
source_trx_id,
source_line_id,
source_trx_level_type,
nvl(tax_classification_code, tax_code), --bug 6349739
NULL, -- retained_amount
amount_includes_tax_flag,
--Bug6167068 starts Added the following columns to get related data for Expense reports
cc_reversal_flag,
company_prepaid_invoice_id,
expense_group,
justification,
merchant_document_number,
merchant_name,
merchant_reference,
merchant_taxpayer_id,
merchant_tax_reg_number,
receipt_conversion_rate,
receipt_currency_amount,
receipt_currency_code,
country_of_supply
--Bug6167068 ends
--bug 8658097 starts
,expense_start_date
,expense_end_date
--bug 8658097 ends
/* Added for bug 10226070 */
,Requester_last_name
,Requester_first_name
,NULL /* Bug#10175718 For cascade flag */
/* Added for bug 13074325 */
,REQUESTER_EMPLOYEE_NUM
,invoice_id --bug 15862708 starts
,NULL
,NULL
--bug 15862708 ends
/*Bug 14271140 Starts*/
,Last_updated_By
,Last_update_login
,Created_By
,sysdate --CREATION_DATE
,sysdate --LAST_UPDATE_DATE
/*Bug 14271140 End*/
FROM ap_invoice_lines_interface
WHERE invoice_id = p_invoice_rec.invoice_id
ORDER BY invoice_line_id;
SELECT rowid, -- BUG 1714845
invoice_line_id,
line_type_lookup_code,
line_number,
line_group_number,
--amount,
-- Bug 6369356 summarize tax lines
DECODE(line_type_lookup_code , 'TAX',
(SELECT SUM(ail3.amount)
FROM ap_invoice_lines_interface ail3
WHERE ail3.tax_code = ail.tax_code
AND ail3.line_type_lookup_code = 'TAX'
AND ail3.invoice_id = ail.invoice_id
GROUP BY tax_code),
amount) amount,
-- Bug 6369356
NULL, -- base amount
trunc(accounting_date), /*16240104*/
NULL, --period name
deferred_acctg_flag,
trunc(def_acctg_start_date), /*16240104*/
trunc(def_acctg_end_date), /*16240104*/
def_acctg_number_of_periods,
def_acctg_period_type,
trim(description),
prorate_across_flag,
NULL, -- match_type
po_header_id,
po_number,
po_line_id,
po_line_number,
po_release_id,
release_num,
po_line_location_id,
po_shipment_num,
po_distribution_id,
po_distribution_num,
unit_of_meas_lookup_code,
inventory_item_id,
item_description,
quantity_invoiced,
ship_to_location_code,
unit_price,
final_match_flag,
distribution_set_id,
distribution_set_name,
NULL, -- partial segments
-- bug 6349739
DECODE(AP_IMPORT_INVOICES_PKG.g_source,
'RETEK',
TRANSLATE(RTRIM(dist_code_concatenated,'-'),
'-',
AP_IMPORT_INVOICES_PKG.g_segment_delimiter),
dist_code_concatenated), -- 6349739
dist_code_combination_id,
awt_group_id,
awt_group_name,
pay_awt_group_id,--bug6639866
pay_awt_group_name,--bug6639866
balancing_segment,
cost_center_segment,
account_segment,
trim(attribute_category),
trim(attribute1),
trim(attribute2),
trim(attribute3),
trim(attribute4),
trim(attribute5),
trim(attribute6),
trim(attribute7),
trim(attribute8),
trim(attribute9),
trim(attribute10),
trim(attribute11),
trim(attribute12),
trim(attribute13),
trim(attribute14),
trim(attribute15),
trim(global_attribute_category),
trim(global_attribute1),
trim(global_attribute2),
trim(global_attribute3),
trim(global_attribute4),
trim(global_attribute5),
trim(global_attribute6),
trim(global_attribute7),
trim(global_attribute8),
trim(global_attribute9),
trim(global_attribute10),
trim(global_attribute11),
trim(global_attribute12),
trim(global_attribute13),
trim(global_attribute14),
trim(global_attribute15),
trim(global_attribute16),
trim(global_attribute17),
trim(global_attribute18),
trim(global_attribute19),
trim(global_attribute20),
project_id,
task_id,
award_id,
expenditure_type,
expenditure_item_date,
expenditure_organization_id,
pa_addition_flag,
pa_quantity,
stat_amount,
type_1099,
income_tax_region,
assets_tracking_flag,
asset_book_type_code,
asset_category_id,
serial_number,
manufacturer,
model_number,
warranty_number,
price_correction_flag,
price_correct_inv_num,
NULL, -- corrected_inv_id.
-- This will populated based on the price_correct_inv_num
price_correct_inv_line_num,
receipt_number,
receipt_line_number,
rcv_transaction_id,
NULL, -- bug 7344899
match_option,
packing_slip,
vendor_item_num,
taxable_flag,
pa_cc_ar_invoice_id,
pa_cc_ar_invoice_line_num,
pa_cc_processed_code,
reference_1,
reference_2,
credit_card_trx_id,
requester_id,
org_id,
NULL, -- program_application_id
NULL, -- program_id
NULL, -- request_id
NULL, -- program_update_date
control_amount,
assessable_value,
default_dist_ccid,
primary_intended_use,
ship_to_location_id,
product_type,
product_category,
product_fisc_classification,
user_defined_fisc_class,
trx_business_category,
tax_regime_code,
tax,
tax_jurisdiction_code,
tax_status_code,
tax_rate_id,
tax_rate_code,
tax_rate,
incl_in_taxable_line_flag,
application_id,
product_table,
reference_key1,
reference_key2,
reference_key3,
reference_key4,
reference_key5,
purchasing_category_id,
purchasing_category,
cost_factor_id,
cost_factor_name,
source_application_id,
source_entity_code,
source_event_class_code,
source_trx_id,
source_line_id,
source_trx_level_type,
NVL(tax_classification_code, tax_code), --bug 6349739
NULL, -- retained_amount
amount_includes_tax_flag,
--Bug6167068 starts Added the following columns to get related data
-- for Expense reports
cc_reversal_flag,
company_prepaid_invoice_id,
expense_group,
justification,
merchant_document_number,
merchant_name,
merchant_reference,
merchant_taxpayer_id,
merchant_tax_reg_number,
receipt_conversion_rate,
receipt_currency_amount,
receipt_currency_code,
country_of_supply
--Bug6167068 ends
--bug 8658097 starts
,expense_start_date
,expense_end_date
--bug 8658097 ends
/* Added for bug 10226070 */
,Requester_last_name
,Requester_first_name
,NULL /* Bug#10175718 For cascade flag */
/* Added for bug 13074325 */
,REQUESTER_EMPLOYEE_NUM
,invoice_id --bug 15862708 starts
,NULL
,NULL
--bug 15862708 ends
/*Bug 14271140 Starts*/
,Last_updated_By
,Last_update_login
,Created_By
,sysdate --CREATION_DATE
,sysdate --LAST_UPDATE_DATE
/*Bug 14271140 End*/
FROM ap_invoice_lines_interface ail
WHERE invoice_id = p_invoice_rec.invoice_id
-- Bug 6369356
AND ((line_type_lookup_code <> 'TAX')
OR ( line_type_lookup_code = 'TAX' AND
rowid =(SELECT max(ail2.rowid)
FROM ap_invoice_lines_interface ail2
WHERE ail2.tax_code = ail.tax_code
AND ail2.line_type_lookup_code = 'TAX'
AND ail2.invoice_id = ail.invoice_id
GROUP BY tax_code)
)
)
-- Bug 6369356
ORDER BY invoice_line_id;
Select ship_to_location_id
From hr_locations
Where location_code = p_ship_to_loc_code
and nvl(ship_to_site_flag, 'N') = 'Y';
p_default_last_updated_by,
p_default_last_update_login,
l_temp_line_status, -- OUT
p_calling_sequence => current_calling_sequence) <> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'get_employee_id<-' ||current_calling_sequence);
SELECT NVL(MAX(line_number),0)
INTO l_max_line_number
FROM ap_invoice_lines_interface ail
WHERE invoice_id = p_invoice_rec.invoice_id
AND ((line_type_lookup_code <> 'TAX')
OR ( line_type_lookup_code = 'TAX' AND
rowid =(SELECT MAX(ail2.rowid)
FROM ap_invoice_lines_interface ail2
WHERE ail2.tax_code = ail.tax_code
AND ail2.line_type_lookup_code = 'TAX'
AND ail2.invoice_id = ail.invoice_id
GROUP BY tax_code)
)
);
SELECT NVL(MAX(line_number),0)
INTO l_max_line_number
FROM ap_invoice_lines_interface
WHERE invoice_id = p_invoice_rec.invoice_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table, -- Bug 9452076.
p_invoice_rec.invoice_id,
'INCONSISTENT OPERATING UNITS',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE ) Then
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- ' ||current_calling_sequence);
UPDATE ap_invoice_lines_interface
SET org_id = p_invoice_rec.org_id
WHERE rowid = p_invoice_lines_tab(i).row_id;
debug_info := '(Check_lines 6.2) Update new invoice_line_id to '
||'ap_invoice_lines_interface';
UPDATE ap_invoice_lines_interface
SET invoice_line_id = ap_invoice_lines_interface_s.NEXTVAL
WHERE rowid = p_invoice_lines_tab(i).row_id
RETURNING invoice_line_id INTO p_invoice_lines_tab(i).invoice_line_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_tab(i).invoice_line_id,
'LINE AMOUNT IS NULL',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by,
p_default_last_update_login,
p_current_invoice_status => l_temp_line_status, --IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_line_amount<-'||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status, -- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence)
<> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_po_info<-' ||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_temp_line_status => l_temp_line_status, -- OUT NOCOPY
p_calling_sequence => current_calling_sequence)
<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_receipt_info<-' ||current_calling_sequence);
p_default_last_updated_by,
p_default_last_update_login,
p_current_invoice_status => l_temp_line_status, --IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_purchasing_category<-'||current_calling_sequence);
p_default_last_updated_by,
p_default_last_update_login,
p_current_invoice_status => l_temp_line_status, --IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_line_cost_factor<-'||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status,-- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence)
<> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_line_accounting_date<-' ||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_pa_built_account => l_pa_built_account, -- OUT NOCOPY
p_current_invoice_status => l_temp_line_status, -- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence)
<> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_line_project_info<-' ||current_calling_sequence);
select distribution_set_id
into p_invoice_lines_tab(i).distribution_set_id
from po_vendor_sites
where vendor_id=p_invoice_rec.vendor_id
and vendor_site_id=p_invoice_rec.vendor_site_id;
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status,-- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence) <> TRUE
) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_line_account_info<-' ||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status,-- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_deferred_accounting<-' ||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status,-- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence)
<> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_line_dist_set<-' ||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status, -- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_awt_group<-' ||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status, -- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_awt_group<-' ||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status, -- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_invalid_pay_awt_group<-' ||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status,-- IN OUT
p_calling_sequence => current_calling_sequence)
<> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_duplicate_line_num<-' ||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status,-- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence)
<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_misc_line_info<-' ||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status, -- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence)
<> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_misc_line_info<-' ||current_calling_sequence);
p_default_last_updated_by,
p_default_last_update_login,
p_current_invoice_status => l_temp_line_status, -- IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_ship_to_location_code<-' ||current_calling_sequence);
SELECT ship_to_location_id
INTO lg_ship_to_loc_id_site(p_invoice_rec.vendor_site_id)
FROM ap_supplier_sites_all
WHERE vendor_site_id = p_invoice_rec.vendor_site_id;
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status, -- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence)
<> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_tax_line_info<-' ||current_calling_sequence);
TO_CHAR(p_default_last_updated_by),
TO_CHAR(p_default_last_update_login),
current_calling_sequence,
NULL,NULL,
p_invoice_lines_tab(i).line_type_lookup_code,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
p_current_status => l_temp_line_status);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status =>l_temp_line_status,-- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence)
<> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_prorate_info<-' ||current_calling_sequence);
p_default_last_updated_by,
p_default_last_update_login,
p_current_invoice_status => l_temp_line_status, -- IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_line_retainage<-' ||current_calling_sequence);
p_default_last_updated_by,
p_default_last_update_login,
p_current_invoice_status => l_temp_line_status, -- IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_ship_to_location_code<-' ||current_calling_sequence);
-- Update global_context_code with the right
-- value corresponding to flexfield JG_AP_INVOICES_LINES
-- Bug 13491024 - R1213ITTHRESH.QA: ISSUES WITH ITEM LINE GDF IN ITALIAN AP QUICK INVOICE
-----------------------------------------------------
debug_info := '(Check Lines 28) Update global context code ';
p_default_last_updated_by,
p_default_last_update_login,
p_invoice_lines_tab(i).global_attribute_category,
l_temp_line_status,
current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_temp_line_status, -- IN OUT NOCOPY
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'V_CHECK_GDF_VALIDATION<-' ||current_calling_sequence);
SELECT Global_Attribute1, Global_Attribute2, Global_Attribute3,
Global_Attribute_Category /*Bug#15977829*/
INTO p_invoice_lines_tab(i).Global_Attribute1, p_invoice_lines_tab(i).Global_Attribute2,
p_invoice_lines_tab(i).Global_Attribute3,
p_invoice_lines_tab(i).Global_Attribute_Category
FROM AP_INVOICE_LINES_INTERFACE
WHERE invoice_line_id = p_invoice_lines_tab(i).invoice_line_id;
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
check_lines_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'LINE AMOUNT EXCEEDS PRECISION',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
check_po_failure EXCEPTION;
SELECT 'Y', po_header_id
INTO l_po_is_valid_flag, l_po_header_id
FROM po_headers
WHERE segment1 = p_invoice_rec.po_number
AND type_lookup_code in ('BLANKET', 'PLANNED', 'STANDARD')
/* BUG 2902452 added*/
AND nvl(authorization_status,'INCOMPLETE') in ('APPROVED','REQUIRES REAPPROVAL','IN PROCESS');--Bug5687122 --Added In Process condition
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO NUMBER',
p_invoice_rec.po_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_is_valid_flag
FROM po_headers ph
WHERE ph.po_header_id = l_po_header_id
AND ph.type_lookup_code in ('BLANKET', 'PLANNED', 'STANDARD')
/* BUG 2902452 added */
AND nvl(authorization_status,'INCOMPLETE') in ('APPROVED','REQUIRES REAPPROVAL','IN PROCESS')--Bug5687122 --Added In Process condition
AND NVL(ph.closed_code, 'X') <> 'FINALLY CLOSED'; --Bug#13867905
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO NUMBER',
p_invoice_lines_rec.po_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'MISSING PO NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'LINE NUMBER',
p_invoice_lines_rec.line_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y', ph.po_header_id
INTO l_po_is_valid_flag, l_po_header_id
FROM po_headers ph
WHERE segment1 = p_invoice_lines_rec.po_number
AND type_lookup_code in ('BLANKET', 'PLANNED', 'STANDARD')
/*BUG 2902452 added*/
AND nvl(authorization_status,'INCOMPLETE') in ('APPROVED','REQUIRES REAPPROVAL','IN PROCESS')--Bug5687122 --Added In Process condition
AND NVL(ph.closed_code, 'X') <> 'FINALLY CLOSED'; --Bug#13867905
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO NUMBER',
p_invoice_lines_rec.po_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_is_consistent_flag
FROM po_headers ph
WHERE segment1 = p_invoice_lines_rec.po_number
AND po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_line_is_valid_flag
FROM po_lines
WHERE po_line_id = l_po_line_id
AND NVL(closed_code, 'X') <> 'FINALLY CLOSED'; --Bug#13867905;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO LINE NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT pl.po_header_id
INTO l_po_header_id
FROM po_lines pl
WHERE pl.vendor_product_num = p_invoice_lines_rec.vendor_item_num;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ITEM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'SUPPLIER ITEM NUMBER',
p_invoice_lines_rec.vendor_item_num ) <> TRUE) THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ITEM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'CAN MATCH TO ONLY 1 LINE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'SUPPLIER ITEM NUMBER',
p_invoice_lines_rec.vendor_item_num ) <> TRUE) THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'CAN MATCH TO ONLY 1 LINE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y', po_line_id
INTO l_po_line_is_valid_flag, l_po_line_id
FROM po_lines
WHERE line_num = p_invoice_lines_rec.po_line_number
AND po_header_id = l_po_header_id
AND NVL(closed_code, 'X') <> 'FINALLY CLOSED'; --Bug#13867905;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO LINE NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_line_is_consistent_flag
FROM po_lines
WHERE line_num = p_invoice_lines_rec.po_line_number
AND po_line_id = l_po_line_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO LINE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_release_is_valid_flag
FROM po_releases
WHERE po_release_id = l_po_release_id
/* For bug 4038403. Added by lgopalsa
Need to validate the lines for matching */
and nvl(authorization_status, 'INCOMPLETE') in ('APPROVED',
'REQUIRES REAPPROVAL','IN PROCESS')--Bug5687122 --Added In Process condition
AND NVL(closed_code, 'X') <> 'FINALLY CLOSED'; --Bug#13867905
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO RELEASE NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y',
po_release_id
INTO l_po_release_is_valid_flag,
l_po_release_id
FROM po_releases
WHERE release_num = p_invoice_lines_rec.release_num
AND po_header_id = l_po_header_id
/* For bug 4038403
Need to validate the lines for matching */
and nvl(authorization_status, 'INCOMPLETE') in ('APPROVED',
'REQUIRES REAPPROVAL','IN PROCESS') --Bug5687122 --Added In Process condition
AND NVL(closed_code, 'X') <> 'FINALLY CLOSED'; --Bug#13867905
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO RELEASE NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO RELEASE NUMBER',
p_invoice_lines_rec.release_num) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_rel_is_consistent_flag
FROM po_releases
WHERE release_num = p_invoice_lines_rec.release_num
AND po_release_id = l_po_release_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT RELEASE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_rel_is_consistent_flag
FROM po_line_locations
WHERE po_line_id = l_po_line_id
AND po_release_id = l_po_release_id
/*Bug 2787396 we need to validate the shipment level for matching */
AND nvl(approved_flag, 'N' ) = 'Y'
AND rownum <=1;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT RELEASE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT DISTINCT po_line_id
INTO l_po_line_id
FROM po_line_locations
WHERE po_release_id = l_po_release_id
/* For bug 4038403
we should check at line location level approved flag
as we can do invoicing for the line/shipment for which
receipt is allowed and the document is already
undergone approval. */
AND approved_flag ='Y'
/* Bug 9853166 no rejection necessary when shipment_num has
been specified and it will differentiate the lines */
AND nvl(shipment_num, -99) = coalesce(p_invoice_lines_rec.po_shipment_num
, shipment_num, -99);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO RELEASE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO RELEASE NUMBER',
p_invoice_lines_rec.release_num,
'PO SHIPMENT NUMBER',
p_invoice_lines_rec.po_shipment_num,
'PO LINE NUMBER',
p_invoice_lines_rec.po_line_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'CAN MATCH TO ONLY 1 LINE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_rel_is_consistent_flag
FROM po_line_locations
WHERE po_line_id = (
select po_line_id
from po_lines pol, po_headers poh
where poh.po_header_id = pol.po_header_id
-- and poh.po_header_id = nvl(l_po_header_id, poh.po_header_id)
-- fix for bug 2809177 commented above line and wrote the below one
and poh.po_header_id = l_po_header_id
-- Commented below line as a fix for bug 2809177
-- and poh.segment1 = nvl(p_invoice_lines_rec.po_number, poh.segment1)
and poh.type_lookup_code in ('BLANKET', 'PLANNED') --, 'STANDARD')
and pol.po_line_id = nvl(l_po_line_id, pol.po_line_id)
and pol.line_num = p_invoice_lines_rec.po_line_number )
AND po_release_id = (
select po_release_id
from po_releases por, po_headers poh
where poh.po_header_id = por.po_header_id
-- and poh.po_header_id = nvl(l_po_header_id, poh.po_header_id)
-- fix for bug 2809177 commented above line and wrote the below one
and poh.po_header_id = l_po_header_id
-- Commented below line as a fix for bug 2809177
-- and poh.segment1 = nvl(p_invoice_lines_rec.po_number, poh.segment1)
and poh.type_lookup_code in ('BLANKET', 'PLANNED')--, 'STANDARD')
and por.po_header_id = l_po_header_id -- Added as a fix for bug 2809177
and por.release_num = p_invoice_lines_rec.release_num )
AND rownum <=1;
SELECT 'Y'
INTO l_po_rel_is_consistent_flag
FROM po_line_locations
WHERE po_line_id = (
select po_line_id
from po_lines pol, po_headers poh
where poh.po_header_id = pol.po_header_id
-- and poh.po_header_id = nvl(l_po_header_id, poh.po_header_id)
-- and poh.segment1 = nvl(p_invoice_lines_rec.po_number, poh.segment1)
-- fix for bug 2809177 commented above two lines and wrote the below one
and poh.segment1 = p_invoice_lines_rec.po_number
and poh.type_lookup_code in ('BLANKET', 'PLANNED', 'STANDARD')
and pol.po_line_id = nvl(l_po_line_id, pol.po_line_id)
and pol.line_num = p_invoice_lines_rec.po_line_number )
AND po_release_id = (
select po_release_id
from po_releases por, po_headers poh
where poh.po_header_id = por.po_header_id
-- and poh.po_header_id = nvl(l_po_header_id, poh.po_header_id)
-- and poh.segment1 = nvl(p_invoice_lines_rec.po_number, poh.segment1)
-- fix for bug 2809177 commented above two line and wrote the below one
and poh.segment1 = p_invoice_lines_rec.po_number
and poh.type_lookup_code in ('BLANKET', 'PLANNED', 'STANDARD')
and por.release_num = p_invoice_lines_rec.release_num )
AND rownum <=1;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT RELEASE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence
) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y', po_line_id
INTO l_po_is_valid_flag, l_po_line_id
FROM po_lines
WHERE item_id = p_invoice_lines_rec.inventory_item_id
AND po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ITEM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'CAN MATCH TO ONLY 1 LINE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y', po_line_id
INTO l_po_is_valid_flag, l_po_line_id
FROM po_lines
WHERE vendor_product_num = p_invoice_lines_rec.vendor_item_num
AND po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ITEM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'SUPPLIER ITEM NUMBER',
p_invoice_lines_rec.vendor_item_num ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'CAN MATCH TO ONLY 1 LINE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'SUPPLIER ITEM NUMBER',
p_invoice_lines_rec.vendor_item_num ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y', po_line_id
INTO l_po_is_valid_flag, l_po_line_id
FROM po_lines
WHERE item_description like p_invoice_lines_rec.item_description
AND po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ITEM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'CAN MATCH TO ONLY 1 LINE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_line_is_consistent_flag
FROM po_lines
WHERE item_id = p_invoice_lines_rec.inventory_item_id
AND vendor_product_num = p_invoice_lines_rec.vendor_item_num
AND po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO LINE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'SUPPLIER ITEM NUMBER',
p_invoice_lines_rec.vendor_item_num ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'CAN MATCH TO ONLY 1 LINE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'SUPPLIER ITEM NUMBER',
p_invoice_lines_rec.vendor_item_num ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_line_is_consistent_flag
FROM po_lines pl
, po_line_locations pll
WHERE pl.item_id = p_invoice_lines_rec.inventory_item_id
AND nvl(pll.description, pl.item_description) like p_invoice_lines_rec.item_description
AND pl.po_header_id = pll.po_header_id
AND pll.po_header_id = l_po_header_id
AND pll.line_location_id = l_po_line_location_id;
SELECT 'Y'
INTO l_po_line_is_consistent_flag
FROM po_lines
WHERE item_id = p_invoice_lines_rec.inventory_item_id
AND item_description like p_invoice_lines_rec.item_description
AND po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO LINE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'CAN MATCH TO ONLY 1 LINE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_line_is_consistent_flag
FROM po_lines
WHERE item_id = p_invoice_lines_rec.inventory_item_id
AND po_line_id = l_po_line_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO LINE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_line_is_consistent_flag
FROM po_lines
WHERE vendor_product_num = p_invoice_lines_rec.vendor_item_num
AND po_line_id = l_po_line_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO LINE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'SUPPLIER ITEM NUMBER',
p_invoice_lines_rec.vendor_item_num ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_line_is_consistent_flag
FROM po_lines pl
WHERE pl.line_num = p_invoice_lines_rec.po_line_number
AND vendor_product_num = p_invoice_lines_rec.vendor_item_num
AND pl.po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO LINE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'SUPPLIER ITEM NUMBER',
p_invoice_lines_rec.vendor_item_num ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_line_is_consistent_flag
FROM po_lines pl
WHERE pl.line_num = p_invoice_lines_rec.po_line_number
-- Bug 6734046 changed vendor_product_num to item_id
AND pl.item_id = p_invoice_lines_rec.inventory_item_id
AND pl.po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO LINE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_line_is_consistent_flag
FROM po_lines_trx_v pltv,
po_lines pl
WHERE pl.line_num = p_invoice_lines_rec.po_line_number
AND pl.po_line_id = pltv.po_line_id
AND pl.po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO LINE NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
SELECT 'Y'
INTO l_po_line_is_consistent_flag
FROM po_lines_trx_v
WHERE po_line_id = l_po_line_id
AND po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO LINE NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_shipment_is_valid_flag
FROM po_line_locations
WHERE line_location_id = l_po_line_location_id
/* For bug 4038403
Need to check the validation for
line location approved_flag */
and approved_flag ='Y'
and NVL(closed_code, 'X') <> 'FINALLY CLOSED'; --Bug#13867905;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO SHIPMENT NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO SHIPMENT NUMBER',
p_invoice_lines_rec.po_shipment_num) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y', line_location_id
INTO l_po_shipment_is_valid_flag, l_po_line_location_id
FROM po_line_locations
WHERE shipment_num = p_invoice_lines_rec.po_shipment_num
AND po_header_id = l_po_header_id
AND po_line_id = l_po_line_id
AND NVL(closed_code, 'X') <> 'FINALLY CLOSED'; --Bug#13867905;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO SHIPMENT NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO SHIPMENT NUMBER',
p_invoice_lines_rec.po_shipment_num) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO RELEASE INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO RELEASE NUMBER',
p_invoice_lines_rec.release_num,
'PO SHIPMENT NUMBER',
p_invoice_lines_rec.po_shipment_num,
'PO LINE NUMBER',
p_invoice_lines_rec.po_line_number ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y', line_location_id
INTO l_po_shipment_is_valid_flag, l_po_line_location_id
FROM po_line_locations pll,
hr_locations hl
WHERE hl.location_code = p_invoice_lines_rec.ship_to_location_code
AND hl.location_id = pll.ship_to_location_id
AND pll.po_header_id = l_po_header_id
AND pll.po_line_id = l_po_line_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID LOCATION CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'NON UNIQUE LOCATION CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y', line_location_id,
po_line_id
INTO l_po_shipment_is_valid_flag, l_po_line_location_id,
l_po_line_id
FROM po_line_locations
WHERE shipment_num = p_invoice_lines_rec.po_shipment_num
AND po_header_id = l_po_header_id
AND po_release_id = l_po_release_id
AND NVL(closed_code, 'X') <> 'FINALLY CLOSED'; --Bug#13867905;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO SHIPMENT NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO SHIPMENT NUMBER',
p_invoice_lines_rec.po_shipment_num) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y', line_location_id,
po_line_id
INTO l_po_shipment_is_valid_flag, l_po_line_location_id,
l_po_line_id
FROM po_line_locations pll, hr_locations hl
WHERE hl.location_code = p_invoice_lines_rec.ship_to_location_code
AND hl.location_id = pll.ship_to_location_id
AND pll.po_header_id = l_po_header_id
AND pll.po_release_id = l_po_release_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID LOCATION CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_shipment_is_consis_flag
FROM po_line_locations
WHERE shipment_num = p_invoice_lines_rec.po_shipment_num
AND line_location_id = l_po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO SHIPMENT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_shipment_is_consis_flag
FROM po_line_locations pll,
hr_locations hl
WHERE hl.location_code = p_invoice_lines_rec.ship_to_location_code
AND hl.location_id = pll.ship_to_location_id
AND line_location_id = l_po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO SHIPMENT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_shipment_is_consis_flag
FROM po_line_locations pll,
hr_locations hl
WHERE hl.location_code = p_invoice_lines_rec.ship_to_location_code
AND hl.location_id = pll.ship_to_location_id
AND po_line_id = l_po_line_id
AND shipment_num = p_invoice_lines_rec.po_shipment_num
AND po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO SHIPMENT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT NVL(accrue_on_receipt_flag, 'N')
INTO l_accrue_on_receipt_flag
FROM po_line_locations
WHERE ((shipment_num = p_invoice_lines_rec.po_shipment_num
AND p_invoice_lines_rec.po_shipment_num IS NOT NULL
AND p_invoice_lines_rec.po_line_location_id IS NULL)
OR (line_location_id = p_invoice_lines_rec.po_line_location_id
AND p_invoice_lines_rec.po_line_location_id IS NOT NULL
AND p_invoice_lines_rec.po_shipment_num IS NULL)
OR (p_invoice_lines_rec.po_shipment_num IS NOT NULL
AND p_invoice_lines_rec.po_line_location_id IS NOT NULL
AND shipment_num = p_invoice_lines_rec.po_shipment_num
AND line_location_id = p_invoice_lines_rec.po_line_location_id))
AND po_header_id = l_po_header_id
AND ((po_release_id = l_po_release_id
AND l_po_line_id IS NULL)
OR (po_line_id = l_po_line_id
AND l_po_release_id IS NULL)
OR (po_line_id = l_po_line_id -- Bug 4254606
AND po_release_id = l_po_release_id));
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'ACCRUE ON RECEIPT', -- Bug 5235675
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_shipment_is_consis_flag
FROM po_line_locations pll,
hr_locations hl
WHERE hl.location_code = p_invoice_lines_rec.ship_to_location_code
AND hl.location_id = pll.ship_to_location_id
AND po_release_id = l_po_release_id
AND shipment_num = p_invoice_lines_rec.po_shipment_num
AND po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO SHIPMENT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_dist_is_valid_flag
FROM po_distributions
WHERE po_distribution_id = l_po_distribution_id
AND line_location_id IS NOT NULL; /* BUG 3253594 */
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO DIST NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y' , po_distribution_id
INTO l_po_dist_is_valid_flag,
l_po_distribution_id
FROM po_distributions
WHERE distribution_num = p_invoice_lines_rec.po_distribution_num
AND po_line_id = l_po_line_id
AND line_location_id = l_po_line_location_id
AND po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO DIST NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y' , po_distribution_id
INTO l_po_dist_is_valid_flag, l_po_distribution_id
FROM po_distributions
WHERE distribution_num = p_invoice_lines_rec.po_distribution_num
AND po_release_id = l_po_release_id
AND line_location_id = l_po_line_location_id
AND po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO DIST NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_dist_is_consistent_flag
FROM po_distributions
WHERE po_distribution_id = l_po_distribution_id
AND distribution_num = p_invoice_lines_rec.po_distribution_num
AND line_location_id IS NOT NULL; /* BUG 3253594 */
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO DIST INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT segment1
INTO l_po_number
FROM po_headers
WHERE po_header_id = l_po_header_id
AND type_lookup_code in ('BLANKET', 'PLANNED', 'STANDARD');
SELECT pl.po_header_id,
ph.segment1
INTO l_po_header_id,
l_po_number
FROM po_headers ph,
po_lines pl
WHERE pl.po_line_id = l_po_line_id
AND pl.po_header_id = ph.po_header_id;
SELECT pr.po_header_id,
ph.segment1
INTO l_po_header_id,
l_po_number
FROM po_headers ph,
po_releases pr
WHERE pr.po_release_id = l_po_release_id
AND pr.po_header_id = ph.po_header_id;
SELECT pll.po_header_id,
ph.segment1
INTO l_po_header_id,
l_po_number
FROM po_headers ph,
po_line_locations pll
WHERE pll.line_location_id = l_po_line_location_id
AND pll.po_header_id = ph.po_header_id;
SELECT pd.po_header_id,
ph.segment1
INTO l_po_header_id,
l_po_number
FROM po_headers ph,
po_distributions pd
WHERE pd.po_distribution_id = l_po_distribution_id
AND pd.po_header_id = ph.po_header_id
AND pd.line_location_id IS NOT NULL; /* BUG 3253594 */
SELECT po_header_id
INTO l_po_header_id
FROM po_headers
WHERE segment1 = l_po_number
AND type_lookup_code in ('BLANKET', 'PLANNED', 'STANDARD');
SELECT po_line_id
INTO l_po_line_id
FROM po_line_locations
WHERE line_location_id = l_po_line_location_id;
SELECT po_line_id
INTO l_po_line_id
FROM po_distributions
WHERE po_distribution_id = l_po_distribution_id
AND line_location_id IS NOT NULL; /* BUG 3253594 */
SELECT po_line_id
INTO l_po_line_id
FROM po_lines
WHERE po_header_id = l_po_header_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'NO PO LINE NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO NUMBER',
l_po_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT line_location_id
INTO l_po_line_location_id
FROM po_distributions
WHERE po_distribution_id = l_po_distribution_id
AND line_location_id IS NOT NULL; /* BUG 3253594 */
SELECT line_location_id
INTO l_po_line_location_id
FROM po_line_locations pll
WHERE po_header_id = l_po_header_id
AND po_line_id = l_po_line_id
AND
(
(p_invoice_rec.invoice_type_lookup_code = 'PREPAYMENT' and
((pll.payment_type IS NOT NULL and pll.shipment_type = 'PREPAYMENT') or
(pll.payment_type IS NULL)
)
) OR
--(p_invoice_rec.invoice_type_lookup_code <> 'PREPAYMENT' and .. B# 8528132
(nvl(p_invoice_rec.invoice_type_lookup_code, 'STANDARD') <> 'PREPAYMENT' and -- B# 8528132
((pll.payment_type IS NOT NULL and pll.shipment_type <> 'PREPAYMENT') or
(pll.payment_type IS NULL)
)
)
);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'NO PO SHIPMENT NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT pll.ship_to_location_id
INTO p_invoice_lines_rec.ship_to_location_id
FROM po_line_locations pll
WHERE pll.line_location_id = l_po_line_location_id;
SELECT pll.matching_basis,pll.description-- Bug8546486
INTO l_match_basis,l_item_description -- Bug8546486
FROM po_line_locations pll
WHERE pll.line_location_id = l_po_line_location_id;
SELECT pl.item_description
INTO l_item_description
FROM po_lines pl
WHERE pl.po_line_id = l_po_line_id;
select type_lookup_code, vendor_id -- Bug 5448579
into l_blanket, l_vendor_id
from po_headers
where po_header_id=l_po_header_id;
SELECT COUNT(*)
INTO l_corrupt_po_distributions
FROM po_distributions
WHERE po_header_id = l_po_header_id
AND (line_location_id IS NULL
OR po_line_id IS NULL
OR code_combination_id IS NULL)
AND rownum = 1; -- Bug 5448579
SELECT COUNT(*)
INTO l_corrupt_po_distributions
FROM po_distributions pod,
po_line_locations pll
WHERE pod.po_header_id = l_po_header_id
AND pod.line_location_id = pll.line_location_id
AND ((pll.matching_basis = 'QUANTITY'
AND pod.quantity_ordered IS NULL)
OR (pll.matching_basis = 'AMOUNT'
AND pod.amount_ordered IS NULL))
AND rownum = 1; -- Bug 5448579
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'CORRUPT PONUMBER',
l_po_header_id) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
/* SELECT vendor_id
INTO l_vendor_id
FROM po_headers
WHERE po_header_id = l_po_header_id; */
SELECT vendor_name
INTO l_invoice_vendor_name
FROM po_vendors
WHERE vendor_id = p_invoice_rec.vendor_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'SUPPLIER NAME',
l_invoice_vendor_name) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_is_not_blanket
FROM po_headers
WHERE po_header_id = l_po_header_id
AND type_lookup_code <> l_blanket; --4019310
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'RELEASE MISSING',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO NUMBER',
l_po_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'X'
INTO l_po_is_not_blanket
FROM po_line_locations pll,
po_releases pr
WHERE pr.po_header_id = l_po_header_id
AND pr.po_release_id = l_po_release_id
AND pll.po_release_id = pr.po_release_id
AND pll.po_line_id = l_po_line_id
AND pll.line_location_id = l_po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'PO RECEIPT NUMBER',
p_invoice_lines_rec.receipt_number,
'PO NUMBER',
p_invoice_lines_rec.po_number,
'PO LINE NUMBER',
p_invoice_lines_rec.po_line_number,
'PO SHIPMENT NUMBER',
p_invoice_lines_rec.po_shipment_num,
'PO RELEASE NUMBER',
p_invoice_lines_rec.release_num ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_po_inv_curr_is_consis_flag
FROM po_headers
WHERE po_header_id = l_po_header_id
AND currency_code = p_invoice_rec.invoice_currency_code;
SELECT currency_code
INTO l_po_currency_code
FROM po_headers
WHERE po_header_id = l_po_header_id ;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT CURR',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE CURRENCY CODE',
p_invoice_rec.invoice_currency_code,
'PO CURRENCY CODE',
l_po_currency_code ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT CURR',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'CANNOT PRICE CORRECT PREPAY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'PRICE CORRECT INV NUM REQUIRED',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCOMPLETE PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT DISTINCT ai.invoice_id,
ail.amount,
ail.po_header_id,
ail.po_line_id,
ail.po_line_location_id,
ail.po_distribution_id
INTO l_price_correct_inv_id,
l_base_match_amount,
l_price_cor_po_header_id,
l_price_cor_po_line_id,
l_price_cor_po_line_loc_id,
l_price_cor_po_distribution_id
FROM ap_invoices ai, ap_invoice_lines ail, ap_invoice_distributions aid
WHERE ai.invoice_num = p_invoice_lines_rec.price_correct_inv_num
AND ail.invoice_id = ai.invoice_id
AND ail.line_number = p_invoice_lines_rec.price_correct_inv_line_num
AND aid.invoice_id = ail.invoice_id
AND aid.invoice_line_number = ail.line_number
AND aid.po_distribution_id is not null
AND aid.corrected_invoice_dist_id is null
AND nvl(ail.discarded_flag,'N') = 'N'
AND nvl(ail.cancelled_flag,'N') = 'N'
AND ai.vendor_id = p_invoice_rec.vendor_id
AND rownum <= 1;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_pc_inv_valid
FROM ap_invoice_distributions
WHERE invoice_id = l_price_correct_inv_id
AND invoice_line_number = p_invoice_lines_rec.price_correct_inv_line_num
AND po_distribution_id = l_po_distribution_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_pc_inv_valid
FROM ap_invoice_distributions
WHERE invoice_id = l_price_correct_inv_id
AND invoice_line_number = p_invoice_lines_rec.price_correct_inv_line_num
AND po_distribution_id IN (
SELECT po_distribution_id
FROM po_distributions
WHERE line_location_id = l_po_line_location_id);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_shipment_finally_closed
FROM ap_invoice_lines ail, po_line_locations pll
WHERE ail.invoice_id = l_price_correct_inv_id
AND ail.line_number = p_invoice_lines_rec.price_correct_inv_line_num
AND pll.line_location_id = ail.po_line_location_id
AND pll.closed_code = 'FINALLY CLOSED';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT ail.quantity_invoiced
INTO l_base_match_quantity
FROM ap_invoice_lines ail
WHERE ail.invoice_id = l_price_correct_inv_id
AND ail.line_number = p_invoice_lines_rec.price_correct_inv_line_num;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'PRICE CORRECT INV INVALID',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'AMOUNT BILLED BELOW ZERO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT nvl(sum(ail.amount),0)
INTO l_correction_amount
FROM ap_invoice_lines ail
WHERE ail.invoice_id = l_price_correct_inv_id
AND ail.line_number = p_invoice_lines_rec.price_correct_inv_line_num
AND ail.match_type IN ('PRICE_CORRECTION','QTY_CORRECTION');
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'PRICE CORRECT INV INVALID',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'AMOUNT BILLED BELOW ZERO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT amount, quantity_invoiced
INTO l_total_amount_invoiced, l_total_quantity_invoiced
FROM ap_invoice_lines ail
WHERE ail.invoice_id = l_price_correct_inv_id
AND ail.line_number = p_invoice_lines_rec.price_correct_inv_line_num;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'PRICE CORRECT INV INVALID',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'AMOUNT BILLED BELOW ZERO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
FOR pc_inv_dists IN (SELECT quantity_invoiced, amount, invoice_distribution_id
FROM ap_invoice_distributions
WHERE invoice_id = l_price_correct_inv_id
AND invoice_line_number = p_invoice_lines_rec.price_correct_inv_line_num)
LOOP
BEGIN
SELECT sum(aid.amount)
INTO l_correction_dist_amount
FROM ap_invoice_distributions aid
WHERE corrected_invoice_dist_id = pc_inv_dists.invoice_distribution_id
GROUP BY corrected_invoice_dist_id ;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'AMOUNT BILLED BELOW ZERO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
--Contract Payments: Modified the SELECT clause
SELECT decode(distribution_type,'PREPAYMENT',nvl(amount_financed,0),nvl(amount_billed,0))
INTO l_pc_po_amt_billed
FROM po_distributions
WHERE po_distribution_id = l_po_distribution_id
AND line_location_id IS NOT NULL; /* BUG 3253594 */
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'PRICE CORRECT INV INVALID',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'AMOUNT BILLED BELOW ZERO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT nvl(SUM(decode(distribution_type,'PREPAYMENT',nvl(amount_financed,0),nvl(amount_billed,0))),0),
nvl(SUM(decode(distribution_type,'PREPAYMENT',nvl(quantity_financed,0),nvl(quantity_billed,0))),0)
INTO l_total_amount_billed, l_total_quantity_billed
FROM po_distributions
WHERE line_location_id = l_po_line_location_id
AND po_distribution_id IN (SELECT po_distribution_id
FROM ap_invoice_distributions
WHERE invoice_id = l_price_correct_inv_id
AND invoice_line_number = p_invoice_lines_rec.price_correct_inv_line_num);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'PRICE CORRECT INV INVALID',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'AMOUNT BILLED BELOW ZERO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
--Contract Payments: Modified the SELECT clause
FOR pc_po_dists IN (SELECT decode(pod.distribution_type,'PREPAYMENT',nvl(pod.quantity_financed,0),
nvl(pod.quantity_billed,0)) quantity_billed,
decode(pod.distribution_type,'PREPAYMENT',nvl(pod.amount_financed,0),
nvl(pod.amount_billed,0)) amount_billed
FROM po_distributions pod
WHERE pod.line_location_id = l_po_line_location_id
AND pod.po_distribution_id IN (
SELECT aid.po_distribution_id
FROM ap_invoice_distributions aid
WHERE aid.invoice_id = l_price_correct_inv_id
AND aid.invoice_line_number = p_invoice_lines_rec.price_correct_inv_line_num))
LOOP
IF (pc_po_dists.quantity_billed / l_total_quantity_billed *
p_invoice_lines_rec.amount + pc_po_dists.amount_billed) < 0 OR
(pc_po_dists.quantity_billed / l_total_quantity_billed *
l_line_amt_calculated + pc_po_dists.amount_billed) < 0 THEN
debug_info := '(v_check_line_po_info Debug 7) l_line_amt_calculated:'
||l_line_amt_calculated||
', l_total_quantity_billed:'||l_total_quantity_billed||
', p_invoice_lines_rec.amount:'||p_invoice_lines_rec.amount||
', pc_po_dists.amount_billed:'||pc_po_dists.amount_billed||
', pc_po_dists.quantity_billed:'||pc_po_dists.quantity_billed||
', for l_price_correct_inv_id:'||l_price_correct_inv_id||
', and p_invoice_lines_rec.price_correct_inv_line_num:'||p_invoice_lines_rec.price_correct_inv_line_num;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'AMOUNT BILLED BELOW ZERO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT po_header_id
INTO l_po_header_id
FROM po_headers
WHERE segment1 = l_po_number
AND type_lookup_code in ('BLANKET', 'PLANNED', 'STANDARD');
SELECT po_line_id
INTO l_po_line_id
FROM po_lines
WHERE po_header_id = l_po_header_id
AND ROWNUM <= 1;
SELECT line_location_id
INTO l_po_line_location_id
FROM po_line_locations
WHERE po_header_id = l_po_header_id
AND po_line_id = l_po_line_id
AND shipment_num = p_invoice_lines_rec.po_shipment_num ;
SELECT line_location_id
INTO l_po_line_location_id
FROM po_distributions
WHERE po_distribution_id = l_po_distribution_id;
Select nvl(match_option,'P')
Into l_temp_match_option
From po_line_locations
Where line_location_id = l_po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID MATCH OPTION',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by => p_default_last_updated_by, -- IN
p_default_last_update_login => p_default_last_update_login, -- IN
p_current_invoice_status => l_current_invoice_status, -- IN OUT
p_match_basis => l_match_basis, -- IN /*Amount Based Matching */
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_po_line_info2<-' ||current_calling_sequence);
SELECT NVL(accrue_on_receipt_flag, 'N')
INTO l_accrue_on_receipt_flag
FROM po_line_locations
WHERE ((shipment_num = p_invoice_lines_rec.po_shipment_num
AND p_invoice_lines_rec.po_shipment_num IS NOT NULL
AND p_invoice_lines_rec.po_line_location_id IS NULL)
OR (line_location_id = l_po_line_location_id --p_invoice_lines_rec.po_line_location_id
and l_po_line_location_id is not null
--AND p_invoice_lines_rec.po_line_location_id IS NOT NULL
AND p_invoice_lines_rec.po_shipment_num IS NULL)
OR (p_invoice_lines_rec.po_shipment_num IS NOT NULL
AND p_invoice_lines_rec.po_line_location_id IS NOT NULL
AND shipment_num = p_invoice_lines_rec.po_shipment_num
AND line_location_id = l_po_line_location_id /*p_invoice_lines_rec.po_line_location_id*/))
AND po_header_id = l_po_header_id
AND ((po_release_id = l_po_release_id
AND l_po_line_id IS NULL)
OR (po_line_id = l_po_line_id
AND l_po_release_id IS NULL)
OR (po_line_id = l_po_line_id /* Bug 4254606 */
AND po_release_id = l_po_release_id));
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'ACCRUE ON RECEIPT', -- Bug 5235675
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_current_invoice_status => l_current_invoice_status, -- IN OUT
p_calling_sequence => current_calling_sequence) <> TRUE )THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'v_check_po_overlay<-' ||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PO INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
/*Bug8546486 Assigning the description fetched from PO to be inserted
into ap_invoice_lines and ap_invoice_distributions*/
IF (l_item_description IS NOT NULL) then
IF (p_invoice_lines_rec.description IS NULL) then /* B 9569917 ... added IF condition */
p_invoice_lines_rec.description := l_item_description;
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_match_basis IN VARCHAR2, /* Amount Based matching */
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
check_po_failure EXCEPTION;
SELECT 'X'
INTO l_invalid_shipment_type
FROM po_distributions pd,
po_line_locations pll
WHERE pd.line_location_id = pll.line_location_id
AND pd.po_distribution_id = l_po_distribution_id
AND
(
--(p_invoice_rec.invoice_type_lookup_code <> 'PREPAYMENT' and .. B# 8528132
(nvl(p_invoice_rec.invoice_type_lookup_code, 'STANDARD') <> 'PREPAYMENT' and -- B# 8528132
pll.SHIPMENT_TYPE IN ('STANDARD','BLANKET','SCHEDULED')
) OR
(p_invoice_rec.invoice_type_lookup_code = 'PREPAYMENT' and
((pll.payment_type IS NOT NULL and pll.shipment_type = 'PREPAYMENT') or
(pll.payment_type IS NULL and pll.shipment_type IN ('STANDARD','BLANKET','SCHEDULED'))
)
)
)
AND pll.APPROVED_FLAG = 'Y'
AND (nvl(pll.CLOSED_CODE, 'OPEN') <> 'FINALLY CLOSED')
AND nvl(pll.consigned_flag,'N') <> 'Y';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID SHIPMENT TYPE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'X'
INTO l_invalid_shipment_type
FROM po_line_locations pll
WHERE line_location_id = l_po_line_location_id
AND(
--(p_invoice_rec.invoice_type_lookup_code <> 'PREPAYMENT' and .. B# 8528132
(nvl(p_invoice_rec.invoice_type_lookup_code, 'STANDARD') <> 'PREPAYMENT' and -- B# 8528132
pll.SHIPMENT_TYPE IN ('STANDARD','BLANKET','SCHEDULED')
) OR
(p_invoice_rec.invoice_type_lookup_code = 'PREPAYMENT' and
((pll.payment_type IS NOT NULL and pll.shipment_type = 'PREPAYMENT') or
(pll.payment_type IS NULL and pll.shipment_type IN ('STANDARD','BLANKET','SCHEDULED'))
)
)
)
AND APPROVED_FLAG = 'Y'
AND (nvl(CLOSED_CODE, 'OPEN') <> 'FINALLY CLOSED')
AND nvl(consigned_flag,'N') <> 'Y';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID SHIPMENT TYPE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT nvl(match_option,'P')
INTO l_temp_match_option
FROM po_line_locations
WHERE line_location_id = l_po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID MATCH OPTION',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) Then
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT count(*)
INTO l_invalid_shipment_count
FROM po_line_locations pll
WHERE pll.po_line_id = l_po_line_id
AND(
(
--(p_invoice_rec.invoice_type_lookup_code <> 'PREPAYMENT' and .. B# 8528132
(nvl(p_invoice_rec.invoice_type_lookup_code, 'STANDARD') <> 'PREPAYMENT' and -- B# 8528132
pll.SHIPMENT_TYPE NOT IN ('STANDARD','BLANKET','SCHEDULED')
) OR
(p_invoice_rec.invoice_type_lookup_code = 'PREPAYMENT' and
((pll.payment_type IS NOT NULL and pll.shipment_type <> 'PREPAYMENT') or
(pll.payment_type IS NULL and pll.shipment_type NOT IN ('STANDARD','BLANKET','SCHEDULED'))
)
)
)
/* Bug 4038403 removed these two conditions and added the below condition
OR (APPROVED_FLAG <> 'Y')
OR (APPROVED_FLAG IS NULL) */
OR nvl(APPROVED_FLAG, 'N') <> 'Y'
)
OR (nvl(CLOSED_CODE, 'OPEN') = 'FINALLY CLOSED')
OR (nvl(consigned_flag,'N') = 'Y');
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID SHIPMENT TYPE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT allow_price_override_flag
INTO l_price_break
FROM po_lines
WHERE po_line_id = l_po_line_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'LINE HAS PRICE BREAK',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
Select shipment_type
Into l_temp_shipment_type
From po_line_locations
Where line_location_id = l_po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT SHIPMENT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'SUPPLIER ITEM NUMBER',
p_invoice_lines_rec.vendor_item_num ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT SHIPMENT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DIST SET WITH PO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT pll.price_override, pll.unit_meas_lookup_code
INTO l_po_unit_price,l_unit_of_measure
FROM po_line_locations pll
WHERE pll.line_location_id = l_po_line_location_id;
SELECT unit_price,unit_meas_lookup_code
INTO l_po_unit_price,l_unit_of_measure
FROM po_lines
WHERE po_line_id = l_po_line_id;
SELECT NVL(price_override,unit_price),unit_meas_lookup_code
INTO l_po_unit_price,l_unit_of_measure
FROM po_line_locations_release_v
WHERE po_line_id = l_po_line_id
-- bug7328060, added the below condition
AND line_location_id = nvl(l_po_line_location_id, line_location_id)
AND po_release_id = p_invoice_lines_rec.po_release_id;
SELECT pll.price_override, pll.unit_meas_lookup_code
INTO l_po_unit_price,l_unit_of_measure
FROM po_line_locations pll
WHERE pll.line_location_id = l_po_line_location_id;
SELECT unit_price,unit_meas_lookup_code
INTO l_po_unit_price,l_unit_of_measure
FROM po_lines
WHERE po_line_id = l_po_line_id;
SELECT unit_meas_lookup_code
INTO l_unit_of_measure
FROM po_lines
WHERE po_line_id = l_po_line_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID QUANTITY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'QUANTITY INVOICED',
p_invoice_lines_rec.quantity_invoiced) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID QUANTITY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'QUANTITY INVOICED',
p_invoice_lines_rec.amount) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'UOM DOES NOT MATCH PO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PRICE/QUANTITY/AMOUNT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'QUANTITY INVOICED',
p_invoice_lines_rec.quantity_invoiced,
'UNIT PRICE',
p_invoice_lines_rec.unit_price,
'INVOICE LINE AMOUNT',
p_invoice_lines_rec.amount) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PRICE/QUANTITY/AMOUNT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'QUANTITY INVOICED',
p_invoice_lines_rec.quantity_invoiced,
'UNIT PRICE',
p_invoice_lines_rec.unit_price,
'INVOICE LINE AMOUNT',
p_invoice_lines_rec.amount) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT AMOUNT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'QUANTITY INVOICED',
p_invoice_lines_rec.quantity_invoiced,
'UNIT PRICE',
p_invoice_lines_rec.unit_price,
'INVOICE LINE AMOUNT',
p_invoice_lines_rec.amount) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT NVL(SUM(DECODE(L.MATCH_TYPE,
'PRICE_CORRECTION', 0,
'PO_PRICE_ADJUSTMENT', 0,
'ADJUSTMENT_CORRECTION', 0,
NVL(L.quantity_invoiced, 0))),0) +
NVL(l_qty_invoiced,0),
ROUND(NVL(p_invoice_lines_rec.amount +
NVL(SUM(NVL(L.amount, 0)),0),0),5)
INTO l_total_qty_billed,
l_total_match_amount
FROM ap_invoice_lines L
WHERE l.po_line_location_id = l_po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'NEGATIVE QUANTITY BILLED', --Bug 5134622
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'QUANTITY INVOICED',
l_total_qty_billed ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'UNIT PRC NOT EQUAL TO PO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT NVL(SUM(DECODE(L.MATCH_TYPE, 'PRICE_CORRECTION', 0,
'PO_PRICE_ADJUSTMENT', 0,
'ADJUSTMENT_CORRECTION', 0,
NVL(L.quantity_invoiced, 0))),0) +
NVL(l_qty_invoiced,0),
NVL(SUM(NVL(PLL.amount,0)),0) +
NVL(p_invoice_lines_rec.amount, l_line_amount)
INTO l_total_qty_billed,
l_total_match_amount /* Amount Based Matching */
FROM ap_invoice_lines L,
po_line_locations PLL
WHERE L.po_line_location_id = PLL.line_location_id
AND PLL.po_line_id = l_po_line_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'NEGATIVE QUANTITY BILLED', --Bug 5134622
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'QUANTITY INVOICED',
l_total_qty_billed ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID LINE AMOUNT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'AMOUNT INVOICED',
l_total_match_amount ) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'UNIT PRC NOT EQUAL TO PO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID INVOICE QUANTITY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'LINE AMOUNT EXCEEDED TOLERANCE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID INVOICE QUANTITY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'LINE AMOUNT EXCEEDED TOLERANCE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
check_po_failure EXCEPTION;
SELECT code_combination_id
FROM po_distributions
WHERE line_location_id = l_po_line_location_id
AND nvl(accrue_on_receipt_flag,'N') <> 'Y' --Bug 2667171 added this Condition
ORDER BY distribution_num;
SELECT pd.code_combination_id
FROM po_distributions pd,
po_line_locations pll
WHERE pd.line_location_id = pll.line_location_id
AND pll.po_line_id = l_po_line_id
AND(
--(p_invoice_rec.invoice_type_lookup_code <> 'PREPAYMENT' and .. B# 8528132
(nvl(p_invoice_rec.invoice_type_lookup_code, 'STANDARD') <> 'PREPAYMENT' and -- B# 8528132
pll.SHIPMENT_TYPE IN ('STANDARD','BLANKET','SCHEDULED')
) OR
(p_invoice_rec.invoice_type_lookup_code = 'PREPAYMENT' and
((pll.payment_type IS NOT NULL and pll.shipment_type = 'PREPAYMENT') or
(pll.payment_type IS NULL and pll.shipment_type IN ('STANDARD','BLANKET','SCHEDULED'))
)
)
)
AND pll.APPROVED_FLAG = 'Y'
ORDER BY pll.shipment_num,pd.distribution_num;
SELECT code_combination_id
INTO l_code_combination_id
FROM po_distributions
WHERE po_distribution_id = l_po_distribution_id
AND line_location_id IS NOT NULL; /* BUG 3253594 */
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ACCT OVERLAY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ACCT OVERLAY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ACCT OVERLAY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
END IF; -- insert rejections
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_temp_line_status OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
check_receipt_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID MATCHING INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT rcv_transaction_id
INTO l_temp_rcv_txn_id
FROM po_ap_receipt_match_v
WHERE po_line_location_id = p_invoice_lines_rec.po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT rcv_transaction_id
INTO l_temp_rcv_txn_id
FROM po_ap_receipt_match_v
WHERE receipt_number = p_invoice_lines_rec.receipt_number
AND po_line_location_id = p_invoice_lines_rec.po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT rcv_transaction_id
INTO l_temp_rcv_txn_id
FROM po_ap_receipt_match_v
WHERE rcv_transaction_id = p_invoice_lines_rec.rcv_transaction_id
AND po_line_location_id = p_invoice_lines_rec.po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT rcv_transaction_id
INTO l_temp_rcv_txn_id
FROM po_ap_receipt_match_v
WHERE rcv_transaction_id = p_invoice_lines_rec.rcv_transaction_id
AND receipt_number = p_invoice_lines_rec.receipt_number
AND po_line_location_id = p_invoice_lines_rec.po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT distinct receipt_uom_lookup_code
INTO l_rcv_uom
FROM po_ap_receipt_match_v
WHERE po_line_location_id = p_invoice_lines_rec.po_line_location_id
AND receipt_number = NVL(p_invoice_lines_rec.receipt_number,
receipt_number)
AND rcv_transaction_id = nvl(p_invoice_lines_rec.rcv_transaction_id,
rcv_transaction_id);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'UOM DOES NOT MATCH RECPT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'UOM DOES NOT MATCH RECPT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT nvl(sum(nvl(RT.quantity_billed,0)),0)
INTO l_qty_billed_sum
FROM rcv_transactions RT ,
rcv_shipment_headers SH ,
po_headers_all PH ,
po_line_locations_all PS ,
po_releases_all PR ,
per_all_people_f BU
WHERE RT.po_line_location_id = p_invoice_lines_rec.po_line_location_id
AND SH.receipt_num = nvl(p_invoice_lines_rec.receipt_number,sh.receipt_num)
AND RT.transaction_id = nvl(p_invoice_lines_rec.rcv_transaction_id, RT.transaction_id)
AND RT.SHIPMENT_HEADER_ID = SH.SHIPMENT_HEADER_ID
AND RT.PO_HEADER_ID = PH.PO_HEADER_ID
AND RT.PO_LINE_LOCATION_ID = PS.LINE_LOCATION_ID
AND RT.PO_RELEASE_ID = PR.PO_RELEASE_ID(+)
AND PH.AGENT_ID = BU.PERSON_ID(+)
AND SH.receipt_source_code = 'VENDOR'
AND RT.TRANSACTION_TYPE IN ('RECEIVE', 'MATCH')
AND BU.EFFECTIVE_START_DATE(+) <= TRUNC(SYSDATE)
AND BU.EFFECTIVE_END_DATE(+) >= TRUNC(SYSDATE)
AND ((PS.PO_RELEASE_ID IS NOT NULL AND PR.PCARD_ID IS NULL) OR (PS.PO_RELEASE_ID IS NULL AND PH.PCARD_ID IS NULL ));
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID QUANTITY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'QUANTITY INVOICED',
p_invoice_lines_rec.quantity_invoiced + l_qty_billed_sum )
<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT rcv_transaction_id
INTO l_temp_rcv_txn_id
FROM po_ap_receipt_match_v
WHERE receipt_number = p_invoice_lines_rec.receipt_number
AND po_line_location_id = p_invoice_lines_rec.po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT rcv_transaction_id
INTO l_temp_rcv_txn_id
FROM po_ap_receipt_match_v
WHERE rcv_transaction_id = p_invoice_lines_rec.rcv_transaction_id
AND po_line_location_id = p_invoice_lines_rec.po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT rcv_transaction_id
INTO l_temp_rcv_txn_id
FROM po_ap_receipt_match_v
WHERE rcv_transaction_id = p_invoice_lines_rec.rcv_transaction_id
AND receipt_number = p_invoice_lines_rec.receipt_number
AND po_line_location_id = p_invoice_lines_rec.po_line_location_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT rcv_transaction_id
INTO l_temp_rcv_txn_id
FROM po_ap_receipt_match_v
WHERE receipt_number = p_invoice_lines_rec.receipt_number;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT rcv_transaction_id
INTO l_temp_rcv_txn_id
FROM po_ap_receipt_match_v
WHERE rcv_transaction_id = p_invoice_lines_rec.rcv_transaction_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT rcv_transaction_id
INTO l_temp_rcv_txn_id
FROM po_ap_receipt_match_v
WHERE rcv_transaction_id = p_invoice_lines_rec.rcv_transaction_id
AND receipt_number = p_invoice_lines_rec.receipt_number;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT rcv_shipment_line_id
INTO l_temp_ship_line_id
FROM po_ap_receipt_match_v
WHERE rcv_transaction_id = p_invoice_lines_rec.rcv_transaction_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT RECEIPT INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID FINAL MATCH FLAG',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT 'Y'
INTO l_temp_value
FROM po_ap_receipt_match_v
WHERE rcv_transaction_id = p_invoice_lines_rec.rcv_transaction_id
AND receipt_uom_lookup_code =
p_invoice_lines_rec.unit_of_meas_lookup_code;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'UOM DOES NOT MATCH RECPT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT ALLOC INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence)<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
SELECT nvl(quantity_billed,0)
INTO l_qty_billed
FROM rcv_transactions
WHERE transaction_id = p_invoice_lines_rec.rcv_transaction_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID QUANTITY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'QUANTITY INVOICED',
l_qty_billed + p_invoice_lines_rec.quantity_invoiced )<> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections <-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
check_accounting_date_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'ACCT DATE NOT IN OPEN PD',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT period_name
INTO l_period_name
FROM gl_period_statuses
WHERE application_id = 200
AND set_of_books_id = p_set_of_books_id
AND trunc(nvl(l_accounting_date,AP_IMPORT_INVOICES_PKG.g_inv_sysdate))
between start_date and END_date
AND closing_status in ('O', 'F')
AND NVL(adjustment_period_flag, 'N') = 'N';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'ACCT DATE NOT IN OPEN PD',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'The period is NOT beyond latest encumbrance year'
INTO l_DUMMY
FROM GL_PERIOD_STATUSES gps1,
GL_SETS_OF_BOOKS gsob
WHERE gps1.period_year <= gsob.latest_encumbrance_year
AND gsob.SET_OF_BOOKS_ID = p_set_of_books_id
AND gps1.APPLICATION_ID = 200
AND gps1.SET_OF_BOOKS_ID = gsob.SET_OF_BOOKS_ID
AND trunc(nvl(l_accounting_date,AP_IMPORT_INVOICES_PKG.g_inv_sysdate))
BETWEEN gps1.START_DATE AND gps1.END_DATE
AND gps1.closing_status in ('O', 'F')
AND NVL(gps1.adjustment_period_flag, 'N') = 'N';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'ACCT DATE BEYOND ENC YEAR',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_pa_built_account OUT NOCOPY NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
check_project_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT DIST INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT PA INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by,
p_default_last_update_login,
'APTXNIMP',
l_award_id,
'AWARD_SET_ID_REQUEST' ) <> TRUE ) THEN
IF GMS_AP_API.gms_debug_switch(AP_IMPORT_INVOICES_PKG.g_debug_switch)
THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'(v_check_line_project_info 3) Invalid GMS Info:Reject');
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT GMS INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by, -- IN
p_default_last_update_login, -- IN
p_pa_default_dist_ccid => l_pa_default_dist_ccid, -- OUT NOCOPY
p_pa_concatenated_segments => l_pa_concatenated_segments,-- OUT NOCOPY
p_current_invoice_status => l_current_invoice_status, -- OUT NOCOPY
p_calling_sequence => current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by,
p_default_last_update_login,
'APTXNIMP',
l_award_id,
'AWARD_SET_ID_REMOVE' ) <> TRUE THEN
IF GMS_AP_API.gms_debug_switch(AP_IMPORT_INVOICES_PKG.g_debug_switch)
THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'(v_check_line_project_info 3) Invalid GMS Info:Reject');
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT GMS INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PA ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
check_account_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID OVERLAY BAL SEGMENT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE)
THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DISTRIBUTION ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
END IF; -- insert rejections
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DISTRIBUTION ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
END IF; -- insert rejections
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DISTRIBUTION ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
END IF; -- insert rejections
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ACCT OVERLAY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
|| current_calling_sequence);
END IF; -- insert rejections
SELECT 'X'
INTO l_valid_dist_code
FROM gl_code_combinations
WHERE code_combination_id = l_overlayed_ccid
AND enabled_flag='Y'
AND NVL(END_date_active, p_accounting_date) --Bug 2923286 Changed gl_inv_sysdate to p_accounting_date
>= p_accounting_date
AND NVL(start_date_active, p_accounting_date)
<= p_accounting_date;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DISTRIBUTION ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
END IF; -- insert rejections
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DISTRIBUTION ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
END IF; -- insert rejections
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DISTRIBUTION ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
END IF; -- insert rejections
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ACCT OVERLAY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
END IF; -- insert rejections
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ACCT OVERLAY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
END IF; -- insert rejections
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT DIST INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
END IF; -- insert rejections
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DISTRIBUTION ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
END IF; -- insert rejections
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DISTRIBUTION ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||
current_calling_sequence);
END IF; -- insert rejections
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
check_defer_acctg_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DEFERRED FLAG',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCOMPLETE DEF ACCTG INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT period_name
INTO l_period_name
FROM gl_period_statuses
WHERE application_id = 200
AND set_of_books_id = p_set_of_books_id
AND trunc(p_invoice_lines_rec.def_acctg_start_date)
between start_date and end_date
AND closing_status in ('O', 'F')
AND NVL(adjustment_period_flag, 'N') = 'N';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DEF START DATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DEF START DATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DEF END DATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DEF END DATE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DEF NUM OF PER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Valid Period Type'
INTO l_valid_period_type
FROM xla_lookups
WHERE lookup_type = 'XLA_DEFERRED_PERIOD_TYPE'
AND lookup_code = p_invoice_lines_rec.def_acctg_period_type;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DEF PER TYPE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DEF PER TYPE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
dist_set_check_failure EXCEPTION;
SELECT DSL.dist_code_combination_id,
DSL.percent_distribution,
DSL.type_1099,
DSL.description,
DSL.distribution_set_line_number,
DSL.attribute_category,
DSL.attribute1,
DSL.attribute2,
DSL.attribute3,
DSL.attribute4,
DSL.attribute5,
DSL.attribute6,
DSL.attribute7,
DSL.attribute8,
DSL.attribute9,
DSL.attribute10,
DSL.attribute11,
DSL.attribute12,
DSL.attribute13,
DSL.attribute14,
DSL.attribute15,
'DIST_SET_LINE',
DSL.project_accounting_context,
DSL.project_id,
DSL.task_id,
DSL.expenditure_organization_id,
DSL.expenditure_type,
NULL, -- pa_quantity
NULL, -- pa_addition_flag
DSL.org_id,
DSL.award_id,
0, -- amount
0 -- base_amount
FROM ap_distribution_set_lines DSL
WHERE DSL.distribution_set_id = l_dist_set_id
ORDER BY distribution_set_line_number;
SELECT distribution_set_id , inactive_date, total_percent_distribution
INTO l_dist_set_id, l_inactive_date, l_total_percent_distribution
FROM ap_distribution_sets
WHERE distribution_set_id = p_invoice_lines_rec.distribution_set_id;
SELECT distribution_set_id , inactive_date, total_percent_distribution
INTO l_dist_set_id_per_name, l_inactive_date_per_name,
l_total_percent_distribution
FROM ap_distribution_sets
WHERE distribution_set_name
= p_invoice_lines_rec.distribution_set_name;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DISTRIBUTION SET',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT DIST SET',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INACTIVE DISTRIBUTION SET',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
END IF; -- end of insert_rejection
l_dset_lines_tab.DELETE;
p_default_last_updated_by => p_default_last_updated_by,
p_default_last_update_login => p_default_last_update_login,
p_calling_sequence => 'APTXNIMP',
p_award_id => l_award_id,
p_event => 'AWARD_SET_ID_REQUEST' ) <> TRUE ) THEN
--------------------------------------------------------------
debug_info := '(v_check_line_dist_set 4.2.d.3) - ' ||
'After Call GMS API - Invalid GMS Info:Reject';
IF ( AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT GMS INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
RAISE dist_set_check_failure;
||'->Insert Rejection';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'PA FLEXBUILD FAILED',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
RAISE dist_set_check_failure;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID DISTRIBUTION ACCT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
RAISE dist_set_check_failure;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ACCT OVERLAY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF ( AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT GMS INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
RAISE dist_set_check_failure;
|| 'for rounding ->Insert Rejection';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'PA FLEXBUILD FAILED',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
RAISE dist_set_check_failure;
l_dset_lines_tab.DELETE;
l_dset_lines_tab.DELETE;
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
qty_uom_check_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID QTY INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCOMPLETE QTY INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCOMPLETE QTY INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID QTY INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT QTY RELATED INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Valid UOM'
INTO l_uom_is_valid
FROM mtl_units_of_measure
WHERE unit_of_measure = p_invoice_lines_rec.unit_of_meas_lookup_code
AND AP_IMPORT_INVOICES_PKG.g_inv_sysdate
< nvl(disable_date, AP_IMPORT_INVOICES_PKG.g_inv_sysdate + 1) ;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID UOM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
awt_group_check_failure EXCEPTION;
select awt_include_tax_amt into l_awt_include_tax_amt
from ap_system_parameters_all
where ORG_ID=P_INVOICE_REC.ORG_ID;
SELECT group_id, inactive_date
INTO l_awt_group_id, l_inactive_date
FROM ap_awt_groups
WHERE group_id = p_invoice_lines_rec.awt_group_id;
SELECT group_id, inactive_date
INTO l_awt_group_id_per_name, l_inactive_date_per_name
FROM ap_awt_groups
WHERE name = p_invoice_lines_rec.awt_group_name;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INACTIVE AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INACTIVE AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
pay_awt_group_check_failure EXCEPTION;
select awt_include_tax_amt into l_awt_include_tax_amt
from ap_system_parameters_all
where org_id=p_invoice_rec.org_id;
SELECT group_id, inactive_date
INTO l_pay_awt_group_id, l_inactive_date
FROM ap_awt_groups
WHERE group_id = p_invoice_lines_rec.pay_awt_group_id;
SELECT group_id, inactive_date
INTO l_pay_awt_group_id_per_name, l_inactive_date_per_name
FROM ap_awt_groups
WHERE name = p_invoice_lines_rec.pay_awt_group_name;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT PAY AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INACTIVE PAY AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INACTIVE PAY AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID PAY AWT GROUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
line_num_check_failure EXCEPTION;
SELECT count(*)
INTO l_line_count
FROM ap_invoice_lines_interface
WHERE invoice_id = p_invoice_rec.invoice_id
AND line_number = p_invoice_lines_rec.line_number;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'DUPLICATE LINE NUMBER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE LINE NUMBER',
p_invoice_lines_rec.line_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
misc_line_info_failure EXCEPTION;
Select pov.type_1099
From po_vendors pov
Where pov.vendor_id = c_vendor_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID LINE TYPE LOOKUP',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'LINE TYPE CANNOT BE AWT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID TYPE 1099',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
SELECT income_tax_type
INTO l_income_tax_type
FROM ap_income_tax_types
WHERE income_tax_type = p_invoice_lines_rec.type_1099
AND AP_IMPORT_INVOICES_PKG.g_inv_sysdate
< NVL(inactive_date, AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1) ;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID TYPE 1099',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
select asp.income_tax_region,
NVL(asp.income_tax_region_flag, 'N')
into l_income_tax_region,
l_income_tax_region_flag
from ap_system_parameters asp
where asp.org_id = p_invoice_rec.org_id;
select pvs.state
into l_income_tax_region
from po_vendor_sites pvs
where pvs.vendor_id = p_invoice_rec.vendor_id
and pvs.vendor_site_id = p_invoice_rec.vendor_site_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID TAX REGION',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
SELECT region_short_name
INTO l_income_tax_region
FROM ap_income_tax_regions
WHERE region_short_name = p_invoice_lines_rec.income_tax_region
AND AP_IMPORT_INVOICES_PKG.g_inv_sysdate
BETWEEN NVL(active_date, AP_IMPORT_INVOICES_PKG.g_inv_sysdate) AND
NVL(inactive_date, AP_IMPORT_INVOICES_PKG.g_inv_sysdate);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID TAX REGION',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
prorate_line_info_failure EXCEPTION;
SELECT SUM(nvl(AIL.amount,0))
INTO l_item_line_total
FROM ap_invoice_lines_interface AIL
WHERE AIL.invoice_id = p_invoice_rec.invoice_id
AND ((line_group_number = p_invoice_lines_rec.line_group_number AND
p_invoice_lines_rec.line_group_number IS NOT NULL) OR
p_invoice_lines_rec.line_group_number is NULL)
AND line_type_lookup_code = 'ITEM';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table, /* BUG10339648 */
p_invoice_lines_rec.invoice_line_id,
'CANNOT PRORATE TO ZERO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
SELECT COUNT(*)
INTO l_count_item_lines
FROM ap_invoice_lines_interface AIL
WHERE AIL.invoice_id = p_invoice_rec.invoice_id
AND line_group_number = p_invoice_lines_rec.line_group_number
AND (line_type_lookup_code = 'ITEM'
OR (line_type_lookup_code = 'TAX' AND prorate_across_flag = 'Y'));
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'CANNOT PRORATE TO NON ITEM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
SELECT COUNT(*)
INTO l_count_non_item_lines
FROM ap_invoice_lines_interface AIL
WHERE AIL.invoice_id = p_invoice_rec.invoice_id
AND line_group_number = p_invoice_lines_rec.line_group_number
AND line_type_lookup_code <> 'ITEM';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_lines_rec.invoice_line_id,
'CANNOT PRORATE TO NON ITEM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
asset_line_info_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID SERIAL NUMBER INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID MANUFACTURER INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE ) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID MODEL NUMBER INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE ) Then
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID WARRANTY NUM INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE ) Then
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
SELECT 'Asset Book Found'
INTO l_valid_asset_book
FROM fa_book_controls bc
WHERE bc.set_of_books_id = p_set_of_books_id
AND bc.book_type_code = p_invoice_lines_rec.asset_book_type_code
AND bc.date_ineffective IS NULL;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ASSET BOOK CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE ) Then
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(
AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
SELECT 'Asset Category found'
INTO l_valid_asset_category
FROM fa_categories
WHERE category_id = p_invoice_lines_rec.asset_category_id;
If (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID ASSET CATEGORY ID',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE ) Then
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<- '||current_calling_sequence);
| p_default_last_updated_by - default last updated by
| p_default_last_update_login - default last update login
| p_current_invoice_status - return the status of the invoice after the
| validation
| P_calling_sequence - Calling sequence
|
| MODIFICATION HISTORY
| DATE Author Action
| 20-JAN-2004 SYIDNER Created
|
*============================================================================*/
FUNCTION v_check_tax_info(
p_invoice_rec IN AP_IMPORT_INVOICES_PKG.r_invoice_info_rec,
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
l_current_invoice_status VARCHAR2(1);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID CONTROL AMOUNT',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT invoice_id
INTO l_related_inv_id
FROM ap_invoices_all
WHERE invoice_id = p_invoice_rec.tax_related_invoice_id
AND vendor_id = p_invoice_rec.vendor_id
AND vendor_site_id = p_invoice_rec.vendor_site_id
AND cancelled_date IS NULL
AND cancelled_by IS NULL;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID TAX RELATED INVOICE ID',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT invoice_id
INTO l_exist_tax_line
FROM ap_invoice_lines_interface
WHERE invoice_id = p_invoice_rec.invoice_id
AND line_type_lookup_code = 'TAX'
AND ROWNUM =1;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'CANNOT CONTAIN TAX LINES',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_alloc_not_provided
FROM ap_invoices_interface aii
WHERE aii.invoice_id = p_invoice_rec.invoice_id
AND 1 < (SELECT COUNT(*)
FROM ap_invoice_lines_interface aili
WHERE aili.line_type_lookup_code <> 'TAX'
AND aili.invoice_id = aii.invoice_id)
AND EXISTS (SELECT 'Y'
FROM ap_invoice_lines_interface ail2
WHERE ail2.invoice_id = aii.invoice_id
AND ail2.line_type_lookup_code = 'TAX'
AND ail2.line_group_number IS NULL
AND NVL(ail2.incl_in_taxable_line_flag, 'N') = 'Y');
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'NO ALLOCATION RULES FOUND',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_tax_found_in_nontax_line
FROM ap_invoices_interface aii
WHERE aii.invoice_id = p_invoice_rec.invoice_id
AND EXISTS (SELECT 'Y'
FROM ap_invoice_lines_interface ail2
WHERE ail2.invoice_id = aii.invoice_id
AND ail2.line_type_lookup_code <> 'TAX'
AND (ail2.tax_regime_code IS NOT NULL OR
ail2.tax IS NOT NULL OR
ail2.tax_jurisdiction_code IS NOT NULL OR
ail2.tax_status_code IS NOT NULL OR
ail2.tax_rate_id IS NOT NULL OR
ail2.tax_rate_code IS NOT NULL OR
ail2.tax_rate IS NOT NULL OR
ail2.incl_in_taxable_line_flag IS NOT NULL));
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'TAX DATA FOUND ON NONTAX LINES',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_tax_lines_cannot_coexist
FROM ap_invoices_interface aii
WHERE aii.invoice_id = p_invoice_rec.invoice_id
AND EXISTS (SELECT 'Y'
FROM ap_invoice_lines_interface ail2
WHERE ail2.invoice_id = aii.invoice_id
AND ail2.line_type_lookup_code = 'TAX'
AND ail2.rcv_transaction_id IS NOT NULL)
AND EXISTS (SELECT 'Y'
FROM ap_invoice_lines_interface ail3
WHERE ail3.invoice_id = aii.invoice_id
AND ail3.line_type_lookup_code = 'TAX'
AND ail3.rcv_transaction_id IS NULL);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'TAX LINE TYPES CANNOT COEXIST',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
| p_default_last_updated_by - default last updated by
| p_default_last_update_login - default last update login
| p_current_invoice_status - return the status of the invoice after the
| validation
| P_calling_sequence - Calling sequence
|
| MODIFICATION HISTORY
| DATE Author Action
| 20-JAN-2004 SYIDNER Created
|
*============================================================================*/
FUNCTION v_check_tax_line_info (
p_invoice_lines_rec IN OUT NOCOPY AP_IMPORT_INVOICES_PKG.r_line_info_rec,
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
tax_line_info_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID SIGN ASSESSABLE VALUE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
SELECT aii.invoice_type_lookup_code
INTO l_inv_hdr_inv_type
FROM ap_invoices_interface aii,
ap_invoice_lines_interface aili
WHERE aii.invoice_id = aili.invoice_id
AND aili.ROWID = p_invoice_lines_rec.row_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID CONTROL AMOUNT ',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID CONTROL AMOUNT ',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'TAX CANNOT BE INCLUDED',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
SELECT NVL(p_invoice_lines_rec.org_id, aii.org_id),
aii.vendor_id,
aii.vendor_site_id,
aii.invoice_type_lookup_code
INTO l_inv_hdr_org_id,
l_inv_hdr_vendor_id,
l_inv_hdr_vendor_site_id,
l_inv_hdr_inv_type
FROM ap_invoices_interface aii,
ap_invoice_lines_interface aili
WHERE aii.invoice_id = aili.invoice_id
AND aili.ROWID = p_invoice_lines_rec.row_id;
SELECT location_id, ship_to_location_id, fob_lookup_code
INTO l_location_id, l_ship_to_location_id, l_fob_point
FROM ap_supplier_sites_all
WHERE vendor_site_id = l_inv_hdr_vendor_site_id;
SELECT location_id
INTO l_bill_to_location_id
FROM hr_all_organization_units
WHERE organization_id = l_inv_hdr_org_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INSUFFICIENT TAX INFO', --bug6255826 Replaced TAX INFO REQUIRED
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-' ||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
purch_category_check_failure EXCEPTION;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT CATEGORY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE LINE NUMBER',
p_invoice_lines_rec.line_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT CATEGORY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE LINE NUMBER',
p_invoice_lines_rec.line_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID CATEGORY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE LINE NUMBER',
p_invoice_lines_rec.line_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT category_id
INTO l_purchasing_category_id
FROM po_lines_all
WHERE po_line_id = p_invoice_lines_rec.po_line_id;
SELECT pl.category_id
INTO l_purchasing_category_id
FROM po_lines_all pl, po_line_locations_all pll
WHERE pll.line_location_id = p_invoice_lines_rec.po_line_location_id
AND pl.po_line_id = pll.po_line_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INCONSISTENT CATEGORY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE LINE NUMBER',
p_invoice_lines_rec.line_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN
IS
cost_factor_check_failure EXCEPTION;
SELECT price_element_type_id
INTO l_cost_factor_id
FROM pon_price_element_types_vl
WHERE name = p_invoice_lines_rec.cost_factor_name;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID COST FACTOR INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE LINE NUMBER',
p_invoice_lines_rec.line_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID COST FACTOR INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE LINE NUMBER',
p_invoice_lines_rec.line_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT 'Y'
INTO l_valid_cost_factor
FROM pon_price_element_types_vl
WHERE price_element_type_id = p_invoice_lines_rec.cost_factor_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'INVALID COST FACTOR INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE LINE NUMBER',
p_invoice_lines_rec.line_number) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN IS
l_ret_status Varchar2(100);
-- Update the calling sequence
--
current_calling_sequence := 'AP_IMPORT_VALIDATION_PKG.v_check_line_retainage<-'
||P_calling_sequence;
If (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_lines_rec.invoice_line_id,
'RETAINAGE ACCT REQD',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence,
'Y',
'INVOICE LINE NUMBER',
p_invoice_lines_rec.line_number) <> TRUE) Then
If (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') Then
AP_IMPORT_UTILITIES_PKG.Print
(AP_IMPORT_INVOICES_PKG.g_debug_switch, 'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER) return boolean is
debug_info VARCHAR2(500);
select 'x'
into l_dummy
from iby_payment_reasons_vl
where payment_reason_code = p_invoice_rec.payment_reason_code
and rownum = 1;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PAYMENT REASON',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
select 'x'
into l_dummy
from fnd_lookups
where lookup_type = 'IBY_BANK_CHARGE_BEARER'
and lookup_code = p_invoice_rec.bank_charge_bearer
and rownum = 1;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID BANK CHARGE BEARER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
select 'x'
into l_dummy
from iby_delivery_channels_vl
where delivery_channel_code = p_invoice_rec.delivery_channel_code
and rownum = 1;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID DELIVERY CHANNEL CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
select 'x'
into l_dummy
from fnd_lookups
where lookup_type = 'IBY_SETTLEMENT_PRIORITY'
and lookup_code = p_invoice_rec.settlement_priority
and rownum = 1;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID SETTLEMENT PRIORITY',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
select 'x'
into l_dummy
from iby_ext_bank_accounts_v
where ext_bank_account_id = p_invoice_rec.external_bank_account_id
and rownum = 1;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID EXTERNAL BANK ACCT ID',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PAY METHOD',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
select 'x'
into l_dummy
from iby_payment_methods_vl --4393358
where payment_method_code = p_invoice_rec.payment_method_code
and rownum = 1;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PAY METHOD',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
select party_id
into l_remit_party_id
from ap_suppliers
where vendor_id = p_invoice_rec.remit_to_supplier_id;
select party_site_id
into l_remit_party_site_id
from ap_supplier_sites_all
where vendor_site_id = p_invoice_rec.remit_to_supplier_site_id
and org_id = p_invoice_rec.org_id;
select party_site_id
into l_remit_party_site_id
from ap_supplier_sites_all
where vendor_site_id = p_invoice_rec.vendor_site_id
and org_id = p_invoice_rec.org_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID PAY METHOD',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER
) return boolean is
l_dummy varchar2(1);
select 'x'
into l_dummy
from po_vendors
where vendor_id = p_invoice_rec.vendor_id
and party_id = p_invoice_rec.party_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
select 'x'
into l_dummy
from po_vendor_sites
where vendor_site_id = p_invoice_rec.vendor_site_id
and party_site_id = p_invoice_rec.party_site_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT SUPPL SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
select vendor_type_lookup_code into l_vendor_type_lookup_code
from ap_suppliers where vendor_id = p_invoice_rec.vendor_id ;
select party_site_id
into p_invoice_rec.party_site_id
from po_vendor_sites
where vendor_site_id = p_invoice_rec.vendor_site_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT SUPPL SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
select party_id
into p_invoice_rec.party_id
from po_vendors
where vendor_id = p_invoice_rec.vendor_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) return boolean IS
Cursor c_ship_to_location (p_ship_to_loc_code HR_LOCATIONS.LOCATION_CODE%TYPE) Is
Select ship_to_location_id
From hr_locations
Where location_code = p_ship_to_loc_code
and nvl(ship_to_site_flag, 'N') = 'Y';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
(AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID LOCATION CODE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'
||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2)
RETURN BOOLEAN IS
current_calling_sequence VARCHAR2(2000);
select vendor_name
into l_remit_supplier_name
from ap_suppliers
where vendor_name = p_invoice_rec.remit_to_supplier_name
-- bug 8504185
AND nvl(trunc(START_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
<= AP_IMPORT_INVOICES_PKG.g_inv_sysdate
AND nvl(trunc(END_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
SELECT party_name
INTO l_remit_supplier_name
FROM hz_parties
WHERE party_name = p_invoice_rec.remit_to_supplier_name;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID REMIT TO SUPPLIER NAME',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
select vendor_id
into l_remit_supplier_id
from ap_suppliers
where vendor_id = p_invoice_rec.remit_to_supplier_id
-- bug 8504185
AND nvl(trunc(START_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
<= AP_IMPORT_INVOICES_PKG.g_inv_sysdate
AND nvl(trunc(END_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID REMIT TO SUPPLIER ID',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
select segment1
into l_remit_supplier_num
from ap_suppliers
where segment1= p_invoice_rec.remit_to_supplier_num -- bug 7836976
-- bug 8504185
AND nvl(trunc(START_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
<= AP_IMPORT_INVOICES_PKG.g_inv_sysdate
AND nvl(trunc(END_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID REMIT TO SUPPLIER NUM',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
l_sql_stmt := ' SELECT party_id FROM ap_suppliers ' ||
' WHERE nvl(trunc(START_DATE_ACTIVE), :p_inv_sysdate ) <= :p_inv_sysdate'||
' AND nvl(trunc(END_DATE_ACTIVE),:p_inv_sysdate +1) > :p_inv_sysdate';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
( AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT REMIT SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE)
THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT party_id
INTO l_remit_party_id
FROM ap_suppliers
WHERE vendor_id = nvl(p_invoice_rec.remit_to_supplier_id,vendor_id)
AND vendor_name = nvl(p_invoice_rec.remit_to_supplier_name,vendor_name)
AND SEGMENT1 = nvl(p_invoice_rec.remit_to_supplier_num,SEGMENT1)
-- bug 8504185
AND nvl(trunc(START_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
<= AP_IMPORT_INVOICES_PKG.g_inv_sysdate
AND nvl(trunc(END_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INCONSISTENT REMIT SUPPLIER',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
select vendor_site_id
into l_remit_supplier_site_id
from ap_supplier_sites_all
where vendor_site_id = p_invoice_rec.remit_to_supplier_site_id
and org_id = p_invoice_rec.org_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID REMIT TO SUPP SITE ID',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
select vendor_site_code
into l_remit_supplier_site
from ap_supplier_sites_all
where vendor_site_code = p_invoice_rec.remit_to_supplier_site
and org_id = p_invoice_rec.org_id
and vendor_site_id = p_invoice_rec.remit_to_supplier_site_id;
select vendor_site_code
into l_remit_supplier_site
from ap_supplier_sites_all
where vendor_site_code = p_invoice_rec.remit_to_supplier_site
and org_id = p_invoice_rec.org_id
and vendor_id = p_invoice_rec.remit_to_supplier_id;
select a.vendor_site_code
into l_remit_supplier_site
from ap_supplier_sites_all a,
ap_suppliers b
where a.vendor_site_code = p_invoice_rec.remit_to_supplier_site
and a.org_id = p_invoice_rec.org_id
and a.vendor_id = b.vendor_id
and b.segment1 = p_invoice_rec.remit_to_supplier_num;
select a.vendor_site_code
into l_remit_supplier_site
from ap_supplier_sites_all a,
ap_suppliers b
where a.vendor_site_code = p_invoice_rec.remit_to_supplier_site
and a.org_id = p_invoice_rec.org_id
and a.vendor_id = b.vendor_id
and b.vendor_name = p_invoice_rec.remit_to_supplier_name;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID REMIT TO SUPPLIER SITE',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
SELECT party_id
INTO l_remit_party_id
FROM ap_suppliers
WHERE vendor_id = p_invoice_rec.remit_to_supplier_id
-- bug 8504185
AND nvl(trunc(START_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
<= AP_IMPORT_INVOICES_PKG.g_inv_sysdate
AND nvl(trunc(END_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
SELECT party_id
INTO l_remit_party_id
FROM ap_suppliers
WHERE vendor_name = p_invoice_rec.remit_to_supplier_name
-- bug 8504185
AND nvl(trunc(START_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate)
<= AP_IMPORT_INVOICES_PKG.g_inv_sysdate
AND nvl(trunc(END_DATE_ACTIVE),
AP_IMPORT_INVOICES_PKG.g_inv_sysdate+1)
> AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
SELECT party_id
INTO l_remit_party_id
FROM hz_parties
WHERE party_name = p_invoice_rec.remit_to_supplier_name;
SELECT vendor_site_id
INTO l_remit_supplier_site_id
FROM ap_supplier_sites_all
WHERE org_id = p_invoice_rec.org_id
AND vendor_site_code = p_invoice_rec.remit_to_supplier_site;
-- Added AND condition so as to Select data from ap_supplier_sites_all when
-- l_remit_supplier_site_id is having a Positive value
-- Negative value of l_remit_supplier_site_id does not have any data in ap_supplier_sites_all
-- This negative value is assigned to p_invoice_rec.vendor_site_id in
-- FUNCTION v_check_party_vendor earlier in this package
IF (l_remit_supplier_site_id is not null AND
l_remit_supplier_site_id > 0) THEN
-- Bug 7675510 ends
SELECT vendor_site_id, vendor_site_code
INTO l_remit_supplier_site_id, l_remit_supplier_site
FROM ap_supplier_sites_all
WHERE vendor_site_id = l_remit_supplier_site_id
and org_id = p_invoice_rec.org_id;
SELECT party_name, party_number
INTO l_remit_supplier_name, l_remit_supplier_num
FROM hz_parties
WHERE party_id = l_remit_party_id;
SELECT vendor_id, vendor_name, segment1
INTO l_remit_supplier_id, l_remit_supplier_name, l_remit_supplier_num
FROM ap_suppliers
WHERE party_id = l_remit_party_id;
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoices_table,
p_invoice_rec.invoice_id,
'INVALID THIRD PARTY RELATION',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'||current_calling_sequence);
p_default_last_updated_by IN NUMBER,
p_default_last_update_login IN NUMBER,
p_current_invoice_status IN OUT NOCOPY VARCHAR2,
p_calling_sequence IN VARCHAR2) RETURN BOOLEAN IS
l_hold_reject_exists_flag VARCHAR2(1) := 'N';
IF (AP_IMPORT_UTILITIES_PKG.insert_rejections(
AP_IMPORT_INVOICES_PKG.g_invoice_lines_table,
p_invoice_line_id,
'AP_INCORRECT_GTAS_INFO',
p_default_last_updated_by,
p_default_last_update_login,
current_calling_sequence) <> TRUE) THEN
IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
'insert_rejections<-'|| current_calling_sequence);