The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT *
FROM csf_m_debrief_expenses_inq
WHERE tranid$$ = b_tranid
AND clid$$cs = b_user_name;
This procedure is called by APPLY_RECORD when an inserted record is to be processed.
***/
PROCEDURE APPLY_INSERT
(
p_record IN c_debrief_expenses%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
cursor c_deb_head
( b_task_assignment_id number
)
is
select debrief_header_id
, task_assignment_id
from csf_debrief_headers
where task_assignment_id = b_task_assignment_id;
select source_object_type_code
from jtf_tasks_b jtb
, jtf_task_assignments jta
where jtb.task_id = jta.task_id
and jta.task_assignment_id = b_task_assignment_id;
SELECT 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 dh.debrief_header_id = p_debrief_header_id;
l_deb_rec.last_update_date := l_date;
l_deb_rec.last_updated_by := NVL(p_record.last_updated_by,FND_GLOBAL.USER_ID); --12.1
l_deb_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_INSERT:'
|| ' ROOT ERROR: csf_debrief_pub.create_debrief'
|| ' for PK ' || p_record.DEBRIEF_LINE_ID,'CSM_DEBRIEF_EXPENSES_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR );
l_line_rec.last_update_date := l_date;
l_line_rec.last_updated_by := NVL(p_record.last_updated_by,FND_GLOBAL.USER_ID); --12.1
l_line_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_INSERT:'
|| ' ROOT ERROR: csf_debrief_pub.create_debrief_lines'
|| ' for PK ' || p_record.DEBRIEF_LINE_ID ,'CSM_DEBRIEF_EXPENSES_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR);
csf_debrief_update_pkg.form_Call (1.0, l_debrief_header_id );
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.DEBRIEF_LINE_ID ,'CSM_DEBRIEF_EXPENSES_PKG.APPLY_INSERT',FND_LOG.LEVEL_EXCEPTION);
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_debrief_expenses%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
CURSOR c_cdl
( b_debrief_line_id csf_debrief_lines.debrief_line_id%TYPE
)
IS
SELECT cdl.debrief_header_id
, cdl.debrief_line_id
, cdl.last_update_date
, cdl.issuing_inventory_org_id
FROM csf_debrief_lines cdl
WHERE cdl.debrief_line_id = b_debrief_line_id;
l_line_rec.last_update_date := l_date;
l_line_rec.last_updated_by := NVL(p_record.last_updated_by,FND_GLOBAL.USER_ID); --12.1
l_line_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
if(r_cdl.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_DEBRIEF_EXPENSES_PKG.APPLY_UPDATE: P_KEY = '
|| p_record.debrief_line_id;
csm_util_pkg.log(p_error_msg,'CSM_DEBRIEF_EXPENSES_PKG.APPLY_UPDATE',FND_LOG.LEVEL_ERROR);
csf_debrief_pub.update_debrief_line
( p_api_version_number => 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_debrief_line_rec => l_line_rec
);
CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_UPDATE:'
|| ' ROOT ERROR: csf_debrief_pub.update_debrief_lines'
|| ' for PK ' || p_record.DEBRIEF_LINE_ID,'CSM_DEBRIEF_EXPENSES_PKG.APPLY_UPDATE',FND_LOG.LEVEL_ERROR );
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.DEBRIEF_LINE_ID,'CSM_DEBRIEF_EXPENSES_PKG.APPLY_UPDATE',FND_LOG.LEVEL_EXCEPTION );
END APPLY_UPDATE;
APPLY_INSERT
(
p_record,
p_error_msg,
x_return_status
);
APPLY_UPDATE
(
p_record,
p_error_msg,
x_return_status
);
( 'Delete is not supported for this entity'
|| ' for PK ' || p_record.debrief_line_id ,'CSM_DEBRIEF_EXPENSES_PKG.APPLY_RECORD',FND_LOG.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 ***/
CSM_UTIL_PKG.DELETE_RECORD
(
p_user_name,
p_tranid,
r_debrief_expenses.seqno$$,
r_debrief_expenses.debrief_line_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_debrief_expenses.debrief_line_id ,'CSM_DEBRIEF_EXPENSES_PKG.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_debrief_expenses.debrief_line_id,'CSM_DEBRIEF_EXPENSES_PKG.APPLY_CLIENT_CHANGES',FND_LOG.LEVEL_ERROR ); -- put PK column here