The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT *
FROM CSL_JTF_TASK_ASSIGNMENTS_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_ass%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
CURSOR c_task_assignment
( b_task_assignment_id number
)
IS
SELECT jta.assignment_status_id
, jta.object_version_number
FROM jtf_task_assignments jta
WHERE jta.task_assignment_id = b_task_assignment_id;
, v_message => 'Entering ' || g_object_name || '.APPLY_INSERT'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
, v_message => 'Leaving ' || g_object_name || '.APPLY_UPDATE'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
csf_task_assignments_pub.update_assignment_status
( p_api_version => 1.0
, 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_task_assignment_id => p_record.task_assignment_id
, p_assignment_status_id => l_assignment_status_id
, p_object_version_number => l_assignment_obj_version_nr
, p_update_task => 'T'
, x_task_object_version_number => l_task_obj_version_nr
, x_task_status_id => l_task_status_id
);
, v_message => 'Leaving ' || g_object_name || '.APPLY_UPDATE'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
, v_message => 'Leaving ' || g_object_name || '.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 ' || g_object_name || '.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_ass%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
CURSOR c_task_assignment
( b_task_assignment_id number
)
IS
SELECT jta.assignment_status_id
, jta.object_version_number
FROM jtf_task_assignments jta
WHERE jta.task_assignment_id = b_task_assignment_id;
cursor c_last_update_date
( b_task_assignment_id NUMBER
)
is
SELECT LAST_UPDATE_DATE, LAST_UPDATED_BY
from JTF_TASK_ASSIGNMENTS
where task_assignment_id = b_task_assignment_id;
r_last_update_date c_last_update_date%ROWTYPE;
, v_message => 'Entering ' || g_object_name || '.APPLY_UPDATE'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
open c_last_update_date(b_task_assignment_id => p_record.task_assignment_id);
fetch c_last_update_date into r_last_update_date;
if c_last_update_date%found then
if r_last_update_date.last_updated_by <> asg_base.get_user_id( p_record.clid$$cs ) AND 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;
, v_message => 'Leaving ' || g_object_name || '.APPLY_UPDATE'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
JTF_TASK_ASSIGNMENTS_PUB.Update_Task_Assignment
( p_api_version => 1.0
, p_task_assignment_id => p_record.task_assignment_id
, p_object_version_number => l_assignment_obj_version_nr
, p_task_id => p_record.task_id
, p_resource_type_code => p_record.resource_type_code
, p_resource_id => p_record.resource_id
, p_resource_territory_id => FND_API.G_MISS_NUM
, p_actual_start_date => p_record.actual_start_date
, p_actual_end_date => p_record.actual_end_date
, p_sched_travel_distance => p_record.sched_travel_distance
, p_sched_travel_duration => p_record.sched_travel_duration
, p_sched_travel_duration_uom => p_record.sched_travel_duration_uom
, p_shift_construct_id => FND_API.G_MISS_NUM
, 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
, x_return_status => x_return_status
, x_msg_count => l_msg_count
, x_msg_data => l_msg_data
);
, v_message => 'Leaving ' || g_object_name || '.APPLY_UPDATE'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
csf_task_assignments_pub.update_assignment_status
( p_api_version => 1.0
, 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_task_assignment_id => p_record.task_assignment_id
, p_assignment_status_id => p_record.assignment_status_id
, p_object_version_number => l_assignment_obj_version_nr
, p_update_task => 'T'
, x_task_object_version_number => l_task_obj_version_nr
, x_task_status_id => l_task_status_id
);
, v_message => 'Leaving ' || g_object_name || '.APPLY_UPDATE'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
, v_message => 'Leaving ' || g_object_name || '.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 ' || g_object_name || '.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
-- ER 3218717
-- Check if there are any debrief line records in INQUEUE
CURSOR c_chk_debrief_lines ( b_task_assignment_id NUMBER) IS
SELECT COUNT(*) FROM CSL_CSF_DEBRIEF_LINES_INQ
WHERE DEBRIEF_HEADER_ID IN (
SELECT DEBRIEF_HEADER_ID
FROM CSL_CSF_DEBRIEF_HEADERS_INQ inq
WHERE inq.TASK_ASSIGNMENT_ID = b_task_assignment_id
UNION
SELECT DEBRIEF_HEADER_ID
FROM CSF_DEBRIEF_HEADERS header
WHERE header.TASK_ASSIGNMENT_ID = b_task_assignment_id
) ;
SELECT dh.debrief_header_id, tst.rejected_flag, tst.on_hold_flag,
tst.cancelled_flag, tst.closed_flag, tst.completed_flag
FROM csf_debrief_headers dh, jtf_task_assignments tas,
jtf_task_statuses_b tst
WHERE dh.task_assignment_id = tas.task_assignment_id
AND tas.assignment_status_id = tst.task_status_id
AND tas.task_assignment_id = b_task_assignment_id;
csf_debrief_update_pkg.form_Call (1.0, l_header_id);
/*** 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_ass.task_assignment_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_ass.seqno$$,
r_task_ass.task_assignment_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_ass.task_assignment_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_ass.task_assignment_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);
SELECT b.last_updated_by
FROM JTF_TASK_ASSIGNMENTS b, CSL_JTF_TASK_ASSIGNMENTS_INQ a
WHERE a.clid$$cs = l_user_name
AND tranid$$ = l_tran_id AND a.task_assignment_id = b.task_assignment_id
AND a.SEQNO$$ = p_sequence;