The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT *
FROM CSL_CS_COUNTER_VALUES_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_CS_COUNTER_VALUES%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
-- Variables needed for public API
-- Rewrite for Sql Performance - Venky
cursor c_counter_group
( b_counter_id number
)
is
select c.counter_id
, c.counter_group_id
, g.source_object_id
from cs_counters c, cs_counter_groups g
where c.counter_id = b_counter_id
AND c.counter_group_id = g.counter_group_id
AND g.source_object_code = 'CP' ;
, v_message => 'Entering ' || g_object_name || '.APPLY_INSERT'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
SELECT COUNT(1) INTO l_prop_val_cnt
FROM CSL_cs_counter_prop_vals_inq
WHERE COUNTER_VALUE_ID = P_Record.COUNTER_VALUE_ID;
, 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_CS_COUNTER_VALUES%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
-- Rewrite for Sql Performance - Venky
cursor c_counter_group
( b_counter_id number
)
is
select c.counter_id
, c.counter_group_id
, g.source_object_id
from cs_counters c, cs_counter_groups g
where c.counter_id = b_counter_id
AND c.counter_group_id = g.counter_group_id
AND g.source_object_code = 'CP' ;
select counter_id
, counter_value_id
, counter_grp_log_id
, object_version_number
from cs_ctr_counter_values_v
where counter_value_id = b_counter_value_id;
, v_message => 'Entering ' || g_object_name || '.APPLY_UPDATE'
, v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
Cs_Ctr_Capture_Reading_pub.Update_Counter_Reading
( p_api_version_number => 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
, p_ctr_rdg_tbl => l_ctr_rdg_tbl
, p_ctr_grp_log_id => l_ctr_grp_log_id
, 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);
, 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
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_CS_COUNTER_VALUES.COUNTER_VALUE_ID -- put PK column here
, 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_CS_COUNTER_VALUES.seqno$$,
r_CS_COUNTER_VALUES.COUNTER_VALUE_ID, -- put PK column here
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_CS_COUNTER_VALUES.COUNTER_VALUE_ID -- put PK column here
, 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_CS_COUNTER_VALUES.COUNTER_VALUE_ID -- put PK column here
, 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);