[Home] [Help]
88: l_msg_count number;
89:
90: BEGIN
91:
92: CSM_UTIL_PKG.log( 'Entered APPLY_INSERT for debrief_line_id'|| p_record.DEBRIEF_LINE_ID,'CSM_DEBRIEF_LABOR_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR);
93:
94: x_return_status := FND_API.G_RET_STS_SUCCESS;
95:
96: -- Start with some initialization.
146: -- This could have failed, so we need to check.
147: if x_return_status <> FND_API.G_RET_STS_SUCCESS
148: then
149: /*** exception occurred in API -> return errmsg ***/
150: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
151: (
152: p_api_error => TRUE
153: );
154: CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_INSERT:'
150: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
151: (
152: p_api_error => TRUE
153: );
154: CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_INSERT:'
155: || ' ROOT ERROR: csf_debrief_pub.create_debrief'
156: || ' for PK ' || p_record.DEBRIEF_LINE_ID, 'CSM_DEBRIEF_LABOR_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR );
157: x_return_status := FND_API.G_RET_STS_ERROR;
158: return;
226: );
227: if x_return_status <> FND_API.G_RET_STS_SUCCESS
228: then
229: /*** exception occurred in API -> return errmsg ***/
230: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
231: (
232: p_api_error => TRUE
233: );
234: CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_INSERT:'
230: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
231: (
232: p_api_error => TRUE
233: );
234: CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_INSERT:'
235: || ' ROOT ERROR: csf_debrief_pub.create_debrief_lines'
236: || ' for PK ' || p_record.DEBRIEF_LINE_ID ,'CSM_DEBRIEF_LABOR_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR );
237: x_return_status := FND_API.G_RET_STS_ERROR;
238: return;
257: CLOSE c_chk_task_status;
258:
259: exception
260: when others then
261: CSM_UTIL_PKG.log( 'Exception in ' || g_object_name || '.APPLY_INSERT:'
262: || ' for PK ' || p_record.DEBRIEF_LINE_ID ,'CSM_DEBRIEF_LABOR_PKG.APPLY_INSERT',FND_LOG.LEVEL_EXCEPTION);
263:
264: fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_INSERT', sqlerrm);
265: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
261: CSM_UTIL_PKG.log( 'Exception in ' || g_object_name || '.APPLY_INSERT:'
262: || ' for PK ' || p_record.DEBRIEF_LINE_ID ,'CSM_DEBRIEF_LABOR_PKG.APPLY_INSERT',FND_LOG.LEVEL_EXCEPTION);
263:
264: fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_INSERT', sqlerrm);
265: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
266: (
267: p_api_error => TRUE
268: );
269:
296: l_msg_data VARCHAR2(2000);
297: l_msg_count NUMBER;
298:
299: BEGIN
300: CSM_UTIL_PKG.log( 'Entered APPLY_UPDATE for debrief_line_id'|| p_record.DEBRIEF_LINE_ID,'CSM_DEBRIEF_LABOR_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR);
301:
302: x_return_status := FND_API.G_RET_STS_SUCCESS;
303:
304: -- Lookup the debrief_header id. It must be there as this is an update
358: x_return_status := FND_API.G_RET_STS_ERROR;
359: p_error_msg :=
360: 'UPWARD SYNC CONFLICT: CLIENT LOST: CSM_DEBRIEF_LABOR_PKG.APPLY_UPDATE: P_KEY = '
361: || p_record.debrief_line_id;
362: csm_util_pkg.log(p_error_msg,'CSM_DEBRIEF_LABOR_PKG.APPLY_UPDATE',FND_LOG.LEVEL_ERROR);
363: return;
364: END IF;
365: END IF;
366:
378: );
379: IF x_return_status <> FND_API.G_RET_STS_SUCCESS
380: THEN
381: /*** exception occurred in API -> return errmsg ***/
382: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
383: (
384: p_api_error => TRUE
385: );
386: CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_UPDATE:'
382: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
383: (
384: p_api_error => TRUE
385: );
386: CSM_UTIL_PKG.log( 'Error in ' || g_object_name || '.APPLY_UPDATE:'
387: || ' ROOT ERROR: csf_debrief_pub.update_debrief_lines'
388: || ' for PK ' || p_record.DEBRIEF_LINE_ID,'CSM_DEBRIEF_LABOR_PKG.APPLY_UPDATE',FND_LOG.LEVEL_ERROR );
389: x_return_status := FND_API.G_RET_STS_ERROR;
390: return;
392:
393: EXCEPTION
394: WHEN OTHERS THEN
395: fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_UPDATE', sqlerrm);
396: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
397: ( p_api_error => TRUE );
398:
399: CSM_UTIL_PKG.log( 'Exception in ' || g_object_name || '.APPLY_UPDATE:'
400: || ' for PK ' || p_record.DEBRIEF_LINE_ID,'CSM_DEBRIEF_LABOR_PKG.APPLY_UPDATE',FND_LOG.LEVEL_EXCEPTION );
395: fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_UPDATE', sqlerrm);
396: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
397: ( p_api_error => TRUE );
398:
399: CSM_UTIL_PKG.log( 'Exception in ' || g_object_name || '.APPLY_UPDATE:'
400: || ' for PK ' || p_record.DEBRIEF_LINE_ID,'CSM_DEBRIEF_LABOR_PKG.APPLY_UPDATE',FND_LOG.LEVEL_EXCEPTION );
401:
402: x_return_status := FND_API.G_RET_STS_ERROR;
403: END APPLY_UPDATE;
434: x_return_status
435: );
436: ELSE
437: -- Process delete; not supported for this entity
438: CSM_UTIL_PKG.LOG
439: ( 'Delete is not supported for this entity'
440: || ' for PK ' || p_record.debrief_line_id ,'CSM_DEBRIEF_LABOR_PKG.APPLY_RECORD',FND_LOG.LEVEL_ERROR);
441:
442: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
438: CSM_UTIL_PKG.LOG
439: ( 'Delete is not supported for this entity'
440: || ' for PK ' || p_record.debrief_line_id ,'CSM_DEBRIEF_LABOR_PKG.APPLY_RECORD',FND_LOG.LEVEL_ERROR);
441:
442: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
443: (
444: p_message => 'CSM_DML_OPERATION'
445: , p_token_name1 => 'DML'
446: , p_token_value1 => p_record.dmltype$$
450: END IF;
451:
452: EXCEPTION WHEN OTHERS THEN
453: /*** defer record when any process exception occurs ***/
454: CSM_UTIL_PKG.LOG
455: ( 'Exception occurred in CSM_DEBRIEF_labor_PKG.APPLY_RECORD:' || ' ' || sqlerrm
456: || ' for PK ' || p_record.debrief_line_id ,'CSM_DEBRIEF_LABOR_PKG.APPLY_RECORD',FND_LOG.LEVEL_EXCEPTION);
457:
458: fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_RECORD', sqlerrm);
455: ( 'Exception occurred in CSM_DEBRIEF_labor_PKG.APPLY_RECORD:' || ' ' || sqlerrm
456: || ' for PK ' || p_record.debrief_line_id ,'CSM_DEBRIEF_LABOR_PKG.APPLY_RECORD',FND_LOG.LEVEL_EXCEPTION);
457:
458: fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_RECORD', sqlerrm);
459: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
460: (
461: p_api_error => TRUE
462: );
463:
464: x_return_status := FND_API.G_RET_STS_ERROR;
465: END APPLY_RECORD;
466:
467: /***
468: This procedure is called by CSM_UTIL_PKG when publication item
470: a fast sync. This procedure will insert the data that came from mobile into the backend tables using
471: public APIs.
472: ***/
484: TYPE c_curtype is ref cursor;
485: c_cur c_curtype;
486: r_debrief_labor c_debrief_labor%rowtype;
487: BEGIN
488: csm_util_pkg.log('csm_debrief_labor_pkg.apply_client_changes entered','CSM_DEBRIEF_LABOR_PKG.APPLY_CLIENT_CHANGES',FND_LOG.LEVEL_ERROR);
489:
490: g_debug_level := p_debug_level;
491: x_return_status := FND_API.G_RET_STS_SUCCESS;
492:
492:
493: /*** loop through debrief labor records in inqueue ***/
494: IF p_task_assignment_id IS NULL THEN
495: OPEN c_cur FOR 'SELECT * FROM csf_m_debrief_labor_inq inq WHERE tranid$$ = '||p_tranid||' AND clid$$cs = '''||p_user_name
496: ||''' AND TASK_ASSIGNMENT_ID NOT IN ('||CSM_UTIL_PKG.get_String_fromList(g_processed_assignment_list)||')';
497: ELSE
498: g_processed_assignment_list(g_processed_assignment_list.COUNT+1):=p_task_assignment_id;
499: OPEN c_cur FOR 'SELECT * FROM csf_m_debrief_labor_inq WHERE tranid$$ = '||p_tranid||' AND clid$$cs = '''||p_user_name
500: ||''' AND TASK_ASSIGNMENT_ID='||p_task_assignment_id;
517: /*** was record processed successfully? ***/
518: IF l_process_status = FND_API.G_RET_STS_SUCCESS THEN
519: /*** Yes -> delete record from inqueue ***/
520:
521: CSM_UTIL_PKG.DELETE_RECORD
522: (
523: p_user_name,
524: p_tranid,
525: r_debrief_labor.seqno$$,
532:
533: /*** was delete successful? ***/
534: IF l_process_status <> FND_API.G_RET_STS_SUCCESS THEN
535: /*** no -> rollback ***/
536: CSM_UTIL_PKG.LOG
537: ( 'Deleting from inqueue failed, rolling back to savepoint'
538: || ' for PK ' || r_debrief_labor.debrief_line_id ,'CSM_DEBRIEF_LABOR_PKG.APPLY_CLIENT_CHANGES',FND_LOG.LEVEL_ERROR); -- put PK column here
539: ROLLBACK TO save_rec;
540: x_return_status := FND_API.G_RET_STS_ERROR;
542: END IF;
543:
544: IF l_process_Status <> FND_API.G_RET_STS_SUCCESS THEN
545: /*** Record was not processed successfully or delete failed -> defer and reject record ***/
546: CSM_UTIL_PKG.LOG
547: ( 'Record not processed successfully, deferring and rejecting record'
548: || ' for PK ' || r_debrief_labor.debrief_line_id ,'CSM_DEBRIEF_LABOR_PKG.APPLY_CLIENT_CHANGES',FND_LOG.LEVEL_ERROR); -- put PK column here
549:
550: CSM_UTIL_PKG.DEFER_RECORD
546: CSM_UTIL_PKG.LOG
547: ( 'Record not processed successfully, deferring and rejecting record'
548: || ' for PK ' || r_debrief_labor.debrief_line_id ,'CSM_DEBRIEF_LABOR_PKG.APPLY_CLIENT_CHANGES',FND_LOG.LEVEL_ERROR); -- put PK column here
549:
550: CSM_UTIL_PKG.DEFER_RECORD
551: (
552: p_user_name
553: , p_tranid
554: , r_debrief_labor.seqno$$
562:
563: /*** Was defer successful? ***/
564: IF l_process_status <> FND_API.G_RET_STS_SUCCESS THEN
565: /*** no -> rollback ***/
566: CSM_UTIL_PKG.LOG
567: ( 'Defer record failed, rolling back to savepoint'
568: || ' for PK ' || r_debrief_labor.debrief_line_id,'CSM_DEBRIEF_LABOR_PKG.APPLY_CLIENT_CHANGES',FND_LOG.LEVEL_ERROR ); -- put PK column here
569: ROLLBACK TO save_rec;
570: x_return_status := FND_API.G_RET_STS_ERROR;
575: CLOSE c_cur;
576:
577: EXCEPTION WHEN OTHERS THEN
578: /*** catch and log exceptions ***/
579: CSM_UTIL_PKG.LOG
580: ( 'Exception occurred in APPLY_CLIENT_CHANGES:' || ' ' || SQLERRM,'CSM_DEBRIEF_LABOR_PKG.APPLY_CLIENT_CHANGES',FND_LOG.LEVEL_EXCEPTION);
581: x_return_status := FND_API.G_RET_STS_ERROR;
582: END APPLY_CLIENT_CHANGES;
583: