The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT *
FROM csl_jtf_tasks_vl_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_task%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
l_msg_count NUMBER;
, v_message => 'Entering CSL_TASKS_PKG.APPLY_INSERT'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
, v_message => 'Leaving CSL_TASKS_PKG.APPLY_INSERT'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
, v_message => 'Exception occurred in APPLY_INSERT:' || fnd_global.local_chr(10) || sqlerrm
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_INSERT', sqlerrm);
, v_message => 'Leaving CSL_TASKS_PKG.APPLY_INSERT'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
END APPLY_INSERT;
This procedure is called by APPLY_CLIENT_CHANGES when an updated record is to be processed.
***/
PROCEDURE APPLY_UPDATE
(
p_record IN c_task%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
l_msg_count NUMBER;
SELECT object_version_number
FROM jtf_tasks_b
WHERE task_id = b_task_id;
cursor c_last_update_date
( b_task_id NUMBER
)
is
SELECT LAST_UPDATE_DATE
from jtf_tasks_b
where task_id = b_task_id;
r_last_update_date c_last_update_date%ROWTYPE;
, v_message => 'Entering CSL_TASKS_PKG.APPLY_UPDATE'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
open c_last_update_date(b_task_id => p_record.task_id);
fetch c_last_update_date into r_last_update_date;
if c_last_update_date%found then
if r_last_update_date.last_update_date <> p_record.last_update_date then
close c_last_update_date;
, v_message => 'Leaving ' || g_object_name || '.APPLY_UPDATE'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
close c_last_update_date;
JTF_TASKS_PUB.Update_Task (
p_api_version => 1.0,
p_init_msg_list => FND_API.G_TRUE,
p_commit => FND_API.G_FALSE,
p_task_id => p_record.TASK_ID,
p_object_version_number => r_task.object_version_number,
p_planned_start_date => p_record.PLANNED_START_DATE,
p_planned_end_date => p_record.PLANNED_END_DATE,
p_scheduled_start_date => p_record.SCHEDULED_START_DATE,
p_scheduled_end_date => p_record.SCHEDULED_END_DATE,
p_task_priority_id =>
NVL(p_record.TASK_PRIORITY_ID,FND_API.G_MISS_NUM),
p_planned_effort => p_record.PLANNED_EFFORT,
p_planned_effort_uom => p_record.PLANNED_EFFORT_UOM,
p_attribute1 => p_record.attribute1,
p_attribute2 => p_record.attribute2,
p_attribute3 => p_record.attribute3,
p_attribute4 => p_record.attribute4,
p_attribute5 => p_record.attribute5,
p_attribute6 => p_record.attribute6,
p_attribute7 => p_record.attribute7,
p_attribute8 => p_record.attribute8,
p_attribute9 => p_record.attribute9,
p_attribute10 => p_record.attribute10,
p_attribute11 => p_record.attribute11,
p_attribute12 => p_record.attribute12,
p_attribute13 => p_record.attribute13,
p_attribute14 => p_record.attribute14,
p_attribute15 => p_record.attribute15,
p_attribute_category => p_record.attribute_category ,
-- ER 3211017
p_task_type_id => p_record.TASK_TYPE_ID,
x_return_status => x_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
, v_message => 'Leaving CSL_TASKS_PKG.APPLY_UPDATE'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
, v_message => 'Exception occurred in APPLY_UPDATE:' || fnd_global.local_chr(10) || sqlerrm
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_UPDATE', sqlerrm);
, v_message => 'Leaving CSL_TASKS_PKG.APPLY_UPDATE'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
END APPLY_UPDATE;
APPLY_INSERT
(
p_record,
p_error_msg,
x_return_status
);
APPLY_UPDATE
(
p_record,
p_error_msg,
x_return_status
);
, v_message => 'Delete is not supported for this entity'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
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 ***/
IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
jtm_message_log_pkg.Log_Msg
( v_object_id => r_task.task_id
, v_object_name => g_object_name
, v_message => 'Record successfully processed, deleting from inqueue'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
CSL_SERVICEL_WRAPPER_PKG.DELETE_RECORD
(
p_user_name,
p_tranid,
r_task.seqno$$,
r_task.task_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 ***/
IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
jtm_message_log_pkg.Log_Msg
( v_object_id => r_task.task_id
, v_object_name => g_object_name
, v_message => 'Deleting from inqueue failed, rolling back to savepoint'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
/*** Record was not processed successfully or delete failed -> defer and reject record ***/
IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
jtm_message_log_pkg.Log_Msg
( v_object_id => r_task.task_id
, v_object_name => g_object_name
, v_message => 'Record not processed successfully, deferring and rejecting record'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);