The following lines contain the word 'select', 'insert', 'update' or 'delete':
IF Update_Payment_Schedules (l_bank_acct_id,
l_party_id,
l_instr_assgn_id,
'AP_BANKACCT_INACTIVE_WF_PKG.Rule_Function')
THEN
l_rule := WF_RULE.Default_Rule(p_subscription,p_event);
FUNCTION Update_Payment_Schedules (
P_bank_account_id NUMBER,
P_party_id NUMBER,
P_instr_assgn_id NUMBER,
P_calling_sequence VARCHAR2) RETURN BOOLEAN IS
l_party_site_id NUMBER;
l_api_name CONSTANT VARCHAR2(100) := 'Update_Payment_Schedules';
'AP_BANKACCT_INACTIVE_WF_PKG.Update_Payment_Shedules';
SELECT payment_function,
party_site_id,
supplier_site_id, /* bug 5000194, 4965233 */
org_id,
currency_code
INTO l_payment_function,
l_party_site_id,
l_supplier_site_id,
l_org_id,
l_currency_code
FROM Iby_Payee_Assigned_Bankacct_V
WHERE instr_assignment_id = p_instr_assgn_id
AND ext_bank_account_id = p_bank_account_id
AND party_id = p_party_id;
SELECT vendor_id,
vendor_type_lookup_code
INTO l_vendor_id,
l_vendor_type_lookup_code
FROM ap_suppliers
WHERE party_id = p_party_id;
l_debug_info := 'Update Payment Schedules when assignment is inactivated at '
||'party level for specific org: '||l_org_id;
UPDATE ap_payment_schedules_all aps
SET aps.external_bank_account_id = l_extbank_acct_id,
aps.last_update_date = SYSDATE,
aps.last_updated_by = FND_GLOBAL.user_id,
aps.last_update_login = FND_GLOBAL.login_id
WHERE aps.invoice_id IN
(SELECT DISTINCT ai.invoice_id
FROM ap_invoices_all ai, ap_payment_schedules_all aps1
WHERE aps1.external_bank_account_id = P_bank_account_id
AND ai.invoice_id = aps1.invoice_id
AND ai.org_id = l_org_id
AND ai.payment_status_flag IN ('N','P')
AND ai.cancelled_date IS NULL
AND ai.party_id = p_party_id
AND (l_supplier_site_id IS NULL
OR ai.vendor_site_id = l_supplier_site_id));
l_debug_info := 'Update Payment Schedules when assignment is inactivated at '
||'party level for all org';
UPDATE ap_payment_schedules_all aps
SET aps.external_bank_account_id = l_extbank_acct_id,
aps.last_update_date = SYSDATE,
aps.last_updated_by = FND_GLOBAL.user_id,
aps.last_update_login = FND_GLOBAL.login_id
WHERE aps.invoice_id IN
(SELECT DISTINCT ai.invoice_id
FROM ap_invoices_all ai, ap_payment_schedules_all aps1
WHERE aps1.external_bank_account_id = P_bank_account_id
AND ai.invoice_id = aps1.invoice_id
AND ai.payment_status_flag IN ('N','P')
AND ai.cancelled_date IS NULL
AND ai.party_id = p_party_id
AND (l_supplier_site_id IS NULL
OR ai.vendor_site_id = l_supplier_site_id));
l_debug_info := 'Update Payment Schedules when assignment is inactivated at '
||'party site level';
UPDATE ap_payment_schedules_all aps
SET aps.external_bank_account_id = l_extbank_acct_id,
aps.last_update_date = SYSDATE,
aps.last_updated_by = FND_GLOBAL.user_id,
aps.last_update_login = FND_GLOBAL.login_id
WHERE aps.invoice_id IN
(SELECT DISTINCT ai.invoice_id
FROM ap_invoices_all ai, ap_payment_schedules_all aps1
WHERE aps1.external_bank_account_id = P_bank_account_id
AND ai.invoice_id = aps1.invoice_id
AND ai.payment_status_flag IN ('N','P')
AND ai.cancelled_date IS NULL
AND ai.party_site_id = l_party_site_id
AND ai.party_id = p_party_id);
END Update_Payment_Schedules;