The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT *
FROM csm_auto_sync_log_inq
WHERE tranid$$ = b_tranid
AND clid$$cs = b_user_name;
PROCEDURE INSERT_AUTO_SYNC_LOG_ACC (p_notification_id IN wf_notifications.notification_id%TYPE,
p_user_id IN fnd_user.user_id%TYPE)
IS
l_sysdate DATE;
CSM_ACC_PKG.Insert_Acc
( P_PUBLICATION_ITEM_NAMES => g_auto_sync_log_pubi_name
,P_ACC_TABLE_NAME => g_auto_sync_log_acc_table_name
,P_SEQ_NAME => g_auto_sync_log_seq_name
,P_PK1_NAME => g_auto_sync_log_pk1_name
,P_PK1_NUM_VALUE => p_notification_id
,P_USER_ID => p_user_id
);
CSM_UTIL_PKG.LOG( 'Exception occurred in ' || g_object_name || '.INSERT_AUTO_SYNC_LOG_ACC: '
|| SQLERRM,' for PK ' || to_char(p_notification_id) || g_object_name || '.INSERT_AUTO_SYNC_LOG_ACC',FND_LOG.LEVEL_EXCEPTION);
END INSERT_AUTO_SYNC_LOG_ACC;-- end INSERT_AUTO_SYNC_LOG_ACC
SELECT DISTINCT notification_id
FROM CSM_AUTO_SYNC_LOG_ACC ACC;
INSERT_AUTO_SYNC_LOG_ACC (l_notf_rec.notification_id, p_user_id);
an inserted record is to be processed.
***/
PROCEDURE APPLY_INSERT
(
p_record IN c_auto_sync_log_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_log.id%TYPE;
)IS SELECT ROWID
FROM CSM_AUTO_SYNC_LOG
WHERE notification_id = b_notification_id;
CSM_UTIL_PKG.log( 'Entering ' || g_object_name || '.APPLY_INSERT:'
|| ' for PK ' || p_record.notification_id,
'CSM_AUTO_SYNC_LOG.APPLY_INSERT',
FND_LOG.LEVEL_PROCEDURE );
insert into csm_auto_sync_log(ID,
NOTIFICATION_ID,
AS_TYPE,
AS_START_DATE,
AS_FINISH_DATE,
AS_RESULT,
EMAIL_SENT,
CREATION_DATE ,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY)
values (l_id,l_notification_id,l_as_type, l_as_start_date, l_as_finish_date , l_as_result, l_email_sent,p_record.creation_date ,p_record.created_by,p_record.last_update_date,p_record.last_updated_by);
** 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.NOTIFICATION_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.notification_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_log_inq%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
)
IS
CURSOR c_auto_sync_log ( b_notification_id NUMBER ) IS
SELECT *
FROM csm_auto_sync_log
WHERE notification_id = b_notification_id;
CURSOR c_last_update_date ( b_notification_id NUMBER)
IS
SELECT LAST_UPDATE_DATE,
last_updated_by
FROM csm_auto_sync_log
WHERE notification_id = b_notification_id;
CSM_UTIL_PKG.log( 'Entering ' || g_object_name || '.APPLY_UPDATE:'
|| ' for PK ' || p_record.notification_id,
'CSM_AUTO_SYNC_LOG.APPLY_UPDATE',
FND_LOG.LEVEL_PROCEDURE );
** Update the record
***************************************************************************/
UPDATE csm_auto_sync_log
SET ID = p_record.id,
NOTIFICATION_ID = p_record.notification_id,
AS_TYPE = p_record.as_type,
AS_START_DATE = p_record.as_start_date,
AS_FINISH_DATE = p_record.as_finish_date,
AS_RESULT = p_record.as_result,
EMAIL_SENT = p_record.email_sent,
CREATION_DATE = p_record.creation_date ,
CREATED_BY = p_record.created_by,
LAST_UPDATE_DATE = p_record.last_update_date,
LAST_UPDATED_BY = p_record.last_updated_by
where ID=p_record.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.notification_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
);
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.notification_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_log.seqno$$,
r_auto_sync_log.notification_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_log.seqno$$,
r_auto_sync_log.notification_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_log.notification_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_log.notification_id ,
g_object_name || '.APPLY_CLIENT_CHANGES',
FND_LOG.LEVEL_ERROR); -- put PK column here