52: where lookup_type='NAME_TRANSLATIONS'
53: and lookup_code = 'TOTAL';
54: --
55: BEGIN
56: hr_utility.set_location('Entering dif_main_fill_table', 10);
57: -- Initialize the xml table counter
58: g_xml_ctr :=0;
59: -- Delete values in the table
60: xml_table.delete;
57: -- Initialize the xml table counter
58: g_xml_ctr :=0;
59: -- Delete values in the table
60: xml_table.delete;
61: hr_utility.set_location('Deleted rows in xml table', 20);
62: --
63: -- Set the date values
64: l_date_from := fnd_date.canonical_to_date(p_date_from);
65: l_date_to := fnd_date.canonical_to_date(p_date_to);
79: ELSE
80: l_where_emp := 'and per.person_id = '||p_emp_id||'';
81: END IF;
82: --
83: hr_utility.set_location('Where emp clause is: '||l_where_emp, 30);
84: --
85: IF p_estab_id IS NULL THEN
86: l_where_estab := ' ';
87: ELSE
87: ELSE
88: l_where_estab := 'and estab.organization_id = '||p_estab_id||'';
89: END IF;
90: --
91: hr_utility.set_location('Where estab clause: '||l_where_estab, 30);
92: --
93: IF p_sort_order = 'NAME' THEN
94: l_order_by := ' order by per.full_name';
95: ELSIF p_sort_order = 'NUMBER' THEN
95: ELSIF p_sort_order = 'NUMBER' THEN
96: l_order_by := ' order by fnd_number.canonical_to_number(per.employee_number)';
97: END IF;
98: --
99: hr_utility.set_location('Order by clause is: '||l_order_by, 30);
100: --
101: OPEN ref_csr_emp_list FOR l_select||l_where||l_where_emp||l_where_estab||l_order_by;
102: LOOP
103: FETCH ref_csr_emp_list INTO l_emp_id, l_estab_id, l_full_name, l_emp_num;
106: g_xml_ctr := g_xml_ctr +1;
107: xml_table( g_xml_ctr).tag_name := 'L_MAIN';
108: xml_table( g_xml_ctr).tag_value := '1';
109: --
110: hr_utility.set_location('g_xml_ctr after main start is: '||to_char(g_xml_ctr), 40);
111: -- populate field names for each employee
112: FOR get_lookup_rec IN csr_get_lookup LOOP
113: --
114: g_xml_ctr := g_xml_ctr +1;
125: xml_table(g_xml_ctr).tag_value := get_lookup_total_rec.meaning;
126: --
127: END LOOP;
128: --
129: hr_utility.set_location('g_xml_ctr after dif lookup is: '||to_char(g_xml_ctr), 40);
130: --
131: -- Call the procedure to fetch all report values
132: dif_emp_acc_details(p_business_group_id => p_business_group_id,
133: p_estab_id => l_estab_id,
135: p_emp_id => l_emp_id,
136: p_date_from => l_date_from,
137: p_date_to => l_date_to);
138: --
139: hr_utility.set_location('g_xml_ctr before main end is: '||to_char(g_xml_ctr), 40);
140: -- Set the end label
141: g_xml_ctr := g_xml_ctr +1;
142: xml_table( g_xml_ctr).tag_name := 'L_MAIN';
143: xml_table( g_xml_ctr).tag_value := '0';
143: xml_table( g_xml_ctr).tag_value := '0';
144: --
145: END LOOP;
146: --
147: hr_utility.set_location('g_xml_ctr at end is: '||to_char(g_xml_ctr), 40);
148: -- Call the procedure to write to clob
149: write_to_clob(l_xml);
150: p_xml:= l_xml;
151: hr_utility.set_location('Exiting dif_main_fill_table', 10);
147: hr_utility.set_location('g_xml_ctr at end is: '||to_char(g_xml_ctr), 40);
148: -- Call the procedure to write to clob
149: write_to_clob(l_xml);
150: p_xml:= l_xml;
151: hr_utility.set_location('Exiting dif_main_fill_table', 10);
152: --
153: END dif_main_fill_table;
154: --
155: --------------------------------------------------------------
474: between c_start_date and c_end_date);
475: --
476: BEGIN
477: --
478: hr_utility.set_location('Entering dif_emp_acc_details', 40);
479: hr_utility.set_location('Table count before header is: '||to_char(xml_table.count), 40);
480: hr_utility.set_location('g_xml_ctr before header is: '||to_char(g_xml_ctr), 40);
481: --
482: ---------------------------------
475: --
476: BEGIN
477: --
478: hr_utility.set_location('Entering dif_emp_acc_details', 40);
479: hr_utility.set_location('Table count before header is: '||to_char(xml_table.count), 40);
480: hr_utility.set_location('g_xml_ctr before header is: '||to_char(g_xml_ctr), 40);
481: --
482: ---------------------------------
483: -- HEADER SECTION
476: BEGIN
477: --
478: hr_utility.set_location('Entering dif_emp_acc_details', 40);
479: hr_utility.set_location('Table count before header is: '||to_char(xml_table.count), 40);
480: hr_utility.set_location('g_xml_ctr before header is: '||to_char(g_xml_ctr), 40);
481: --
482: ---------------------------------
483: -- HEADER SECTION
484: -----------------------------------
534: -- increment the counter to table rowcount
535: g_xml_ctr := xml_table.count;
536: CLOSE csr_hdr_estab_details;
537: --
538: hr_utility.set_location('Table count after estab hdr is: '||to_char(xml_table.count), 40);
539: hr_utility.set_location('g_xml_ctr after estab hdr is: '||to_char(g_xml_ctr), 40);
540: -- Get employee data
541: OPEN csr_emp_hdr_details;
542: -- fetch data into form fields
535: g_xml_ctr := xml_table.count;
536: CLOSE csr_hdr_estab_details;
537: --
538: hr_utility.set_location('Table count after estab hdr is: '||to_char(xml_table.count), 40);
539: hr_utility.set_location('g_xml_ctr after estab hdr is: '||to_char(g_xml_ctr), 40);
540: -- Get employee data
541: OPEN csr_emp_hdr_details;
542: -- fetch data into form fields
543: -- and corresponding variables
589: g_xml_ctr := xml_table.count;
590: --
591: CLOSE csr_emp_hdr_details;
592: --
593: hr_utility.set_location('Table count after emp hdr is: '||to_char(xml_table.count), 40);
594: hr_utility.set_location('g_xml_ctr after emp hdr is: '||to_char(g_xml_ctr), 40);
595: -- Get contract details
596: FOR ctr_hdr_rec IN csr_ctr_hdr_details LOOP
597: -- Set the start label
590: --
591: CLOSE csr_emp_hdr_details;
592: --
593: hr_utility.set_location('Table count after emp hdr is: '||to_char(xml_table.count), 40);
594: hr_utility.set_location('g_xml_ctr after emp hdr is: '||to_char(g_xml_ctr), 40);
595: -- Get contract details
596: FOR ctr_hdr_rec IN csr_ctr_hdr_details LOOP
597: -- Set the start label
598: g_xml_ctr := g_xml_ctr +1;
626: xml_table( g_xml_ctr).tag_value := '0';
627: --
628: END LOOP;
629: --
630: hr_utility.set_location('Table count after ctr hdr is: '||to_char(xml_table.count), 40);
631: hr_utility.set_location('g_xml_ctr after ctr header is: '||to_char(g_xml_ctr), 40);
632: -- Get accrual details
633: OPEN csr_acc_hdr_details;
634: FETCH csr_acc_hdr_details INTO
627: --
628: END LOOP;
629: --
630: hr_utility.set_location('Table count after ctr hdr is: '||to_char(xml_table.count), 40);
631: hr_utility.set_location('g_xml_ctr after ctr header is: '||to_char(g_xml_ctr), 40);
632: -- Get accrual details
633: OPEN csr_acc_hdr_details;
634: FETCH csr_acc_hdr_details INTO
635: -- Write into form fields
646: g_xml_ctr := xml_table.count;
647: --
648: CLOSE csr_acc_hdr_details;
649: --
650: hr_utility.set_location('Table count after accrual hdr is: '||to_char(xml_table.count), 40);
651: hr_utility.set_location('g_xml_ctr after accrual header is: '||to_char(g_xml_ctr), 40);
652: -- Write form fields for statement dates
653: --
654: g_xml_ctr := g_xml_ctr +1;
647: --
648: CLOSE csr_acc_hdr_details;
649: --
650: hr_utility.set_location('Table count after accrual hdr is: '||to_char(xml_table.count), 40);
651: hr_utility.set_location('g_xml_ctr after accrual header is: '||to_char(g_xml_ctr), 40);
652: -- Write form fields for statement dates
653: --
654: g_xml_ctr := g_xml_ctr +1;
655: xml_table( g_xml_ctr).tag_name := 'report_date';
662: g_xml_ctr := g_xml_ctr +1;
663: xml_table( g_xml_ctr).tag_name :='statement_end_date';
664: xml_table( g_xml_ctr).tag_value := to_char(p_date_to, 'dd-Mon-yy');
665: --
666: hr_utility.set_location('Table count after header is: '||to_char(xml_table.count), 40);
667: hr_utility.set_location('g_xml_ctr after header is: '||to_char(g_xml_ctr), 40);
668: -------- END OF HEADER --------------
669: -------------------------------------
670: -- Body of the report
663: xml_table( g_xml_ctr).tag_name :='statement_end_date';
664: xml_table( g_xml_ctr).tag_value := to_char(p_date_to, 'dd-Mon-yy');
665: --
666: hr_utility.set_location('Table count after header is: '||to_char(xml_table.count), 40);
667: hr_utility.set_location('g_xml_ctr after header is: '||to_char(g_xml_ctr), 40);
668: -------- END OF HEADER --------------
669: -------------------------------------
670: -- Body of the report
671: --------------------------------------
691: p_accrual => l_total_accrual,
692: p_net_entitlement => l_total_carryover
693: );
694: --
695: hr_utility.set_location('Calculation date for carry over is: '||to_char(p_date_from-1), 40);
696: hr_utility.set_location('Total carryover till date is: '||to_char(l_total_carryover), 40);
697: -- populate form field values
698: g_xml_ctr := g_xml_ctr +1;
699: xml_table( g_xml_ctr).tag_name := 'co_date_to';
692: p_net_entitlement => l_total_carryover
693: );
694: --
695: hr_utility.set_location('Calculation date for carry over is: '||to_char(p_date_from-1), 40);
696: hr_utility.set_location('Total carryover till date is: '||to_char(l_total_carryover), 40);
697: -- populate form field values
698: g_xml_ctr := g_xml_ctr +1;
699: xml_table( g_xml_ctr).tag_name := 'co_date_to';
700: xml_table( g_xml_ctr).tag_value := to_char(p_date_from-1, 'dd-Mon-yy');
747: p_Accrual_End_Date => l_dummy_date,
748: p_accrual => l_total_accrual,
749: p_net_entitlement => l_period_entitlement);
750: --
751: hr_utility.set_location('Calculation date for this period is: '||to_char(acc_period_dates(i).accrual_end_date), 40);
752: hr_utility.set_location('Start date for this period is: '||to_char(l_start_date),40);
753: hr_utility.set_location('End date for this period is: '||to_char(l_end_date),40);
754: --
755: hr_utility.set_location('Period accrual before adding abs and adj is: '||to_char(l_period_entitlement), 40);
748: p_accrual => l_total_accrual,
749: p_net_entitlement => l_period_entitlement);
750: --
751: hr_utility.set_location('Calculation date for this period is: '||to_char(acc_period_dates(i).accrual_end_date), 40);
752: hr_utility.set_location('Start date for this period is: '||to_char(l_start_date),40);
753: hr_utility.set_location('End date for this period is: '||to_char(l_end_date),40);
754: --
755: hr_utility.set_location('Period accrual before adding abs and adj is: '||to_char(l_period_entitlement), 40);
756: -- Calculate the absences for this period
749: p_net_entitlement => l_period_entitlement);
750: --
751: hr_utility.set_location('Calculation date for this period is: '||to_char(acc_period_dates(i).accrual_end_date), 40);
752: hr_utility.set_location('Start date for this period is: '||to_char(l_start_date),40);
753: hr_utility.set_location('End date for this period is: '||to_char(l_end_date),40);
754: --
755: hr_utility.set_location('Period accrual before adding abs and adj is: '||to_char(l_period_entitlement), 40);
756: -- Calculate the absences for this period
757: l_period_absence := per_accrual_calc_functions.get_absence(
751: hr_utility.set_location('Calculation date for this period is: '||to_char(acc_period_dates(i).accrual_end_date), 40);
752: hr_utility.set_location('Start date for this period is: '||to_char(l_start_date),40);
753: hr_utility.set_location('End date for this period is: '||to_char(l_end_date),40);
754: --
755: hr_utility.set_location('Period accrual before adding abs and adj is: '||to_char(l_period_entitlement), 40);
756: -- Calculate the absences for this period
757: l_period_absence := per_accrual_calc_functions.get_absence(
758: p_assignment_id => l_assignment_id,
759: p_plan_id => p_accrual_plan_id,
802: --
803: -- Calculate the total accrual for using later
804: l_total_dif_accrual:= l_total_dif_accrual +l_period_entitlement;
805: --
806: hr_utility.set_location('Period accrual is: '||to_char(l_period_entitlement), 40);
807: hr_utility.set_location('Total dif accrual is: '||to_char(l_total_dif_accrual), 40);
808: --
809: END LOOP;
810: -- write the total DIF accural field
803: -- Calculate the total accrual for using later
804: l_total_dif_accrual:= l_total_dif_accrual +l_period_entitlement;
805: --
806: hr_utility.set_location('Period accrual is: '||to_char(l_period_entitlement), 40);
807: hr_utility.set_location('Total dif accrual is: '||to_char(l_total_dif_accrual), 40);
808: --
809: END LOOP;
810: -- write the total DIF accural field
811: l_total_dif_accrual := l_total_dif_accrual + l_total_carryover;
813: g_xml_ctr := g_xml_ctr +1;
814: xml_table( g_xml_ctr).tag_name := 'total_dif_acc';
815: xml_table( g_xml_ctr).tag_value := round(l_total_dif_accrual,2);
816: --
817: hr_utility.set_location('Table count after DIF accruals is: '||to_char(xml_table.count), 40);
818: hr_utility.set_location('g_xml_ctr after DIF accruals is: '||to_char(g_xml_ctr), 40);
819: --
820: ----------------------
821: -- DIF taken section
814: xml_table( g_xml_ctr).tag_name := 'total_dif_acc';
815: xml_table( g_xml_ctr).tag_value := round(l_total_dif_accrual,2);
816: --
817: hr_utility.set_location('Table count after DIF accruals is: '||to_char(xml_table.count), 40);
818: hr_utility.set_location('g_xml_ctr after DIF accruals is: '||to_char(g_xml_ctr), 40);
819: --
820: ----------------------
821: -- DIF taken section
822: ----------------------
885: g_xml_ctr := g_xml_ctr +1;
886: xml_table( g_xml_ctr).tag_name := 'total_dif_abs';
887: xml_table( g_xml_ctr).tag_value := l_total_absence_duration;
888: --
889: hr_utility.set_location('Table count after DIF taken is: '||to_char(xml_table.count), 40);
890: hr_utility.set_location('g_xml_ctr after DIF taken is: '||to_char(g_xml_ctr), 40);
891: -----------------------------
892: -- DIF adjustment section
893: -----------------------------
886: xml_table( g_xml_ctr).tag_name := 'total_dif_abs';
887: xml_table( g_xml_ctr).tag_value := l_total_absence_duration;
888: --
889: hr_utility.set_location('Table count after DIF taken is: '||to_char(xml_table.count), 40);
890: hr_utility.set_location('g_xml_ctr after DIF taken is: '||to_char(g_xml_ctr), 40);
891: -----------------------------
892: -- DIF adjustment section
893: -----------------------------
894: -- Initialize the total adjustments
941: g_xml_ctr := g_xml_ctr +1;
942: xml_table( g_xml_ctr).tag_name := 'total_dif_adj';
943: xml_table( g_xml_ctr).tag_value := l_total_adjustments;
944: --
945: hr_utility.set_location('Table count after DIF adjustments is: '||to_char(xml_table.count), 40);
946: hr_utility.set_location('g_xml_ctr after DIF adjustments is: '||to_char(g_xml_ctr), 40);
947: -------------------------------
948: -- DIF Balance section
949: ------------------------------
942: xml_table( g_xml_ctr).tag_name := 'total_dif_adj';
943: xml_table( g_xml_ctr).tag_value := l_total_adjustments;
944: --
945: hr_utility.set_location('Table count after DIF adjustments is: '||to_char(xml_table.count), 40);
946: hr_utility.set_location('g_xml_ctr after DIF adjustments is: '||to_char(g_xml_ctr), 40);
947: -------------------------------
948: -- DIF Balance section
949: ------------------------------
950: -- get the balance value
953: g_xml_ctr := g_xml_ctr +1;
954: xml_table( g_xml_ctr).tag_name := 'dif_bal_hrs';
955: xml_table( g_xml_ctr).tag_value := round(l_dif_balance, 2);
956: --
957: hr_utility.set_location('Table count after DIF balance is: '||to_char(xml_table.count), 40);
958: hr_utility.set_location('g_xml_ctr after DIF balance is: '||to_char(g_xml_ctr), 40);
959: hr_utility.set_location('Exiting dif_emp_acc_details' , 50);
960: --
961: END dif_emp_acc_details;
954: xml_table( g_xml_ctr).tag_name := 'dif_bal_hrs';
955: xml_table( g_xml_ctr).tag_value := round(l_dif_balance, 2);
956: --
957: hr_utility.set_location('Table count after DIF balance is: '||to_char(xml_table.count), 40);
958: hr_utility.set_location('g_xml_ctr after DIF balance is: '||to_char(g_xml_ctr), 40);
959: hr_utility.set_location('Exiting dif_emp_acc_details' , 50);
960: --
961: END dif_emp_acc_details;
962: --
955: xml_table( g_xml_ctr).tag_value := round(l_dif_balance, 2);
956: --
957: hr_utility.set_location('Table count after DIF balance is: '||to_char(xml_table.count), 40);
958: hr_utility.set_location('g_xml_ctr after DIF balance is: '||to_char(g_xml_ctr), 40);
959: hr_utility.set_location('Exiting dif_emp_acc_details' , 50);
960: --
961: END dif_emp_acc_details;
962: --
963: --------------------------------------------------
976: l_str8 varchar2(1000);
977: --
978: BEGIN
979: --
980: hr_utility.set_location('Entering write_to_clob', 60);
981: --
982: l_str1 := '
983:
984:
991: ';
992: dbms_lob.createtemporary(l_xfdf_string, FALSE, dbms_lob.call);
993: dbms_lob.open(l_xfdf_string,dbms_lob.lob_readwrite);
994: --
995: hr_utility.set_location('Table count: '||to_char(xml_table.count), 60);
996: --
997: IF xml_table.count > 0 THEN
998: dbms_lob.writeappend( l_xfdf_string, length(l_str1), l_str1 );
999: FOR ctr_table IN xml_table.FIRST .. xml_table.LAST LOOP
996: --
997: IF xml_table.count > 0 THEN
998: dbms_lob.writeappend( l_xfdf_string, length(l_str1), l_str1 );
999: FOR ctr_table IN xml_table.FIRST .. xml_table.LAST LOOP
1000: hr_utility.set_location('Counter table: '||to_char(ctr_table), 65);
1001: l_str7 := xml_table(ctr_table).tag_name;
1002: l_str8 := nvl(xml_table(ctr_table).tag_value, ' ');
1003: IF l_str7 in('L_MAIN', 'L_CTR_HDR', 'L_DIF_ACC', 'L_DIF_TAKEN', 'L_DIF_ADJ')THEN
1004: --
1001: l_str7 := xml_table(ctr_table).tag_name;
1002: l_str8 := nvl(xml_table(ctr_table).tag_value, ' ');
1003: IF l_str7 in('L_MAIN', 'L_CTR_HDR', 'L_DIF_ACC', 'L_DIF_TAKEN', 'L_DIF_ADJ')THEN
1004: --
1005: hr_utility.set_location('Tag name is: '||l_str7, 65);
1006: hr_utility.set_location('Tag value is: '||l_str8, 65);
1007: --
1008: IF l_str8 = '1' THEN -- start of the label
1009: dbms_lob.writeappend( l_xfdf_string, length(l_str2), l_str2 );--- <
1002: l_str8 := nvl(xml_table(ctr_table).tag_value, ' ');
1003: IF l_str7 in('L_MAIN', 'L_CTR_HDR', 'L_DIF_ACC', 'L_DIF_TAKEN', 'L_DIF_ADJ')THEN
1004: --
1005: hr_utility.set_location('Tag name is: '||l_str7, 65);
1006: hr_utility.set_location('Tag value is: '||l_str8, 65);
1007: --
1008: IF l_str8 = '1' THEN -- start of the label
1009: dbms_lob.writeappend( l_xfdf_string, length(l_str2), l_str2 );--- <
1010: dbms_lob.writeappend( l_xfdf_string, length(l_str7),l_str7);------ name
1009: dbms_lob.writeappend( l_xfdf_string, length(l_str2), l_str2 );--- <
1010: dbms_lob.writeappend( l_xfdf_string, length(l_str7),l_str7);------ name
1011: dbms_lob.writeappend( l_xfdf_string, length(l_str3), l_str3 );---->
1012: --
1013: hr_utility.set_location('xml string', 70);
1014: --
1015: ELSE -- end of the label
1016: dbms_lob.writeappend( l_xfdf_string, length(l_str4), l_str4 );----
1017: dbms_lob.writeappend( l_xfdf_string, length(l_str7),l_str7);----- name
1016: dbms_lob.writeappend( l_xfdf_string, length(l_str4), l_str4 );----
1017: dbms_lob.writeappend( l_xfdf_string, length(l_str7),l_str7);----- name
1018: dbms_lob.writeappend( l_xfdf_string, length(l_str3), l_str3 );----- >
1019: --
1020: hr_utility.set_location('xml string', 80);
1021: --
1022: END IF;
1023: ELSE
1024: --
1021: --
1022: END IF;
1023: ELSE
1024: --
1025: hr_utility.set_location('xml string: '||l_str7, 90);
1026: --
1027: dbms_lob.writeappend( l_xfdf_string, length(l_str2), l_str2 );--- <
1028: dbms_lob.writeappend( l_xfdf_string, length(l_str7),l_str7);------ name
1029: dbms_lob.writeappend( l_xfdf_string, length(l_str3), l_str3 );---->
1028: dbms_lob.writeappend( l_xfdf_string, length(l_str7),l_str7);------ name
1029: dbms_lob.writeappend( l_xfdf_string, length(l_str3), l_str3 );---->
1030: dbms_lob.writeappend( l_xfdf_string, length(l_str8), l_str8);-----value
1031: --
1032: hr_utility.set_location('Appended Value: '||l_str8, 95);
1033: --
1034: dbms_lob.writeappend( l_xfdf_string, length(l_str4), l_str4 );----
1035: dbms_lob.writeappend( l_xfdf_string, length(l_str7),l_str7);----- name
1036: dbms_lob.writeappend( l_xfdf_string, length(l_str3), l_str3 );----- >
1036: dbms_lob.writeappend( l_xfdf_string, length(l_str3), l_str3 );----- >
1037: END IF;
1038: END LOOP;
1039: --
1040: hr_utility.set_location('l_str5 is: '||l_str5, 100);
1041: --
1042: dbms_lob.writeappend( l_xfdf_string, length(l_str5), l_str5 );
1043: --
1044: hr_utility.set_location('xml string', 100);
1040: hr_utility.set_location('l_str5 is: '||l_str5, 100);
1041: --
1042: dbms_lob.writeappend( l_xfdf_string, length(l_str5), l_str5 );
1043: --
1044: hr_utility.set_location('xml string', 100);
1045: --
1046: ELSE
1047: dbms_lob.writeappend( l_xfdf_string, length(l_str6), l_str6 );
1048: --
1045: --
1046: ELSE
1047: dbms_lob.writeappend( l_xfdf_string, length(l_str6), l_str6 );
1048: --
1049: hr_utility.set_location('xml string', 110);
1050: --
1051: END IF;
1052: hr_utility.set_location(dbms_lob.getlength(l_xfdf_string), 120);
1053: --
1048: --
1049: hr_utility.set_location('xml string', 110);
1050: --
1051: END IF;
1052: hr_utility.set_location(dbms_lob.getlength(l_xfdf_string), 120);
1053: --
1054: dbms_lob.createtemporary(p_xfdf_clob,TRUE);
1055: p_xfdf_clob := l_xfdf_string;
1056: --
1053: --
1054: dbms_lob.createtemporary(p_xfdf_clob,TRUE);
1055: p_xfdf_clob := l_xfdf_string;
1056: --
1057: hr_utility.set_location('After assigning to out LOB'||dbms_lob.getlength(p_xfdf_clob), 130);
1058: --
1059: hr_utility.set_location('After writing to clob', 140);
1060: --
1061: EXCEPTION
1055: p_xfdf_clob := l_xfdf_string;
1056: --
1057: hr_utility.set_location('After assigning to out LOB'||dbms_lob.getlength(p_xfdf_clob), 130);
1058: --
1059: hr_utility.set_location('After writing to clob', 140);
1060: --
1061: EXCEPTION
1062: WHEN OTHERS THEN
1063: hr_utility.set_location('Exception: '||to_char(SQLCODE)||' '||SUBSTR(SQLERRM, 1, 50), 60);
1059: hr_utility.set_location('After writing to clob', 140);
1060: --
1061: EXCEPTION
1062: WHEN OTHERS THEN
1063: hr_utility.set_location('Exception: '||to_char(SQLCODE)||' '||SUBSTR(SQLERRM, 1, 50), 60);
1064: return;
1065: --
1066: hr_utility.set_location('Exiting write_to_clob', 60);
1067: --
1062: WHEN OTHERS THEN
1063: hr_utility.set_location('Exception: '||to_char(SQLCODE)||' '||SUBSTR(SQLERRM, 1, 50), 60);
1064: return;
1065: --
1066: hr_utility.set_location('Exiting write_to_clob', 60);
1067: --
1068: END write_to_clob;
1069: --
1070: END;