79: r_get_requirement_from_apps c_get_requirement_from_apps%ROWTYPE;
80:
81: BEGIN
82:
83: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
84: jtm_message_log_pkg.Log_Msg
85: ( v_object_id => p_record.requirement_line_id -- put PK column here
86: , v_object_name => g_object_name
87: , v_message => 'Entering ' || g_object_name || '.APPLY_INSERT'
84: jtm_message_log_pkg.Log_Msg
85: ( v_object_id => p_record.requirement_line_id -- put PK column here
86: , v_object_name => g_object_name
87: , v_message => 'Entering ' || g_object_name || '.APPLY_INSERT'
88: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
89: END IF;
90:
91: IF p_get_inqueue_header THEN
92:
155: p_api_error => TRUE
156: );
157: END IF;
158:
159: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
160: jtm_message_log_pkg.Log_Msg
161: ( v_object_id => p_record.requirement_line_id -- put PK column here
162: , v_object_name => g_object_name
163: , v_message => 'Leaving ' || g_object_name || '.APPLY_INSERT'
160: jtm_message_log_pkg.Log_Msg
161: ( v_object_id => p_record.requirement_line_id -- put PK column here
162: , v_object_name => g_object_name
163: , v_message => 'Leaving ' || g_object_name || '.APPLY_INSERT'
164: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
165: END IF;
166:
167: EXCEPTION WHEN OTHERS THEN
168: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
164: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
165: END IF;
166:
167: EXCEPTION WHEN OTHERS THEN
168: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
169: jtm_message_log_pkg.Log_Msg
170: ( v_object_id => p_record.requirement_line_id -- put PK column here
171: , v_object_name => g_object_name
172: , v_message => 'Exception occurred in APPLY_INSERT:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
169: jtm_message_log_pkg.Log_Msg
170: ( v_object_id => p_record.requirement_line_id -- put PK column here
171: , v_object_name => g_object_name
172: , v_message => 'Exception occurred in APPLY_INSERT:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
173: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
174: END IF;
175:
176: fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_INSERT', sqlerrm);
177: p_error_msg := CSL_SERVICEL_WRAPPER_PKG.GET_ERROR_MESSAGE_TEXT
178: (
179: p_api_error => TRUE
180: );
181:
182: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
183: jtm_message_log_pkg.Log_Msg
184: ( v_object_id => p_record.requirement_line_id -- put PK column here
185: , v_object_name => g_object_name
186: , v_message => 'Leaving ' || g_object_name || '.APPLY_INSERT'
183: jtm_message_log_pkg.Log_Msg
184: ( v_object_id => p_record.requirement_line_id -- put PK column here
185: , v_object_name => g_object_name
186: , v_message => 'Leaving ' || g_object_name || '.APPLY_INSERT'
187: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
188: END IF;
189:
190: x_return_status := FND_API.G_RET_STS_ERROR;
191: END APPLY_INSERT;
199: p_error_msg OUT NOCOPY VARCHAR2,
200: x_return_status IN OUT NOCOPY VARCHAR2
201: ) IS
202: BEGIN
203: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
204: jtm_message_log_pkg.Log_Msg
205: ( v_object_id => p_record.requirement_line_id -- put PK column here
206: , v_object_name => g_object_name
207: , v_message => 'Entering ' || g_object_name || '.APPLY_UPDATE'
204: jtm_message_log_pkg.Log_Msg
205: ( v_object_id => p_record.requirement_line_id -- put PK column here
206: , v_object_name => g_object_name
207: , v_message => 'Entering ' || g_object_name || '.APPLY_UPDATE'
208: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
209: END IF;
210:
211: -- No update possible so return success
212: x_return_status := FND_API.G_RET_STS_SUCCESS;
218: p_api_error => TRUE
219: );
220: END IF;
221:
222: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
223: jtm_message_log_pkg.Log_Msg
224: ( v_object_id => p_record.requirement_line_id -- put PK column here
225: , v_object_name => g_object_name
226: , v_message => 'Leaving ' || g_object_name || '.APPLY_UPDATE'
223: jtm_message_log_pkg.Log_Msg
224: ( v_object_id => p_record.requirement_line_id -- put PK column here
225: , v_object_name => g_object_name
226: , v_message => 'Leaving ' || g_object_name || '.APPLY_UPDATE'
227: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
228: END IF;
229:
230: EXCEPTION WHEN OTHERS THEN
231: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
227: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
228: END IF;
229:
230: EXCEPTION WHEN OTHERS THEN
231: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
232: jtm_message_log_pkg.Log_Msg
233: ( v_object_id => p_record.requirement_line_id -- put PK column here
234: , v_object_name => g_object_name
235: , v_message => 'Exception occurred in APPLY_UPDATE:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
232: jtm_message_log_pkg.Log_Msg
233: ( v_object_id => p_record.requirement_line_id -- put PK column here
234: , v_object_name => g_object_name
235: , v_message => 'Exception occurred in APPLY_UPDATE:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
236: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
237: END IF;
238:
239: fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_UPDATE', sqlerrm);
240: p_error_msg := CSL_SERVICEL_WRAPPER_PKG.GET_ERROR_MESSAGE_TEXT
241: (
242: p_api_error => TRUE
243: );
244:
245: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
246: jtm_message_log_pkg.Log_Msg
247: ( v_object_id => p_record.requirement_line_id -- put PK column here
248: , v_object_name => g_object_name
249: , v_message => 'Leaving ' || g_object_name || '.APPLY_UPDATE'
246: jtm_message_log_pkg.Log_Msg
247: ( v_object_id => p_record.requirement_line_id -- put PK column here
248: , v_object_name => g_object_name
249: , v_message => 'Leaving ' || g_object_name || '.APPLY_UPDATE'
250: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
251: END IF;
252:
253: x_return_status := FND_API.G_RET_STS_ERROR;
254: END APPLY_UPDATE;
268: BEGIN
269: /*** initialize return status and message list ***/
270: x_return_status := FND_API.G_RET_STS_SUCCESS;
271:
272: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
273: jtm_message_log_pkg.Log_Msg
274: ( v_object_id => p_record.requirement_line_id -- put PK column here
275: , v_object_name => g_object_name
276: , v_message => 'Entering ' || g_object_name || '.APPLY_RECORD'
273: jtm_message_log_pkg.Log_Msg
274: ( v_object_id => p_record.requirement_line_id -- put PK column here
275: , v_object_name => g_object_name
276: , v_message => 'Entering ' || g_object_name || '.APPLY_RECORD'
277: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
278: END IF;
279:
280: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
281: jtm_message_log_pkg.Log_Msg
276: , v_message => 'Entering ' || g_object_name || '.APPLY_RECORD'
277: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
278: END IF;
279:
280: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
281: jtm_message_log_pkg.Log_Msg
282: ( v_object_id => p_record.requirement_line_id -- put PK column here
283: , v_object_name => g_object_name
284: , v_message => 'Processing requirement = ' || p_record.requirement_line_id /* put PK column here */ || FND_GLOBAL.LOCAL_CHR(10) ||
282: ( v_object_id => p_record.requirement_line_id -- put PK column here
283: , v_object_name => g_object_name
284: , v_message => 'Processing requirement = ' || p_record.requirement_line_id /* put PK column here */ || FND_GLOBAL.LOCAL_CHR(10) ||
285: 'DMLTYPE = ' || p_record.dmltype$$
286: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
287: END IF;
288:
289: IF p_record.dmltype$$='I' THEN
290: -- Process insert
306: x_return_status
307: );
308: ELSIF p_record.dmltype$$='D' THEN
309: -- Process delete; not supported for this entity
310: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
311: jtm_message_log_pkg.Log_Msg
312: ( v_object_id => p_record.requirement_line_id -- put PK column here
313: , v_object_name => g_object_name
314: , v_message => 'Delete is not supported for this entity'
311: jtm_message_log_pkg.Log_Msg
312: ( v_object_id => p_record.requirement_line_id -- put PK column here
313: , v_object_name => g_object_name
314: , v_message => 'Delete is not supported for this entity'
315: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
316: END IF;
317:
318: p_error_msg := CSL_SERVICEL_WRAPPER_PKG.GET_ERROR_MESSAGE_TEXT
319: (
324:
325: x_return_status := FND_API.G_RET_STS_ERROR;
326: ELSE
327: -- invalid dml type
328: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
329: jtm_message_log_pkg.Log_Msg
330: ( v_object_id => p_record.requirement_line_id -- put PK column here
331: , v_object_name => g_object_name
332: , v_message => 'Invalid DML type: ' || p_record.dmltype$$
329: jtm_message_log_pkg.Log_Msg
330: ( v_object_id => p_record.requirement_line_id -- put PK column here
331: , v_object_name => g_object_name
332: , v_message => 'Invalid DML type: ' || p_record.dmltype$$
333: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
334: END IF;
335:
336: p_error_msg := CSL_SERVICEL_WRAPPER_PKG.GET_ERROR_MESSAGE_TEXT
337: (
342:
343: x_return_status := FND_API.G_RET_STS_ERROR;
344: END IF;
345:
346: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
347: jtm_message_log_pkg.Log_Msg
348: ( v_object_id => p_record.requirement_line_id -- put PK column here
349: , v_object_name => g_object_name
350: , v_message => 'Leaving ' || g_object_name || '.APPLY_RECORD'
347: jtm_message_log_pkg.Log_Msg
348: ( v_object_id => p_record.requirement_line_id -- put PK column here
349: , v_object_name => g_object_name
350: , v_message => 'Leaving ' || g_object_name || '.APPLY_RECORD'
351: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
352: END IF;
353: EXCEPTION WHEN OTHERS THEN
354: /*** defer record when any process exception occurs ***/
355: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
351: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
352: END IF;
353: EXCEPTION WHEN OTHERS THEN
354: /*** defer record when any process exception occurs ***/
355: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
356: jtm_message_log_pkg.Log_Msg
357: ( v_object_id => p_record.requirement_line_id -- put PK column here
358: , v_object_name => g_object_name
359: , v_message => 'Exception occurred in APPLY_RECORD:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
356: jtm_message_log_pkg.Log_Msg
357: ( v_object_id => p_record.requirement_line_id -- put PK column here
358: , v_object_name => g_object_name
359: , v_message => 'Exception occurred in APPLY_RECORD:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
360: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
361: END IF;
362:
363: fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_RECORD', sqlerrm);
364: p_error_msg := CSL_SERVICEL_WRAPPER_PKG.GET_ERROR_MESSAGE_TEXT
365: (
366: p_api_error => TRUE
367: );
368:
369: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
370: jtm_message_log_pkg.Log_Msg
371: ( v_object_id => p_record.requirement_line_id -- put PK column here
372: , v_object_name => g_object_name
373: , v_message => 'Leaving ' || g_object_name || '.APPLY_RECORD'
370: jtm_message_log_pkg.Log_Msg
371: ( v_object_id => p_record.requirement_line_id -- put PK column here
372: , v_object_name => g_object_name
373: , v_message => 'Leaving ' || g_object_name || '.APPLY_RECORD'
374: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
375: END IF;
376:
377: x_return_status := FND_API.G_RET_STS_ERROR;
378: END APPLY_RECORD;
401: AND clid$$cs = b_user_name;
402:
403: BEGIN
404:
405: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
406: jtm_message_log_pkg.Log_Msg
407: ( v_object_id => null
408: , v_object_name => g_object_name
409: , v_message => 'Entering ' || g_object_name || '.DELETE_REQ_HEADERS_FROM_INQ'
406: jtm_message_log_pkg.Log_Msg
407: ( v_object_id => null
408: , v_object_name => g_object_name
409: , v_message => 'Entering ' || g_object_name || '.DELETE_REQ_HEADERS_FROM_INQ'
410: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
411: END IF;
412:
413: -- Loop through this cursor to delete all requirement headers from the requirement header inqueue
414: FOR r_get_req_headers_from_inq IN c_get_req_headers_from_inq ( p_user_name, p_tranid) LOOP
428:
429: /*** was delete successful? ***/
430: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
431: /*** no -> rollback ***/
432: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
433: jtm_message_log_pkg.Log_Msg
434: ( v_object_id => r_get_req_headers_from_inq.requirement_header_id -- put PK column here
435: , v_object_name => g_object_name
436: , v_message => 'Deleting from inqueue failed, rolling back to savepoint'
433: jtm_message_log_pkg.Log_Msg
434: ( v_object_id => r_get_req_headers_from_inq.requirement_header_id -- put PK column here
435: , v_object_name => g_object_name
436: , v_message => 'Deleting from inqueue failed, rolling back to savepoint'
437: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
438: END IF;
439: ROLLBACK TO save_rec;
440: END IF;
441:
440: END IF;
441:
442: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
443: /*** Record was not processed successfully or delete failed -> defer and reject record ***/
444: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
445: jtm_message_log_pkg.Log_Msg
446: ( v_object_id => r_get_req_headers_from_inq.requirement_header_id -- put PK column here
447: , v_object_name => g_object_name
448: , v_message => 'Record not processed successfully, deferring and rejecting record'
445: jtm_message_log_pkg.Log_Msg
446: ( v_object_id => r_get_req_headers_from_inq.requirement_header_id -- put PK column here
447: , v_object_name => g_object_name
448: , v_message => 'Record not processed successfully, deferring and rejecting record'
449: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
450: END IF;
451:
452: CSL_SERVICEL_WRAPPER_PKG.DEFER_RECORD
453: (
463:
464: /*** Was defer successful? ***/
465: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
466: /*** no -> rollback ***/
467: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
468: jtm_message_log_pkg.Log_Msg
469: ( v_object_id => r_get_req_headers_from_inq.requirement_header_id -- put PK column here
470: , v_object_name => g_object_name
471: , v_message => 'Defer record failed, rolling back to savepoint'
468: jtm_message_log_pkg.Log_Msg
469: ( v_object_id => r_get_req_headers_from_inq.requirement_header_id -- put PK column here
470: , v_object_name => g_object_name
471: , v_message => 'Defer record failed, rolling back to savepoint'
472: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
473: END IF;
474: ROLLBACK TO save_rec;
475: END IF;
476: END IF;
475: END IF;
476: END IF;
477: END LOOP;
478:
479: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
480: jtm_message_log_pkg.Log_Msg
481: ( v_object_id => null
482: , v_object_name => g_object_name
483: , v_message => 'Leaving ' || g_object_name || '.DELETE_REQ_HEADERS_FROM_INQ'
480: jtm_message_log_pkg.Log_Msg
481: ( v_object_id => null
482: , v_object_name => g_object_name
483: , v_message => 'Leaving ' || g_object_name || '.DELETE_REQ_HEADERS_FROM_INQ'
484: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
485: END IF;
486:
487: EXCEPTION WHEN OTHERS THEN
488: /*** catch and log exceptions ***/
485: END IF;
486:
487: EXCEPTION WHEN OTHERS THEN
488: /*** catch and log exceptions ***/
489: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
490: jtm_message_log_pkg.Log_Msg
491: ( v_object_id => null
492: , v_object_name => g_object_name
493: , v_message => 'Exception occurred in DELETE_REQ_HEADERS_FROM_INQ:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
490: jtm_message_log_pkg.Log_Msg
491: ( v_object_id => null
492: , v_object_name => g_object_name
493: , v_message => 'Exception occurred in DELETE_REQ_HEADERS_FROM_INQ:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
494: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
495: END IF;
496:
497: x_return_status := FND_API.G_RET_STS_ERROR;
498: END DELETE_REQ_HEADERS_FROM_INQ;
511: l_error_msg VARCHAR2(4000);
512:
513: BEGIN
514:
515: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
516: jtm_message_log_pkg.Log_Msg
517: ( v_object_id => null
518: , v_object_name => g_object_name
519: , v_message => 'Entering ' || g_object_name || '.Process_Reqs'
516: jtm_message_log_pkg.Log_Msg
517: ( v_object_id => null
518: , v_object_name => g_object_name
519: , v_message => 'Entering ' || g_object_name || '.Process_Reqs'
520: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
521: END IF;
522:
523: /*** loop through c_requirements records in inqueue ***/
524: FOR r_requirements IN c_requirements ( p_user_name, p_tranid) LOOP
538:
539: /*** was record processed successfully? ***/
540: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
541: /*** Yes -> delete record from inqueue ***/
542: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
543: jtm_message_log_pkg.Log_Msg
544: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
545: , v_object_name => g_object_name
546: , v_message => 'Record successfully processed, deleting from inqueue'
543: jtm_message_log_pkg.Log_Msg
544: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
545: , v_object_name => g_object_name
546: , v_message => 'Record successfully processed, deleting from inqueue'
547: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
548: END IF;
549:
550: -- Delete the requirement line from the requirement line inqueue.
551: CSL_SERVICEL_WRAPPER_PKG.DELETE_RECORD
562:
563: /*** was delete successful? ***/
564: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
565: /*** no -> rollback ***/
566: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
567: jtm_message_log_pkg.Log_Msg
568: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
569: , v_object_name => g_object_name
570: , v_message => 'Deleting from inqueue failed, rolling back to savepoint'
567: jtm_message_log_pkg.Log_Msg
568: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
569: , v_object_name => g_object_name
570: , v_message => 'Deleting from inqueue failed, rolling back to savepoint'
571: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
572: END IF;
573: ROLLBACK TO save_rec;
574: END IF;
575: END IF;
575: END IF;
576:
577: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
578: /*** Record was not processed successfully or delete failed -> defer and reject record ***/
579: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
580: jtm_message_log_pkg.Log_Msg
581: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
582: , v_object_name => g_object_name
583: , v_message => 'Record not processed successfully, deferring and rejecting record'
580: jtm_message_log_pkg.Log_Msg
581: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
582: , v_object_name => g_object_name
583: , v_message => 'Record not processed successfully, deferring and rejecting record'
584: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
585: END IF;
586:
587: CSL_SERVICEL_WRAPPER_PKG.DEFER_RECORD
588: (
598:
599: /*** Was defer successful? ***/
600: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
601: /*** no -> rollback ***/
602: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
603: jtm_message_log_pkg.Log_Msg
604: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
605: , v_object_name => g_object_name
606: , v_message => 'Defer record failed, rolling back to savepoint'
603: jtm_message_log_pkg.Log_Msg
604: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
605: , v_object_name => g_object_name
606: , v_message => 'Defer record failed, rolling back to savepoint'
607: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
608: END IF;
609: ROLLBACK TO save_rec;
610: END IF;
611: END IF;
613:
614: -- Call delete procedure to delete all requirement headers from requirement header inqueue.
615: DELETE_REQ_HEADERS_FROM_INQ(p_user_name, p_tranid, x_return_status);
616:
617: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
618: jtm_message_log_pkg.Log_Msg
619: ( v_object_id => null
620: , v_object_name => g_object_name
621: , v_message => 'Leaving ' || g_object_name || '.Process_Reqs'
618: jtm_message_log_pkg.Log_Msg
619: ( v_object_id => null
620: , v_object_name => g_object_name
621: , v_message => 'Leaving ' || g_object_name || '.Process_Reqs'
622: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
623: END IF;
624:
625: EXCEPTION WHEN OTHERS THEN
626: /*** catch and log exceptions ***/
623: END IF;
624:
625: EXCEPTION WHEN OTHERS THEN
626: /*** catch and log exceptions ***/
627: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
628: jtm_message_log_pkg.Log_Msg
629: ( v_object_id => null
630: , v_object_name => g_object_name
631: , v_message => 'Exception occurred in APPLY_CLIENT_CHANGES:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
628: jtm_message_log_pkg.Log_Msg
629: ( v_object_id => null
630: , v_object_name => g_object_name
631: , v_message => 'Exception occurred in APPLY_CLIENT_CHANGES:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
632: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
633: END IF;
634:
635: x_return_status := FND_API.G_RET_STS_ERROR;
636: END PROCESS_REQS;
649: l_error_msg VARCHAR2(4000);
650:
651: BEGIN
652:
653: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
654: jtm_message_log_pkg.Log_Msg
655: ( v_object_id => null
656: , v_object_name => g_object_name
657: , v_message => 'Entering ' || g_object_name || '.Process_Reqs_No_Headers'
654: jtm_message_log_pkg.Log_Msg
655: ( v_object_id => null
656: , v_object_name => g_object_name
657: , v_message => 'Entering ' || g_object_name || '.Process_Reqs_No_Headers'
658: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
659: END IF;
660:
661: /*** loop through c_requirements_no_headers records in inqueue ***/
662: FOR r_requirements IN c_requirements_no_headers ( p_user_name, p_tranid) LOOP
676:
677: /*** was record processed successfully? ***/
678: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
679: /*** Yes -> delete record from inqueue ***/
680: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
681: jtm_message_log_pkg.Log_Msg
682: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
683: , v_object_name => g_object_name
684: , v_message => 'Record successfully processed, deleting from inqueue'
681: jtm_message_log_pkg.Log_Msg
682: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
683: , v_object_name => g_object_name
684: , v_message => 'Record successfully processed, deleting from inqueue'
685: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
686: END IF;
687:
688: CSL_SERVICEL_WRAPPER_PKG.DELETE_RECORD
689: (
699:
700: /*** was delete successful? ***/
701: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
702: /*** no -> rollback ***/
703: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
704: jtm_message_log_pkg.Log_Msg
705: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
706: , v_object_name => g_object_name
707: , v_message => 'Deleting from inqueue failed, rolling back to savepoint'
704: jtm_message_log_pkg.Log_Msg
705: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
706: , v_object_name => g_object_name
707: , v_message => 'Deleting from inqueue failed, rolling back to savepoint'
708: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
709: END IF;
710: ROLLBACK TO save_rec;
711: END IF;
712: END IF;
712: END IF;
713:
714: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
715: /*** Record was not processed successfully or delete failed -> defer and reject record ***/
716: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
717: jtm_message_log_pkg.Log_Msg
718: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
719: , v_object_name => g_object_name
720: , v_message => 'Record not processed successfully, deferring and rejecting record'
717: jtm_message_log_pkg.Log_Msg
718: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
719: , v_object_name => g_object_name
720: , v_message => 'Record not processed successfully, deferring and rejecting record'
721: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
722: END IF;
723:
724: CSL_SERVICEL_WRAPPER_PKG.DEFER_RECORD
725: (
735:
736: /*** Was defer successful? ***/
737: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
738: /*** no -> rollback ***/
739: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
740: jtm_message_log_pkg.Log_Msg
741: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
742: , v_object_name => g_object_name
743: , v_message => 'Defer record failed, rolling back to savepoint'
740: jtm_message_log_pkg.Log_Msg
741: ( v_object_id => r_requirements.requirement_line_id -- put PK column here
742: , v_object_name => g_object_name
743: , v_message => 'Defer record failed, rolling back to savepoint'
744: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
745: END IF;
746: ROLLBACK TO save_rec;
747: END IF;
748: END IF;
747: END IF;
748: END IF;
749: END LOOP;
750:
751: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
752: jtm_message_log_pkg.Log_Msg
753: ( v_object_id => null
754: , v_object_name => g_object_name
755: , v_message => 'Leaving ' || g_object_name || '.Process_Reqs_No_Headers'
752: jtm_message_log_pkg.Log_Msg
753: ( v_object_id => null
754: , v_object_name => g_object_name
755: , v_message => 'Leaving ' || g_object_name || '.Process_Reqs_No_Headers'
756: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
757: END IF;
758:
759: EXCEPTION WHEN OTHERS THEN
760: /*** catch and log exceptions ***/
757: END IF;
758:
759: EXCEPTION WHEN OTHERS THEN
760: /*** catch and log exceptions ***/
761: IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
762: jtm_message_log_pkg.Log_Msg
763: ( v_object_id => null
764: , v_object_name => g_object_name
765: , v_message => 'Exception occurred in APPLY_CLIENT_CHANGES:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
762: jtm_message_log_pkg.Log_Msg
763: ( v_object_id => null
764: , v_object_name => g_object_name
765: , v_message => 'Exception occurred in APPLY_CLIENT_CHANGES:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm
766: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
767: END IF;
768:
769: x_return_status := FND_API.G_RET_STS_ERROR;
770:
791:
792: g_debug_level := p_debug_level;
793: x_return_status := FND_API.G_RET_STS_SUCCESS;
794:
795: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
796: jtm_message_log_pkg.Log_Msg
797: ( v_object_id => null
798: , v_object_name => g_object_name
799: , v_message => 'Entering ' || g_object_name || '.Apply_Client_Changes'
796: jtm_message_log_pkg.Log_Msg
797: ( v_object_id => null
798: , v_object_name => g_object_name
799: , v_message => 'Entering ' || g_object_name || '.Apply_Client_Changes'
800: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
801: END IF;
802:
803: -- First process all requirement lines that have a requirement header. Delete them after processing.
804: PROCESS_REQS (p_user_name, p_tranid, x_return_status);
805:
806: -- Then process all remaining requirement lines (no requirement header). These already have a requirement header in Apps.
807: PROCESS_REQS_NO_HEADERS(p_user_name, p_tranid, x_return_status);
808:
809: IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
810: jtm_message_log_pkg.Log_Msg
811: ( v_object_id => null
812: , v_object_name => g_object_name
813: , v_message => 'Leaving ' || g_object_name || '.Apply_Client_Changes'
810: jtm_message_log_pkg.Log_Msg
811: ( v_object_id => null
812: , v_object_name => g_object_name
813: , v_message => 'Leaving ' || g_object_name || '.Apply_Client_Changes'
814: , v_level_id => JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
815: END IF;
816:
817: END APPLY_CLIENT_CHANGES;
818: END CSL_REQUIREMENTS_PKG;