249: --
250: -- Parameters:
251: --
252: -- IN
253: -- P_Message_Table - Hxc_User_Type_Definition_Grp.Message_Table%TYPE
254: -- P_Message_Name - Fnd_New_Messages.Message_Name%TYPE
255: -- P_Message_Level - Varchar2
256: -- P_Message_Field - Varchar2
257: -- P_Msg_Tokens - Pa_Otc_Api.Messages_Tokens
259: -- P_Time_Attribute_Id - Hxc_Time_Attributes.Time_Attribute_Id%TYPE
260: -- P_Message_App - Varchar2 Default 'PA'
261: --
262: -- OUT
263: -- P_Message_Table - Hxc_User_Type_Definition_Grp.Message_Table%TYPE
264: --
265:
266: /*-------------------------------------------------------------------------*/
267:
265:
266: /*-------------------------------------------------------------------------*/
267:
268: Procedure Add_Error_To_Table(
269: P_Message_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.Message_Table, -- 2672653
270: P_Message_Name IN Fnd_New_Messages.Message_Name%TYPE,
271: P_Message_Level IN Varchar2,
272: P_Message_Field IN Varchar2,
273: P_Msg_Tokens IN Pa_Otc_Api.Message_Tokens,
512:
513: /* Pull the data into the OTL pl/sql tables.
514: *
515: * PL/SQL tables to work with once the procedure execute_retrieval_process is done:
516: * Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks Using
517: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks Using
518: * Hxc_User_Type_Definition_Grp.T_Detail_Attributes Using
519: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes Using
520: * Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks Using for ei date retrieval
513: /* Pull the data into the OTL pl/sql tables.
514: *
515: * PL/SQL tables to work with once the procedure execute_retrieval_process is done:
516: * Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks Using
517: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks Using
518: * Hxc_User_Type_Definition_Grp.T_Detail_Attributes Using
519: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes Using
520: * Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks Using for ei date retrieval
521: * Hxc_User_Type_Definition_Grp.T_Old_Day_Bld_Blks Using for ei date retrieval
514: *
515: * PL/SQL tables to work with once the procedure execute_retrieval_process is done:
516: * Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks Using
517: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks Using
518: * Hxc_User_Type_Definition_Grp.T_Detail_Attributes Using
519: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes Using
520: * Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks Using for ei date retrieval
521: * Hxc_User_Type_Definition_Grp.T_Old_Day_Bld_Blks Using for ei date retrieval
522: * Hxc_User_Type_Definition_Grp.T_Day_Attributes Not Using
515: * PL/SQL tables to work with once the procedure execute_retrieval_process is done:
516: * Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks Using
517: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks Using
518: * Hxc_User_Type_Definition_Grp.T_Detail_Attributes Using
519: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes Using
520: * Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks Using for ei date retrieval
521: * Hxc_User_Type_Definition_Grp.T_Old_Day_Bld_Blks Using for ei date retrieval
522: * Hxc_User_Type_Definition_Grp.T_Day_Attributes Not Using
523: * Hxc_User_Type_Definition_Grp.T_Old_Day_Attributes Not Using
516: * Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks Using
517: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks Using
518: * Hxc_User_Type_Definition_Grp.T_Detail_Attributes Using
519: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes Using
520: * Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks Using for ei date retrieval
521: * Hxc_User_Type_Definition_Grp.T_Old_Day_Bld_Blks Using for ei date retrieval
522: * Hxc_User_Type_Definition_Grp.T_Day_Attributes Not Using
523: * Hxc_User_Type_Definition_Grp.T_Old_Day_Attributes Not Using
524: * Hxc_User_Type_Definition_Grp.T_Time_Bld_Blks Not Using
517: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks Using
518: * Hxc_User_Type_Definition_Grp.T_Detail_Attributes Using
519: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes Using
520: * Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks Using for ei date retrieval
521: * Hxc_User_Type_Definition_Grp.T_Old_Day_Bld_Blks Using for ei date retrieval
522: * Hxc_User_Type_Definition_Grp.T_Day_Attributes Not Using
523: * Hxc_User_Type_Definition_Grp.T_Old_Day_Attributes Not Using
524: * Hxc_User_Type_Definition_Grp.T_Time_Bld_Blks Not Using
525: * Hxc_User_Type_Definition_Grp.T_Old_Time_Bld_Blks Not Using
518: * Hxc_User_Type_Definition_Grp.T_Detail_Attributes Using
519: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes Using
520: * Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks Using for ei date retrieval
521: * Hxc_User_Type_Definition_Grp.T_Old_Day_Bld_Blks Using for ei date retrieval
522: * Hxc_User_Type_Definition_Grp.T_Day_Attributes Not Using
523: * Hxc_User_Type_Definition_Grp.T_Old_Day_Attributes Not Using
524: * Hxc_User_Type_Definition_Grp.T_Time_Bld_Blks Not Using
525: * Hxc_User_Type_Definition_Grp.T_Old_Time_Bld_Blks Not Using
526: * Hxc_User_Type_Definition_Grp.T_Time_Attributes Not Using
519: * Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes Using
520: * Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks Using for ei date retrieval
521: * Hxc_User_Type_Definition_Grp.T_Old_Day_Bld_Blks Using for ei date retrieval
522: * Hxc_User_Type_Definition_Grp.T_Day_Attributes Not Using
523: * Hxc_User_Type_Definition_Grp.T_Old_Day_Attributes Not Using
524: * Hxc_User_Type_Definition_Grp.T_Time_Bld_Blks Not Using
525: * Hxc_User_Type_Definition_Grp.T_Old_Time_Bld_Blks Not Using
526: * Hxc_User_Type_Definition_Grp.T_Time_Attributes Not Using
527: * Hxc_User_Type_Definition_Grp.T_Old_Time_Attributes Not Using
520: * Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks Using for ei date retrieval
521: * Hxc_User_Type_Definition_Grp.T_Old_Day_Bld_Blks Using for ei date retrieval
522: * Hxc_User_Type_Definition_Grp.T_Day_Attributes Not Using
523: * Hxc_User_Type_Definition_Grp.T_Old_Day_Attributes Not Using
524: * Hxc_User_Type_Definition_Grp.T_Time_Bld_Blks Not Using
525: * Hxc_User_Type_Definition_Grp.T_Old_Time_Bld_Blks Not Using
526: * Hxc_User_Type_Definition_Grp.T_Time_Attributes Not Using
527: * Hxc_User_Type_Definition_Grp.T_Old_Time_Attributes Not Using
528: * Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status Using
521: * Hxc_User_Type_Definition_Grp.T_Old_Day_Bld_Blks Using for ei date retrieval
522: * Hxc_User_Type_Definition_Grp.T_Day_Attributes Not Using
523: * Hxc_User_Type_Definition_Grp.T_Old_Day_Attributes Not Using
524: * Hxc_User_Type_Definition_Grp.T_Time_Bld_Blks Not Using
525: * Hxc_User_Type_Definition_Grp.T_Old_Time_Bld_Blks Not Using
526: * Hxc_User_Type_Definition_Grp.T_Time_Attributes Not Using
527: * Hxc_User_Type_Definition_Grp.T_Old_Time_Attributes Not Using
528: * Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status Using
529: * Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception Using
522: * Hxc_User_Type_Definition_Grp.T_Day_Attributes Not Using
523: * Hxc_User_Type_Definition_Grp.T_Old_Day_Attributes Not Using
524: * Hxc_User_Type_Definition_Grp.T_Time_Bld_Blks Not Using
525: * Hxc_User_Type_Definition_Grp.T_Old_Time_Bld_Blks Not Using
526: * Hxc_User_Type_Definition_Grp.T_Time_Attributes Not Using
527: * Hxc_User_Type_Definition_Grp.T_Old_Time_Attributes Not Using
528: * Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status Using
529: * Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception Using
530: */
523: * Hxc_User_Type_Definition_Grp.T_Old_Day_Attributes Not Using
524: * Hxc_User_Type_Definition_Grp.T_Time_Bld_Blks Not Using
525: * Hxc_User_Type_Definition_Grp.T_Old_Time_Bld_Blks Not Using
526: * Hxc_User_Type_Definition_Grp.T_Time_Attributes Not Using
527: * Hxc_User_Type_Definition_Grp.T_Old_Time_Attributes Not Using
528: * Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status Using
529: * Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception Using
530: */
531:
524: * Hxc_User_Type_Definition_Grp.T_Time_Bld_Blks Not Using
525: * Hxc_User_Type_Definition_Grp.T_Old_Time_Bld_Blks Not Using
526: * Hxc_User_Type_Definition_Grp.T_Time_Attributes Not Using
527: * Hxc_User_Type_Definition_Grp.T_Old_Time_Attributes Not Using
528: * Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status Using
529: * Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception Using
530: */
531:
532: G_Stage := 'Call execute retrieval process API.';
525: * Hxc_User_Type_Definition_Grp.T_Old_Time_Bld_Blks Not Using
526: * Hxc_User_Type_Definition_Grp.T_Time_Attributes Not Using
527: * Hxc_User_Type_Definition_Grp.T_Old_Time_Attributes Not Using
528: * Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status Using
529: * Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception Using
530: */
531:
532: G_Stage := 'Call execute retrieval process API.';
533: If G_Debug_Mode = 'Y' Then
544: P_Where_Clause => l_Where_Clause,
545: P_Scope => 'DAY',
546: P_Clusive => 'EX');
547:
548: If Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks.COUNT > 0 Then
549:
550: Pa_Trx_Import.G_Exit_Main := FALSE;
551:
552: G_Stage := 'Loop thru all hxc detail building block records.';
553: If G_Debug_Mode = 'Y' Then
554: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
555: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
556: End If;
557: For i IN Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks.First .. Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks.Last
558: Loop
559:
560: G_Stage := 'Process bb/ovn: ' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
561: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn) ||
556: End If;
557: For i IN Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks.First .. Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks.Last
558: Loop
559:
560: G_Stage := 'Process bb/ovn: ' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
561: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn) ||
562: ' for Resource_Id(Person_Id): ' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Resource_Id);
563: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
564: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,1);
557: For i IN Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks.First .. Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks.Last
558: Loop
559:
560: G_Stage := 'Process bb/ovn: ' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
561: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn) ||
562: ' for Resource_Id(Person_Id): ' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Resource_Id);
563: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
564: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,1);
565:
558: Loop
559:
560: G_Stage := 'Process bb/ovn: ' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
561: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn) ||
562: ' for Resource_Id(Person_Id): ' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Resource_Id);
563: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
564: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,1);
565:
566: Begin
570: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
571: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
572: End If;
573:
574: If Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Changed = 'N' and
575: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Deleted = 'Y' Then
576:
577: G_Stage := 'Item Changed: N, Deleted: Y.';
578: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
571: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
572: End If;
573:
574: If Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Changed = 'N' and
575: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Deleted = 'Y' Then
576:
577: G_Stage := 'Item Changed: N, Deleted: Y.';
578: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
579: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,1);
593: End If;
594:
595: Pa_Otc_Api.PopulateProjRec(
596: P_New_Old_BB => 'NEW',
597: P_BB_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id,
598: P_Detail_Index => i,
599: P_Old_Detl_Ind => l_Old_Detail_Index,
600: P_Timecard_Rec => l_New_Timecard_Rec);
601:
598: P_Detail_Index => i,
599: P_Old_Detl_Ind => l_Old_Detail_Index,
600: P_Timecard_Rec => l_New_Timecard_Rec);
601:
602: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'SUCCESS';
603:
604: l_insert_rec_flag := FALSE;
605:
606: ElsIf Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Changed = 'N' and
602: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'SUCCESS';
603:
604: l_insert_rec_flag := FALSE;
605:
606: ElsIf Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Changed = 'N' and
607: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Deleted = 'N' Then
608:
609: -- If this is the condition then there is only new data to process via PopulateProjRec() procedure
610: -- and there is no need to look at the old data via the same procedure.
603:
604: l_insert_rec_flag := FALSE;
605:
606: ElsIf Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Changed = 'N' and
607: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Deleted = 'N' Then
608:
609: -- If this is the condition then there is only new data to process via PopulateProjRec() procedure
610: -- and there is no need to look at the old data via the same procedure.
611:
620: End If;
621:
622: Pa_Otc_Api.PopulateProjRec(
623: P_New_Old_BB => 'NEW',
624: P_BB_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id,
625: P_Detail_Index => i,
626: P_Old_Detl_Ind => l_Old_Detail_Index,
627: P_Timecard_Rec => l_New_Timecard_Rec);
628:
639: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
640: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
641: End If;
642:
643: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
644: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_New_Timecard_Rec.Status;
645: l_insert_rec_flag := FALSE;
646:
647: Else
640: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
641: End If;
642:
643: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
644: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_New_Timecard_Rec.Status;
645: l_insert_rec_flag := FALSE;
646:
647: Else
648:
652: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
653: End If;
654:
655: l_new_orig_trx_ref :=
656: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
657: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn);
658:
659: G_Stage := 'Check if original transaction reference already exists 2';
660: If G_Debug_Mode = 'Y' Then
653: End If;
654:
655: l_new_orig_trx_ref :=
656: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
657: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn);
658:
659: G_Stage := 'Check if original transaction reference already exists 2';
660: If G_Debug_Mode = 'Y' Then
661: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
690: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
691: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
692: End If;
693: l_insert_rec_flag := FALSE;
694: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'SUCCESS';
695:
696: End If;
697:
698: End If;
696: End If;
697:
698: End If;
699:
700: ElsIf Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Changed = 'Y' and
701: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Deleted = 'N' Then
702:
703: G_Stage := 'Item Changed: Y, Deleted: N.';
704: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
697:
698: End If;
699:
700: ElsIf Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Changed = 'Y' and
701: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Deleted = 'N' Then
702:
703: G_Stage := 'Item Changed: Y, Deleted: N.';
704: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
705: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
712: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
713: End If;
714:
715: l_new_orig_trx_ref :=
716: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
717: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn);
718:
719: If NOT Pa_Otc_Api.OrigTrxRefValueExists(l_new_orig_trx_ref) Then
720:
713: End If;
714:
715: l_new_orig_trx_ref :=
716: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
717: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn);
718:
719: If NOT Pa_Otc_Api.OrigTrxRefValueExists(l_new_orig_trx_ref) Then
720:
721: G_Stage := 'Call Populate Project Record new 3a.';
725: End If;
726:
727: Pa_Otc_Api.PopulateProjRec(
728: P_New_Old_BB => 'NEW',
729: P_BB_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id,
730: P_Detail_Index => i,
731: P_Old_Detl_Ind => l_Old_Detail_Index,
732: P_timecard_Rec => l_New_Timecard_Rec);
733:
744: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
745: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
746: End If;
747:
748: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
749: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_New_Timecard_Rec.Status;
750: l_insert_rec_Flag := FALSE;
751:
752: G_Stage := 'Since the Status is not null 3a has been hit for new record, ' ||
745: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
746: End If;
747:
748: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
749: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_New_Timecard_Rec.Status;
750: l_insert_rec_Flag := FALSE;
751:
752: G_Stage := 'Since the Status is not null 3a has been hit for new record, ' ||
753: 'call PopulateProjRec() for old records for positioning ' ||
758: End If;
759:
760: Pa_Otc_Api.PopulateProjRec(
761: P_New_Old_BB => 'OLD',
762: P_BB_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).bb_id,
763: P_Detail_Index => i,
764: P_Old_Detl_Ind => l_Old_Detail_Index,
765: P_timecard_Rec => l_Old_Timecard_Rec);
766:
776: End If;
777:
778: Pa_Otc_Api.PopulateProjRec(
779: P_New_Old_BB => 'OLD',
780: P_BB_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).bb_id,
781: P_Detail_Index => i,
782: P_Old_Detl_Ind => l_Old_Detail_Index,
783: P_timecard_Rec => l_Old_Timecard_Rec);
784:
789: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
790: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
791: End If;
792:
793: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
794: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_Old_Timecard_Rec.Status;
795: l_insert_rec_Flag := FALSE;
796:
797: Else
790: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
791: End If;
792:
793: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
794: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_Old_Timecard_Rec.Status;
795: l_insert_rec_Flag := FALSE;
796:
797: Else
798:
827: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
828: End If;
829:
830: Pa_Otc_Api.GetOrigTrxRef(
831: P_Building_Block_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id,
832: X_OrigTrxRef => l_old_orig_trx_ref,
833: X_Status => l_New_Timecard_Rec.Status);
834:
835: If l_New_Timecard_Rec.Status is not null Then
839: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
840: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
841: End If;
842:
843: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
844: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_New_Timecard_Rec.Status;
845: Raise G_BAD_OTL_DATA;
846:
847: End If;
840: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
841: End If;
842:
843: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
844: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_New_Timecard_Rec.Status;
845: Raise G_BAD_OTL_DATA;
846:
847: End If;
848:
865: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
866: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
867: End If;
868:
869: G_Trx_Direct_Upd_Tab(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id).BB_Index := i;
870:
871: Else
872:
873: l_insert_rec_flag := TRUE;
882: P_Exp_End_Date => l_New_Timecard_Rec.Expenditure_Ending_Date,
883: X_Batch_Name => l_Batch_Name);
884:
885: G_Stage := 'Get old orig trx ref 3 using the new bb_id/ovn ' || 'combo ' ||
886: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
887: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn);
888: If G_Debug_Mode = 'Y' Then
889: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
890: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
883: X_Batch_Name => l_Batch_Name);
884:
885: G_Stage := 'Get old orig trx ref 3 using the new bb_id/ovn ' || 'combo ' ||
886: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
887: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn);
888: If G_Debug_Mode = 'Y' Then
889: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
890: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
891: End If;
900: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
901: End If;
902:
903: Pa_Otc_Api.GetOrigTrxRef(
904: P_Building_Block_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id,
905: X_OrigTrxRef => l_old_orig_trx_ref,
906: X_Status => l_New_Timecard_Rec.Status);
907:
908: If l_New_Timecard_Rec.Status is not null Then
911: If G_Debug_Mode = 'Y' Then
912: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
913: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
914: End If;
915: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
916: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) :=
917: l_New_Timecard_Rec.Status;
918: Raise G_BAD_OTL_DATA;
919:
912: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
913: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
914: End If;
915: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
916: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) :=
917: l_New_Timecard_Rec.Status;
918: Raise G_BAD_OTL_DATA;
919:
920: End If;
920: End If;
921:
922: -- l_old_orig_trx_ref :=
923: -- Pa_Otc_Api.GetOrigTrxRef(
924: -- Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id);
925:
926: -- End bug enhancement
927:
928: G_Stage := 'Call Build Reverse Item 3.';
944: If G_Debug_Mode = 'Y' Then
945: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
946: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
947: End If;
948: G_Trx_Inserted_Tab(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id).BB_Index := i;
949:
950: End If; -- l_direct_update_flag
951:
952: End If; -- l_Old_Timecard_Rec.Status
964: -- and the user decides to click on the "Save for Later" button then all
965: -- eis in OTL timecard get an incremented ovn number and we need to account for this.
966:
967: G_Stage := 'The bb_id/ovn combo already exists in projects, bypassing BB_Id: ' ||
968: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) ||
969: ':' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn) ||
970: ' for Resource_Id: ' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Resource_Id);
971: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Stage;
972: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,1);
965: -- eis in OTL timecard get an incremented ovn number and we need to account for this.
966:
967: G_Stage := 'The bb_id/ovn combo already exists in projects, bypassing BB_Id: ' ||
968: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) ||
969: ':' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn) ||
970: ' for Resource_Id: ' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Resource_Id);
971: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Stage;
972: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,1);
973:
966:
967: G_Stage := 'The bb_id/ovn combo already exists in projects, bypassing BB_Id: ' ||
968: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) ||
969: ':' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn) ||
970: ' for Resource_Id: ' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Resource_Id);
971: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Stage;
972: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,1);
973:
974: G_Stage := 'Call Populate Project Record new 3b for positioning purposes only.';
978: End If;
979:
980: Pa_Otc_Api.PopulateProjRec(
981: P_New_Old_BB => 'NEW',
982: P_BB_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id,
983: P_Detail_Index => i,
984: P_Old_Detl_Ind => l_Old_Detail_Index,
985: P_timecard_Rec => l_New_Timecard_Rec);
986:
991: End If;
992:
993: Pa_Otc_Api.PopulateProjRec(
994: P_New_Old_BB => 'OLD',
995: P_BB_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).bb_id,
996: P_Detail_Index => i,
997: P_Old_Detl_Ind => l_Old_Detail_Index,
998: P_timecard_Rec => l_Old_Timecard_Rec);
999:
996: P_Detail_Index => i,
997: P_Old_Detl_Ind => l_Old_Detail_Index,
998: P_timecard_Rec => l_Old_Timecard_Rec);
999:
1000: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'SUCCESS';
1001: l_insert_rec_Flag := FALSE;
1002:
1003: End If;
1004:
1001: l_insert_rec_Flag := FALSE;
1002:
1003: End If;
1004:
1005: ElsIf Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Changed = 'Y' and
1006: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Deleted = 'Y' Then
1007:
1008: -- The item was deleted in OTL after it was imported into Projects.
1009: -- Need to Reverse out the original transaction.
1002:
1003: End If;
1004:
1005: ElsIf Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Changed = 'Y' and
1006: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Deleted = 'Y' Then
1007:
1008: -- The item was deleted in OTL after it was imported into Projects.
1009: -- Need to Reverse out the original transaction.
1010:
1020: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
1021: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
1022: End If;
1023:
1024: l_new_orig_trx_ref := to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
1025: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn);
1026:
1027: G_Stage := 'Call Populate Project Record new 4.';
1028: If G_Debug_Mode = 'Y' Then
1021: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
1022: End If;
1023:
1024: l_new_orig_trx_ref := to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
1025: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn);
1026:
1027: G_Stage := 'Call Populate Project Record new 4.';
1028: If G_Debug_Mode = 'Y' Then
1029: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
1031: End If;
1032:
1033: Pa_Otc_Api.PopulateProjRec(
1034: P_New_Old_BB => 'NEW',
1035: P_BB_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id,
1036: P_Detail_Index => i,
1037: P_Old_Detl_Ind => l_Old_Detail_Index,
1038: P_timecard_Rec => l_New_Timecard_Rec);
1039:
1050: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
1051: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
1052: End If;
1053:
1054: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
1055: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_New_Timecard_Rec.Status;
1056:
1057: G_Stage := 'Since Status is not null 4 occured for new record, call the ' ||
1058: 'PopulateProjRec() procedure for the old record for positioning purposes ' ||
1051: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
1052: End If;
1053:
1054: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
1055: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_New_Timecard_Rec.Status;
1056:
1057: G_Stage := 'Since Status is not null 4 occured for new record, call the ' ||
1058: 'PopulateProjRec() procedure for the old record for positioning purposes ' ||
1059: 'so as to maintain sync with new pl/sql tables.';
1063: End If;
1064:
1065: Pa_Otc_Api.PopulateProjRec(
1066: P_New_Old_BB => 'OLD',
1067: P_BB_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).bb_id,
1068: P_Detail_Index => i,
1069: P_Old_Detl_Ind => l_Old_Detail_Index,
1070: P_timecard_Rec => l_Old_Timecard_Rec);
1071:
1091: End If;
1092:
1093: Pa_Otc_Api.PopulateProjRec(
1094: P_New_Old_BB => 'OLD',
1095: P_BB_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).bb_id,
1096: P_Detail_Index => i,
1097: P_Old_Detl_Ind => l_Old_Detail_Index,
1098: P_timecard_Rec => l_Old_Timecard_Rec);
1099:
1099:
1100: -- We are not checking the status column since the call is for positioning purposes only.
1101:
1102: G_Stage := 'Create old orig trx ref 4 using bb_id/ovn ' ||
1103: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
1104: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn);
1105: If G_Debug_Mode = 'Y' Then
1106: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
1107: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
1100: -- We are not checking the status column since the call is for positioning purposes only.
1101:
1102: G_Stage := 'Create old orig trx ref 4 using bb_id/ovn ' ||
1103: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id) || ':' ||
1104: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).Ovn);
1105: If G_Debug_Mode = 'Y' Then
1106: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
1107: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
1108: End If;
1117: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
1118: End If;
1119:
1120: Pa_Otc_Api.GetOrigTrxRef(
1121: P_Building_Block_Id => Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id,
1122: X_OrigTrxRef => l_old_orig_trx_ref,
1123: X_Status => l_New_Timecard_Rec.Status);
1124:
1125: If l_New_Timecard_Rec.Status is not null Then
1129: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
1130: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
1131: End If;
1132:
1133: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
1134: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_New_Timecard_Rec.Status;
1135: Raise G_BAD_OTL_DATA;
1136:
1137: End If;
1130: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
1131: End If;
1132:
1133: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
1134: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) := l_New_Timecard_Rec.Status;
1135: Raise G_BAD_OTL_DATA;
1136:
1137: End If;
1138:
1136:
1137: End If;
1138:
1139: -- l_old_orig_trx_ref :=
1140: -- Pa_Otc_Api.GetOrigTrxRef(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id);
1141:
1142: -- End switch from function to procedure
1143:
1144: G_Stage := 'Call Build Reverse Item 4.';
1161: If G_Debug_Mode = 'Y' Then
1162: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
1163: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
1164: End If;
1165: G_Trx_Inserted_Tab(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id).BB_Index := i;
1166:
1167: End If; -- l_New_Timecard_Rec.Status
1168:
1169: End If; -- Change/Delete flags
1329: If G_Debug_Mode = 'Y' Then
1330: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
1331: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
1332: End If;
1333: G_Trx_Inserted_Tab(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id).BB_Index := i;
1334:
1335: End If;
1336:
1337: G_Stage := 'Check if need to call bulk insert.';
1360: End if; /* Bug 6698171, End of validation for terminated employee */
1361:
1362: Exception
1363: When G_BAD_OTL_DATA Then
1364: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
1365: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) :=
1366: nvl(l_New_Timecard_Rec.Status,l_Old_Timecard_Rec.Status);
1367: G_Unhandled_Except_Cnt := G_Unhandled_Except_Cnt + 1;
1368:
1361:
1362: Exception
1363: When G_BAD_OTL_DATA Then
1364: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(i) := 'ERRORS';
1365: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(i) :=
1366: nvl(l_New_Timecard_Rec.Status,l_Old_Timecard_Rec.Status);
1367: G_Unhandled_Except_Cnt := G_Unhandled_Except_Cnt + 1;
1368:
1369: G_Stage := 'Unhandled exception count is now ' || to_char(G_Unhandled_Except_Cnt);
1425: G_Txn_Rec_Count := 0;
1426:
1427: End If;
1428:
1429: G_Stage := 'This chunk has ' || to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks.COUNT) ||
1430: ' records, of which ' || to_char(Pa_Trx_Import.G_Batch_Size) || ' are to be processed' ||
1431: ' in the next phase of Trx Import.';
1432: If G_Debug_Mode = 'Y' Then
1433: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2274: If G_Debug_Mode = 'Y' Then
2275: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2276: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2277: End If;
2278: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(G_Trx_Inserted_Tab(TrxRecord.Detail_BB_Id).BB_Index) :=
2279: 'SUCCESS';
2280:
2281: ElsIf TrxRecord.Transaction_Status_Code = 'R' Then
2282:
2293: * So we check to first see if it exists in the pl/sql table and then if it does
2294: * we update the otl pl/sql table accordingly run.
2295: */
2296:
2297: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Status(G_Trx_Inserted_Tab(TrxRecord.Detail_BB_Id).BB_Index) := 'ERRORS';
2298:
2299: If TrxRecord.Transaction_Rejection_Code is not null Then
2300:
2301: Fnd_Message.Set_Name('PA', TrxRecord.Transaction_Rejection_Code);
2298:
2299: If TrxRecord.Transaction_Rejection_Code is not null Then
2300:
2301: Fnd_Message.Set_Name('PA', TrxRecord.Transaction_Rejection_Code);
2302: Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(G_Trx_Inserted_Tab(TrxRecord.Detail_BB_Id).BB_Index) :=
2303: Substr(Fnd_Message.Get,1,2000);
2304:
2305: -- Begin Bug 3355510 Don't needed to explicitly set the value to null with by default it already is. This was the problem.
2306: -- Else
2304:
2305: -- Begin Bug 3355510 Don't needed to explicitly set the value to null with by default it already is. This was the problem.
2306: -- Else
2307: --
2308: -- Hxc_User_Type_Definition_Grp.T_Tx_Detail_Exception(G_Trx_Inserted_Tab(TrxRecord.Detail_BB_Id).BB_Index) := Null;
2309: -- End Bug 3355510
2310:
2311: End If;
2312:
2754: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2755: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2756: End If;
2757:
2758: P_Timecard_Rec.Incurred_By_Person_Id := Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Resource_Id;
2759:
2760: G_Stage := 'Get New Detail Building Block data. Quantity: ' ||
2761: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Measure);
2762: If G_Debug_Mode = 'Y' Then
2757:
2758: P_Timecard_Rec.Incurred_By_Person_Id := Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Resource_Id;
2759:
2760: G_Stage := 'Get New Detail Building Block data. Quantity: ' ||
2761: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Measure);
2762: If G_Debug_Mode = 'Y' Then
2763: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2764: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2765: End If;
2763: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2764: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2765: End If;
2766:
2767: P_Timecard_Rec.Quantity := Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Measure;
2768:
2769: /* begin bug 5412033 */
2770: G_Stage := 'Get New Detail Building Block data. Expenditure Item Comment: ' ||
2771: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text ||
2767: P_Timecard_Rec.Quantity := Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Measure;
2768:
2769: /* begin bug 5412033 */
2770: G_Stage := 'Get New Detail Building Block data. Expenditure Item Comment: ' ||
2771: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text ||
2772: '(End of comment)';
2773: If G_Debug_Mode = 'Y' Then
2774: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2775: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2779: If G_Debug_Mode = 'Y' Then
2780: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2781: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2782: End If;
2783: l_comment_text := Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text;
2784:
2785: G_Stage := 'Checking if comment is not null.';
2786: If G_Debug_Mode = 'Y' Then
2787: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2798:
2799: /* Bug 2930551 If the length of the comment_text is greater than 240 then we should only
2800: grab the first 240 characters. */
2801: -- begin bug 4926265
2802: -- If length(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text) > 240 Then
2803: -- If lengthb(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text) > 240 Then
2804: If lengthb(l_comment_text) > 240 Then
2805:
2806: If G_Debug_Mode = 'Y' Then
2799: /* Bug 2930551 If the length of the comment_text is greater than 240 then we should only
2800: grab the first 240 characters. */
2801: -- begin bug 4926265
2802: -- If length(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text) > 240 Then
2803: -- If lengthb(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text) > 240 Then
2804: If lengthb(l_comment_text) > 240 Then
2805:
2806: If G_Debug_Mode = 'Y' Then
2807: G_Stage := 'Comment_Text length > 240.';
2809: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2810: End If;
2811:
2812: -- P_Timecard_Rec.Expenditure_Item_Comment :=
2813: -- substr(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text,1,240);
2814: -- P_Timecard_Rec.Expenditure_Item_Comment :=
2815: -- substrb(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text,1,240);
2816: -- end bug 4926265
2817: P_Timecard_Rec.Expenditure_Item_Comment := substrb(l_comment_text,1,240);
2811:
2812: -- P_Timecard_Rec.Expenditure_Item_Comment :=
2813: -- substr(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text,1,240);
2814: -- P_Timecard_Rec.Expenditure_Item_Comment :=
2815: -- substrb(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text,1,240);
2816: -- end bug 4926265
2817: P_Timecard_Rec.Expenditure_Item_Comment := substrb(l_comment_text,1,240);
2818:
2819: Else
2824: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2825: End If;
2826:
2827: -- P_Timecard_Rec.Expenditure_Item_Comment :=
2828: -- Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Comment_Text;
2829: P_Timecard_Rec.Expenditure_Item_Comment := l_comment_text;
2830:
2831: End If;
2832:
2848: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2849: End If;
2850:
2851: P_Timecard_Rec.Expenditure_Item_Date :=
2852: TRUNC(Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Start_Time);
2853:
2854: If P_Timecard_Rec.Expenditure_Item_Date Is Null Then
2855:
2856: G_Stage := 'Get New Detail Building Block data. Exp Item Date, second attempt.';
2866: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2867: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2868: End If;
2869:
2870: While i <= Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks.LAST and NOT l_Rec_Found
2871: Loop
2872:
2873: G_Stage := 'Check if the current record is the correct DAY ' ||
2874: 'record to grab Exp Item Date from.';
2876: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2877: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2878: End If;
2879:
2880: If Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks(i).BB_Id =
2881: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Parent_BB_Id Then
2882:
2883: G_Stage := 'Grab the Exp Item Date from new day building block record.';
2884: If G_Debug_Mode = 'Y' Then
2877: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2878: End If;
2879:
2880: If Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks(i).BB_Id =
2881: Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(P_Detail_Index).Parent_BB_Id Then
2882:
2883: G_Stage := 'Grab the Exp Item Date from new day building block record.';
2884: If G_Debug_Mode = 'Y' Then
2885: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2885: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2886: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2887: End If;
2888:
2889: P_Timecard_Rec.Expenditure_Item_Date := Trunc(Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks(i).Start_Time);
2890: l_Rec_Found := TRUE;
2891:
2892: End If;
2893:
2955: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2956: End If;
2957:
2958: G_Stage := 'Current position in NEW attribute pl/sql table bb_id value is: ' ||
2959: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).BB_Id);
2960: If G_Debug_Mode = 'Y' Then
2961: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2962: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2963: End If;
2961: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2962: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2963: End If;
2964:
2965: While i <= Hxc_User_Type_Definition_Grp.T_Detail_Attributes.LAST And
2966: Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).BB_Id = P_BB_Id
2967: Loop
2968:
2969: If Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PROJECT_ID' Then
2962: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2963: End If;
2964:
2965: While i <= Hxc_User_Type_Definition_Grp.T_Detail_Attributes.LAST And
2966: Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).BB_Id = P_BB_Id
2967: Loop
2968:
2969: If Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PROJECT_ID' Then
2970:
2965: While i <= Hxc_User_Type_Definition_Grp.T_Detail_Attributes.LAST And
2966: Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).BB_Id = P_BB_Id
2967: Loop
2968:
2969: If Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PROJECT_ID' Then
2970:
2971: G_Stage := 'Retrieved Project Id: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
2972: ' Index position: ' || to_char(i);
2973: If G_Debug_Mode = 'Y' Then
2967: Loop
2968:
2969: If Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PROJECT_ID' Then
2970:
2971: G_Stage := 'Retrieved Project Id: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
2972: ' Index position: ' || to_char(i);
2973: If G_Debug_Mode = 'Y' Then
2974: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2975: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2974: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2975: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2976: End If;
2977:
2978: P_Timecard_Rec.Project_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
2979:
2980: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'TASK_ID' Then
2981:
2982: G_Stage := 'Retrieved Task Id: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
2976: End If;
2977:
2978: P_Timecard_Rec.Project_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
2979:
2980: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'TASK_ID' Then
2981:
2982: G_Stage := 'Retrieved Task Id: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
2983: ' Index position: ' || to_char(i);
2984: If G_Debug_Mode = 'Y' Then
2978: P_Timecard_Rec.Project_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
2979:
2980: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'TASK_ID' Then
2981:
2982: G_Stage := 'Retrieved Task Id: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
2983: ' Index position: ' || to_char(i);
2984: If G_Debug_Mode = 'Y' Then
2985: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2986: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2985: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
2986: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
2987: End If;
2988:
2989: P_Timecard_Rec.Task_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
2990:
2991: -- Start: Added for CBS Enhancement Bug 16220146
2992: If P_Timecard_Rec.Project_Id Is Not Null And P_Timecard_Rec.Task_Id Is Not Null Then
2993:
3022: End If;
3023: End If;
3024: -- End: Added for CBS Enhancement Bug 16220146
3025:
3026: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'EXPENDITURE_TYPE' Then
3027:
3028: G_Stage := 'Retrieved Expenditure Type: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3029: ' Index position: ' || to_char(i);
3030: If G_Debug_Mode = 'Y' Then
3024: -- End: Added for CBS Enhancement Bug 16220146
3025:
3026: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'EXPENDITURE_TYPE' Then
3027:
3028: G_Stage := 'Retrieved Expenditure Type: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3029: ' Index position: ' || to_char(i);
3030: If G_Debug_Mode = 'Y' Then
3031: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3032: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3031: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3032: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3033: End If;
3034:
3035: P_Timecard_Rec.Expenditure_Type := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3036:
3037: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'SYSTEM_LINKAGE_FUNCTION' Then
3038:
3039: G_Stage := 'Retrieve System Linkage Function: ' ||
3033: End If;
3034:
3035: P_Timecard_Rec.Expenditure_Type := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3036:
3037: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'SYSTEM_LINKAGE_FUNCTION' Then
3038:
3039: G_Stage := 'Retrieve System Linkage Function: ' ||
3040: Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3041: ' Index position: ' || to_char(i);
3036:
3037: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'SYSTEM_LINKAGE_FUNCTION' Then
3038:
3039: G_Stage := 'Retrieve System Linkage Function: ' ||
3040: Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3041: ' Index position: ' || to_char(i);
3042: If G_Debug_Mode = 'Y' Then
3043: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3044: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3043: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3044: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3045: End If;
3046:
3047: P_Timecard_Rec.System_Linkage_Function := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3048:
3049: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'OVERRIDING_APPROVER_PERSON_ID' Then
3050:
3051: G_Stage := 'Retrieve Overidding Approver Person Id: ' ||
3045: End If;
3046:
3047: P_Timecard_Rec.System_Linkage_Function := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3048:
3049: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'OVERRIDING_APPROVER_PERSON_ID' Then
3050:
3051: G_Stage := 'Retrieve Overidding Approver Person Id: ' ||
3052: Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3053: ' Index position: ' || to_char(i);
3048:
3049: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'OVERRIDING_APPROVER_PERSON_ID' Then
3050:
3051: G_Stage := 'Retrieve Overidding Approver Person Id: ' ||
3052: Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3053: ' Index position: ' || to_char(i);
3054: If G_Debug_Mode = 'Y' Then
3055: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3056: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3055: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3056: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3057: End If;
3058:
3059: P_Timecard_Rec.Override_Approver_Person_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3060:
3061: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'DUMMY PAEXPITDFF CONTEXT' Then
3062:
3063: /* The value column contains the following format:
3057: End If;
3058:
3059: P_Timecard_Rec.Override_Approver_Person_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3060:
3061: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'DUMMY PAEXPITDFF CONTEXT' Then
3062:
3063: /* The value column contains the following format:
3064: * 'PAEXPITDFF -
3065: * So to get the attribute_category out will need to find the position
3065: * So to get the attribute_category out will need to find the position
3066: * for ' - ' that is: '
3067: */
3068:
3069: G_Stage := 'Get new attribute category: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3070: ' Index position: ' || to_char(i);
3071: If G_Debug_Mode = 'Y' Then
3072: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3073: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3072: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3073: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3074: End If;
3075:
3076: l_attribute_category := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3077:
3078: /* Need to check for null so as to avoid the unecessary use of errors using instr
3079: * to avoid unhandled exceptions.
3080: */
3096: P_Timecard_Rec.Attribute_Category := substr(l_attribute_category,instr(l_attribute_category,' - ') + 3);
3097:
3098: End If;
3099:
3100: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE1' Then
3101:
3102: G_Stage := 'Got new attribute1: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3103: ' Index position: ' || to_char(i);
3104: If G_Debug_Mode = 'Y' Then
3098: End If;
3099:
3100: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE1' Then
3101:
3102: G_Stage := 'Got new attribute1: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3103: ' Index position: ' || to_char(i);
3104: If G_Debug_Mode = 'Y' Then
3105: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3106: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3105: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3106: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3107: End If;
3108:
3109: P_Timecard_Rec.Attribute1 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3110:
3111: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE2' Then
3112:
3113: G_Stage := 'Got new attribute2: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3107: End If;
3108:
3109: P_Timecard_Rec.Attribute1 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3110:
3111: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE2' Then
3112:
3113: G_Stage := 'Got new attribute2: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3114: ' Index position: ' || to_char(i);
3115: If G_Debug_Mode = 'Y' Then
3109: P_Timecard_Rec.Attribute1 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3110:
3111: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE2' Then
3112:
3113: G_Stage := 'Got new attribute2: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3114: ' Index position: ' || to_char(i);
3115: If G_Debug_Mode = 'Y' Then
3116: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3117: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3116: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3117: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3118: End If;
3119:
3120: P_Timecard_Rec.Attribute2 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3121:
3122: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE3' Then
3123:
3124: G_Stage := 'Got new attribute3: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3118: End If;
3119:
3120: P_Timecard_Rec.Attribute2 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3121:
3122: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE3' Then
3123:
3124: G_Stage := 'Got new attribute3: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3125: ' Index position: ' || to_char(i);
3126: If G_Debug_Mode = 'Y' Then
3120: P_Timecard_Rec.Attribute2 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3121:
3122: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE3' Then
3123:
3124: G_Stage := 'Got new attribute3: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3125: ' Index position: ' || to_char(i);
3126: If G_Debug_Mode = 'Y' Then
3127: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3128: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3127: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3128: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3129: End If;
3130:
3131: P_Timecard_Rec.Attribute3 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3132:
3133: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE4' Then
3134:
3135: G_Stage := 'Got new attribute4: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3129: End If;
3130:
3131: P_Timecard_Rec.Attribute3 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3132:
3133: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE4' Then
3134:
3135: G_Stage := 'Got new attribute4: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3136: ' Index position: ' || to_char(i);
3137: If G_Debug_Mode = 'Y' Then
3131: P_Timecard_Rec.Attribute3 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3132:
3133: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE4' Then
3134:
3135: G_Stage := 'Got new attribute4: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3136: ' Index position: ' || to_char(i);
3137: If G_Debug_Mode = 'Y' Then
3138: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3139: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3138: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3139: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3140: End If;
3141:
3142: P_Timecard_Rec.Attribute4 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3143:
3144: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE5' Then
3145:
3146: G_Stage := 'Got new attribute5: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3140: End If;
3141:
3142: P_Timecard_Rec.Attribute4 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3143:
3144: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE5' Then
3145:
3146: G_Stage := 'Got new attribute5: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3147: ' Index position: ' || to_char(i);
3148: If G_Debug_Mode = 'Y' Then
3142: P_Timecard_Rec.Attribute4 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3143:
3144: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE5' Then
3145:
3146: G_Stage := 'Got new attribute5: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3147: ' Index position: ' || to_char(i);
3148: If G_Debug_Mode = 'Y' Then
3149: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3150: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3149: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3150: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3151: End If;
3152:
3153: P_Timecard_Rec.Attribute5 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3154:
3155: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE6' Then
3156:
3157: G_Stage := 'Got new attribute6: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3151: End If;
3152:
3153: P_Timecard_Rec.Attribute5 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3154:
3155: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE6' Then
3156:
3157: G_Stage := 'Got new attribute6: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3158: ' Index position: ' || to_char(i);
3159: If G_Debug_Mode = 'Y' Then
3153: P_Timecard_Rec.Attribute5 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3154:
3155: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE6' Then
3156:
3157: G_Stage := 'Got new attribute6: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3158: ' Index position: ' || to_char(i);
3159: If G_Debug_Mode = 'Y' Then
3160: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3161: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3160: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3161: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3162: End If;
3163:
3164: P_Timecard_Rec.Attribute6 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3165:
3166: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE7' Then
3167:
3168: G_Stage := 'Got new attribute7: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3162: End If;
3163:
3164: P_Timecard_Rec.Attribute6 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3165:
3166: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE7' Then
3167:
3168: G_Stage := 'Got new attribute7: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3169: ' Index position: ' || to_char(i);
3170: If G_Debug_Mode = 'Y' Then
3164: P_Timecard_Rec.Attribute6 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3165:
3166: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE7' Then
3167:
3168: G_Stage := 'Got new attribute7: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3169: ' Index position: ' || to_char(i);
3170: If G_Debug_Mode = 'Y' Then
3171: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3172: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3171: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3172: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3173: End If;
3174:
3175: P_Timecard_Rec.Attribute7 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3176:
3177: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE8' Then
3178:
3179: G_Stage := 'Got new attribute8: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3173: End If;
3174:
3175: P_Timecard_Rec.Attribute7 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3176:
3177: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE8' Then
3178:
3179: G_Stage := 'Got new attribute8: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3180: ' Index position: ' || to_char(i);
3181: If G_Debug_Mode = 'Y' Then
3175: P_Timecard_Rec.Attribute7 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3176:
3177: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE8' Then
3178:
3179: G_Stage := 'Got new attribute8: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3180: ' Index position: ' || to_char(i);
3181: If G_Debug_Mode = 'Y' Then
3182: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3183: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3182: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3183: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3184: End If;
3185:
3186: P_Timecard_Rec.Attribute8 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3187:
3188: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE9' Then
3189:
3190: G_Stage := 'Got new attribute9: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3184: End If;
3185:
3186: P_Timecard_Rec.Attribute8 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3187:
3188: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE9' Then
3189:
3190: G_Stage := 'Got new attribute9: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3191: ' Index position: ' || to_char(i);
3192: If G_Debug_Mode = 'Y' Then
3186: P_Timecard_Rec.Attribute8 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3187:
3188: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE9' Then
3189:
3190: G_Stage := 'Got new attribute9: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3191: ' Index position: ' || to_char(i);
3192: If G_Debug_Mode = 'Y' Then
3193: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3194: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3193: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3194: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3195: End If;
3196:
3197: P_Timecard_Rec.Attribute9 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3198:
3199: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE10' Then
3200:
3201: G_Stage := 'Got new attribute10: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3195: End If;
3196:
3197: P_Timecard_Rec.Attribute9 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3198:
3199: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE10' Then
3200:
3201: G_Stage := 'Got new attribute10: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3202: ' Index position: ' || to_char(i);
3203: If G_Debug_Mode = 'Y' Then
3197: P_Timecard_Rec.Attribute9 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3198:
3199: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PADFFATTRIBUTE10' Then
3200:
3201: G_Stage := 'Got new attribute10: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3202: ' Index position: ' || to_char(i);
3203: If G_Debug_Mode = 'Y' Then
3204: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3205: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3204: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3205: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3206: End If;
3207:
3208: P_Timecard_Rec.Attribute10 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3209:
3210: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'BILLABLE_FLAG' Then
3211:
3212: G_Stage := 'Got new Billable Flag: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3206: End If;
3207:
3208: P_Timecard_Rec.Attribute10 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3209:
3210: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'BILLABLE_FLAG' Then
3211:
3212: G_Stage := 'Got new Billable Flag: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3213: ' Index position: ' || to_char(i);
3214: If G_Debug_Mode = 'Y' Then
3208: P_Timecard_Rec.Attribute10 := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3209:
3210: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'BILLABLE_FLAG' Then
3211:
3212: G_Stage := 'Got new Billable Flag: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3213: ' Index position: ' || to_char(i);
3214: If G_Debug_Mode = 'Y' Then
3215: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3216: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3215: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3216: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3217: End If;
3218:
3219: P_Timecard_Rec.Billable_Flag := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3220:
3221: -- Begin PA.M/CWK changes
3222: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PO LINE ID' Then
3223:
3218:
3219: P_Timecard_Rec.Billable_Flag := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3220:
3221: -- Begin PA.M/CWK changes
3222: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PO LINE ID' Then
3223:
3224: G_Stage := 'Retrieved Po Line Id: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3225: ' Index position: ' || to_char(i);
3226: If G_Debug_Mode = 'Y' Then
3220:
3221: -- Begin PA.M/CWK changes
3222: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PO LINE ID' Then
3223:
3224: G_Stage := 'Retrieved Po Line Id: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3225: ' Index position: ' || to_char(i);
3226: If G_Debug_Mode = 'Y' Then
3227: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3228: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3227: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3228: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3229: End If;
3230:
3231: P_Timecard_Rec.PO_Line_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3232:
3233: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PO PRICE TYPE' Then
3234:
3235: G_Stage := 'Retrieved Po Price Type: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3229: End If;
3230:
3231: P_Timecard_Rec.PO_Line_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3232:
3233: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PO PRICE TYPE' Then
3234:
3235: G_Stage := 'Retrieved Po Price Type: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3236: ' Index position: ' || to_char(i);
3237: If G_Debug_Mode = 'Y' Then
3231: P_Timecard_Rec.PO_Line_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3232:
3233: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'PO PRICE TYPE' Then
3234:
3235: G_Stage := 'Retrieved Po Price Type: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3236: ' Index position: ' || to_char(i);
3237: If G_Debug_Mode = 'Y' Then
3238: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3239: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3238: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3239: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3240: End If;
3241:
3242: P_Timecard_Rec.PO_Price_Type := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3243:
3244: -- End PA.M/CWK changes
3245: -- bug 10253400: Payroll integration enhancement for 12.2..start
3246: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'JOB_ID' Then
3242: P_Timecard_Rec.PO_Price_Type := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3243:
3244: -- End PA.M/CWK changes
3245: -- bug 10253400: Payroll integration enhancement for 12.2..start
3246: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'JOB_ID' Then
3247:
3248: G_Stage := 'Retrieved Job ID: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3249: ' Index position: ' || to_char(i);
3250: If G_Debug_Mode = 'Y' Then
3244: -- End PA.M/CWK changes
3245: -- bug 10253400: Payroll integration enhancement for 12.2..start
3246: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'JOB_ID' Then
3247:
3248: G_Stage := 'Retrieved Job ID: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3249: ' Index position: ' || to_char(i);
3250: If G_Debug_Mode = 'Y' Then
3251: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3252: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3251: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3252: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3253: End If;
3254:
3255: P_Timecard_Rec.Job_id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3256: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'LOCATION_ID' Then
3257:
3258: G_Stage := 'Retrieved Location ID: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3259: ' Index position: ' || to_char(i);
3252: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3253: End If;
3254:
3255: P_Timecard_Rec.Job_id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3256: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'LOCATION_ID' Then
3257:
3258: G_Stage := 'Retrieved Location ID: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3259: ' Index position: ' || to_char(i);
3260: If G_Debug_Mode = 'Y' Then
3254:
3255: P_Timecard_Rec.Job_id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3256: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'LOCATION_ID' Then
3257:
3258: G_Stage := 'Retrieved Location ID: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3259: ' Index position: ' || to_char(i);
3260: If G_Debug_Mode = 'Y' Then
3261: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3262: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3261: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3262: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3263: End If;
3264:
3265: P_Timecard_Rec.Location_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3266: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'WORKTYPE_ID' Then
3267:
3268: G_Stage := 'Retrieved Work Type ID: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3269: ' Index position: ' || to_char(i);
3262: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3263: End If;
3264:
3265: P_Timecard_Rec.Location_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3266: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'WORKTYPE_ID' Then
3267:
3268: G_Stage := 'Retrieved Work Type ID: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3269: ' Index position: ' || to_char(i);
3270: If G_Debug_Mode = 'Y' Then
3264:
3265: P_Timecard_Rec.Location_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3266: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'WORKTYPE_ID' Then
3267:
3268: G_Stage := 'Retrieved Work Type ID: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3269: ' Index position: ' || to_char(i);
3270: If G_Debug_Mode = 'Y' Then
3271: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3272: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3271: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3272: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3273: End If;
3274:
3275: P_Timecard_Rec.Work_Type_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3276: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'DUMMY ELEMENT CONTEXT' Then
3277:
3278: /* The value column contains the following format:
3279: * 'ELEMENT -
3272: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3273: End If;
3274:
3275: P_Timecard_Rec.Work_Type_Id := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3276: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Field_Name) = 'DUMMY ELEMENT CONTEXT' Then
3277:
3278: /* The value column contains the following format:
3279: * 'ELEMENT -
3280: * So to get the attribute_category out will need to find the position
3280: * So to get the attribute_category out will need to find the position
3281: * for ' - ' that is: '
3282: */
3283:
3284: G_Stage := 'Get new attribute category: ' || Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value ||
3285: ' Index position: ' || to_char(i);
3286: If G_Debug_Mode = 'Y' Then
3287: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3288: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3287: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3288: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3289: End If;
3290:
3291: l_attribute_category := Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).Value;
3292:
3293: /* Need to check for null so as to avoid the unecessary use of errors using instr
3294: * to avoid unhandled exceptions.
3295: */
3339: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3340: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3341: End If;
3342:
3343: If i > Hxc_User_Type_Definition_Grp.T_Detail_Attributes.LAST Then
3344:
3345: G_Stage := 'Reached last record index position ' ||
3346: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Attributes.LAST) || ' ' ||
3347: 'in NEW attrib pl/sql table.';
3342:
3343: If i > Hxc_User_Type_Definition_Grp.T_Detail_Attributes.LAST Then
3344:
3345: G_Stage := 'Reached last record index position ' ||
3346: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Attributes.LAST) || ' ' ||
3347: 'in NEW attrib pl/sql table.';
3348: If G_Debug_Mode = 'Y' Then
3349: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3350: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3349: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3350: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3351: End If;
3352:
3353: ElsIf Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).BB_Id <> P_BB_Id Then
3354:
3355: G_Stage := 'P_BB_Id: ' || to_char(P_BB_Id) || ' -- ' ||
3356: 'BB_Id in NEW attrib pl/sql: ' ||
3357: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).BB_Id) || '. ' ||
3353: ElsIf Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).BB_Id <> P_BB_Id Then
3354:
3355: G_Stage := 'P_BB_Id: ' || to_char(P_BB_Id) || ' -- ' ||
3356: 'BB_Id in NEW attrib pl/sql: ' ||
3357: to_char(Hxc_User_Type_Definition_Grp.T_Detail_Attributes(i).BB_Id) || '. ' ||
3358: 'They do not match!';
3359: If G_Debug_Mode = 'Y' Then
3360: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3361: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3406:
3407: Elsif P_New_Old_BB = 'OLD' Then
3408:
3409: G_Stage := 'Got Old Detail Building Block data. Incurred by Person Id(Resource Id): ' ||
3410: to_char(Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Resource_Id);
3411: If G_Debug_Mode = 'Y' Then
3412: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3413: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3414: End If;
3412: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3413: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3414: End If;
3415:
3416: P_Timecard_Rec.Incurred_By_Person_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Resource_Id;
3417:
3418: G_Stage := 'Got Old Detail Building Block data. Incurred by Person Id';
3419: If G_Debug_Mode = 'Y' Then
3420: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3421: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3422: End If;
3423:
3424: G_Stage := 'Got Old Detail Building Block data. Quantity: ' ||
3425: to_char(Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Measure);
3426: If G_Debug_Mode = 'Y' Then
3427: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3428: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3429: End If;
3427: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3428: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3429: End If;
3430:
3431: P_Timecard_Rec.Quantity := Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Measure;
3432:
3433: /* Begin bug 5412033 */
3434: G_Stage := 'Get Old Detail Building Block data. Expenditure Item Comment: ' ||
3435: Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text ||
3431: P_Timecard_Rec.Quantity := Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Measure;
3432:
3433: /* Begin bug 5412033 */
3434: G_Stage := 'Get Old Detail Building Block data. Expenditure Item Comment: ' ||
3435: Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text ||
3436: '(End of comment)';
3437: If G_Debug_Mode = 'Y' Then
3438: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3439: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3443: If G_Debug_Mode = 'Y' Then
3444: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3445: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3446: End If;
3447: l_comment_text := Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text;
3448:
3449: G_Stage := 'Checking if Old comment is not null.';
3450: If G_Debug_Mode = 'Y' Then
3451: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3462:
3463: /* Bug 2930551 If the length of the comment_text is greater than 240 then we should only
3464: grab the first 240 characters. */
3465: -- begin bug 4926265
3466: -- If length(Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text) > 240 Then
3467: -- If lengthb(Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text) > 240 Then
3468: If lengthb(l_comment_text) > 240 Then
3469:
3470: If G_Debug_Mode = 'Y' Then
3463: /* Bug 2930551 If the length of the comment_text is greater than 240 then we should only
3464: grab the first 240 characters. */
3465: -- begin bug 4926265
3466: -- If length(Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text) > 240 Then
3467: -- If lengthb(Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text) > 240 Then
3468: If lengthb(l_comment_text) > 240 Then
3469:
3470: If G_Debug_Mode = 'Y' Then
3471: G_Stage := 'Old Comment_Text length > 240.';
3473: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3474: End If;
3475:
3476: -- P_Timecard_Rec.Expenditure_Item_Comment :=
3477: -- substr(Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text,1,240);
3478: -- P_Timecard_Rec.Expenditure_Item_Comment :=
3479: -- substrb(Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text,1,240);
3480: -- end bug 4926265
3481: P_Timecard_Rec.Expenditure_Item_Comment := substrb(l_comment_text,1,240);
3475:
3476: -- P_Timecard_Rec.Expenditure_Item_Comment :=
3477: -- substr(Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text,1,240);
3478: -- P_Timecard_Rec.Expenditure_Item_Comment :=
3479: -- substrb(Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text,1,240);
3480: -- end bug 4926265
3481: P_Timecard_Rec.Expenditure_Item_Comment := substrb(l_comment_text,1,240);
3482:
3483: Else
3488: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3489: End If;
3490:
3491: -- P_Timecard_Rec.Expenditure_Item_Comment :=
3492: -- Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Comment_Text;
3493: P_Timecard_Rec.Expenditure_Item_Comment := l_comment_text;
3494:
3495: End If;
3496:
3512: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3513: End If;
3514:
3515: /* added Trunc function for bug 9793882 */
3516: P_Timecard_Rec.Expenditure_Item_Date := trunc(Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Start_Time);
3517:
3518: If P_Timecard_Rec.Expenditure_Item_Date Is Null Then
3519:
3520: G_Stage := 'Get Old Day Building Block data. Exp Item Date. Second Attempt.';
3530: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3531: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3532: End If;
3533:
3534: While j <= Hxc_User_Type_Definition_Grp.T_Old_Day_Bld_Blks.LAST and NOT l_Rec_Found
3535: Loop
3536:
3537: G_Stage := 'Check if the current record is the correct DAY ' ||
3538: 'record to grab Exp Item Date from.';
3540: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3541: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3542: End If;
3543:
3544: If Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks(j).BB_Id =
3545: Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Parent_BB_Id Then
3546:
3547: G_Stage := 'Grab the Exp Item Date from old day building block record.';
3548: If G_Debug_Mode = 'Y' Then
3541: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3542: End If;
3543:
3544: If Hxc_User_Type_Definition_Grp.T_Day_Bld_Blks(j).BB_Id =
3545: Hxc_User_Type_Definition_Grp.T_Old_Detail_Bld_Blks(P_Old_Detl_Ind).Parent_BB_Id Then
3546:
3547: G_Stage := 'Grab the Exp Item Date from old day building block record.';
3548: If G_Debug_Mode = 'Y' Then
3549: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3549: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3550: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3551: End If;
3552:
3553: P_Timecard_Rec.Expenditure_Item_Date := Trunc(Hxc_User_Type_Definition_Grp.T_Old_Day_Bld_Blks(j).Start_Time);
3554: l_Rec_Found := TRUE;
3555:
3556: End If;
3557:
3614: Pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3615: End If;
3616:
3617: G_Stage := 'Current position in OLD attribute pl/sql table bb_id value: ' ||
3618: to_char(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).BB_Id);
3619: If G_Debug_Mode = 'Y' Then
3620: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3621: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3622: End If;
3620: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3621: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3622: End If;
3623:
3624: While j <= Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes.LAST and
3625: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).BB_Id = P_BB_Id
3626: Loop
3627:
3628: If Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PROJECT_ID' Then
3621: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3622: End If;
3623:
3624: While j <= Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes.LAST and
3625: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).BB_Id = P_BB_Id
3626: Loop
3627:
3628: If Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PROJECT_ID' Then
3629:
3624: While j <= Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes.LAST and
3625: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).BB_Id = P_BB_Id
3626: Loop
3627:
3628: If Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PROJECT_ID' Then
3629:
3630: G_Stage := 'Got old Project Id: ' || Hxc_Generic_Retrieval_Pkg.T_Old_Detail_Attributes(j).Value ||
3631: ' Index position: ' || to_char(j);
3632: If G_Debug_Mode = 'Y' Then
3633: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3634: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3635: End If;
3636:
3637: P_Timecard_Rec.Project_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3638:
3639: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'TASK_ID' Then
3640:
3641: G_Stage := 'Got old Task Id: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3635: End If;
3636:
3637: P_Timecard_Rec.Project_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3638:
3639: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'TASK_ID' Then
3640:
3641: G_Stage := 'Got old Task Id: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3642: ' Index position: ' || to_char(j);
3643: If G_Debug_Mode = 'Y' Then
3637: P_Timecard_Rec.Project_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3638:
3639: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'TASK_ID' Then
3640:
3641: G_Stage := 'Got old Task Id: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3642: ' Index position: ' || to_char(j);
3643: If G_Debug_Mode = 'Y' Then
3644: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3645: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3644: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3645: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3646: End If;
3647:
3648: P_Timecard_Rec.Task_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3649:
3650: -- Start: Added for CBS Enhancement Bug 16220146
3651: If P_Timecard_Rec.Project_Id Is Not Null And P_Timecard_Rec.Task_Id Is Not Null Then
3652:
3675: End If;
3676: End If;
3677: -- End: Added for CBS Enhancement Bug 16220146
3678:
3679: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'EXPENDITURE_TYPE' Then
3680:
3681: G_Stage := 'Got old Expenditure Type: ' ||
3682: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3683: ' Index position: ' || to_char(j);
3678:
3679: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'EXPENDITURE_TYPE' Then
3680:
3681: G_Stage := 'Got old Expenditure Type: ' ||
3682: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3683: ' Index position: ' || to_char(j);
3684: If G_Debug_Mode = 'Y' Then
3685: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3686: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3685: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3686: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3687: End If;
3688:
3689: P_Timecard_Rec.Expenditure_Type := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3690:
3691: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'SYSTEM_LINKAGE_FUNCTION' Then
3692:
3693: G_Stage := 'Got old System Linkage Function: ' ||
3687: End If;
3688:
3689: P_Timecard_Rec.Expenditure_Type := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3690:
3691: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'SYSTEM_LINKAGE_FUNCTION' Then
3692:
3693: G_Stage := 'Got old System Linkage Function: ' ||
3694: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3695: ' Index position: ' || to_char(j);
3690:
3691: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'SYSTEM_LINKAGE_FUNCTION' Then
3692:
3693: G_Stage := 'Got old System Linkage Function: ' ||
3694: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3695: ' Index position: ' || to_char(j);
3696: If G_Debug_Mode = 'Y' Then
3697: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3698: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3697: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3698: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3699: End If;
3700:
3701: P_Timecard_Rec.System_Linkage_Function := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3702:
3703: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'OVERRIDING_APPROVER_PERSON_ID' Then
3704:
3705: G_Stage := 'Got old Overriding Approver Person Id: ' ||
3699: End If;
3700:
3701: P_Timecard_Rec.System_Linkage_Function := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3702:
3703: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'OVERRIDING_APPROVER_PERSON_ID' Then
3704:
3705: G_Stage := 'Got old Overriding Approver Person Id: ' ||
3706: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3707: ' Index position: ' || to_char(j);
3702:
3703: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'OVERRIDING_APPROVER_PERSON_ID' Then
3704:
3705: G_Stage := 'Got old Overriding Approver Person Id: ' ||
3706: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3707: ' Index position: ' || to_char(j);
3708: If G_Debug_Mode = 'Y' Then
3709: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3710: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3709: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3710: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3711: End If;
3712:
3713: P_Timecard_Rec.Override_Approver_Person_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3714:
3715: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'DUMMY PAEXPITDFF CONTEXT' Then
3716:
3717: /* The value column contains the following format:
3711: End If;
3712:
3713: P_Timecard_Rec.Override_Approver_Person_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3714:
3715: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'DUMMY PAEXPITDFF CONTEXT' Then
3716:
3717: /* The value column contains the following format:
3718: * 'PAEXPITDFF -
3719: * So to get the attribute_category out will need to find the position
3720: * for ' - ' that is: '
3721: */
3722:
3723: G_Stage := 'Get old attribute category info: ' ||
3724: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3725: ' Index position: ' || to_char(j);
3726: If G_Debug_Mode = 'Y' Then
3727: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3728: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3727: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3728: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3729: End If;
3730:
3731: l_attribute_category := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3732:
3733: /* Need to check for null to avoid the unecessary errors using instr
3734: * avoiding unhandled exceptions.
3735: */
3750: P_Timecard_Rec.Attribute_Category := substr(l_attribute_category,instr(l_attribute_category,' - ') + 3);
3751:
3752: End If;
3753:
3754: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE1' Then
3755:
3756: G_Stage := 'Got old Attribute1: ' ||
3757: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3758: ' Index position: ' || to_char(j);
3753:
3754: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE1' Then
3755:
3756: G_Stage := 'Got old Attribute1: ' ||
3757: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3758: ' Index position: ' || to_char(j);
3759: If G_Debug_Mode = 'Y' Then
3760: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3761: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3760: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3761: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3762: End If;
3763:
3764: P_Timecard_Rec.Attribute1 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3765:
3766: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE2' Then
3767:
3768: G_Stage := 'Got old Attribute2: ' ||
3762: End If;
3763:
3764: P_Timecard_Rec.Attribute1 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3765:
3766: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE2' Then
3767:
3768: G_Stage := 'Got old Attribute2: ' ||
3769: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3770: ' Index position: ' || to_char(j);
3765:
3766: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE2' Then
3767:
3768: G_Stage := 'Got old Attribute2: ' ||
3769: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3770: ' Index position: ' || to_char(j);
3771: If G_Debug_Mode = 'Y' Then
3772: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3773: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3772: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3773: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3774: End If;
3775:
3776: P_Timecard_Rec.Attribute2 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3777:
3778: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE3' Then
3779:
3780: G_Stage := 'Got old Attribute3: ' ||
3774: End If;
3775:
3776: P_Timecard_Rec.Attribute2 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3777:
3778: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE3' Then
3779:
3780: G_Stage := 'Got old Attribute3: ' ||
3781: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3782: ' Index position: ' || to_char(j);
3777:
3778: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE3' Then
3779:
3780: G_Stage := 'Got old Attribute3: ' ||
3781: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3782: ' Index position: ' || to_char(j);
3783: If G_Debug_Mode = 'Y' Then
3784: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3785: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3784: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3785: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3786: End If;
3787:
3788: P_Timecard_Rec.Attribute3 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3789:
3790: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE4' Then
3791:
3792: G_Stage := 'Got old Attribute4: ' ||
3786: End If;
3787:
3788: P_Timecard_Rec.Attribute3 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3789:
3790: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE4' Then
3791:
3792: G_Stage := 'Got old Attribute4: ' ||
3793: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3794: ' Index position: ' || to_char(j);
3789:
3790: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE4' Then
3791:
3792: G_Stage := 'Got old Attribute4: ' ||
3793: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3794: ' Index position: ' || to_char(j);
3795: If G_Debug_Mode = 'Y' Then
3796: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3797: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3796: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3797: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3798: End If;
3799:
3800: P_Timecard_Rec.Attribute4 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3801:
3802: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE5' Then
3803:
3804: G_Stage := 'Got old Attribute5: ' ||
3798: End If;
3799:
3800: P_Timecard_Rec.Attribute4 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3801:
3802: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE5' Then
3803:
3804: G_Stage := 'Got old Attribute5: ' ||
3805: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3806: ' Index position: ' || to_char(j);
3801:
3802: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE5' Then
3803:
3804: G_Stage := 'Got old Attribute5: ' ||
3805: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3806: ' Index position: ' || to_char(j);
3807: If G_Debug_Mode = 'Y' Then
3808: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3809: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3808: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3809: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3810: End If;
3811:
3812: P_Timecard_Rec.Attribute5 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3813:
3814: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE6' Then
3815:
3816: G_Stage := 'Got old Attribute6: ' ||
3810: End If;
3811:
3812: P_Timecard_Rec.Attribute5 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3813:
3814: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE6' Then
3815:
3816: G_Stage := 'Got old Attribute6: ' ||
3817: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3818: ' Index position: ' || to_char(j);
3813:
3814: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE6' Then
3815:
3816: G_Stage := 'Got old Attribute6: ' ||
3817: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3818: ' Index position: ' || to_char(j);
3819: If G_Debug_Mode = 'Y' Then
3820: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3821: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3820: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3821: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3822: End If;
3823:
3824: P_Timecard_Rec.Attribute6 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3825:
3826: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE7' Then
3827:
3828: G_Stage := 'Got old Attribute7: ' ||
3822: End If;
3823:
3824: P_Timecard_Rec.Attribute6 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3825:
3826: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE7' Then
3827:
3828: G_Stage := 'Got old Attribute7: ' ||
3829: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3830: ' Index position: ' || to_char(j);
3825:
3826: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE7' Then
3827:
3828: G_Stage := 'Got old Attribute7: ' ||
3829: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3830: ' Index position: ' || to_char(j);
3831: If G_Debug_Mode = 'Y' Then
3832: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3833: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3832: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3833: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3834: End If;
3835:
3836: P_Timecard_Rec.Attribute7 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3837:
3838: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE8' Then
3839:
3840: G_Stage := 'Got old Attribute8: ' ||
3834: End If;
3835:
3836: P_Timecard_Rec.Attribute7 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3837:
3838: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE8' Then
3839:
3840: G_Stage := 'Got old Attribute8: ' ||
3841: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3842: ' Index position: ' || to_char(j);
3837:
3838: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE8' Then
3839:
3840: G_Stage := 'Got old Attribute8: ' ||
3841: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3842: ' Index position: ' || to_char(j);
3843: If G_Debug_Mode = 'Y' Then
3844: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3845: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3844: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3845: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3846: End If;
3847:
3848: P_Timecard_Rec.Attribute8 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3849:
3850: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE9' Then
3851:
3852: G_Stage := 'Got old Attribute9: ' ||
3846: End If;
3847:
3848: P_Timecard_Rec.Attribute8 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3849:
3850: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE9' Then
3851:
3852: G_Stage := 'Got old Attribute9: ' ||
3853: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3854: ' Index position: ' || to_char(j);
3849:
3850: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE9' Then
3851:
3852: G_Stage := 'Got old Attribute9: ' ||
3853: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3854: ' Index position: ' || to_char(j);
3855: If G_Debug_Mode = 'Y' Then
3856: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3857: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3856: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3857: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3858: End If;
3859:
3860: P_Timecard_Rec.Attribute9 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3861:
3862: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE10' Then
3863:
3864: G_Stage := 'Got old Attribute10: ' ||
3858: End If;
3859:
3860: P_Timecard_Rec.Attribute9 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3861:
3862: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE10' Then
3863:
3864: G_Stage := 'Got old Attribute10: ' ||
3865: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3866: ' Index position: ' || to_char(j);
3861:
3862: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PADFFATTRIBUTE10' Then
3863:
3864: G_Stage := 'Got old Attribute10: ' ||
3865: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3866: ' Index position: ' || to_char(j);
3867: If G_Debug_Mode = 'Y' Then
3868: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3869: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3868: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3869: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3870: End If;
3871:
3872: P_Timecard_Rec.Attribute10 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3873:
3874: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'BILLABLE_FLAG' Then
3875:
3876: G_Stage := 'Got old Billable Flag: ' ||
3870: End If;
3871:
3872: P_Timecard_Rec.Attribute10 := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3873:
3874: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'BILLABLE_FLAG' Then
3875:
3876: G_Stage := 'Got old Billable Flag: ' ||
3877: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3878: ' Index position: ' || to_char(j);
3873:
3874: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'BILLABLE_FLAG' Then
3875:
3876: G_Stage := 'Got old Billable Flag: ' ||
3877: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3878: ' Index position: ' || to_char(j);
3879: If G_Debug_Mode = 'Y' Then
3880: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3881: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3880: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3881: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3882: End If;
3883:
3884: P_Timecard_Rec.Billable_Flag := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3885:
3886: -- Begin PA.M/CWK changes
3887: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PO LINE ID' Then
3888:
3883:
3884: P_Timecard_Rec.Billable_Flag := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3885:
3886: -- Begin PA.M/CWK changes
3887: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PO LINE ID' Then
3888:
3889: G_Stage := 'Got old Po Line Id: ' ||
3890: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3891: ' Index position: ' || to_char(j);
3886: -- Begin PA.M/CWK changes
3887: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PO LINE ID' Then
3888:
3889: G_Stage := 'Got old Po Line Id: ' ||
3890: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3891: ' Index position: ' || to_char(j);
3892: If G_Debug_Mode = 'Y' Then
3893: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3894: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3893: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3894: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3895: End If;
3896:
3897: P_Timecard_Rec.PO_Line_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3898:
3899: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PO PRICE TYPE' Then
3900:
3901: G_Stage := 'Got old PO Price Type: ' ||
3895: End If;
3896:
3897: P_Timecard_Rec.PO_Line_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3898:
3899: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PO PRICE TYPE' Then
3900:
3901: G_Stage := 'Got old PO Price Type: ' ||
3902: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3903: ' Index position: ' || to_char(j);
3898:
3899: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'PO PRICE TYPE' Then
3900:
3901: G_Stage := 'Got old PO Price Type: ' ||
3902: Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3903: ' Index position: ' || to_char(j);
3904: If G_Debug_Mode = 'Y' Then
3905: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3906: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3905: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3906: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3907: End If;
3908:
3909: P_Timecard_Rec.PO_Price_Type := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3910:
3911: -- End PA.M/CWK changes
3912: -- bug 10253400: Payroll integration enhancement for 12.2..start
3913: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'JOB_ID' Then
3909: P_Timecard_Rec.PO_Price_Type := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3910:
3911: -- End PA.M/CWK changes
3912: -- bug 10253400: Payroll integration enhancement for 12.2..start
3913: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'JOB_ID' Then
3914:
3915: G_Stage := 'Got old Job ID: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3916: ' Index position: ' || to_char(j);
3917: If G_Debug_Mode = 'Y' Then
3911: -- End PA.M/CWK changes
3912: -- bug 10253400: Payroll integration enhancement for 12.2..start
3913: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'JOB_ID' Then
3914:
3915: G_Stage := 'Got old Job ID: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3916: ' Index position: ' || to_char(j);
3917: If G_Debug_Mode = 'Y' Then
3918: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3919: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3918: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3919: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3920: End If;
3921:
3922: P_Timecard_Rec.Job_id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3923: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'LOCATION_ID' Then
3924:
3925: G_Stage := 'Got old Location ID: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3926: ' Index position: ' || to_char(j);
3919: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3920: End If;
3921:
3922: P_Timecard_Rec.Job_id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3923: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'LOCATION_ID' Then
3924:
3925: G_Stage := 'Got old Location ID: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3926: ' Index position: ' || to_char(j);
3927: If G_Debug_Mode = 'Y' Then
3921:
3922: P_Timecard_Rec.Job_id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3923: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'LOCATION_ID' Then
3924:
3925: G_Stage := 'Got old Location ID: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3926: ' Index position: ' || to_char(j);
3927: If G_Debug_Mode = 'Y' Then
3928: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3929: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3928: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3929: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3930: End If;
3931:
3932: P_Timecard_Rec.Location_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3933:
3934: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'WORKTYPE_ID' Then
3935:
3936: G_Stage := 'Got old Work Type ID: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3930: End If;
3931:
3932: P_Timecard_Rec.Location_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3933:
3934: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'WORKTYPE_ID' Then
3935:
3936: G_Stage := 'Got old Work Type ID: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3937: ' Index position: ' || to_char(j);
3938: If G_Debug_Mode = 'Y' Then
3932: P_Timecard_Rec.Location_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3933:
3934: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'WORKTYPE_ID' Then
3935:
3936: G_Stage := 'Got old Work Type ID: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3937: ' Index position: ' || to_char(j);
3938: If G_Debug_Mode = 'Y' Then
3939: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3940: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3939: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3940: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3941: End If;
3942:
3943: P_Timecard_Rec.Work_Type_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3944:
3945: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'DUMMY ELEMENT CONTEXT' Then
3946:
3947: /* The value column contains the following format:
3941: End If;
3942:
3943: P_Timecard_Rec.Work_Type_Id := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3944:
3945: ElsIf Upper(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Field_Name) = 'DUMMY ELEMENT CONTEXT' Then
3946:
3947: /* The value column contains the following format:
3948: * 'ELEMENT -
3949: * So to get the attribute_category out will need to find the position
3949: * So to get the attribute_category out will need to find the position
3950: * for ' - ' that is: '
3951: */
3952:
3953: G_Stage := 'Get old attribute category: ' || Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value ||
3954: ' Index position: ' || to_char(j);
3955: If G_Debug_Mode = 'Y' Then
3956: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3957: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3956: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
3957: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
3958: End If;
3959:
3960: l_attribute_category := Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).Value;
3961:
3962: /* Need to check for null so as to avoid the unecessary use of errors using instr
3963: * to avoid unhandled exceptions.
3964: */
4007: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
4008: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
4009: End If;
4010:
4011: If j > Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes.LAST Then
4012:
4013: G_Stage := 'Reached last record index position ' ||
4014: to_char(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes.LAST) || ' ' ||
4015: 'in OLD attrib pl/sql table.';
4010:
4011: If j > Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes.LAST Then
4012:
4013: G_Stage := 'Reached last record index position ' ||
4014: to_char(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes.LAST) || ' ' ||
4015: 'in OLD attrib pl/sql table.';
4016: If G_Debug_Mode = 'Y' Then
4017: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
4018: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
4017: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
4018: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
4019: End If;
4020:
4021: ElsIf Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).BB_Id <> P_BB_Id Then
4022:
4023: G_Stage := 'P_BB_Id: ' || to_char(P_BB_Id) || ' -- ' ||
4024: 'BB_Id in OLD attrib pl/sql: ' ||
4025: to_char(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).BB_Id) || '. ' ||
4021: ElsIf Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).BB_Id <> P_BB_Id Then
4022:
4023: G_Stage := 'P_BB_Id: ' || to_char(P_BB_Id) || ' -- ' ||
4024: 'BB_Id in OLD attrib pl/sql: ' ||
4025: to_char(Hxc_User_Type_Definition_Grp.T_Old_Detail_Attributes(j).BB_Id) || '. ' ||
4026: 'They do not match!';
4027: If G_Debug_Mode = 'Y' Then
4028: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
4029: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
4229: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
4230: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
4231: End If;
4232:
4233: For i in Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks.FIRST .. Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks.LAST
4234: Loop
4235:
4236: G_Stage := 'Determine if BB_Id in the pl/sql matches the one provided.';
4237: If G_Debug_Mode = 'Y' Then
4238: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
4239: pa_cc_utils.log_message(Pa_Debug.G_Err_Stage,0);
4240: End If;
4241:
4242: If Hxc_User_Type_Definition_Grp.T_Detail_Bld_Blks(i).BB_Id = P_Detail_BB_Id Then
4243:
4244: G_Stage := 'Set Index to use since found the one needed.';
4245: If G_Debug_Mode = 'Y' Then
4246: Pa_Debug.G_err_Stage := 'Pa_Otc_Api ::: ' || G_Path || ' :: ' || G_Stage;
4330: (P_Operation IN Varchar2)
4331:
4332: Is
4333:
4334: l_Blocks Hxc_User_Type_Definition_Grp.Timecard_Info;
4335: l_Attributes Hxc_User_Type_Definition_Grp.App_Attributes_Info;
4336: l_Messages Hxc_User_Type_Definition_Grp.Message_Table;
4337:
4338: Begin
4331:
4332: Is
4333:
4334: l_Blocks Hxc_User_Type_Definition_Grp.Timecard_Info;
4335: l_Attributes Hxc_User_Type_Definition_Grp.App_Attributes_Info;
4336: l_Messages Hxc_User_Type_Definition_Grp.Message_Table;
4337:
4338: Begin
4339:
4332: Is
4333:
4334: l_Blocks Hxc_User_Type_Definition_Grp.Timecard_Info;
4335: l_Attributes Hxc_User_Type_Definition_Grp.App_Attributes_Info;
4336: l_Messages Hxc_User_Type_Definition_Grp.Message_Table;
4337:
4338: Begin
4339:
4340: G_Path := ' ';
4391: --
4392: -- Parameters:
4393: -- IN
4394: -- P_Operation -- Varchar2
4395: -- P_Building_Blocks -- Hxc_User_Type_Definition_Grp.Timecard_Info
4396: -- P_Attribute_Table -- Hxc_User_Type_Definition_Grp.App_Attributes_Info
4397: -- OUT
4398: -- P_Building_Blocks -- Hxc_User_Type_Definition_Grp.Timecard_Info
4399: -- P_Attribute_Table -- Hxc_User_Type_Definition_Grp.App_Attributes_Info
4392: -- Parameters:
4393: -- IN
4394: -- P_Operation -- Varchar2
4395: -- P_Building_Blocks -- Hxc_User_Type_Definition_Grp.Timecard_Info
4396: -- P_Attribute_Table -- Hxc_User_Type_Definition_Grp.App_Attributes_Info
4397: -- OUT
4398: -- P_Building_Blocks -- Hxc_User_Type_Definition_Grp.Timecard_Info
4399: -- P_Attribute_Table -- Hxc_User_Type_Definition_Grp.App_Attributes_Info
4400:
4394: -- P_Operation -- Varchar2
4395: -- P_Building_Blocks -- Hxc_User_Type_Definition_Grp.Timecard_Info
4396: -- P_Attribute_Table -- Hxc_User_Type_Definition_Grp.App_Attributes_Info
4397: -- OUT
4398: -- P_Building_Blocks -- Hxc_User_Type_Definition_Grp.Timecard_Info
4399: -- P_Attribute_Table -- Hxc_User_Type_Definition_Grp.App_Attributes_Info
4400:
4401: /*------------------------------------------------------------------------- */
4402:
4395: -- P_Building_Blocks -- Hxc_User_Type_Definition_Grp.Timecard_Info
4396: -- P_Attribute_Table -- Hxc_User_Type_Definition_Grp.App_Attributes_Info
4397: -- OUT
4398: -- P_Building_Blocks -- Hxc_User_Type_Definition_Grp.Timecard_Info
4399: -- P_Attribute_Table -- Hxc_User_Type_Definition_Grp.App_Attributes_Info
4400:
4401: /*------------------------------------------------------------------------- */
4402:
4403: Procedure Update_Process(
4401: /*------------------------------------------------------------------------- */
4402:
4403: Procedure Update_Process(
4404: P_Operation IN Varchar2,
4405: P_Building_Blocks IN OUT NOCOPY Hxc_User_Type_Definition_Grp.Timecard_Info, -- 2672653
4406: P_Attribute_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.App_Attributes_Info) -- 2672653
4407:
4408: Is
4409:
4402:
4403: Procedure Update_Process(
4404: P_Operation IN Varchar2,
4405: P_Building_Blocks IN OUT NOCOPY Hxc_User_Type_Definition_Grp.Timecard_Info, -- 2672653
4406: P_Attribute_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.App_Attributes_Info) -- 2672653
4407:
4408: Is
4409:
4410: l_Proj_Attrib_Rec Pa_Otc_Api.Project_Attribution_Rec;
4409:
4410: l_Proj_Attrib_Rec Pa_Otc_Api.Project_Attribution_Rec;
4411:
4412: /* Stores a single record from the Building Block Table */
4413: l_Building_Block_Record Hxc_User_Type_Definition_Grp.Building_Block_Info;
4414:
4415: l_BB_Detail_Changed Varchar2(1) := 'N'; -- The OTL item has changed.
4416: l_BB_Detail_Deleted Varchar2(1) := 'N'; -- The OTL item has been deleted.
4417: l_BB_Detail_Pass Varchar2(1) := 'N'; -- The OTL item has changed but values same as in Projects
4646: (P_Operation IN Varchar2)
4647:
4648: Is
4649:
4650: l_Blocks Hxc_User_Type_Definition_Grp.Timecard_Info;
4651: l_Attributes Hxc_User_Type_Definition_Grp.App_Attributes_Info;
4652: l_Messages Hxc_User_Type_Definition_Grp.Message_Table;
4653:
4654: Begin
4647:
4648: Is
4649:
4650: l_Blocks Hxc_User_Type_Definition_Grp.Timecard_Info;
4651: l_Attributes Hxc_User_Type_Definition_Grp.App_Attributes_Info;
4652: l_Messages Hxc_User_Type_Definition_Grp.Message_Table;
4653:
4654: Begin
4655:
4648: Is
4649:
4650: l_Blocks Hxc_User_Type_Definition_Grp.Timecard_Info;
4651: l_Attributes Hxc_User_Type_Definition_Grp.App_Attributes_Info;
4652: l_Messages Hxc_User_Type_Definition_Grp.Message_Table;
4653:
4654: Begin
4655:
4656: G_Path := ' ';
4710: --
4711: -- Parameters :
4712: -- IN
4713: -- P_Operation -- Varchar2
4714: -- P_Building_Blocks -- Hxc_User_Type_Definition_Grp.Timecard_Info
4715: -- P_Attribute_Table -- Hxc_User_Type_Definition_Grp.App_Attributes_Info
4716: -- OUT
4717: -- P_Message_Table -- Hxc_User_Type_Definition_Grp.Message_Table
4718:
4711: -- Parameters :
4712: -- IN
4713: -- P_Operation -- Varchar2
4714: -- P_Building_Blocks -- Hxc_User_Type_Definition_Grp.Timecard_Info
4715: -- P_Attribute_Table -- Hxc_User_Type_Definition_Grp.App_Attributes_Info
4716: -- OUT
4717: -- P_Message_Table -- Hxc_User_Type_Definition_Grp.Message_Table
4718:
4719: /*------------------------------------------------------------------------- */
4713: -- P_Operation -- Varchar2
4714: -- P_Building_Blocks -- Hxc_User_Type_Definition_Grp.Timecard_Info
4715: -- P_Attribute_Table -- Hxc_User_Type_Definition_Grp.App_Attributes_Info
4716: -- OUT
4717: -- P_Message_Table -- Hxc_User_Type_Definition_Grp.Message_Table
4718:
4719: /*------------------------------------------------------------------------- */
4720:
4721: Procedure Validate_Process(
4719: /*------------------------------------------------------------------------- */
4720:
4721: Procedure Validate_Process(
4722: P_Operation IN Varchar2,
4723: P_Building_Blocks IN Hxc_User_Type_Definition_Grp.Timecard_Info,
4724: P_Attribute_Table IN Hxc_User_Type_Definition_Grp.App_Attributes_Info,
4725: P_Message_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.Message_Table) -- 2672653
4726:
4727: Is
4720:
4721: Procedure Validate_Process(
4722: P_Operation IN Varchar2,
4723: P_Building_Blocks IN Hxc_User_Type_Definition_Grp.Timecard_Info,
4724: P_Attribute_Table IN Hxc_User_Type_Definition_Grp.App_Attributes_Info,
4725: P_Message_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.Message_Table) -- 2672653
4726:
4727: Is
4728:
4721: Procedure Validate_Process(
4722: P_Operation IN Varchar2,
4723: P_Building_Blocks IN Hxc_User_Type_Definition_Grp.Timecard_Info,
4724: P_Attribute_Table IN Hxc_User_Type_Definition_Grp.App_Attributes_Info,
4725: P_Message_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.Message_Table) -- 2672653
4726:
4727: Is
4728:
4729: l_Status Varchar2(30) := Null;
4800:
4801: l_Exp_End_Date_Tab Exp_End_Date_Tab;
4802:
4803: /* Stores a single record from the Building Block Table */
4804: l_Building_Block_Record Hxc_User_Type_Definition_Grp.Building_Block_Info;
4805:
4806: Cursor GetBillFlagMeaning(P_Lookup_Code IN VARCHAR2) Is
4807: Select
4808: Meaning
7263: -- Function : This procedure is used to pull out the needed project specific data from
7264: -- the OTL pl/sql table P_Attribute_Table.
7265: --
7266: -- Parameters :
7267: -- IN P_Building_Block_Rec - Hxc_User_Type_Definition_Grp.Building_Block_Info
7268: -- P_Building_Block - Hxc_User_Type_Definition_Grp.Timecard_Info
7269: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
7270: -- X_Detail_Attr_Changed - Varchar2
7271: -- OUT
7264: -- the OTL pl/sql table P_Attribute_Table.
7265: --
7266: -- Parameters :
7267: -- IN P_Building_Block_Rec - Hxc_User_Type_Definition_Grp.Building_Block_Info
7268: -- P_Building_Block - Hxc_User_Type_Definition_Grp.Timecard_Info
7269: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
7270: -- X_Detail_Attr_Changed - Varchar2
7271: -- OUT
7272: -- X_Detail_Attr_Changed - Varchar2
7265: --
7266: -- Parameters :
7267: -- IN P_Building_Block_Rec - Hxc_User_Type_Definition_Grp.Building_Block_Info
7268: -- P_Building_Block - Hxc_User_Type_Definition_Grp.Timecard_Info
7269: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
7270: -- X_Detail_Attr_Changed - Varchar2
7271: -- OUT
7272: -- X_Detail_Attr_Changed - Varchar2
7273: -- X_Proj_Attrib_Rec - Pa_Otc_Api.Project_Attribution_Rec
7275:
7276: /*--------------------------------------------------------------------------*/
7277:
7278: Procedure RetrieveProjAttribution(
7279: P_Building_Block_Rec IN Hxc_User_Type_Definition_Grp.Building_Block_Info,
7280: P_Building_Block IN Hxc_User_Type_Definition_Grp.Timecard_Info,
7281: P_Attribute_Table IN Hxc_User_Type_Definition_Grp.App_Attributes_Info,
7282: X_Detail_Attr_Changed IN OUT NOCOPY Varchar2,
7283: X_Proj_Attrib_Rec OUT NOCOPY Pa_Otc_Api.Project_Attribution_Rec) -- 2672653
7276: /*--------------------------------------------------------------------------*/
7277:
7278: Procedure RetrieveProjAttribution(
7279: P_Building_Block_Rec IN Hxc_User_Type_Definition_Grp.Building_Block_Info,
7280: P_Building_Block IN Hxc_User_Type_Definition_Grp.Timecard_Info,
7281: P_Attribute_Table IN Hxc_User_Type_Definition_Grp.App_Attributes_Info,
7282: X_Detail_Attr_Changed IN OUT NOCOPY Varchar2,
7283: X_Proj_Attrib_Rec OUT NOCOPY Pa_Otc_Api.Project_Attribution_Rec) -- 2672653
7284:
7277:
7278: Procedure RetrieveProjAttribution(
7279: P_Building_Block_Rec IN Hxc_User_Type_Definition_Grp.Building_Block_Info,
7280: P_Building_Block IN Hxc_User_Type_Definition_Grp.Timecard_Info,
7281: P_Attribute_Table IN Hxc_User_Type_Definition_Grp.App_Attributes_Info,
7282: X_Detail_Attr_Changed IN OUT NOCOPY Varchar2,
7283: X_Proj_Attrib_Rec OUT NOCOPY Pa_Otc_Api.Project_Attribution_Rec) -- 2672653
7284:
7285: Is
7696: -- Function : This procedure is used to pull out the needed project specific data from
7697: -- the OTL pl/sql table P_Attribute_Table.
7698: --
7699: -- Parameters :
7700: -- IN P_Building_Block_Rec - Hxc_User_Type_Definition_Grp.Building_Block_Info
7701: -- P_Building_Block - Hxc_User_Type_Definition_Grp.Timecard_Info
7702: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
7703: -- X_Detail_Attr_Changed - Varchar2
7704: -- OUT
7697: -- the OTL pl/sql table P_Attribute_Table.
7698: --
7699: -- Parameters :
7700: -- IN P_Building_Block_Rec - Hxc_User_Type_Definition_Grp.Building_Block_Info
7701: -- P_Building_Block - Hxc_User_Type_Definition_Grp.Timecard_Info
7702: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
7703: -- X_Detail_Attr_Changed - Varchar2
7704: -- OUT
7705: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
7698: --
7699: -- Parameters :
7700: -- IN P_Building_Block_Rec - Hxc_User_Type_Definition_Grp.Building_Block_Info
7701: -- P_Building_Block - Hxc_User_Type_Definition_Grp.Timecard_Info
7702: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
7703: -- X_Detail_Attr_Changed - Varchar2
7704: -- OUT
7705: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
7706: -- X_Detail_Attr_Changed - Varchar2
7701: -- P_Building_Block - Hxc_User_Type_Definition_Grp.Timecard_Info
7702: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
7703: -- X_Detail_Attr_Changed - Varchar2
7704: -- OUT
7705: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
7706: -- X_Detail_Attr_Changed - Varchar2
7707: -- X_Proj_Attrib_Rec - Pa_Otc_Api.Project_Attribution_Rec
7708: --
7709:
7709:
7710: /*--------------------------------------------------------------------------*/
7711:
7712: Procedure RetrieveProjAttribForUpd(
7713: P_Building_Block_Rec IN Hxc_User_Type_Definition_Grp.Building_Block_Info,
7714: P_Building_Block IN Hxc_User_Type_Definition_Grp.Timecard_Info,
7715: P_Attribute_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.App_Attributes_Info,
7716: X_Detail_Attr_Changed IN OUT NOCOPY Varchar2,
7717: X_Proj_Attrib_Rec OUT NOCOPY Pa_Otc_Api.Project_Attribution_Rec) -- 2672653
7710: /*--------------------------------------------------------------------------*/
7711:
7712: Procedure RetrieveProjAttribForUpd(
7713: P_Building_Block_Rec IN Hxc_User_Type_Definition_Grp.Building_Block_Info,
7714: P_Building_Block IN Hxc_User_Type_Definition_Grp.Timecard_Info,
7715: P_Attribute_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.App_Attributes_Info,
7716: X_Detail_Attr_Changed IN OUT NOCOPY Varchar2,
7717: X_Proj_Attrib_Rec OUT NOCOPY Pa_Otc_Api.Project_Attribution_Rec) -- 2672653
7718:
7711:
7712: Procedure RetrieveProjAttribForUpd(
7713: P_Building_Block_Rec IN Hxc_User_Type_Definition_Grp.Building_Block_Info,
7714: P_Building_Block IN Hxc_User_Type_Definition_Grp.Timecard_Info,
7715: P_Attribute_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.App_Attributes_Info,
7716: X_Detail_Attr_Changed IN OUT NOCOPY Varchar2,
7717: X_Proj_Attrib_Rec OUT NOCOPY Pa_Otc_Api.Project_Attribution_Rec) -- 2672653
7718:
7719: Is
8229: l_Org_Id Number := Null;
8230: l_Valid_ExpTypClass_Combo Varchar2(1) := Null;
8231: l_Val_Proj_Flag Varchar2(1) := Null;
8232:
8233: l_Building_Blocks_Table Hxc_User_Type_Definition_Grp.Timecard_Info;
8234: l_Attribute_Table Hxc_User_Type_Definition_Grp.App_Attributes_info;
8235: l_Message_Table Hxc_User_Type_Definition_Grp.Message_Table;
8236:
8237: l_dummy_bb_Table Hxc_User_Type_Definition_Grp.Timecard_Info;
8230: l_Valid_ExpTypClass_Combo Varchar2(1) := Null;
8231: l_Val_Proj_Flag Varchar2(1) := Null;
8232:
8233: l_Building_Blocks_Table Hxc_User_Type_Definition_Grp.Timecard_Info;
8234: l_Attribute_Table Hxc_User_Type_Definition_Grp.App_Attributes_info;
8235: l_Message_Table Hxc_User_Type_Definition_Grp.Message_Table;
8236:
8237: l_dummy_bb_Table Hxc_User_Type_Definition_Grp.Timecard_Info;
8238: l_dummy_Attrib_Table Hxc_User_Type_Definition_Grp.App_Attributes_info;
8231: l_Val_Proj_Flag Varchar2(1) := Null;
8232:
8233: l_Building_Blocks_Table Hxc_User_Type_Definition_Grp.Timecard_Info;
8234: l_Attribute_Table Hxc_User_Type_Definition_Grp.App_Attributes_info;
8235: l_Message_Table Hxc_User_Type_Definition_Grp.Message_Table;
8236:
8237: l_dummy_bb_Table Hxc_User_Type_Definition_Grp.Timecard_Info;
8238: l_dummy_Attrib_Table Hxc_User_Type_Definition_Grp.App_Attributes_info;
8239:
8233: l_Building_Blocks_Table Hxc_User_Type_Definition_Grp.Timecard_Info;
8234: l_Attribute_Table Hxc_User_Type_Definition_Grp.App_Attributes_info;
8235: l_Message_Table Hxc_User_Type_Definition_Grp.Message_Table;
8236:
8237: l_dummy_bb_Table Hxc_User_Type_Definition_Grp.Timecard_Info;
8238: l_dummy_Attrib_Table Hxc_User_Type_Definition_Grp.App_Attributes_info;
8239:
8240: /* If the profile value is NULL or 'N' then we want to retrieve all the records
8241: * irregardless of the value stored in column Provisional_Flag.
8234: l_Attribute_Table Hxc_User_Type_Definition_Grp.App_Attributes_info;
8235: l_Message_Table Hxc_User_Type_Definition_Grp.Message_Table;
8236:
8237: l_dummy_bb_Table Hxc_User_Type_Definition_Grp.Timecard_Info;
8238: l_dummy_Attrib_Table Hxc_User_Type_Definition_Grp.App_Attributes_info;
8239:
8240: /* If the profile value is NULL or 'N' then we want to retrieve all the records
8241: * irregardless of the value stored in column Provisional_Flag.
8242: * If the profile value is 'Y' then we only want to retrieve those records
8710: -- This procedure is only called when Mode is VALIDATE.
8711: --
8712: -- Parameters :
8713: -- IN
8714: -- P_Building_Blocks_Table - Hxc_User_Type_Definition_Grp.Timecard_Info
8715: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
8716: -- P_Message_Table - Hxc_User_Type_Definition_Grp.Message_Table
8717: -- OUT
8718: -- P_Message_Table - Hxc_User_Type_Definition_Grp.Message_Table
8711: --
8712: -- Parameters :
8713: -- IN
8714: -- P_Building_Blocks_Table - Hxc_User_Type_Definition_Grp.Timecard_Info
8715: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
8716: -- P_Message_Table - Hxc_User_Type_Definition_Grp.Message_Table
8717: -- OUT
8718: -- P_Message_Table - Hxc_User_Type_Definition_Grp.Message_Table
8719: -- X_TimeBB_Id - Hxc_Time_Building_Blocks.Time_Building_Block_Id%TYPE
8712: -- Parameters :
8713: -- IN
8714: -- P_Building_Blocks_Table - Hxc_User_Type_Definition_Grp.Timecard_Info
8715: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
8716: -- P_Message_Table - Hxc_User_Type_Definition_Grp.Message_Table
8717: -- OUT
8718: -- P_Message_Table - Hxc_User_Type_Definition_Grp.Message_Table
8719: -- X_TimeBB_Id - Hxc_Time_Building_Blocks.Time_Building_Block_Id%TYPE
8720: -- X_Ovr_Approver_Person_Id - Pa_Expenditures_All.Overriding_Approver_Person_Id%TYPE
8714: -- P_Building_Blocks_Table - Hxc_User_Type_Definition_Grp.Timecard_Info
8715: -- P_Attribute_Table - Hxc_User_Type_Definition_Grp.App_Attributes_Info
8716: -- P_Message_Table - Hxc_User_Type_Definition_Grp.Message_Table
8717: -- OUT
8718: -- P_Message_Table - Hxc_User_Type_Definition_Grp.Message_Table
8719: -- X_TimeBB_Id - Hxc_Time_Building_Blocks.Time_Building_Block_Id%TYPE
8720: -- X_Ovr_Approver_Person_Id - Pa_Expenditures_All.Overriding_Approver_Person_Id%TYPE
8721: -- X_Timecard_Ending_Date - Date
8722:
8723: /*--------------------------------------------------------------------------*/
8724:
8725:
8726: Procedure FindandValidateHeader(
8727: P_Building_Blocks_Table IN Hxc_User_Type_Definition_Grp.Timecard_Info,
8728: P_Attribute_Table IN Hxc_User_Type_Definition_Grp.App_Attributes_Info,
8729: P_Message_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.Message_Table, -- 2672653
8730: X_TimeBB_Id OUT NOCOPY Hxc_Time_Building_Blocks.Time_Building_Block_Id%TYPE,
8731: X_Ovr_Approver_Person_Id OUT NOCOPY Pa_Expenditures_All.Overriding_Approver_Person_Id%TYPE,
8724:
8725:
8726: Procedure FindandValidateHeader(
8727: P_Building_Blocks_Table IN Hxc_User_Type_Definition_Grp.Timecard_Info,
8728: P_Attribute_Table IN Hxc_User_Type_Definition_Grp.App_Attributes_Info,
8729: P_Message_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.Message_Table, -- 2672653
8730: X_TimeBB_Id OUT NOCOPY Hxc_Time_Building_Blocks.Time_Building_Block_Id%TYPE,
8731: X_Ovr_Approver_Person_Id OUT NOCOPY Pa_Expenditures_All.Overriding_Approver_Person_Id%TYPE,
8732: X_Pass_Val_Flag OUT NOCOPY Varchar2,
8725:
8726: Procedure FindandValidateHeader(
8727: P_Building_Blocks_Table IN Hxc_User_Type_Definition_Grp.Timecard_Info,
8728: P_Attribute_Table IN Hxc_User_Type_Definition_Grp.App_Attributes_Info,
8729: P_Message_Table IN OUT NOCOPY Hxc_User_Type_Definition_Grp.Message_Table, -- 2672653
8730: X_TimeBB_Id OUT NOCOPY Hxc_Time_Building_Blocks.Time_Building_Block_Id%TYPE,
8731: X_Ovr_Approver_Person_Id OUT NOCOPY Pa_Expenditures_All.Overriding_Approver_Person_Id%TYPE,
8732: X_Pass_Val_Flag OUT NOCOPY Varchar2,
8733: X_Approval_Status OUT NOCOPY Hxc_Time_Building_Blocks.Approval_Status%TYPE)
9003: l_Inc_By_Person_Id Pa_Expenditures_All.Incurred_By_Person_Id%TYPE;
9004: l_Overriding_Approver_Id Pa_Expenditures_All.Overriding_Approver_Person_Id%TYPE;
9005:
9006: /* Stores a single record from the Building Block Table */
9007: l_Building_Block_Record Hxc_User_Type_Definition_Grp.Building_Block_Info;
9008:
9009: l_Message_Name Varchar2(30);
9010: l_Message_Table Hxc_User_Type_Definition_Grp.Message_Table;
9011:
9006: /* Stores a single record from the Building Block Table */
9007: l_Building_Block_Record Hxc_User_Type_Definition_Grp.Building_Block_Info;
9008:
9009: l_Message_Name Varchar2(30);
9010: l_Message_Table Hxc_User_Type_Definition_Grp.Message_Table;
9011:
9012: l_Status Number(10);
9013: l_Appl_Id Varchar2(10);
9014: l_Msg_Name Varchar2(30);
9178: l_Timecard_Table Pa_Otc_Api.Timecard_Table;
9179: l_Inc_By_Person_Id Pa_Expenditures_All.Incurred_By_Person_Id%TYPE;
9180: l_Overriding_Approver_Id Pa_Expenditures_All.Overriding_Approver_Person_Id%TYPE := Null;
9181:
9182: l_Message_Table Hxc_User_Type_Definition_Grp.Message_Table;
9183: l_Message_Name Varchar2(30);
9184:
9185: l_Status Number(10);
9186: l_Msg_App Varchar2(10);
9443:
9444: l_Proj_Attrib_Rec Pa_Otc_Api.Project_Attribution_Rec;
9445: j Binary_Integer := 0;
9446:
9447: l_Time_Building_Blocks Hxc_User_Type_Definition_Grp.Timecard_Info;
9448: l_Time_Attributes Hxc_User_Type_Definition_Grp.App_Attributes_Info;
9449: l_Detail_Attr_Changed Varchar2(1) := 'N';
9450:
9451: /* Stores a single record from the Building Block Table */
9444: l_Proj_Attrib_Rec Pa_Otc_Api.Project_Attribution_Rec;
9445: j Binary_Integer := 0;
9446:
9447: l_Time_Building_Blocks Hxc_User_Type_Definition_Grp.Timecard_Info;
9448: l_Time_Attributes Hxc_User_Type_Definition_Grp.App_Attributes_Info;
9449: l_Detail_Attr_Changed Varchar2(1) := 'N';
9450:
9451: /* Stores a single record from the Building Block Table */
9452: l_Building_Block_Record Hxc_User_Type_Definition_Grp.Building_Block_Info;
9448: l_Time_Attributes Hxc_User_Type_Definition_Grp.App_Attributes_Info;
9449: l_Detail_Attr_Changed Varchar2(1) := 'N';
9450:
9451: /* Stores a single record from the Building Block Table */
9452: l_Building_Block_Record Hxc_User_Type_Definition_Grp.Building_Block_Info;
9453:
9454: Begin
9455:
9456: G_Stage := 'Entering CreateProjTimecardTable() procedure.';