11: l_buffer_len number:= 32000;
12: l_chunk_len number;
13: l_blob blob;
14: begin
15: l_length_clob := dbms_lob.getlength(p_clob);
16: l_offset := 1;
17: while l_length_clob > 0 loop
18: hr_utility.trace('l_length_clob '|| l_length_clob);
19: if l_length_clob < l_buffer_len then
20: l_chunk_len := l_length_clob;
21: else
22: l_chunk_len := l_buffer_len;
23: end if;
24: DBMS_LOB.READ(p_clob,l_chunk_len,l_offset,l_varchar_buffer);
25: l_raw_buffer := utl_raw.cast_to_raw(l_varchar_buffer);
26: dbms_lob.write(p_blob,l_chunk_len, l_offset, l_raw_buffer);
27: l_offset := l_offset + l_chunk_len;
28: l_length_clob := l_length_clob - l_chunk_len;
22: l_chunk_len := l_buffer_len;
23: end if;
24: DBMS_LOB.READ(p_clob,l_chunk_len,l_offset,l_varchar_buffer);
25: l_raw_buffer := utl_raw.cast_to_raw(l_varchar_buffer);
26: dbms_lob.write(p_blob,l_chunk_len, l_offset, l_raw_buffer);
27: l_offset := l_offset + l_chunk_len;
28: l_length_clob := l_length_clob - l_chunk_len;
29: hr_utility.trace('l_length_blob '|| dbms_lob.getlength(p_blob));
30: end loop;
25: l_raw_buffer := utl_raw.cast_to_raw(l_varchar_buffer);
26: dbms_lob.write(p_blob,l_chunk_len, l_offset, l_raw_buffer);
27: l_offset := l_offset + l_chunk_len;
28: l_length_clob := l_length_clob - l_chunk_len;
29: hr_utility.trace('l_length_blob '|| dbms_lob.getlength(p_blob));
30: end loop;
31: end;
32:
33: procedure delete_entries(errbuf out nocopy VARCHAR2,
1701: ' ';
1702:
1703: end if;
1704:
1705: dbms_lob.createtemporary(l_xfdf_clob,false,DBMS_LOB.CALL);
1706: dbms_lob.open(l_xfdf_clob,dbms_lob.lob_readwrite);
1707: dbms_lob.writeAppend( l_xfdf_clob, length(l_xfdf_string ), l_xfdf_string );
1708: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob,true);
1709: -- clob_to_blob(l_xfdf_string,l_xfdf_blob);
1702:
1703: end if;
1704:
1705: dbms_lob.createtemporary(l_xfdf_clob,false,DBMS_LOB.CALL);
1706: dbms_lob.open(l_xfdf_clob,dbms_lob.lob_readwrite);
1707: dbms_lob.writeAppend( l_xfdf_clob, length(l_xfdf_string ), l_xfdf_string );
1708: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob,true);
1709: -- clob_to_blob(l_xfdf_string,l_xfdf_blob);
1710: clob_to_blob(l_xfdf_clob,l_xfdf_blob);
1703: end if;
1704:
1705: dbms_lob.createtemporary(l_xfdf_clob,false,DBMS_LOB.CALL);
1706: dbms_lob.open(l_xfdf_clob,dbms_lob.lob_readwrite);
1707: dbms_lob.writeAppend( l_xfdf_clob, length(l_xfdf_string ), l_xfdf_string );
1708: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob,true);
1709: -- clob_to_blob(l_xfdf_string,l_xfdf_blob);
1710: clob_to_blob(l_xfdf_clob,l_xfdf_blob);
1711: -- insert into temp values (l_xfdf_clob);
1704:
1705: dbms_lob.createtemporary(l_xfdf_clob,false,DBMS_LOB.CALL);
1706: dbms_lob.open(l_xfdf_clob,dbms_lob.lob_readwrite);
1707: dbms_lob.writeAppend( l_xfdf_clob, length(l_xfdf_string ), l_xfdf_string );
1708: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob,true);
1709: -- clob_to_blob(l_xfdf_string,l_xfdf_blob);
1710: clob_to_blob(l_xfdf_clob,l_xfdf_blob);
1711: -- insert into temp values (l_xfdf_clob);
1712: dbms_lob.close(l_xfdf_clob);
1708: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob,true);
1709: -- clob_to_blob(l_xfdf_string,l_xfdf_blob);
1710: clob_to_blob(l_xfdf_clob,l_xfdf_blob);
1711: -- insert into temp values (l_xfdf_clob);
1712: dbms_lob.close(l_xfdf_clob);
1713: dbms_lob.freetemporary(l_xfdf_clob);
1714: hr_utility.trace('P11D.......................');
1715: return l_xfdf_blob;
1716: exception
1709: -- clob_to_blob(l_xfdf_string,l_xfdf_blob);
1710: clob_to_blob(l_xfdf_clob,l_xfdf_blob);
1711: -- insert into temp values (l_xfdf_clob);
1712: dbms_lob.close(l_xfdf_clob);
1713: dbms_lob.freetemporary(l_xfdf_clob);
1714: hr_utility.trace('P11D.......................');
1715: return l_xfdf_blob;
1716: exception
1717: when OTHERS then
4273: l_employee_number);
4274: l_pactid := get_pactid(p_assignment_action_id);
4275: l_person_id := get_person_id (p_assignment_action_id );
4276: l_loop_count := 0;
4277: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
4278: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
4279: for relocation_entries in csr_relocation_entries(l_pactid,
4280: l_person_id,
4281: l_emp_ref_no,
4274: l_pactid := get_pactid(p_assignment_action_id);
4275: l_person_id := get_person_id (p_assignment_action_id );
4276: l_loop_count := 0;
4277: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
4278: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
4279: for relocation_entries in csr_relocation_entries(l_pactid,
4280: l_person_id,
4281: l_emp_ref_no,
4282: l_employer_name)
4284: l_employee_number := get_assignment_number(relocation_entries.action_context_id);
4285: l_loop_count := l_loop_count+1;
4286: if l_loop_count = 1
4287: then
4288: dbms_lob.writeAppend( l_xfdf_str,
4289: length(
4290: '
4291:
4292:
4319: '
4320: '
4321: '
4322: end if;
4323: dbms_lob.writeAppend( l_xfdf_str,
4324: length(
4325: '
4326: '
4327: '
4342: '
4343: end loop;
4344: if l_loop_count <> 0
4345: then
4346: dbms_lob.writeAppend( l_xfdf_str,length(' '),' ');
4347: end if;
4348: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
4349: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
4350: dbms_lob.close(l_xfdf_str);
4344: if l_loop_count <> 0
4345: then
4346: dbms_lob.writeAppend( l_xfdf_str,length(' '),' ');
4347: end if;
4348: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
4349: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
4350: dbms_lob.close(l_xfdf_str);
4351: dbms_lob.freetemporary(l_xfdf_str);
4352: return l_xfdf_blob_str;
4346: dbms_lob.writeAppend( l_xfdf_str,length(' '),' ');
4347: end if;
4348: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
4349: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
4350: dbms_lob.close(l_xfdf_str);
4351: dbms_lob.freetemporary(l_xfdf_str);
4352: return l_xfdf_blob_str;
4353: end;
4354:
4347: end if;
4348: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
4349: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
4350: dbms_lob.close(l_xfdf_str);
4351: dbms_lob.freetemporary(l_xfdf_str);
4352: return l_xfdf_blob_str;
4353: end;
4354:
4355: function fetch_ws6_ref_cursor (p_assignment_action_id Number,
5033: '
5034: '
5035: '
5036: end if;
5037: dbms_lob.writeAppend( l_xfdf_str, length(l_line_desc) ,l_line_desc );
5038: end;
5039:
5040: procedure add_total_lines is
5041: begin
5049: '
5050: '
5051: '
5052: '
5053: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5054: else
5055: l_xfdf_intermetiate_var :=
5056: '
5057: '
5056: '
5057: '
5058: '
5059: '
5060: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5061: end if;
5062: end;
5063:
5064: procedure add_detail_line(p_SECTION_HEADING varchar2,
5081: '
5082: '
5083: '
5084: '
5085: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5086: else -- this mean it is shares entry
5087: l_xfdf_intermetiate_var :=
5088: '
5089: '
5090: '
5091: '
5092: '
5093: '
5094: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5095: end if;
5096: else
5097: l_xfdf_intermetiate_var :=
5098: '
5097: l_xfdf_intermetiate_var :=
5098: '
5099: '
5100: '
5101: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5102: if nvl(p_LINE_COL1,nvl(p_LINE_COL3,0)) = 0
5103: then
5104: l_xfdf_intermetiate_var :=
5105: '
5102: if nvl(p_LINE_COL1,nvl(p_LINE_COL3,0)) = 0
5103: then
5104: l_xfdf_intermetiate_var :=
5105: '
5106: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5107: else
5108: l_xfdf_intermetiate_var :=
5109: '
5110: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5106: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5107: else
5108: l_xfdf_intermetiate_var :=
5109: '
5110: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5111: end if;
5112: l_xfdf_intermetiate_var :=
5113: '
5114: '
5111: end if;
5112: l_xfdf_intermetiate_var :=
5113: '
5114: '
5115: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5116: end if;
5117: end;
5118: begin
5119: --hr_utility.trace_on(null,'KT');
5140: l_tot_col2 := null;
5141: l_tot_col3 := null;
5142: l_prev_section := null;
5143: hr_utility.trace('l_prev_section ' || l_prev_section);
5144: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
5145: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
5146:
5147:
5148: PAY_GB_P11D_ARCHIVE_SS.get_parameters(
5141: l_tot_col3 := null;
5142: l_prev_section := null;
5143: hr_utility.trace('l_prev_section ' || l_prev_section);
5144: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
5145: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
5146:
5147:
5148: PAY_GB_P11D_ARCHIVE_SS.get_parameters(
5149: p_payroll_action_id => l_pactid,
5178: '
5179: '
5180: '
5181: '
5182: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5183: -- add new section heading and section title
5184: if summary_entries.SECTION_HEADING = 'Other Items Non 1A'
5185: then
5186: l_xfdf_intermetiate_var:=
5185: then
5186: l_xfdf_intermetiate_var:=
5187: '
5188: '
5189: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5190: else
5191: l_xfdf_intermetiate_var:=
5192: '
5193: '
5190: else
5191: l_xfdf_intermetiate_var:=
5192: '
5193: '
5194: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5195: end if;
5196: -- add new line desc
5197: set_line_desc(summary_entries.SECTION_HEADING);
5198: hr_utility.trace('l_loop_count ' ||l_loop_count);
5247: else
5248: l_xfdf_intermetiate_var :=
5249: '
5250: '
5251: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5252: l_line_count := l_line_count + 1;
5253: end if;
5254: -- add new line desc
5255: set_line_desc(summary_entries.SECTION_HEADING);
5315: '
5316: '
5317: '
5318: '
5319: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5320: -- add new section heading and section title
5321: if summary_entries.SECTION_HEADING = 'Other Items Non 1A'
5322: then
5323: l_xfdf_intermetiate_var:=
5322: then
5323: l_xfdf_intermetiate_var:=
5324: '
5325: '
5326: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5327: else
5328: l_xfdf_intermetiate_var:=
5329: '
5330: '
5327: else
5328: l_xfdf_intermetiate_var:=
5329: '
5330: '
5331: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5332: end if;
5333: -- add new line desc
5334:
5335: set_line_desc(summary_entries.SECTION_HEADING);
5390: else
5391: l_xfdf_intermetiate_var :=
5392: '
5393: '
5394: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5395: l_line_count := l_line_count + 1;
5396: hr_utility.trace('Writing header : ' || l_line_count);
5397: end if;
5398: -- add new line desc
5498: '
5499: '
5500: '
5501: '
5502: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5503: end loop;
5504: end if;
5505: -- this will ensure the xfdf string ends with the correct fields
5506: l_xfdf_intermetiate_var := ' ';
5503: end loop;
5504: end if;
5505: -- this will ensure the xfdf string ends with the correct fields
5506: l_xfdf_intermetiate_var := ' ';
5507: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5508: end if;
5509: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5510: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5511: dbms_lob.close(l_xfdf_str);
5505: -- this will ensure the xfdf string ends with the correct fields
5506: l_xfdf_intermetiate_var := ' ';
5507: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5508: end if;
5509: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5510: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5511: dbms_lob.close(l_xfdf_str);
5512: dbms_lob.freetemporary(l_xfdf_str);
5513: hr_utility.trace('blob length '|| dbms_lob.getlength(l_xfdf_blob_str));
5507: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5508: end if;
5509: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5510: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5511: dbms_lob.close(l_xfdf_str);
5512: dbms_lob.freetemporary(l_xfdf_str);
5513: hr_utility.trace('blob length '|| dbms_lob.getlength(l_xfdf_blob_str));
5514: -- Adding this causes error in xdo so commented this
5515: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
5508: end if;
5509: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5510: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5511: dbms_lob.close(l_xfdf_str);
5512: dbms_lob.freetemporary(l_xfdf_str);
5513: hr_utility.trace('blob length '|| dbms_lob.getlength(l_xfdf_blob_str));
5514: -- Adding this causes error in xdo so commented this
5515: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
5516: --hr_utility.trace_off;
5509: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5510: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5511: dbms_lob.close(l_xfdf_str);
5512: dbms_lob.freetemporary(l_xfdf_str);
5513: hr_utility.trace('blob length '|| dbms_lob.getlength(l_xfdf_blob_str));
5514: -- Adding this causes error in xdo so commented this
5515: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
5516: --hr_utility.trace_off;
5517: return l_xfdf_blob_str;
5511: dbms_lob.close(l_xfdf_str);
5512: dbms_lob.freetemporary(l_xfdf_str);
5513: hr_utility.trace('blob length '|| dbms_lob.getlength(l_xfdf_blob_str));
5514: -- Adding this causes error in xdo so commented this
5515: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
5516: --hr_utility.trace_off;
5517: return l_xfdf_blob_str;
5518: end ;
5519: /*Added this function to generate pdf report for Address*/
5592: l_employee_name pay_action_information.action_information1%type;
5593: l_code pay_action_information.action_information9%type;
5594: l_meaning hr_lookups.meaning%type;
5595: begin
5596: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
5597: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
5598: open csr_address_entries;
5599: fetch csr_address_entries into l_adress1,l_adress2,l_adress3,l_town,l_county,l_code;
5600: close csr_address_entries;
5593: l_code pay_action_information.action_information9%type;
5594: l_meaning hr_lookups.meaning%type;
5595: begin
5596: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
5597: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
5598: open csr_address_entries;
5599: fetch csr_address_entries into l_adress1,l_adress2,l_adress3,l_town,l_county,l_code;
5600: close csr_address_entries;
5601:
5618: '
5619: '
5620: '
5621: ' ';
5622: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5623: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5624: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5625: dbms_lob.close(l_xfdf_str);
5626: dbms_lob.freetemporary(l_xfdf_str);
5619: '
5620: '
5621: ' ';
5622: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5623: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5624: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5625: dbms_lob.close(l_xfdf_str);
5626: dbms_lob.freetemporary(l_xfdf_str);
5627: -- Adding this causes error in xdo so commented this
5621: ' ';
5622: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5623: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5624: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5625: dbms_lob.close(l_xfdf_str);
5626: dbms_lob.freetemporary(l_xfdf_str);
5627: -- Adding this causes error in xdo so commented this
5628: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
5629: return l_xfdf_blob_str;
5622: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5623: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5624: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5625: dbms_lob.close(l_xfdf_str);
5626: dbms_lob.freetemporary(l_xfdf_str);
5627: -- Adding this causes error in xdo so commented this
5628: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
5629: return l_xfdf_blob_str;
5630: end;
5624: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5625: dbms_lob.close(l_xfdf_str);
5626: dbms_lob.freetemporary(l_xfdf_str);
5627: -- Adding this causes error in xdo so commented this
5628: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
5629: return l_xfdf_blob_str;
5630: end;
5631:
5632: FUNCTION write_magtape_records (p_arch_payroll_action_id NUMBER,