1986: l_str7 := '
1987:
1988:
1989:
1990: dbms_lob.createtemporary(l_xfdf_string,FALSE,DBMS_LOB.CALL);
1991: dbms_lob.open(l_xfdf_string,dbms_lob.lob_readwrite);
1992: if p_report = 'MAIN' then
1993: if vXMLTable.count > 0 then
1994: dbms_lob.writeAppend( l_xfdf_string, length(l_str1), l_str1 );
1987:
1988:
1989:
1990: dbms_lob.createtemporary(l_xfdf_string,FALSE,DBMS_LOB.CALL);
1991: dbms_lob.open(l_xfdf_string,dbms_lob.lob_readwrite);
1992: if p_report = 'MAIN' then
1993: if vXMLTable.count > 0 then
1994: dbms_lob.writeAppend( l_xfdf_string, length(l_str1), l_str1 );
1995: FOR ctr_table IN vXMLTable.FIRST .. vXMLTable.LAST LOOP
1990: dbms_lob.createtemporary(l_xfdf_string,FALSE,DBMS_LOB.CALL);
1991: dbms_lob.open(l_xfdf_string,dbms_lob.lob_readwrite);
1992: if p_report = 'MAIN' then
1993: if vXMLTable.count > 0 then
1994: dbms_lob.writeAppend( l_xfdf_string, length(l_str1), l_str1 );
1995: FOR ctr_table IN vXMLTable.FIRST .. vXMLTable.LAST LOOP
1996: l_str8 := vXMLTable(ctr_table).TagName;
1997: l_str9 := vXMLTable(ctr_table).TagValue;
1998: if (l_str9 is not null) then
1997: l_str9 := vXMLTable(ctr_table).TagValue;
1998: if (l_str9 is not null) then
1999: /* Added CDATA to handle special characters Bug No: 6676325*/
2000: l_str9 := '';
2001: dbms_lob.writeAppend( l_xfdf_string, length(l_str2), l_str2 );
2002: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2003: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2004: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2005: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
1998: if (l_str9 is not null) then
1999: /* Added CDATA to handle special characters Bug No: 6676325*/
2000: l_str9 := '';
2001: dbms_lob.writeAppend( l_xfdf_string, length(l_str2), l_str2 );
2002: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2003: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2004: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2005: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2006: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
1999: /* Added CDATA to handle special characters Bug No: 6676325*/
2000: l_str9 := '';
2001: dbms_lob.writeAppend( l_xfdf_string, length(l_str2), l_str2 );
2002: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2003: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2004: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2005: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2006: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2007: elsif (l_str9 is null and l_str8 is not null) then
2000: l_str9 := '';
2001: dbms_lob.writeAppend( l_xfdf_string, length(l_str2), l_str2 );
2002: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2003: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2004: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2005: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2006: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2007: elsif (l_str9 is null and l_str8 is not null) then
2008: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2001: dbms_lob.writeAppend( l_xfdf_string, length(l_str2), l_str2 );
2002: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2003: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2004: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2005: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2006: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2007: elsif (l_str9 is null and l_str8 is not null) then
2008: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2009: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2002: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2003: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2004: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2005: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2006: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2007: elsif (l_str9 is null and l_str8 is not null) then
2008: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2009: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2010: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2004: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2005: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2006: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2007: elsif (l_str9 is null and l_str8 is not null) then
2008: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2009: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2010: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2011: dbms_lob.writeAppend(l_xfdf_string,length(l_str4),l_str4);
2012: dbms_lob.writeAppend(l_xfdf_string,length(l_str5),l_str5);
2005: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2006: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2007: elsif (l_str9 is null and l_str8 is not null) then
2008: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2009: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2010: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2011: dbms_lob.writeAppend(l_xfdf_string,length(l_str4),l_str4);
2012: dbms_lob.writeAppend(l_xfdf_string,length(l_str5),l_str5);
2013: else
2006: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2007: elsif (l_str9 is null and l_str8 is not null) then
2008: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2009: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2010: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2011: dbms_lob.writeAppend(l_xfdf_string,length(l_str4),l_str4);
2012: dbms_lob.writeAppend(l_xfdf_string,length(l_str5),l_str5);
2013: else
2014: null;
2007: elsif (l_str9 is null and l_str8 is not null) then
2008: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2009: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2010: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2011: dbms_lob.writeAppend(l_xfdf_string,length(l_str4),l_str4);
2012: dbms_lob.writeAppend(l_xfdf_string,length(l_str5),l_str5);
2013: else
2014: null;
2015: end if;
2008: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2009: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2010: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2011: dbms_lob.writeAppend(l_xfdf_string,length(l_str4),l_str4);
2012: dbms_lob.writeAppend(l_xfdf_string,length(l_str5),l_str5);
2013: else
2014: null;
2015: end if;
2016: END LOOP;
2013: else
2014: null;
2015: end if;
2016: END LOOP;
2017: dbms_lob.writeAppend( l_xfdf_string, length(l_str6), l_str6 );
2018: else
2019: dbms_lob.writeAppend( l_xfdf_string, length(l_str7), l_str7 );
2020: end if;
2021: else
2015: end if;
2016: END LOOP;
2017: dbms_lob.writeAppend( l_xfdf_string, length(l_str6), l_str6 );
2018: else
2019: dbms_lob.writeAppend( l_xfdf_string, length(l_str7), l_str7 );
2020: end if;
2021: else
2022: if vXMLTable_summary.count > 0 then
2023: dbms_lob.writeAppend( l_xfdf_string, length(l_str1), l_str1 );
2019: dbms_lob.writeAppend( l_xfdf_string, length(l_str7), l_str7 );
2020: end if;
2021: else
2022: if vXMLTable_summary.count > 0 then
2023: dbms_lob.writeAppend( l_xfdf_string, length(l_str1), l_str1 );
2024: FOR ctr_table IN vXMLTable_summary.FIRST .. vXMLTable_summary.LAST LOOP
2025: l_str8 := vXMLTable_summary(ctr_table).TagName;
2026: l_str9 := vXMLTable_summary(ctr_table).TagValue;
2027: if (l_str9 is not null) then
2026: l_str9 := vXMLTable_summary(ctr_table).TagValue;
2027: if (l_str9 is not null) then
2028: /* Added CDATA to handle special characters Bug No: 6676325*/
2029: l_str9 := '';
2030: dbms_lob.writeAppend( l_xfdf_string, length(l_str2), l_str2 );
2031: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2032: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2033: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2034: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2027: if (l_str9 is not null) then
2028: /* Added CDATA to handle special characters Bug No: 6676325*/
2029: l_str9 := '';
2030: dbms_lob.writeAppend( l_xfdf_string, length(l_str2), l_str2 );
2031: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2032: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2033: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2034: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2035: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2028: /* Added CDATA to handle special characters Bug No: 6676325*/
2029: l_str9 := '';
2030: dbms_lob.writeAppend( l_xfdf_string, length(l_str2), l_str2 );
2031: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2032: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2033: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2034: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2035: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2036: elsif (l_str9 is null and l_str8 is not null) then
2029: l_str9 := '';
2030: dbms_lob.writeAppend( l_xfdf_string, length(l_str2), l_str2 );
2031: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2032: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2033: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2034: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2035: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2036: elsif (l_str9 is null and l_str8 is not null) then
2037: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2030: dbms_lob.writeAppend( l_xfdf_string, length(l_str2), l_str2 );
2031: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2032: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2033: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2034: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2035: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2036: elsif (l_str9 is null and l_str8 is not null) then
2037: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2038: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2031: dbms_lob.writeAppend( l_xfdf_string, length(l_str8),l_str8);
2032: dbms_lob.writeAppend( l_xfdf_string, length(l_str3), l_str3 );
2033: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2034: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2035: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2036: elsif (l_str9 is null and l_str8 is not null) then
2037: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2038: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2039: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2033: dbms_lob.writeAppend( l_xfdf_string, length(l_str4), l_str4 );
2034: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2035: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2036: elsif (l_str9 is null and l_str8 is not null) then
2037: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2038: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2039: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2040: dbms_lob.writeAppend(l_xfdf_string,length(l_str4),l_str4);
2041: dbms_lob.writeAppend(l_xfdf_string,length(l_str5),l_str5);
2034: dbms_lob.writeAppend( l_xfdf_string, length(l_str9), l_str9);
2035: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2036: elsif (l_str9 is null and l_str8 is not null) then
2037: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2038: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2039: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2040: dbms_lob.writeAppend(l_xfdf_string,length(l_str4),l_str4);
2041: dbms_lob.writeAppend(l_xfdf_string,length(l_str5),l_str5);
2042: else
2035: dbms_lob.writeAppend( l_xfdf_string, length(l_str5), l_str5 );
2036: elsif (l_str9 is null and l_str8 is not null) then
2037: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2038: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2039: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2040: dbms_lob.writeAppend(l_xfdf_string,length(l_str4),l_str4);
2041: dbms_lob.writeAppend(l_xfdf_string,length(l_str5),l_str5);
2042: else
2043: null;
2036: elsif (l_str9 is null and l_str8 is not null) then
2037: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2038: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2039: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2040: dbms_lob.writeAppend(l_xfdf_string,length(l_str4),l_str4);
2041: dbms_lob.writeAppend(l_xfdf_string,length(l_str5),l_str5);
2042: else
2043: null;
2044: end if;
2037: dbms_lob.writeAppend(l_xfdf_string,length(l_str2),l_str2);
2038: dbms_lob.writeAppend(l_xfdf_string,length(l_str8),l_str8);
2039: dbms_lob.writeAppend(l_xfdf_string,length(l_str3),l_str3);
2040: dbms_lob.writeAppend(l_xfdf_string,length(l_str4),l_str4);
2041: dbms_lob.writeAppend(l_xfdf_string,length(l_str5),l_str5);
2042: else
2043: null;
2044: end if;
2045: END LOOP;
2042: else
2043: null;
2044: end if;
2045: END LOOP;
2046: dbms_lob.writeAppend( l_xfdf_string, length(l_str6), l_str6 );
2047: else
2048: dbms_lob.writeAppend( l_xfdf_string, length(l_str7), l_str7 );
2049: end if;
2050: end if;
2044: end if;
2045: END LOOP;
2046: dbms_lob.writeAppend( l_xfdf_string, length(l_str6), l_str6 );
2047: else
2048: dbms_lob.writeAppend( l_xfdf_string, length(l_str7), l_str7 );
2049: end if;
2050: end if;
2051: DBMS_LOB.CREATETEMPORARY(p_xfdf_blob,TRUE);
2052: clob_to_blob(l_xfdf_string,p_xfdf_blob);
2047: else
2048: dbms_lob.writeAppend( l_xfdf_string, length(l_str7), l_str7 );
2049: end if;
2050: end if;
2051: DBMS_LOB.CREATETEMPORARY(p_xfdf_blob,TRUE);
2052: clob_to_blob(l_xfdf_string,p_xfdf_blob);
2053: hr_utility.set_location('Finished Procedure Write to CLOB ,Before clob to blob ',110);
2054: --return p_xfdf_blob;
2055: EXCEPTION
2073: l_blob_offset pls_integer := 1;
2074: begin
2075: hr_utility.set_location('Entered Procedure clob to blob',120);
2076: select userenv('LANGUAGE') into g_nls_db_char from dual;
2077: l_length_clob := dbms_lob.getlength(p_clob);
2078: l_offset := 1;
2079: while l_length_clob > 0 loop
2080: hr_utility.trace('l_length_clob '|| l_length_clob);
2081: if l_length_clob < l_buffer_len then
2082: l_chunk_len := l_length_clob;
2083: else
2084: l_chunk_len := l_buffer_len;
2085: end if;
2086: DBMS_LOB.READ(p_clob,l_chunk_len,l_offset,l_varchar_buffer);
2087: --l_raw_buffer := utl_raw.cast_to_raw(l_varchar_buffer);
2088: l_raw_buffer := utl_raw.convert(utl_raw.cast_to_raw(l_varchar_buffer),'American_America.UTF8',g_nls_db_char);
2089: l_raw_buffer_len := utl_raw.length(utl_raw.convert(utl_raw.cast_to_raw(l_varchar_buffer),'American_America.UTF8',g_nls_db_char));
2090: hr_utility.trace('l_varchar_buffer '|| l_varchar_buffer);
2087: --l_raw_buffer := utl_raw.cast_to_raw(l_varchar_buffer);
2088: l_raw_buffer := utl_raw.convert(utl_raw.cast_to_raw(l_varchar_buffer),'American_America.UTF8',g_nls_db_char);
2089: l_raw_buffer_len := utl_raw.length(utl_raw.convert(utl_raw.cast_to_raw(l_varchar_buffer),'American_America.UTF8',g_nls_db_char));
2090: hr_utility.trace('l_varchar_buffer '|| l_varchar_buffer);
2091: --dbms_lob.write(p_blob,l_chunk_len, l_offset, l_raw_buffer);
2092: dbms_lob.write(p_blob,l_raw_buffer_len, l_blob_offset, l_raw_buffer);
2093: l_blob_offset := l_blob_offset + l_raw_buffer_len;
2094: l_offset := l_offset + l_chunk_len;
2095: l_length_clob := l_length_clob - l_chunk_len;
2088: l_raw_buffer := utl_raw.convert(utl_raw.cast_to_raw(l_varchar_buffer),'American_America.UTF8',g_nls_db_char);
2089: l_raw_buffer_len := utl_raw.length(utl_raw.convert(utl_raw.cast_to_raw(l_varchar_buffer),'American_America.UTF8',g_nls_db_char));
2090: hr_utility.trace('l_varchar_buffer '|| l_varchar_buffer);
2091: --dbms_lob.write(p_blob,l_chunk_len, l_offset, l_raw_buffer);
2092: dbms_lob.write(p_blob,l_raw_buffer_len, l_blob_offset, l_raw_buffer);
2093: l_blob_offset := l_blob_offset + l_raw_buffer_len;
2094: l_offset := l_offset + l_chunk_len;
2095: l_length_clob := l_length_clob - l_chunk_len;
2096: hr_utility.trace('l_length_blob '|| dbms_lob.getlength(p_blob));
2092: dbms_lob.write(p_blob,l_raw_buffer_len, l_blob_offset, l_raw_buffer);
2093: l_blob_offset := l_blob_offset + l_raw_buffer_len;
2094: l_offset := l_offset + l_chunk_len;
2095: l_length_clob := l_length_clob - l_chunk_len;
2096: hr_utility.trace('l_length_blob '|| dbms_lob.getlength(p_blob));
2097: end loop;
2098: hr_utility.set_location('Finished Procedure clob to blob ',130);
2099: end;
2100: ----------------------------------------------------------------