12: IS
13: pos PLS_INTEGER := 1;
14: buffer RAW(32767);
15: res BLOB;
16: lob_len PLS_INTEGER := dbms_lob.getlength(c);
17: BEGIN
18: -- hr_utility.trace('+====c2b===================================================+');
19: dbms_lob.createtemporary(res,TRUE);
20: dbms_lob.open(res,dbms_lob.lob_readwrite);
15: res BLOB;
16: lob_len PLS_INTEGER := dbms_lob.getlength(c);
17: BEGIN
18: -- hr_utility.trace('+====c2b===================================================+');
19: dbms_lob.createtemporary(res,TRUE);
20: dbms_lob.open(res,dbms_lob.lob_readwrite);
21: LOOP
22: buffer := utl_raw.cast_to_raw( dbms_lob.substr( c, 16000, pos ) );
23: IF utl_raw.length( buffer ) > 0 THEN
16: lob_len PLS_INTEGER := dbms_lob.getlength(c);
17: BEGIN
18: -- hr_utility.trace('+====c2b===================================================+');
19: dbms_lob.createtemporary(res,TRUE);
20: dbms_lob.open(res,dbms_lob.lob_readwrite);
21: LOOP
22: buffer := utl_raw.cast_to_raw( dbms_lob.substr( c, 16000, pos ) );
23: IF utl_raw.length( buffer ) > 0 THEN
24: dbms_lob.writeappend(res,utl_raw.length(buffer),buffer);
18: -- hr_utility.trace('+====c2b===================================================+');
19: dbms_lob.createtemporary(res,TRUE);
20: dbms_lob.open(res,dbms_lob.lob_readwrite);
21: LOOP
22: buffer := utl_raw.cast_to_raw( dbms_lob.substr( c, 16000, pos ) );
23: IF utl_raw.length( buffer ) > 0 THEN
24: dbms_lob.writeappend(res,utl_raw.length(buffer),buffer);
25: END IF;
26: pos := pos + 16000;
20: dbms_lob.open(res,dbms_lob.lob_readwrite);
21: LOOP
22: buffer := utl_raw.cast_to_raw( dbms_lob.substr( c, 16000, pos ) );
23: IF utl_raw.length( buffer ) > 0 THEN
24: dbms_lob.writeappend(res,utl_raw.length(buffer),buffer);
25: END IF;
26: pos := pos + 16000;
27: EXIT WHEN pos > lob_len;
28: END LOOP;
143: l_xml_element VARCHAR2(800);
144: l_clob CLOB;
145: BEGIN
146: hr_utility.trace('+====write_report==========================================+');
147: dbms_lob.createtemporary(l_clob, FALSE, DBMS_LOB.CALL);
148: dbms_lob.open(l_clob, DBMS_LOB.LOB_READWRITE);
149:
150: IF p_XMLTable.COUNT > 0 THEN
151:
144: l_clob CLOB;
145: BEGIN
146: hr_utility.trace('+====write_report==========================================+');
147: dbms_lob.createtemporary(l_clob, FALSE, DBMS_LOB.CALL);
148: dbms_lob.open(l_clob, DBMS_LOB.LOB_READWRITE);
149:
150: IF p_XMLTable.COUNT > 0 THEN
151:
152: FOR table_counter IN p_XMLTable.FIRST .. p_XMLTable.LAST
160: '>'|| clean_XML(p_XMLTable(table_counter).tagvalue) ||
161: ''||EOL;
162: END IF;
163: -- IF p_XMLTable(table_counter).tagvalue IS NOT NULL THEN
164: dbms_lob.writeappend(l_clob, LENGTH(l_xml_element), l_xml_element);
165: -- END IF;
166: END LOOP;
167: END IF;
168: IF l_clob IS NOT NULL THEN