The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT *
FROM csm_auto_sync_inq
WHERE tranid$$ = b_tranid
AND clid$$cs = b_user_name;
PROCEDURE INSERT_AUTO_SYNC_ACC (p_id NUMBER, p_user_id IN fnd_user.user_id%TYPE,p_auto_sync_num NUMBER)
IS
l_sysdate DATE;
CSM_ACC_PKG.Insert_Acc
( P_PUBLICATION_ITEM_NAMES => g_auto_sync_pubi_name
,P_ACC_TABLE_NAME => g_auto_sync_acc_table_name
,P_SEQ_NAME => g_auto_sync_seq_name
,P_PK1_NAME => g_auto_sync_pk1_name
,P_PK1_NUM_VALUE => p_id
,P_USER_ID => p_user_id
,P_PK2_NAME => g_auto_sync_pk2_name
,P_PK2_NUM_VALUE => p_auto_sync_num
);
CSM_UTIL_PKG.LOG( 'Exception occurred in ' || g_object_name || '.INSERT_AUTO_SYNC_ACC: '
|| SQLERRM,' for PK ' || to_char(p_id) || g_object_name || '.INSERT_AUTO_SYNC_ACC',FND_LOG.LEVEL_EXCEPTION);
END INSERT_AUTO_SYNC_ACC;-- end INSERT_AUTO_SYNC_ACC
SELECT id, auto_sync_num
FROM csm_auto_sync;
INSERT_AUTO_SYNC_ACC (l_rec.id, p_user_id,l_rec.auto_sync_num);
an inserted record is to be processed.
***/
PROCEDURE APPLY_INSERT
(
p_record IN c_auto_sync_inq%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2,
x_reject_row OUT NOCOPY BOOLEAN
) IS
l_id csm_auto_sync.id%TYPE ;
)IS SELECT ROWID
FROM CSM_AUTO_SYNC
WHERE id = b_id;
CSM_UTIL_PKG.log( 'Entering ' || g_object_name || '.APPLY_INSERT:'
|| ' for PK ' || p_record.id,
'CSM_AUTO_SYNC.APPLY_INSERT',
FND_LOG.LEVEL_PROCEDURE );
insert into csm_auto_sync(ID,FLAG,AUTO_SYNC_NUM,DOWNLOAD_ONLY,CREATION_DATE ,CREATED_BY,LAST_UPDATE_DATE,LAST_UPDATED_BY)
values (p_record.id,p_record.flag,p_record.auto_sync_num,p_record.download_only,p_record.creation_date ,p_record.created_by,p_record.last_update_date,p_record.last_updated_by)
RETURNING ID INTO l_id;
** Check whether the insert was succesfull
***************************************************************************/
IF (c_record_exists%ISOPEN)THEN
CLOSE c_record_exists;
CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_INSERT:'
|| ' ROOT ERROR: create statement'
|| ' for PK ' || p_record.ID,
g_object_name || '.APPLY_INSERT',
FND_LOG.LEVEL_ERROR );
CSM_UTIL_PKG.log( 'Exception in ' || g_object_name || '.APPLY_INSERT:'
|| ' for PK ' || p_record.id,
g_object_name || '.APPLY_INSERT',
FND_LOG.LEVEL_EXCEPTION );
END APPLY_INSERT;
an updated record is to be processed.
For CSM 11583, we support updates on the DFF columns
***/
PROCEDURE APPLY_UPDATE
(
p_record IN c_auto_sync_inq%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
)
IS
--variable declarations
l_id csm_auto_sync.id%TYPE ;
CSM_UTIL_PKG.log( 'Entering ' || g_object_name || '.APPLY_UPDATE:'
|| ' for PK ' || p_record.id,
'CSM_AUTO_SYNC.APPLY_UPDATE',
FND_LOG.LEVEL_PROCEDURE );
** Update the record
***************************************************************************/
UPDATE csm_auto_sync_acc
SET AUTO_SYNC_NUM = l_auto_sync_num,
LAST_UPDATE_DATE = sysdate,
LAST_UPDATED_BY = l_user_id
where ID=l_id
and USER_ID = l_user_id;
** Check if the update was succesful
***************************************************************************/
IF (SQL%NOTFOUND)
THEN
RAISE NO_DATA_FOUND;
CSM_UTIL_PKG.log( 'Exception in ' || g_object_name || '.APPLY_UPDATE:'
|| ' for PK ' || p_record.id,
g_object_name || '.APPLY_UPDATE',
FND_LOG.LEVEL_EXCEPTION );
END APPLY_UPDATE;
APPLY_INSERT
(
p_record,
p_error_msg,
x_return_status,
x_reject_row --Bug 5288413
);
ELSIF p_record.dmltype$$='U' THEN -- YLIAO: for 11583, we do support UPDATE
-- Process update
APPLY_UPDATE
(
p_record,
p_error_msg,
x_return_status
);
( 'Delete and Update is not supported for this entity'
|| ' for PK ' || p_record.id ,
g_object_name || '.APPLY_RECORD',
FND_LOG.LEVEL_ERROR);
/*** If Yes -> delete record from inqueue ***/
IF l_reject_row THEN
CSM_UTIL_PKG.REJECT_RECORD
(
p_user_name,
p_tranid,
r_auto_sync.seqno$$,
r_auto_sync.id,
g_object_name,
g_pub_name,
l_error_msg,
l_return_status
);
CSM_UTIL_PKG.DELETE_RECORD
(
p_user_name,
p_tranid,
r_auto_sync.seqno$$,
r_auto_sync.id,
g_object_name,
g_pub_name,
l_error_msg,
l_return_status --Introduced new variable l_return_status since Defer
); --process doesn't depend on this delete_record API
/*** was delete/reject successful? ***/
IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
/*** If No -> rollback ***/
CSM_UTIL_PKG.LOG
( 'Deleting from inqueue failed, rolling back to savepoint'
|| ' for PK ' || r_auto_sync.id ,
g_object_name || '.APPLY_CLIENT_CHANGES',
FND_LOG.LEVEL_ERROR); -- put PK column here
/*** Record was not processed successfully or delete failed
-> defer and reject record ***/
CSM_UTIL_PKG.LOG
( 'Record not processed successfully, deferring and rejecting record'
|| ' for PK ' || r_auto_sync.id ,
g_object_name || '.APPLY_CLIENT_CHANGES',
FND_LOG.LEVEL_ERROR); -- put PK column here