The following lines contain the word 'select', 'insert', 'update' or 'delete':
l_temp_merror_tbl.delete;
l_temp_merror_tbl.DELETE(i);
l_temp_merror_tbl.DELETE(j);
PROCEDURE update_error_status (
p_error_tbl IN csi_mass_edit_pub.Mass_Upd_Rep_Error_Tbl,
p_txn_line_id IN NUMBER,
p_entry_id IN NUMBER
) is
l_instance_id NUMBER;
UPDATE csi_mass_edit_entries_b
SET status_code = 'FAILED'
WHERE entry_id = p_entry_id;
UPDATE csi_t_txn_line_details
SET processing_status = 'ERROR',
ERROR_CODE = 'E'
WHERE transaction_line_id = p_txn_line_id
AND instance_id = l_instance_id;
UPDATE csi_t_txn_line_details
SET processing_status = 'WARNING',
ERROR_CODE = 'W'
WHERE transaction_line_id = p_txn_line_id
AND instance_id = l_instance_id;
End update_error_status;
PROCEDURE UPDATE_MUSYS_ERR_STATUS (
p_entry_id IN NUMBER
) IS
PRAGMA AUTONOMOUS_TRANSACTION;
UPDATE csi_mass_edit_entries_b
SET status_code = 'FAILED'
WHERE entry_id = p_entry_id;
END UPDATE_MUSYS_ERR_STATUS;
SELECT cii.location_id location_id
,cii.location_type_code location_type_code
,cii.install_location_id install_location_id
,cii.install_location_type_code install_location_type_code
,cip.party_id party_id
,cip.party_source_table party_source_table
FROM csi_item_instances cii
,csi_i_parties cip
WHERE cii.instance_id = p_instance_id
AND cip.instance_id = cii.instance_id
AND cip.relationship_type_code = 'OWNER';
SELECT cil.location_id location_id
,cil.location_type_code location_type_code
,cil.install_location_id install_location_id
,cil.install_location_type_code install_location_type_code
,cid.party_source_id party_id
,cid.party_source_table party_source_table
FROM csi_t_txn_line_details cil
,csi_t_party_details cid
WHERE cil.transaction_line_id = p_txn_line_id
AND cil.instance_id = p_instance_id
AND cid.txn_line_detail_id = cil.txn_line_detail_id
AND cid.relationship_type_code = 'OWNER';
SELECT entry_id
FROM csi_mass_edit_entries_vl
WHERE status_code = 'SCHEDULED'
AND schedule_date <= SYSDATE
AND entry_id = nvl(p_entry_id,entry_id);
CURSOR selected_instance_csr (p_txn_line_id IN NUMBER) IS
SELECT ctld.instance_id
,ctld.transaction_line_id
,nvl(ctld.location_id, FND_API.G_MISS_NUM) location_id
,nvl(ctld.location_type_code, FND_API.G_MISS_CHAR) location_type_code
,nvl(ctld.install_location_id, FND_API.G_MISS_NUM) install_location_id
,nvl(ctld.install_location_type_code, FND_API.G_MISS_CHAR) install_location_type_code
,cii.object_version_number
,cii.instance_usage_code
FROM csi_t_txn_line_details ctld,
csi_item_instances cii
WHERE ctld.transaction_line_id = p_txn_line_id
AND ctld.INSTANCE_ID is not null
AND ctld.preserve_detail_flag = 'Y'
AND cii.instance_id = ctld.instance_id;
SELECT cip.instance_party_id pty_instance_party_id,
cip.instance_id pty_instance_id,
cip.party_source_table pty_party_source_table,
cip.party_id pty_party_id,
cip.relationship_type_code pty_rel_type_code,
cip.object_version_number pty_obj_version_number
,cia.ip_account_id pty_acc_ip_account_id,
cia.instance_party_id pty_acc_instance_party_id,
cia.party_account_id pty_acc_party_account_id,
cia.relationship_type_code pty_acct_rel_type_code,
cia.object_version_number pty_acct_obj_version_number
FROM csi_i_parties cip,
csi_ip_accounts cia,
csi_t_txn_line_details ctld
WHERE cip.instance_id = ctld.instance_id
AND cip.contact_flag ='N'
AND cip.relationship_type_code = 'OWNER'
AND ctld.transaction_line_id = p_txn_line_id
AND ctld.instance_exists_flag = 'Y'
AND ctld.preserve_detail_flag = 'Y'
AND cia.instance_party_id = cip.instance_party_id
AND cia.relationship_type_code = 'OWNER';
SELECT cip.instance_party_id pty_instance_party_id,
cip.instance_id pty_instance_id,
cip.party_source_table pty_party_source_table,
cip.party_id pty_party_id,
cip.relationship_type_code pty_rel_type_code,
cip.object_version_number pty_obj_version_number
FROM csi_i_parties cip
WHERE cip.instance_id = p_instance_id
AND cip.contact_flag = 'N'
AND nvl(cip.active_end_date,sysdate) >= sysdate;
SELECT ciev.attribute_value_id
,ciev.attribute_id
,ciev.instance_id
,ciev.attribute_value
,ciev.object_version_number
FROM csi_iea_values ciev,
csi_t_txn_line_details ctld
WHERE ciev.instance_id = ctld.instance_id
AND ctld.transaction_line_id = p_txn_line_id
AND ctld.instance_id is not null;
SELECT a.txn_line_id,
a.batch_type,
b.meaning,
a.description,
a.name,
a.schedule_date,
a.system_cascade
INTO l_txn_line_id,
l_batch_type,
l_batch_meaning,
l_batch_desc,
l_name,
l_batch_sch_date,
l_system_cascade
FROM csi_mass_edit_entries_vl a,
csi_lookups b
WHERE a.entry_id = p_entry_id
AND a.status_code = 'SCHEDULED'
AND a.schedule_date <= SYSDATE
AND b.lookup_type = 'CSI_IB_TXN_TYPE_CODE'
AND b.lookup_code = a.batch_type;
SELECT ib_txn_type_code
INTO l_found_batch
FROM csi_txn_sub_types
WHERE transaction_type_id = 3
AND ib_txn_type_code = l_batch_type;
UPDATE csi_mass_edit_entries_b
SET status_code = 'PROCESSING',
request_id = FND_GLOBAL.CONC_REQUEST_ID
WHERE entry_id = p_entry_id;
l_temp_merror_tbl.delete;
update_error_status(l_temp_merror_tbl,l_txn_line_id,p_entry_id);
FOR l_instance_csr IN selected_instance_csr(l_txn_line_id)
LOOP
n_inst_ind := n_inst_ind + 1;
csi_item_instance_grp.update_item_instance (
p_api_version => 1.0
,p_commit => fnd_api.g_false
,p_init_msg_list => fnd_api.g_true
,p_validation_level => fnd_api.g_valid_level_full
,p_instance_tbl => n_instance_tbl
,p_ext_attrib_values_tbl => n_ext_attrib_values_tbl
,p_party_tbl => n_party_tbl
,p_account_tbl => n_party_account_tbl
,p_pricing_attrib_tbl => n_price_tbl
,p_org_assignments_tbl => n_org_assignments_tbl
,p_asset_assignment_tbl => n_asset_assignment_tbl
,p_txn_rec => n_txn_rec
,x_instance_id_lst => n_instance_id_lst
,p_grp_upd_error_tbl => n_grp_error_tbl
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data);
update_error_status(l_temp_merror_tbl,l_txn_line_id,p_entry_id);
l_temp_merror_tbl.delete;
p_last_update_date => SYSDATE,
p_last_updated_by => FND_GLOBAL.USER_ID,
p_creation_date => SYSDATE,
p_created_by => FND_GLOBAL.USER_ID
);
Debug('Checking for system mass update');
Debug_out('Checking for system mass update');
UPDATE csi_t_transaction_lines
SET processing_status = 'PROCESSED'
WHERE transaction_line_id = l_txn_line_id;
UPDATE csi_t_txn_line_details
SET error_explanation = '',
processing_status = 'PROCESSED',
error_code = 'P'
WHERE transaction_line_id = l_txn_line_id
AND instance_id is not null;
UPDATE csi_mass_edit_entries_b
SET status_code = 'SUCCESSFUL'
WHERE entry_id = p_entry_id;
update_error_status(l_temp_merror_tbl,l_txn_line_id,p_entry_id);
SELECT 'x' INTO l_new_owner
FROM CSI_T_PARTY_DETAILS WHERE TXN_LINE_DETAIL_ID IN(
SELECT TXN_LINE_DETAIL_ID FROM CSI_T_TXN_LINE_DETAILS CTLD, CSI_MASS_EDIT_ENTRIES_VL CMEE
WHERE CTLD.TRANSACTION_LINE_ID = CMEE.TXN_LINE_ID
AND CMEE.ENTRY_ID = p_entry_id
AND INSTANCE_ID IS NULL)
AND PARTY_SOURCE_TABLE = 'HZ_PARTIES'
AND RELATIONSHIP_TYPE_CODE = 'OWNER'
AND ROWNUM = 1;
SELECT 'x' INTO l_old_owner
FROM CSI_T_PARTY_DETAILS WHERE TXN_LINE_DETAIL_ID IN(
SELECT TXN_LINE_DETAIL_ID FROM CSI_T_TXN_LINE_DETAILS CTLD, CSI_MASS_EDIT_ENTRIES_VL CMEE
WHERE CTLD.TRANSACTION_LINE_ID = CMEE.TXN_LINE_ID
AND CMEE.ENTRY_ID = p_entry_id
AND INSTANCE_ID IS NOT NULL)
AND PARTY_SOURCE_TABLE = 'HZ_PARTIES'
AND RELATIONSHIP_TYPE_CODE = 'OWNER'
AND ROWNUM = 1;
debug('The Batch doesn not qualify for system mass update
as the owner type is not HZ_PARTIES');
PROCESS_SYSTEM_MASS_UPDATE (
p_api_version => 1.0
,p_commit => fnd_api.g_false
,p_Entry_id => p_Entry_id
,p_instance_tbl => n_instance_tbl
,p_ext_attrib_values_tbl => n_ext_attrib_values_tbl -- Not used, retained for future enhancements
,p_party_tbl => n_party_tbl
,p_account_tbl => n_party_account_tbl
,p_txn_rec => n_txn_rec
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data);
UPDATE csi_t_transaction_lines
SET processing_status = 'PROCESSED'
WHERE transaction_line_id = l_txn_line_id;
UPDATE csi_t_txn_line_details
SET error_explanation = '',
processing_status = 'PROCESSED',
error_code = 'P'
WHERE transaction_line_id = l_txn_line_id
AND instance_id is not null;
UPDATE csi_mass_edit_entries_b
SET status_code = 'SUCCESSFUL'
WHERE entry_id = p_entry_id;
update_error_status(l_temp_merror_tbl,l_txn_line_id,p_entry_id);
UPDATE_MUSYS_ERR_STATUS(p_entry_id);
CURSOR selected_instance_csr (p_txn_line_id IN NUMBER) IS
select cii.instance_id,
cii.instance_number
from csi_instance_search_v cii,
csi_t_txn_line_details tld
where tld.transaction_line_id = p_txn_line_id and
tld.instance_id is not null and
tld.instance_id = cii.instance_id and
nvl(tld.active_end_date(+),sysdate+1) > sysdate;
FOR l_instance_csr IN selected_instance_csr(p_txn_line_id)
LOOP
if px_mass_edit_inst_tbl.count > 0 then
for i in px_mass_edit_inst_tbl.first..px_mass_edit_inst_tbl.last
loop
IF l_instance_csr.instance_id = px_mass_edit_inst_tbl(i).instance_id THEN
IF x_output IS NOT NULL THEN
x_output := x_output || ',' ;
PROCEDURE UPDATE_MASS_EDIT_BATCH (
p_api_version IN NUMBER,
p_commit IN VARCHAR2 := fnd_api.g_false,
p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
px_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec ,
px_mass_edit_inst_tbl IN OUT NOCOPY mass_edit_inst_tbl,
px_txn_line_detail_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_rec,
px_txn_party_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
px_txn_pty_acct_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
px_txn_ext_attrib_vals_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
x_mass_edit_error_tbl OUT NOCOPY mass_edit_error_tbl,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2) IS
l_api_version NUMBER := 1.0;
l_api_name VARCHAR2(30) := 'UPDATE_MASS_EDIT_BATCH_PUB';
SAVEPOINT update_mass_edit_pub;
csi_t_gen_utility_pvt.add('API Being Executed : UPDATE_MASS_EDIT_BATCH_PUB');
csi_mass_edit_pvt.update_mass_edit_batch
(
p_api_version => l_api_version,
p_commit => p_commit,
p_init_msg_list => p_init_msg_list,
p_validation_level => p_validation_level,
px_mass_edit_rec => px_mass_edit_rec,
px_txn_line_rec => px_txn_line_rec,
px_mass_edit_inst_tbl => px_mass_edit_inst_tbl,
px_txn_line_detail_rec => px_txn_line_detail_rec,
px_txn_party_detail_tbl => px_txn_party_detail_tbl,
px_txn_pty_acct_detail_tbl => px_txn_pty_acct_detail_tbl,
px_txn_ext_attrib_vals_tbl => px_txn_ext_attrib_vals_tbl,
x_mass_edit_error_tbl => x_mass_edit_error_tbl,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
ROLLBACK TO update_mass_edit_pub;
ROLLBACK TO update_mass_edit_pub;
ROLLBACK TO update_mass_edit_pub;
END update_mass_edit_batch;
PROCEDURE DELETE_MASS_EDIT_BATCH
(
p_api_version IN NUMBER,
p_commit IN VARCHAR2 := fnd_api.g_false,
p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
p_mass_edit_rec IN mass_edit_rec,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2
) IS
l_api_version NUMBER := 1.0;
l_api_name VARCHAR2(30) := 'DELETE_MASS_EDIT_BATCH';
SAVEPOINT delete_mass_edit_batch;
csi_t_gen_utility_pvt.add('API Being Executed : DELETE_MASS_EDIT_BATCH');
csi_mass_edit_pvt.delete_mass_edit_batch (
p_api_version => p_api_version,
p_commit => p_commit,
p_init_msg_list => p_init_msg_list,
p_validation_level => p_validation_level,
p_mass_edit_rec => p_mass_edit_rec,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
csi_t_gen_utility_pvt.add('API Executed : Delete Mass Edit Batch');
ROLLBACK TO Delete_Mass_Edit_Batch;
ROLLBACK TO Delete_Mass_Edit_Batch;
ROLLBACK TO Delete_Mass_Edit_Batch;
END Delete_Mass_Edit_Batch;
/* This is the wrapper API to handle multiple batch deletes. Calls the DELETE_MASS_EDIT_BATCH */
PROCEDURE DELETE_MASS_EDIT_BATCHES
(
p_api_version IN NUMBER,
p_commit IN VARCHAR2 := fnd_api.g_false,
p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
p_mass_edit_tbl IN mass_edit_tbl,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2
) IS
l_api_version NUMBER := 1.0;
l_api_name VARCHAR2(30) := 'DELETE_MASS_EDIT_BATCHES';
SAVEPOINT delete_mass_edit_batches;
csi_t_gen_utility_pvt.add('API Being Executed : DELETE_MASS_EDIT_BATCHES');
csi_mass_edit_pvt.delete_mass_edit_batch (
p_api_version => p_api_version,
p_commit => p_commit,
p_init_msg_list => p_init_msg_list,
p_validation_level => p_validation_level,
p_mass_edit_rec => p_mass_edit_tbl(m_ind),
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
csi_t_gen_utility_pvt.add('API Executed : Delete Mass Edit Batches');
ROLLBACK TO Delete_Mass_Edit_Batches;
ROLLBACK TO Delete_Mass_Edit_Batches;
ROLLBACK TO Delete_Mass_Edit_Batches;
END Delete_Mass_Edit_Batches;
/* Procedure name: PROCESS_SYSTEM_MASS_UPDATE */
/* Description : procedure used to update System in */
/* mass update batch */
/*----------------------------------------------------*/
PROCEDURE PROCESS_SYSTEM_MASS_UPDATE
(
p_api_version IN NUMBER
,p_commit IN VARCHAR2 := fnd_api.g_false
,p_entry_id IN NUMBER
,p_instance_tbl IN OUT NOCOPY csi_datastructures_pub.instance_tbl
,p_ext_attrib_values_tbl IN OUT NOCOPY csi_datastructures_pub.extend_attrib_values_tbl
,p_party_tbl IN OUT NOCOPY csi_datastructures_pub.party_tbl
,p_account_tbl IN OUT NOCOPY csi_datastructures_pub.party_account_tbl
,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
)
IS
CURSOR mu_new_party_csr(p_transaction_line_id NUMBER) IS
SELECT tp.party_source_table PartySourceTable,
tp.party_source_id PartyId,
ta.account_id AccountId,
party.party_number PartyNumber
FROM csi_t_txn_line_details tld,
csi_t_party_details tp,
csi_t_party_accounts ta,
hz_parties party,
hz_cust_accounts account
WHERE tld.txn_line_detail_id = tp.txn_line_detail_id
AND tld.transaction_line_id = p_transaction_line_id
AND tld.INSTANCE_ID IS NULL
AND tp.txn_party_detail_id = ta.txn_party_detail_id
AND tp.party_source_id = party.party_id
AND ta.account_id = account.cust_account_id
AND tp.relationship_type_code = 'OWNER'
AND tp.party_source_table = 'HZ_PARTIES';
SELECT SYSTEM_TYPE_CODE,
SYSTEM_NUMBER,
PARENT_SYSTEM_ID,
COTERMINATE_DAY_MONTH,
START_DATE_ACTIVE,
END_DATE_ACTIVE,
CONTEXT,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE14,
ATTRIBUTE15,
OBJECT_VERSION_NUMBER,
OPERATING_UNIT_ID,
PROGRAM_APPLICATION_ID,
PROGRAM_ID
FROM CSI_SYSTEMS_B
WHERE SYSTEM_ID = p_system_id;
SELECT NAME,
DESCRIPTION
FROM CSI_SYSTEMS_TL
WHERE SYSTEM_ID = p_system_id;
l_api_name CONSTANT VARCHAR2(30) := 'PROCESS_SYSTEM_MASS_UPDATE';
SAVEPOINT PROCESS_SYSTEM_MASS_UPDATE;
debug('Inside PROCESS_SYSTEM_MASS_UPDATE');
csi_gen_utility_pvt.put_line( 'PROCESS_SYSTEM_MASS_UPDATE');
SELECT cmee.txn_line_id
INTO l_txn_line_id
FROM csi_mass_edit_entries_vl cmee,
csi_lookups clkps
WHERE cmee.entry_id = p_entry_id
--AND cmee.status_code = 'SCHEDULED'
AND cmee.schedule_date <= SYSDATE
AND clkps.lookup_type = 'CSI_IB_TXN_TYPE_CODE'
AND clkps.lookup_code = cmee.batch_type;
IDENTIFY_SYSTEM_FOR_UPDATE (
p_txn_line_id => l_txn_line_id
,p_upd_system_tbl => upd_system_tbl
,x_return_status => l_return_status);
debug('Calling UPDATE_SYSTEM');
CSI_SYSTEMS_PVT.UPDATE_SYSTEM(
p_api_version => 1.0,
p_commit => FND_API.G_FALSE,
p_init_msg_list => FND_API.G_FALSE,
p_validation_level => FND_API.G_VALID_LEVEL_FULL,
p_system_rec => l_txn_sys_rec,
p_txn_rec => p_txn_rec,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data);
debug('Error updating systems in PROCESS_SYSTEM_MASS_UPDATE - System ID - ' || upd_system_tbl(system_rec_ind).SYSTEM_ID);
ROLLBACK TO PROCESS_SYSTEM_MASS_UPDATE;
ROLLBACK TO PROCESS_SYSTEM_MASS_UPDATE;
ROLLBACK TO PROCESS_SYSTEM_MASS_UPDATE;
END PROCESS_SYSTEM_MASS_UPDATE; -- PROCESS_SYSTEM_MASS_UPDATE
/* Procedure name: IDENTIFY_SYSTEM_FOR_UPDATE */
/* Description : procedure used to identifies System for */
/* mass update batch */
/*----------------------------------------------------*/
PROCEDURE IDENTIFY_SYSTEM_FOR_UPDATE
(
p_txn_line_id IN NUMBER
,p_upd_system_tbl OUT NOCOPY csi_datastructures_pub.mu_systems_tbl
,x_return_status OUT NOCOPY VARCHAR2
)
IS
-- Cursors
CURSOR distinct_system_cur (txn_line_id IN NUMBER) IS
SELECT distinct cii.system_id system_id
FROM csi_t_txn_line_details ctld,
csi_item_instances cii
WHERE ctld.transaction_line_id = txn_line_id
AND ctld.INSTANCE_ID is not null
AND ctld.preserve_detail_flag = 'Y'
AND cii.instance_id = ctld.instance_id;
debug('Inside IDENTIFY_SYSTEM_FOR_UPDATE');
SELECT COUNT(1)
INTO l_active_instance_count
FROM csi_item_instances cisv,
CSI_SYSTEMS_B csb
WHERE cisv.SYSTEM_ID = l_mu_systems_csr.system_id
AND cisv.system_id = csb.system_id
AND NVL(cisv.ACTIVE_END_DATE,sysdate+1) > sysdate
AND NVL(csb.END_DATE_ACTIVE,sysdate +1) > sysdate;
SELECT COUNT(1)
INTO l_mu_instance_count
FROM csi_t_txn_line_details ctld,
csi_item_instances cii
WHERE ctld.transaction_line_id = p_txn_line_id
AND cii.system_id = l_mu_systems_csr.system_id
AND ctld.INSTANCE_ID IS NOT NULL
AND ctld.preserve_detail_flag = 'Y'
AND cii.instance_id = ctld.instance_id;
debug('System Qualifying for Mass Update - ' || l_mu_systems_csr.system_id);
debug_out('System Qualifying for Mass Update - ' || l_mu_systems_csr.system_id);
debug('Total Number of Systems to be updated - ' || p_upd_system_tbl.COUNT);
debug_out('Total Number of Systems to be updated - ' || p_upd_system_tbl.COUNT);
debug('End IDENTIFY_SYSTEM_FOR_UPDATE');
debug('Exception in IDENTIFY_SYSTEM_FOR_UPDATE');
END IDENTIFY_SYSTEM_FOR_UPDATE; -- IDENTIFY_SYSTEM_FOR_UPDATE
/* before mass update */
/*----------------------------------------------------*/
PROCEDURE VALIDATE_SYSTEM_BATCH
(
p_entry_id IN NUMBER
,p_txn_line_id IN NUMBER
,p_upd_system_tbl IN csi_datastructures_pub.mu_systems_tbl
,x_return_status OUT NOCOPY VARCHAR2
)
IS
CURSOR SYS_ACCOUNT_CSR (p_entry_id IN NUMBER) IS
SELECT TA.ACCOUNT_ID ACCOUNT_ID,
TP.PARTY_SOURCE_ID PARTY_ID
FROM CSI_T_PARTY_DETAILS TP,
CSI_T_PARTY_ACCOUNTS TA ,
CSI_T_TXN_LINE_DETAILS CTLD ,
CSI_MASS_EDIT_ENTRIES_VL CMEE
WHERE CMEE.ENTRY_ID = p_entry_id
AND TA.TXN_PARTY_DETAIL_ID = TP.TXN_PARTY_DETAIL_ID
AND TP.TXN_LINE_DETAIL_ID = CTLD.TXN_LINE_DETAIL_ID
AND CTLD.TRANSACTION_LINE_ID = CMEE.TXN_LINE_ID
AND CTLD.INSTANCE_ID IS NOT NULL
AND ROWNUM = 1;
debug('Total Number of Systems qualifying for mass update - ' || p_upd_system_tbl.COUNT);