The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT SUM(NVL(iil.INTEREST_CHARGED,0))
FROM ar_interest_lines iil,
ar_interest_headers ii,
ar_interest_batches ib
WHERE iil.interest_header_id = ii.interest_header_id
AND ib.interest_batch_id = ii.interest_batch_id
AND ib.interest_batch_id = p_interest_batch_id;
SELECT *
FROM AR_INTEREST_BATCHES
WHERE Interest_Batch_Id = p_Interest_Batch_Id
FOR UPDATE OF Interest_Batch_Id NOWAIT;
FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
p_updated_by_program IN VARCHAR2 DEFAULT 'ARIINR',
p_old_batch_rec IN ar_interest_batches%ROWTYPE,
p_new_batch_rec IN ar_interest_batches%ROWTYPE,
x_cascade_update OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2)
IS
--Batch should exists
BEGIN
arp_util.debug(' Validate_batch +');
x_cascade_update := 'N';
IF p_action = 'UPDATE' THEN
IF p_old_batch_rec.batch_status IS NULL OR p_new_batch_rec.batch_status IS NULL
THEN
FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
arp_util.debug('Can not update the batch status as it is F');
FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_COLUMN' );
IF p_updated_by_program = 'ARIINR' THEN
IF p_new_batch_rec.transferred_status NOT IN ('N')
AND p_new_batch_rec.transferred_status <> p_old_batch_rec.transferred_status
THEN
x_return_status := fnd_api.g_ret_sts_error;
arp_util.debug('Can not update a successfull batch transferred status');
FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_COLUMN' );
x_cascade_update := 'Y';
FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_COLUMN' );
IF p_action = 'DELETE' THEN
IF p_old_batch_rec.batch_status <> 'D' THEN
arp_util.debug('Only Draft batches are delateable');
PROCEDURE Delete_batch
( p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
p_interest_batch_id IN NUMBER,
x_object_version_number IN NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2)
IS
CURSOR c IS
SELECT
INTEREST_BATCH_ID ,
BATCH_NAME ,
CALCULATE_INTEREST_TO_DATE ,
BATCH_STATUS ,
GL_DATE ,
CREATED_BY ,
CREATION_DATE ,
TRANSFERRED_status ,
ORG_ID ,
OBJECT_VERSION_NUMBER
FROM ar_interest_batches
WHERE interest_batch_id = P_INTEREST_BATCH_ID
FOR UPDATE OF INTEREST_BATCH_ID;
x_cascade_update VARCHAR2(1);
arp_util.debug('Delete_Batch +');
( p_action => 'DELETE',
p_old_batch_rec => l_rec,
p_new_batch_rec => l_new_rec,
x_cascade_update => x_cascade_update,
x_return_status => x_return_status);
DELETE FROM ar_interest_lines iil
WHERE EXISTS
(SELECT interest_header_id
FROM ar_interest_headers ii
WHERE iil.interest_header_id = ii.interest_header_id
AND ii.interest_batch_id = p_interest_batch_id);
DELETE FROM ar_interest_headers
WHERE interest_batch_id = p_interest_batch_id;
DELETE FROM AR_INTEREST_BATCHES
WHERE interest_batch_id = p_interest_batch_id ;
arp_util.debug('Delete_Batch -');
END Delete_batch;
PROCEDURE update_batch
(p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
P_INTEREST_BATCH_ID IN NUMBER,
P_BATCH_STATUS IN VARCHAR2,
P_TRANSFERRED_status IN VARCHAR2,
p_gl_date IN DATE DEFAULT NULL,
p_updated_by_program IN VARCHAR2 DEFAULT 'ARIINR',
x_OBJECT_VERSION_NUMBER IN OUT NOCOPY NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2)
IS
CURSOR c IS
SELECT
INTEREST_BATCH_ID ,
BATCH_NAME ,
CALCULATE_INTEREST_TO_DATE ,
BATCH_STATUS ,
GL_DATE ,
CREATED_BY ,
CREATION_DATE ,
TRANSFERRED_status ,
ORG_ID ,
OBJECT_VERSION_NUMBER
FROM ar_interest_batches
WHERE interest_batch_id = P_INTEREST_BATCH_ID
FOR UPDATE OF INTEREST_BATCH_ID;
x_cascade_update VARCHAR2(1);
arp_util.debug('update_batch +');
savepoint update_batch;
( p_action => 'UPDATE',
p_updated_by_program => p_updated_by_program,
p_old_batch_rec => l_rec,
p_new_batch_rec => l_new_rec,
x_cascade_update => x_cascade_update,
x_return_status => x_return_status);
IF x_cascade_update = 'Y' THEN
UPDATE ar_interest_lines iil
SET process_status = 'N',
object_version_number = NVL(object_version_number,1) + 1
WHERE EXISTS
(SELECT interest_header_id
FROM ar_interest_headers ii
WHERE iil.interest_header_id = ii.interest_header_id
AND ii.interest_batch_id = p_interest_batch_id)
AND iil.process_status <> 'S';
UPDATE ar_interest_headers
SET process_status = 'N',
object_version_number = NVL(object_version_number,1) + 1
WHERE interest_batch_id = p_interest_batch_id
AND process_status <> 'S';
UPDATE ar_interest_batches SET
BATCH_STATUS = P_BATCH_STATUS,
transferred_status = p_transferred_status,
gl_date = DECODE(p_gl_date,NULL,gl_date,p_gl_date),
LAST_UPDATE_DATE = SYSDATE,
LAST_UPDATED_BY = NVL(arp_global.last_updated_by,-1),
LAST_UPDATE_LOGIN = NVL(arp_global.LAST_UPDATE_LOGIN,-1),
object_version_number = x_OBJECT_VERSION_NUMBER
WHERE interest_batch_id = P_INTEREST_BATCH_ID;
arp_util.debug('update_batch -');
rollback to update_batch;
rollback to update_batch;