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,
1914:
1915:
1916: end if;
1917:
1918: dbms_lob.createtemporary(l_xfdf_clob,false,DBMS_LOB.CALL);
1919: dbms_lob.open(l_xfdf_clob,dbms_lob.lob_readwrite);
1920:
1921: --Start of the fix for the EAP bug 9383416
1922: if (validate_display_output(p_assignment_action_id) = 1) then
1915:
1916: end if;
1917:
1918: dbms_lob.createtemporary(l_xfdf_clob,false,DBMS_LOB.CALL);
1919: dbms_lob.open(l_xfdf_clob,dbms_lob.lob_readwrite);
1920:
1921: --Start of the fix for the EAP bug 9383416
1922: if (validate_display_output(p_assignment_action_id) = 1) then
1923: dbms_lob.writeAppend( l_xfdf_clob, length(l_xfdf_string ), l_xfdf_string );
1919: dbms_lob.open(l_xfdf_clob,dbms_lob.lob_readwrite);
1920:
1921: --Start of the fix for the EAP bug 9383416
1922: if (validate_display_output(p_assignment_action_id) = 1) then
1923: dbms_lob.writeAppend( l_xfdf_clob, length(l_xfdf_string ), l_xfdf_string );
1924: end if;
1925: --End of the fix for the EAP bug 9383416
1926:
1927: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob,true);
1923: dbms_lob.writeAppend( l_xfdf_clob, length(l_xfdf_string ), l_xfdf_string );
1924: end if;
1925: --End of the fix for the EAP bug 9383416
1926:
1927: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob,true);
1928: -- clob_to_blob(l_xfdf_string,l_xfdf_blob);
1929: clob_to_blob(l_xfdf_clob,l_xfdf_blob);
1930: -- insert into temp values (l_xfdf_clob);
1931: dbms_lob.close(l_xfdf_clob);
1927: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob,true);
1928: -- clob_to_blob(l_xfdf_string,l_xfdf_blob);
1929: clob_to_blob(l_xfdf_clob,l_xfdf_blob);
1930: -- insert into temp values (l_xfdf_clob);
1931: dbms_lob.close(l_xfdf_clob);
1932: dbms_lob.freetemporary(l_xfdf_clob);
1933: hr_utility.trace('P11D.......................');
1934: return l_xfdf_blob;
1935: exception
1928: -- clob_to_blob(l_xfdf_string,l_xfdf_blob);
1929: clob_to_blob(l_xfdf_clob,l_xfdf_blob);
1930: -- insert into temp values (l_xfdf_clob);
1931: dbms_lob.close(l_xfdf_clob);
1932: dbms_lob.freetemporary(l_xfdf_clob);
1933: hr_utility.trace('P11D.......................');
1934: return l_xfdf_blob;
1935: exception
1936: when OTHERS then
4962: -- P11D 08/09
4963: l_pactid := get_pactid(p_assignment_action_id);
4964: l_person_id := get_person_id (p_assignment_action_id );
4965: l_loop_count := 0;
4966: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
4967: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
4968: for relocation_entries in csr_relocation_entries(l_pactid,
4969: l_person_id,
4970: l_emp_ref_no,
4963: l_pactid := get_pactid(p_assignment_action_id);
4964: l_person_id := get_person_id (p_assignment_action_id );
4965: l_loop_count := 0;
4966: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
4967: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
4968: for relocation_entries in csr_relocation_entries(l_pactid,
4969: l_person_id,
4970: l_emp_ref_no,
4971: l_employer_name)
4973: l_employee_number := get_assignment_number(relocation_entries.action_context_id);
4974: l_loop_count := l_loop_count+1;
4975: if l_loop_count = 1
4976: then
4977: dbms_lob.writeAppend( l_xfdf_str,
4978: length(
4979: '
4980:
4981:
5016: '
5017: '
5018: '
5019: end if;
5020: dbms_lob.writeAppend( l_xfdf_str,
5021: length(
5022: '
5023: '
5024: '
5039: '
5040: end loop;
5041: if l_loop_count <> 0
5042: then
5043: dbms_lob.writeAppend( l_xfdf_str,length(' '),' ');
5044: end if;
5045: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5046: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5047: dbms_lob.close(l_xfdf_str);
5041: if l_loop_count <> 0
5042: then
5043: dbms_lob.writeAppend( l_xfdf_str,length(' '),' ');
5044: end if;
5045: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5046: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5047: dbms_lob.close(l_xfdf_str);
5048: dbms_lob.freetemporary(l_xfdf_str);
5049: return l_xfdf_blob_str;
5043: dbms_lob.writeAppend( l_xfdf_str,length(' '),' ');
5044: end if;
5045: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5046: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5047: dbms_lob.close(l_xfdf_str);
5048: dbms_lob.freetemporary(l_xfdf_str);
5049: return l_xfdf_blob_str;
5050: end;
5051:
5044: end if;
5045: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
5046: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
5047: dbms_lob.close(l_xfdf_str);
5048: dbms_lob.freetemporary(l_xfdf_str);
5049: return l_xfdf_blob_str;
5050: end;
5051:
5052: function fetch_ws6_ref_cursor (p_assignment_action_id Number,
5816: '
5817: '
5818: '
5819: end if;
5820: dbms_lob.writeAppend( l_xfdf_str, length(l_line_desc) ,l_line_desc );
5821: end;
5822:
5823: procedure add_total_lines is
5824: begin
5832: '
5833: '
5834: '
5835: '
5836: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5837: else
5838: l_xfdf_intermetiate_var :=
5839: '
5840: '
5839: '
5840: '
5841: '
5842: '
5843: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5844: end if;
5845: end;
5846:
5847: procedure add_detail_line(p_SECTION_HEADING varchar2,
5864: '
5865: '
5866: '
5867: '
5868: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5869: else -- this mean it is shares entry
5870: l_xfdf_intermetiate_var :=
5871: '
5872: '
5873: '
5874: '
5875: '
5876: '
5877: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5878: end if;
5879: else
5880: l_xfdf_intermetiate_var :=
5881: '
5880: l_xfdf_intermetiate_var :=
5881: '
5882: '
5883: '
5884: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5885: if nvl(p_LINE_COL1,nvl(p_LINE_COL3,0)) = 0
5886: then
5887: l_xfdf_intermetiate_var :=
5888: '
5885: if nvl(p_LINE_COL1,nvl(p_LINE_COL3,0)) = 0
5886: then
5887: l_xfdf_intermetiate_var :=
5888: '
5889: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5890: else
5891: l_xfdf_intermetiate_var :=
5892: '
5893: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5889: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5890: else
5891: l_xfdf_intermetiate_var :=
5892: '
5893: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5894: end if;
5895: l_xfdf_intermetiate_var :=
5896: '
5897: '
5894: end if;
5895: l_xfdf_intermetiate_var :=
5896: '
5897: '
5898: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5899: end if;
5900: end;
5901: begin
5902: --hr_utility.trace_on(null,'KT');
5929: l_tot_col2 := null;
5930: l_tot_col3 := null;
5931: l_prev_section := null;
5932: hr_utility.trace('l_prev_section ' || l_prev_section);
5933: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
5934: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
5935:
5936:
5937: PAY_GB_P11D_ARCHIVE_SS.get_parameters(
5930: l_tot_col3 := null;
5931: l_prev_section := null;
5932: hr_utility.trace('l_prev_section ' || l_prev_section);
5933: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
5934: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
5935:
5936:
5937: PAY_GB_P11D_ARCHIVE_SS.get_parameters(
5938: p_payroll_action_id => l_pactid,
5967: '
5968: '
5969: '
5970: '
5971: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5972: -- add new section heading and section title
5973: if summary_entries.SECTION_HEADING = 'Other Items Non 1A'
5974: then
5975: l_xfdf_intermetiate_var:=
5974: then
5975: l_xfdf_intermetiate_var:=
5976: '
5977: '
5978: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5979: else
5980: l_xfdf_intermetiate_var:=
5981: '
5982: '
5979: else
5980: l_xfdf_intermetiate_var:=
5981: '
5982: '
5983: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
5984: end if;
5985: -- add new line desc
5986: set_line_desc(summary_entries.SECTION_HEADING);
5987: hr_utility.trace('l_loop_count ' ||l_loop_count);
6036: else
6037: l_xfdf_intermetiate_var :=
6038: '
6039: '
6040: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
6041: l_line_count := l_line_count + 1;
6042: end if;
6043: -- add new line desc
6044: set_line_desc(summary_entries.SECTION_HEADING);
6108: -- P11D 08/09
6109: '
6110: '
6111: '
6112: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
6113: -- add new section heading and section title
6114: if summary_entries.SECTION_HEADING = 'Other Items Non 1A'
6115: then
6116: l_xfdf_intermetiate_var:=
6115: then
6116: l_xfdf_intermetiate_var:=
6117: '
6118: '
6119: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
6120: else
6121: l_xfdf_intermetiate_var:=
6122: '
6123: '
6120: else
6121: l_xfdf_intermetiate_var:=
6122: '
6123: '
6124: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
6125: end if;
6126: -- add new line desc
6127:
6128: set_line_desc(summary_entries.SECTION_HEADING);
6183: else
6184: l_xfdf_intermetiate_var :=
6185: '
6186: '
6187: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
6188: l_line_count := l_line_count + 1;
6189: hr_utility.trace('Writing header : ' || l_line_count);
6190: end if;
6191: -- add new line desc
6292: '
6293: '
6294: '
6295: '
6296: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
6297: end loop;
6298: end if;
6299: -- this will ensure the xfdf string ends with the correct fields
6300: l_xfdf_intermetiate_var := ' ';
6297: end loop;
6298: end if;
6299: -- this will ensure the xfdf string ends with the correct fields
6300: l_xfdf_intermetiate_var := ' ';
6301: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
6302: end if;
6303: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
6304: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
6305: dbms_lob.close(l_xfdf_str);
6299: -- this will ensure the xfdf string ends with the correct fields
6300: l_xfdf_intermetiate_var := ' ';
6301: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
6302: end if;
6303: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
6304: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
6305: dbms_lob.close(l_xfdf_str);
6306: dbms_lob.freetemporary(l_xfdf_str);
6307: hr_utility.trace('blob length '|| dbms_lob.getlength(l_xfdf_blob_str));
6301: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
6302: end if;
6303: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
6304: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
6305: dbms_lob.close(l_xfdf_str);
6306: dbms_lob.freetemporary(l_xfdf_str);
6307: hr_utility.trace('blob length '|| dbms_lob.getlength(l_xfdf_blob_str));
6308: -- Adding this causes error in xdo so commented this
6309: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
6302: end if;
6303: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
6304: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
6305: dbms_lob.close(l_xfdf_str);
6306: dbms_lob.freetemporary(l_xfdf_str);
6307: hr_utility.trace('blob length '|| dbms_lob.getlength(l_xfdf_blob_str));
6308: -- Adding this causes error in xdo so commented this
6309: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
6310: --hr_utility.trace_off;
6303: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
6304: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
6305: dbms_lob.close(l_xfdf_str);
6306: dbms_lob.freetemporary(l_xfdf_str);
6307: hr_utility.trace('blob length '|| dbms_lob.getlength(l_xfdf_blob_str));
6308: -- Adding this causes error in xdo so commented this
6309: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
6310: --hr_utility.trace_off;
6311: return l_xfdf_blob_str;
6305: dbms_lob.close(l_xfdf_str);
6306: dbms_lob.freetemporary(l_xfdf_str);
6307: hr_utility.trace('blob length '|| dbms_lob.getlength(l_xfdf_blob_str));
6308: -- Adding this causes error in xdo so commented this
6309: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
6310: --hr_utility.trace_off;
6311: return l_xfdf_blob_str;
6312: end ;
6313: /*Added this function to generate pdf report for Address*/
6427: l_priv_mark_meaning hr_lookups.meaning%type;
6428:
6429: begin
6430:
6431: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
6432: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
6433:
6434: open csr_address_entries;
6435: fetch csr_address_entries into l_adress1,l_adress2,l_adress3,l_town,l_county,l_code;
6428:
6429: begin
6430:
6431: dbms_lob.createtemporary(l_xfdf_str,false,DBMS_LOB.CALL);
6432: dbms_lob.open(l_xfdf_str,dbms_lob.lob_readwrite);
6433:
6434: open csr_address_entries;
6435: fetch csr_address_entries into l_adress1,l_adress2,l_adress3,l_town,l_county,l_code;
6436: close csr_address_entries;
6493: l_xfdf_intermetiate_var := l_xfdf_intermetiate_var ||'';
6494:
6495: --Start of the fix for the EAP bug 9383416
6496: if (validate_display_output(p_assignment_action_id) = 1) then
6497: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
6498: end if;
6499: --End of the fix for the EAP bug 9383416
6500:
6501: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
6497: dbms_lob.writeAppend( l_xfdf_str, length(l_xfdf_intermetiate_var) ,l_xfdf_intermetiate_var );
6498: end if;
6499: --End of the fix for the EAP bug 9383416
6500:
6501: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
6502: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
6503: dbms_lob.close(l_xfdf_str);
6504: dbms_lob.freetemporary(l_xfdf_str);
6505: -- Adding this causes error in xdo so commented this
6499: --End of the fix for the EAP bug 9383416
6500:
6501: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
6502: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
6503: dbms_lob.close(l_xfdf_str);
6504: dbms_lob.freetemporary(l_xfdf_str);
6505: -- Adding this causes error in xdo so commented this
6506: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
6507: return l_xfdf_blob_str;
6500:
6501: DBMS_LOB.CREATETEMPORARY(l_xfdf_blob_str,true);
6502: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
6503: dbms_lob.close(l_xfdf_str);
6504: dbms_lob.freetemporary(l_xfdf_str);
6505: -- Adding this causes error in xdo so commented this
6506: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
6507: return l_xfdf_blob_str;
6508: end;
6502: clob_to_blob(l_xfdf_str,l_xfdf_blob_str);
6503: dbms_lob.close(l_xfdf_str);
6504: dbms_lob.freetemporary(l_xfdf_str);
6505: -- Adding this causes error in xdo so commented this
6506: -- DBMS_LOB.FREETEMPORARY(l_xfdf_blob_str);
6507: return l_xfdf_blob_str;
6508: end;
6509:
6510: FUNCTION write_magtape_records (p_arch_payroll_action_id NUMBER,