93: r_get_requirement_from_apps c_get_requirement_from_apps%ROWTYPE;
94:
95: BEGIN
96:
97: CSM_UTIL_PKG.LOG
98: ( 'Entering CSM_REQUIREMENTS_PKG.APPLY_INSERT'|| 'for PK '||p_record.requirement_line_id,
99: 'CSM_REQUIREMENTS_PKG.APPLY_INSERT',
100: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
101:
219: );
220:
221: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
222: /*** exception occurred in API -> return errmsg ***/
223: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
224: (
225: p_api_error => TRUE
226: );
227: END IF;
225: p_api_error => TRUE
226: );
227: END IF;
228:
229: CSM_UTIL_PKG.LOG
230: ( 'Leaving CSM_REQUIREMENTS_PKG.APPLY_INSERT'|| 'for PK '||p_record.requirement_line_id,
231: 'CSM_REQUIREMENTS_PKG.APPLY_INSERT',
232: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
233:
233:
234:
235: EXCEPTION WHEN OTHERS THEN
236:
237: CSM_UTIL_PKG.LOG
238: ( 'Exception occurred in CSM_REQUIREMENTS_PKG.APPLY_INSERT'|| 'for PK '||p_record.requirement_line_id || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm,
239: 'CSM_REQUIREMENTS_PKG.APPLY_INSERT',
240: FND_LOG.LEVEL_EXCEPTION ); -- put PK column here
241:
240: FND_LOG.LEVEL_EXCEPTION ); -- put PK column here
241:
242: fnd_msg_pub.Add_Exc_Msg( 'CSM_REQUIREMENTS_PKG', 'APPLY_INSERT', sqlerrm);
243:
244: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
245: (
246: p_api_error => TRUE
247: );
248:
259: x_return_status IN OUT NOCOPY VARCHAR2
260: ) IS
261: BEGIN
262:
263: CSM_UTIL_PKG.LOG
264: ( 'Entering CSM_REQUIREMENTS_PKG.APPLY_UPDATE'|| 'for PK '||p_record.requirement_line_id ,
265: 'CSM_REQUIREMENTS_PKG.APPLY_UPDATE',
266: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
267:
269: x_return_status := FND_API.G_RET_STS_SUCCESS;
270:
271: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
272: /*** exception occurred in API -> return errmsg ***/
273: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
274: (
275: p_api_error => TRUE
276: );
277: END IF;
275: p_api_error => TRUE
276: );
277: END IF;
278:
279: CSM_UTIL_PKG.LOG
280: ( 'Leaving CSM_REQUIREMENTS_PKG.APPLY_UPDATE'|| 'for PK '||p_record.requirement_line_id ,
281: 'CSM_REQUIREMENTS_PKG.APPLY_UPDATE',
282: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
283:
283:
284:
285: EXCEPTION WHEN OTHERS THEN
286:
287: CSM_UTIL_PKG.LOG
288: ( 'Exception occurred in CSM_REQUIREMENTS_PKG.APPLY_UPDATE'|| 'for PK '||p_record.requirement_line_id || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm,
289: 'CSM_REQUIREMENTS_PKG.APPLY_UPDATE',
290: FND_LOG.LEVEL_EXCEPTION); -- put PK column here
291:
290: FND_LOG.LEVEL_EXCEPTION); -- put PK column here
291:
292:
293: fnd_msg_pub.Add_Exc_Msg( 'CSM_REQUIREMENTS_PKG', 'APPLY_UPDATE', sqlerrm);
294: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
295: (
296: p_api_error => TRUE
297: );
298:
314: BEGIN
315: /*** initialize return status and message list ***/
316: x_return_status := FND_API.G_RET_STS_SUCCESS;
317:
318: CSM_UTIL_PKG.LOG
319: ( 'Entering CSM_REQUIREMENTS_PKG.APPLY_RECORD'|| 'for PK '||p_record.requirement_line_id,
320: 'CSM_REQUIREMENTS_PKG.APPLY_RECORD',
321: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
322:
319: ( 'Entering CSM_REQUIREMENTS_PKG.APPLY_RECORD'|| 'for PK '||p_record.requirement_line_id,
320: 'CSM_REQUIREMENTS_PKG.APPLY_RECORD',
321: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
322:
323: CSM_UTIL_PKG.LOG
324: ( 'Processing requirement '|| 'for PK '||p_record.requirement_line_id ||'DMLTYPE = ' || p_record.dmltype$$,
325: 'CSM_REQUIREMENTS_PKG.APPLY_RECORD',
326: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
327:
345: x_return_status
346: );
347: ELSIF p_record.dmltype$$='D' THEN
348: -- Process delete; not supported for this entity
349: CSM_UTIL_PKG.LOG
350: ( 'Delete is not supported for this entity'|| 'for PK '||p_record.requirement_line_id,
351: 'CSM_REQUIREMENTS_PKG.APPLY_RECORD',
352: FND_LOG.LEVEL_ERROR ); -- put PK column here
353:
351: 'CSM_REQUIREMENTS_PKG.APPLY_RECORD',
352: FND_LOG.LEVEL_ERROR ); -- put PK column here
353:
354:
355: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
356: (
357: p_message => 'CSM_DML_OPERATION'
358: , p_token_name1 => 'DML'
359: , p_token_value1 => p_record.dmltype$$
362: x_return_status := FND_API.G_RET_STS_ERROR;
363: ELSE
364: -- invalid dml type
365:
366: CSM_UTIL_PKG.LOG
367: ( 'Invalid DML type: ' || p_record.dmltype$$|| 'for PK '||p_record.requirement_line_id,
368: 'CSM_REQUIREMENTS_PKG.APPLY_RECORD',
369: FND_LOG.LEVEL_ERROR ); -- put PK column here
370:
367: ( 'Invalid DML type: ' || p_record.dmltype$$|| 'for PK '||p_record.requirement_line_id,
368: 'CSM_REQUIREMENTS_PKG.APPLY_RECORD',
369: FND_LOG.LEVEL_ERROR ); -- put PK column here
370:
371: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
372: (
373: p_message => 'CSM_DML_OPERATION'
374: , p_token_name1 => 'DML'
375: , p_token_value1 => p_record.dmltype$$
377:
378: x_return_status := FND_API.G_RET_STS_ERROR;
379: END IF;
380:
381: CSM_UTIL_PKG.LOG
382: ( 'Leaving CSM_REQUIREMENTS_PKG.APPLY_RECORD'|| 'for PK '||p_record.requirement_line_id,
383: 'CSM_REQUIREMENTS_PKG.APPLY_RECORD',
384: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
385:
384: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
385:
386: EXCEPTION WHEN OTHERS THEN
387: /*** defer record when any process exception occurs ***/
388: CSM_UTIL_PKG.LOG
389: ( 'Exception occurred in CSM_REQUIREMENTS_PKG.APPLY_RECORD'|| 'for PK '||p_record.requirement_line_id || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm,
390: 'CSM_REQUIREMENTS_PKG.APPLY_RECORD',
391: FND_LOG.LEVEL_EXCEPTION); -- put PK column here
392:
391: FND_LOG.LEVEL_EXCEPTION); -- put PK column here
392:
393:
394: fnd_msg_pub.Add_Exc_Msg( 'CSM_REQUIREMENTS_PKG', 'APPLY_RECORD', sqlerrm);
395: p_error_msg := CSM_UTIL_PKG.GET_ERROR_MESSAGE_TEXT
396: (
397: p_api_error => TRUE
398: );
399:
430: );
431:
432: BEGIN
433:
434: CSM_UTIL_PKG.LOG
435: ( 'Entering CSM_REQUIREMENTS_PKG.DELETE_REQ_HEADERS_FROM_INQ',
436: 'CSM_REQUIREMENTS_PKG.DELETE_REQ_HEADERS_FROM_INQ',
437: FND_LOG.LEVEL_STATEMENT); -- put PK column here
438:
440: -- Loop through this cursor to delete all requirement headers from the requirement header inqueue
441: FOR r_get_req_headers_from_inq IN c_get_req_headers_from_inq ( p_user_name, p_tranid) LOOP
442:
443: -- Delete the requirement header from the requirement header inqueue.
444: CSM_UTIL_PKG.DELETE_RECORD
445: (
446: p_user_name,
447: p_tranid,
448: r_get_req_headers_from_inq.seqno$$,
456: /*** was delete successful? ***/
457: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
458: /*** no -> rollback ***/
459:
460: CSM_UTIL_PKG.LOG
461: ( 'Deleting from inqueue failed, rolling back to savepoinT'|| 'for PK '||r_get_req_headers_from_inq.requirement_header_id,
462: 'CSM_REQUIREMENTS_PKG.DELETE_REQ_HEADERS_FROM_INQ',
463: FND_LOG.LEVEL_PROCEDURE); -- put PK column here
464:
467:
468: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
469: /*** Record was not processed successfully or delete failed -> defer and reject record ***/
470:
471: CSM_UTIL_PKG.LOG
472: ( 'Record not processed successfully, deferring and rejecting record'|| 'for PK '||r_get_req_headers_from_inq.requirement_header_id,
473: 'CSM_REQUIREMENTS_PKG.DELETE_REQ_HEADERS_FROM_INQ',
474: FND_LOG.LEVEL_PROCEDURE); -- put PK column here
475:
473: 'CSM_REQUIREMENTS_PKG.DELETE_REQ_HEADERS_FROM_INQ',
474: FND_LOG.LEVEL_PROCEDURE); -- put PK column here
475:
476:
477: CSM_UTIL_PKG.DEFER_RECORD
478: (
479: p_user_name
480: , p_tranid
481: , r_get_req_headers_from_inq.seqno$$
490: /*** Was defer successful? ***/
491: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
492: /*** no -> rollback ***/
493:
494: CSM_UTIL_PKG.LOG
495: ( 'Defer record failed, rolling back to savepoint'|| 'for PK '||r_get_req_headers_from_inq.requirement_header_id,
496: 'CSM_REQUIREMENTS_PKG.DELETE_REQ_HEADERS_FROM_INQ',
497: FND_LOG.LEVEL_PROCEDURE); -- put PK column here
498:
500: END IF;
501: END IF;
502: END LOOP;
503:
504: CSM_UTIL_PKG.LOG
505: ( 'Leaving CSM_REQUIREMENTS_PKG.DELETE_REQ_HEADERS_FROM_INQ ',
506: 'CSM_REQUIREMENTS_PKG.DELETE_REQ_HEADERS_FROM_INQ',
507: FND_LOG.LEVEL_STATEMENT); -- put PK column here
508:
509:
510: EXCEPTION WHEN OTHERS THEN
511: /*** catch and log exceptions ***/
512:
513: CSM_UTIL_PKG.LOG
514: ( 'Exception occurred in DELETE_REQ_HEADERS_FROM_INQ: '|| FND_GLOBAL.LOCAL_CHR(10) || sqlerrm,
515: 'CSM_REQUIREMENTS_PKG.DELETE_REQ_HEADERS_FROM_INQ',
516: FND_LOG.LEVEL_EXCEPTION); -- put PK column here
517:
533: l_error_msg VARCHAR2(4000);
534:
535: BEGIN
536:
537: CSM_UTIL_PKG.LOG
538: ( 'Entering CSM_REQUIREMENTS_PKG.PROCESS_REQS',
539: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS',
540: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
541:
556:
557: /*** was record processed successfully? ***/
558: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
559: /*** Yes -> delete record from inqueue ***/
560: CSM_UTIL_PKG.LOG
561: ( 'Record successfully processed, deleting from inqueue'|| ' for PK ' || r_requirements.requirement_line_id,
562: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS',
563: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
564:
563: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
564:
565:
566: -- Delete the requirement line from the requirement line inqueue.
567: CSM_UTIL_PKG.DELETE_RECORD
568: (
569: p_user_name,
570: p_tranid,
571: r_requirements.seqno$$,
578:
579: /*** was delete successful? ***/
580: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
581: /*** no -> rollback ***/
582: CSM_UTIL_PKG.LOG
583: ( 'Deleting from inqueue failed, rolling back to savepoint'|| ' for PK ' || r_requirements.requirement_line_id,
584: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS',
585: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
586:
589: END IF;
590:
591: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
592: /*** Record was not processed successfully or delete failed -> defer and reject record ***/
593: CSM_UTIL_PKG.LOG
594: ( 'Record not processed successfully, deferring and rejecting record'|| ' for PK ' || r_requirements.requirement_line_id,
595: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS',
596: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
597:
595: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS',
596: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
597:
598:
599: CSM_UTIL_PKG.DEFER_RECORD
600: (
601: p_user_name
602: , p_tranid
603: , r_requirements.seqno$$
612:
613: /*** Was defer successful? ***/
614: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
615: /*** no -> rollback ***/
616: CSM_UTIL_PKG.LOG
617: ( 'Defer record failed, rolling back to savepoint'|| ' for PK ' || r_requirements.requirement_line_id,
618: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS',
619: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
620:
625:
626: -- Call delete procedure to delete all requirement headers from requirement header inqueue.
627: DELETE_REQ_HEADERS_FROM_INQ(p_user_name, p_tranid, x_return_status);
628:
629: CSM_UTIL_PKG.LOG
630: ( 'Leaving CSM_REQUIREMENTS_PKG.PROCESS_REQS',
631: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS',
632: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
633:
633:
634:
635: EXCEPTION WHEN OTHERS THEN
636: /*** catch and log exceptions ***/
637: CSM_UTIL_PKG.LOG
638: ( 'Exception occurred in PROCESS_REQS:' || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm,
639: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS',
640: FND_LOG.LEVEL_EXCEPTION ); -- put PK column here
641:
656: l_error_msg VARCHAR2(4000);
657:
658: BEGIN
659:
660: CSM_UTIL_PKG.LOG
661: ( 'Entering CSM_REQUIREMENTS_PKG.PROCESS_REQS_NO_HEADERS',
662: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS_NO_HEADERS',
663: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
664:
680:
681: /*** was record processed successfully? ***/
682: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
683: /*** Yes -> delete record from inqueue ***/
684: CSM_UTIL_PKG.LOG
685: ( 'Record successfully processed, deleting from inqueue'|| ' for PK ' ||r_requirements.requirement_line_id,
686: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS_NO_HEADERS',
687: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
688:
686: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS_NO_HEADERS',
687: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
688:
689:
690: CSM_UTIL_PKG.DELETE_RECORD
691: (
692: p_user_name,
693: p_tranid,
694: r_requirements.seqno$$,
701:
702: /*** was delete successful? ***/
703: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
704: /*** no -> rollback ***/
705: CSM_UTIL_PKG.LOG
706: ( 'Deleting from inqueue failed, rolling back to savepoint'|| ' for PK ' ||r_requirements.requirement_line_id,
707: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS_NO_HEADERS',
708: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
709:
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:
717: CSM_UTIL_PKG.LOG
718: ( 'Record not processed successfully, deferring and rejecting record'|| ' for PK ' ||r_requirements.requirement_line_id,
719: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS_NO_HEADERS',
720: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
721:
718: ( 'Record not processed successfully, deferring and rejecting record'|| ' for PK ' ||r_requirements.requirement_line_id,
719: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS_NO_HEADERS',
720: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
721:
722: CSM_UTIL_PKG.DEFER_RECORD
723: (
724: p_user_name
725: , p_tranid
726: , r_requirements.seqno$$
734:
735: /*** Was defer successful? ***/
736: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
737: /*** no -> rollback ***/
738: CSM_UTIL_PKG.LOG
739: ( 'Defer record failed, rolling back to savepoint'|| ' for PK ' ||r_requirements.requirement_line_id,
740: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS_NO_HEADERS',
741: FND_LOG.LEVEL_PROCEDURE ); -- put PK column here
742:
744: END IF;
745: END IF;
746: END LOOP;
747:
748: CSM_UTIL_PKG.LOG
749: ( 'Leaving CSM_REQUIREMENTS_PKG.PROCESS_REQS_NO_HEADERS',
750: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS_NO_HEADERS',
751: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
752:
753:
754: EXCEPTION WHEN OTHERS THEN
755: /*** catch and log exceptions ***/
756:
757: CSM_UTIL_PKG.LOG
758: ( 'Exception occurred in APPLY_CLIENT_CHANGES:'|| FND_GLOBAL.LOCAL_CHR(10) || sqlerrm,
759: 'CSM_REQUIREMENTS_PKG.PROCESS_REQS_NO_HEADERS',
760: FND_LOG.LEVEL_EXCEPTION ); -- put PK column here
761:
783: l_error_msg VARCHAR2(4000);
784:
785: BEGIN
786:
787: CSM_UTIL_PKG.LOG
788: ( 'Entering CSM_REQUIREMENTS_PKG.APPLY CLIENT CHANGES',
789: 'CSM_REQUIREMENTS_PKG.APPLY_CLIENT_CHANGES',
790: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
791:
794:
795: -- Then process all remaining requirement lines (no requirement header). These already have a requirement header in Apps.
796: PROCESS_REQS_NO_HEADERS(p_user_name, p_tranid, x_return_status);
797:
798: CSM_UTIL_PKG.LOG
799: ( 'Leaving CSM_REQUIREMENTS_PKG.APPLY CLIENT CHANGES',
800: 'CSM_REQUIREMENTS_PKG.APPLY_CLIENT_CHANGES',
801: FND_LOG.LEVEL_STATEMENT ); -- put PK column here
802: