The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT *
FROM csf_m_notes_inq
WHERE tranid$$ = b_tranid
AND clid$$cs = b_user_name;
This procedure is called by APPLY_CLIENT_CHANGES when an inserted record is to be processed.
***/
PROCEDURE APPLY_INSERT
(
p_record IN c_notes%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
l_msg_count number;
CSM_UTIL_PKG.log( 'Entering ' || g_object_name || '.APPLY_INSERT:'
|| ' for PK ' || p_record.jtf_note_id ,
'CSM_NOTES_PKG.APPLY_INSERT',FND_LOG.LEVEL_PROCEDURE);
CSM_UTIL_PKG.log( 'Creating Note ' || g_object_name || '.APPLY_INSERT:'
|| ' for PK ' || p_record.jtf_note_id ,
'CSM_NOTES_PKG.APPLY_INSERT',FND_LOG.LEVEL_EVENT);
, p_last_updated_by => NVL(p_record.last_updated_by,FND_GLOBAL.USER_ID) --12.1
, p_last_update_date => SYSDATE
, p_last_update_login => FND_GLOBAL.LOGIN_ID
, x_jtf_note_id => l_jtf_note_id
);
CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_INSERT:'
|| ' ROOT ERROR: jtf_notes_pub.create_note'
|| ' for PK ' || p_record.JTF_NOTE_ID ,'CSM_NOTES_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR );
fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_INSERT', sqlerrm);
CSM_UTIL_PKG.log( 'Exception in ' || g_object_name || '.APPLY_INSERT:'
|| ' for PK ' || p_record.jtf_note_id , 'CSM_NOTES_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR);
END APPLY_INSERT;
This procedure is called by APPLY_CLIENT_CHANGES when an inserted record is to be processed.
***/
PROCEDURE APPLY_UPDATE
(
p_record IN c_notes%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
l_msg_count number;
l_server_last_update_date date;
CURSOR l_server_last_update_date_csr(p_jtf_note_id jtf_notes_b.jtf_note_id%TYPE)
IS
select last_update_date from jtf_notes_b
where jtf_note_id = p_jtf_note_id;
CSM_UTIL_PKG.log( 'Entering ' || g_object_name || '.APPLY_UPDATE:'
|| ' for PK ' || p_record.jtf_note_id,
'CSM_NOTES_PKG.APPLY_UPDATE',
FND_LOG.LEVEL_PROCEDURE );
OPEN l_server_last_update_date_csr(p_record.jtf_note_id);
FETCH l_server_last_update_date_csr INTO l_server_last_update_date;
CLOSE l_server_last_update_date_csr;
if(l_server_last_update_date <> p_record.server_last_update_date) then
x_return_status := FND_API.G_RET_STS_ERROR;
p_error_msg := 'UPWARD SYNC CONFLICT: CLIENT LOST: CSM_NOTES_PKG.APPLY_UPDATE: P_KEY = '
|| p_record.jtf_note_id;
csm_util_pkg.log(p_error_msg,'CSM_NOTES_PKG.APPLY_UPDATE',FND_LOG.LEVEL_EVENT );
jtf_notes_pub.Update_note
( p_api_version => 1.0
, p_validation_level => FND_API.G_VALID_LEVEL_FULL
, p_init_msg_list => FND_API.G_TRUE
, p_commit => FND_API.G_FALSE
, x_return_status => x_return_status
, x_msg_count => l_msg_count
, x_msg_data => l_msg_data
, p_jtf_note_id => p_record.jtf_note_id
, p_notes => p_record.notes
, p_notes_detail => p_record.notes_detail
, p_note_status => p_record.note_status
, p_note_type => p_record.note_type
, p_entered_by => p_record.entered_by
, p_last_updated_by => NVL(p_record.last_updated_by,FND_GLOBAL.USER_ID) --12.1
, p_last_update_date => SYSDATE
, p_last_update_login => FND_GLOBAL.LOGIN_ID
);
CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_UPDATE:'
|| ' ROOT ERROR: jtf_notes_pub.update_note'
|| ' for PK ' || p_record.JTF_NOTE_ID ,'CSM_NOTES_PKG.APPLY_UPDATE',FND_LOG.LEVEL_ERROR );
CSM_UTIL_PKG.log( 'Exiting ' || g_object_name || '.APPLY_UPDATE:'
|| ' for PK ' || p_record.jtf_note_id,
'CSM_NOTES_PKG.APPLY_UPDATE',
FND_LOG.LEVEL_PROCEDURE );
fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_UPDATE', sqlerrm);
CSM_UTIL_PKG.log( 'Exception in ' || g_object_name || '.APPLY_UPDATE:'
|| ' for PK ' || p_record.jtf_note_id,
'CSM_NOTES_PKG.APPLY_UPDATE',
FND_LOG.LEVEL_ERROR );
END APPLY_UPDATE;
APPLY_INSERT
(
p_record,
p_error_msg,
x_return_status
);
APPLY_UPDATE
(
p_record,
p_error_msg,
x_return_status
);
( 'Update and Delete is not supported for this entity'
|| ' for PK ' || p_record.jtf_note_id,
'CSM_NOTES_PKG.APPLY_RECORD',
FND_LOG.LEVEL_EVENT );
a fast sync. This procedure will insert the data that came from mobile into the backend tables using
public APIs.
***/
PROCEDURE APPLY_CLIENT_CHANGES
(
p_user_name IN VARCHAR2,
p_tranid IN NUMBER,
p_debug_level IN NUMBER,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
l_process_status VARCHAR2(1);
/*** Yes -> delete record from inqueue ***/
CSM_UTIL_PKG.DELETE_RECORD
(
p_user_name,
p_tranid,
r_notes.seqno$$,
r_notes.jtf_note_id,
g_object_name,
g_pub_name,
l_error_msg,
l_process_status
);
/*** was delete successful? ***/
IF l_process_status <> FND_API.G_RET_STS_SUCCESS THEN
/*** no -> rollback ***/
CSM_UTIL_PKG.LOG
( 'Deleting from inqueue failed, rolling back to savepoint'
|| ' for PK ' || r_notes.jtf_note_id,
'CSM_NOTES_PKG.APPLY_CLIENT_CHANGES',
FND_LOG.LEVEL_EVENT ); -- 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_notes.jtf_note_id,
'CSM_NOTES_PKG.APPLY_CLIENT_CHANGES',
FND_LOG.LEVEL_EVENT); -- put PK column here