107:
108: raw_data:=utl_raw.cast_to_raw(p_text);
109: text_size:=utl_raw.length(raw_data);
110:
111: dbms_lob.createtemporary(temp_blob,false,DBMS_LOB.CALL);
112: dbms_lob.open(temp_blob,dbms_lob.lob_readwrite);
113:
114: dbms_lob.writeappend(temp_blob,
115: text_size,
108: raw_data:=utl_raw.cast_to_raw(p_text);
109: text_size:=utl_raw.length(raw_data);
110:
111: dbms_lob.createtemporary(temp_blob,false,DBMS_LOB.CALL);
112: dbms_lob.open(temp_blob,dbms_lob.lob_readwrite);
113:
114: dbms_lob.writeappend(temp_blob,
115: text_size,
116: raw_data);
110:
111: dbms_lob.createtemporary(temp_blob,false,DBMS_LOB.CALL);
112: dbms_lob.open(temp_blob,dbms_lob.lob_readwrite);
113:
114: dbms_lob.writeappend(temp_blob,
115: text_size,
116: raw_data);
117:
118: IF dbms_lob.ISOPEN(temp_blob)=1 THEN
114: dbms_lob.writeappend(temp_blob,
115: text_size,
116: raw_data);
117:
118: IF dbms_lob.ISOPEN(temp_blob)=1 THEN
119: hr_utility.trace('Closing temp_lob' );
120: dbms_lob.close(temp_blob);
121: END IF;
122:
116: raw_data);
117:
118: IF dbms_lob.ISOPEN(temp_blob)=1 THEN
119: hr_utility.trace('Closing temp_lob' );
120: dbms_lob.close(temp_blob);
121: END IF;
122:
123: return temp_blob;
124: END;
472: ,'Y'
473: ,'get_final_xml'
474: ,p_xml_blob
475: );
476: hr_utility.trace('dbms_lob.getlength(p_xml_blob) ' ||dbms_lob.getlength(p_xml_blob));
477: hr_utility.trace('1. final 1. XML l_final_xml '||
478: dbms_lob.substr(l_final_xml,dbms_lob.getlength(l_final_xml),1));
479: hr_utility.trace('In get_final_xml 30');
480:
474: ,p_xml_blob
475: );
476: hr_utility.trace('dbms_lob.getlength(p_xml_blob) ' ||dbms_lob.getlength(p_xml_blob));
477: hr_utility.trace('1. final 1. XML l_final_xml '||
478: dbms_lob.substr(l_final_xml,dbms_lob.getlength(l_final_xml),1));
479: hr_utility.trace('In get_final_xml 30');
480:
481: l_is_temp_final_xml := dbms_lob.istemporary(l_final_xml);
482: hr_utility.trace('Istemporary(l_xml_string) ' ||l_is_temp_final_xml );
477: hr_utility.trace('1. final 1. XML l_final_xml '||
478: dbms_lob.substr(l_final_xml,dbms_lob.getlength(l_final_xml),1));
479: hr_utility.trace('In get_final_xml 30');
480:
481: l_is_temp_final_xml := dbms_lob.istemporary(l_final_xml);
482: hr_utility.trace('Istemporary(l_xml_string) ' ||l_is_temp_final_xml );
483:
484: IF l_is_temp_final_xml = 1 THEN
485: DBMS_LOB.FREETEMPORARY(l_final_xml);
481: l_is_temp_final_xml := dbms_lob.istemporary(l_final_xml);
482: hr_utility.trace('Istemporary(l_xml_string) ' ||l_is_temp_final_xml );
483:
484: IF l_is_temp_final_xml = 1 THEN
485: DBMS_LOB.FREETEMPORARY(l_final_xml);
486: END IF;
487:
488: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
489: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
484: IF l_is_temp_final_xml = 1 THEN
485: DBMS_LOB.FREETEMPORARY(l_final_xml);
486: END IF;
487:
488: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
489: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
490: l_final_xml := append_to_lob(l_final_xml_string);
491: dbms_lob.append(l_final_xml,p_xml_blob);
492: hr_utility.trace('In get_final_xml 40');
485: DBMS_LOB.FREETEMPORARY(l_final_xml);
486: END IF;
487:
488: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
489: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
490: l_final_xml := append_to_lob(l_final_xml_string);
491: dbms_lob.append(l_final_xml,p_xml_blob);
492: hr_utility.trace('In get_final_xml 40');
493:
487:
488: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
489: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
490: l_final_xml := append_to_lob(l_final_xml_string);
491: dbms_lob.append(l_final_xml,p_xml_blob);
492: hr_utility.trace('In get_final_xml 40');
493:
494: l_trailer_xml := ''||EOL||
495: '
499: ''||EOL||
500: ''||EOL;
501:
502: hr_utility.trace('In get_final_xml 50');
503: dbms_lob.createtemporary(l_temp_blob,false,DBMS_LOB.CALL);
504: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
505: l_temp_blob := append_to_lob(l_trailer_xml);
506: dbms_lob.append(l_final_xml,l_temp_blob);
507:
500: ''||EOL;
501:
502: hr_utility.trace('In get_final_xml 50');
503: dbms_lob.createtemporary(l_temp_blob,false,DBMS_LOB.CALL);
504: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
505: l_temp_blob := append_to_lob(l_trailer_xml);
506: dbms_lob.append(l_final_xml,l_temp_blob);
507:
508: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
502: hr_utility.trace('In get_final_xml 50');
503: dbms_lob.createtemporary(l_temp_blob,false,DBMS_LOB.CALL);
504: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
505: l_temp_blob := append_to_lob(l_trailer_xml);
506: dbms_lob.append(l_final_xml,l_temp_blob);
507:
508: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
509: hr_utility.trace('Closing l_final_xml' );
510: dbms_lob.close(l_final_xml);
504: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
505: l_temp_blob := append_to_lob(l_trailer_xml);
506: dbms_lob.append(l_final_xml,l_temp_blob);
507:
508: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
509: hr_utility.trace('Closing l_final_xml' );
510: dbms_lob.close(l_final_xml);
511: END IF;
512: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
506: dbms_lob.append(l_final_xml,l_temp_blob);
507:
508: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
509: hr_utility.trace('Closing l_final_xml' );
510: dbms_lob.close(l_final_xml);
511: END IF;
512: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
513: hr_utility.trace('Closing p_xml_blob' );
514: dbms_lob.close(p_xml_blob);
508: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
509: hr_utility.trace('Closing l_final_xml' );
510: dbms_lob.close(l_final_xml);
511: END IF;
512: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
513: hr_utility.trace('Closing p_xml_blob' );
514: dbms_lob.close(p_xml_blob);
515: END IF;
516: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
510: dbms_lob.close(l_final_xml);
511: END IF;
512: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
513: hr_utility.trace('Closing p_xml_blob' );
514: dbms_lob.close(p_xml_blob);
515: END IF;
516: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
517: hr_utility.trace('Closing l_temp_blob' );
518: dbms_lob.close(l_temp_blob);
512: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
513: hr_utility.trace('Closing p_xml_blob' );
514: dbms_lob.close(p_xml_blob);
515: END IF;
516: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
517: hr_utility.trace('Closing l_temp_blob' );
518: dbms_lob.close(l_temp_blob);
519: END IF;
520: hr_utility.trace('In get_final_xml 60');
514: dbms_lob.close(p_xml_blob);
515: END IF;
516: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
517: hr_utility.trace('Closing l_temp_blob' );
518: dbms_lob.close(l_temp_blob);
519: END IF;
520: hr_utility.trace('In get_final_xml 60');
521:
522: else -- lv_negative_bal_flag = 'Y'
526: INTO l_err_msg;
527: CLOSE cur_get_meaning;
528:
529: l_err_msg := 'Error:'||l_err_msg;
530: l_is_temp_final_xml := dbms_lob.istemporary(l_final_xml);
531: hr_utility.trace('Istemporary(l_xml_string) ' ||l_is_temp_final_xml );
532:
533: IF l_is_temp_final_xml = 1 THEN
534: DBMS_LOB.FREETEMPORARY(l_final_xml);
530: l_is_temp_final_xml := dbms_lob.istemporary(l_final_xml);
531: hr_utility.trace('Istemporary(l_xml_string) ' ||l_is_temp_final_xml );
532:
533: IF l_is_temp_final_xml = 1 THEN
534: DBMS_LOB.FREETEMPORARY(l_final_xml);
535: END IF;
536:
537: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
538: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
533: IF l_is_temp_final_xml = 1 THEN
534: DBMS_LOB.FREETEMPORARY(l_final_xml);
535: END IF;
536:
537: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
538: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
539: l_final_xml := append_to_lob(l_err_msg);
540: hr_utility.trace('In get_final_xml 61');
541: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
534: DBMS_LOB.FREETEMPORARY(l_final_xml);
535: END IF;
536:
537: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
538: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
539: l_final_xml := append_to_lob(l_err_msg);
540: hr_utility.trace('In get_final_xml 61');
541: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
542: hr_utility.trace('Closing l_final_xml' );
537: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
538: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
539: l_final_xml := append_to_lob(l_err_msg);
540: hr_utility.trace('In get_final_xml 61');
541: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
542: hr_utility.trace('Closing l_final_xml' );
543: dbms_lob.close(l_final_xml);
544: END IF;
545: hr_utility.trace('In get_final_xml 62');
539: l_final_xml := append_to_lob(l_err_msg);
540: hr_utility.trace('In get_final_xml 61');
541: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
542: hr_utility.trace('Closing l_final_xml' );
543: dbms_lob.close(l_final_xml);
544: END IF;
545: hr_utility.trace('In get_final_xml 62');
546: end if;
547: hr_utility.trace('In get_final_xml 65');
550: exception
551: when others then
552: hr_utility.trace('In get_final_xml 70');
553:
554: IF dbms_lob.ISOPEN(l_final_xml)=1 THEN
555: hr_utility.trace('Raising exception and Closing l_final_xml' );
556: dbms_lob.close(l_final_xml);
557: END IF;
558: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
552: hr_utility.trace('In get_final_xml 70');
553:
554: IF dbms_lob.ISOPEN(l_final_xml)=1 THEN
555: hr_utility.trace('Raising exception and Closing l_final_xml' );
556: dbms_lob.close(l_final_xml);
557: END IF;
558: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
559: hr_utility.trace('Raising exception and Closing p_xml_string' );
560: dbms_lob.close(p_xml_blob);
554: IF dbms_lob.ISOPEN(l_final_xml)=1 THEN
555: hr_utility.trace('Raising exception and Closing l_final_xml' );
556: dbms_lob.close(l_final_xml);
557: END IF;
558: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
559: hr_utility.trace('Raising exception and Closing p_xml_string' );
560: dbms_lob.close(p_xml_blob);
561: END IF;
562: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
556: dbms_lob.close(l_final_xml);
557: END IF;
558: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
559: hr_utility.trace('Raising exception and Closing p_xml_string' );
560: dbms_lob.close(p_xml_blob);
561: END IF;
562: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
563: hr_utility.trace('Closing l_temp_blob' );
564: dbms_lob.close(l_temp_blob);
558: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
559: hr_utility.trace('Raising exception and Closing p_xml_string' );
560: dbms_lob.close(p_xml_blob);
561: END IF;
562: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
563: hr_utility.trace('Closing l_temp_blob' );
564: dbms_lob.close(l_temp_blob);
565: END IF;
566:
560: dbms_lob.close(p_xml_blob);
561: END IF;
562: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
563: hr_utility.trace('Closing l_temp_blob' );
564: dbms_lob.close(l_temp_blob);
565: END IF;
566:
567: hr_utility.trace('sqleerm ' || SQLERRM);
568: raise;
1253: hr_utility.trace('after writing in magtape');
1254: end if;
1255:
1256: if trim(called_from) = 'get_final_xml' then
1257: l_is_temp_final_xml := dbms_lob.istemporary(p_xml_blob);
1258: IF l_is_temp_final_xml = 1 THEN
1259: DBMS_LOB.FREETEMPORARY(p_xml_blob);
1260: END IF;
1261:
1255:
1256: if trim(called_from) = 'get_final_xml' then
1257: l_is_temp_final_xml := dbms_lob.istemporary(p_xml_blob);
1258: IF l_is_temp_final_xml = 1 THEN
1259: DBMS_LOB.FREETEMPORARY(p_xml_blob);
1260: END IF;
1261:
1262: dbms_lob.createtemporary(p_xml_blob,false,DBMS_LOB.CALL);
1263: dbms_lob.open(p_xml_blob,dbms_lob.lob_readwrite);
1258: IF l_is_temp_final_xml = 1 THEN
1259: DBMS_LOB.FREETEMPORARY(p_xml_blob);
1260: END IF;
1261:
1262: dbms_lob.createtemporary(p_xml_blob,false,DBMS_LOB.CALL);
1263: dbms_lob.open(p_xml_blob,dbms_lob.lob_readwrite);
1264: p_xml_blob := append_to_lob(l_employee_xml);
1265:
1266: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1259: DBMS_LOB.FREETEMPORARY(p_xml_blob);
1260: END IF;
1261:
1262: dbms_lob.createtemporary(p_xml_blob,false,DBMS_LOB.CALL);
1263: dbms_lob.open(p_xml_blob,dbms_lob.lob_readwrite);
1264: p_xml_blob := append_to_lob(l_employee_xml);
1265:
1266: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1267: hr_utility.trace('Closing p_xml_blob' );
1262: dbms_lob.createtemporary(p_xml_blob,false,DBMS_LOB.CALL);
1263: dbms_lob.open(p_xml_blob,dbms_lob.lob_readwrite);
1264: p_xml_blob := append_to_lob(l_employee_xml);
1265:
1266: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1267: hr_utility.trace('Closing p_xml_blob' );
1268: dbms_lob.close(p_xml_blob);
1269: hr_utility.trace('closed p_xml_blob');
1270: END IF;
1264: p_xml_blob := append_to_lob(l_employee_xml);
1265:
1266: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1267: hr_utility.trace('Closing p_xml_blob' );
1268: dbms_lob.close(p_xml_blob);
1269: hr_utility.trace('closed p_xml_blob');
1270: END IF;
1271: end if;
1272: hr_utility.trace('leaving fetch_t4_xml');
1273:
1274: exception
1275: when others then
1276: hr_utility.trace('sqleerm '|| sqlerrm);
1277: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1278: hr_utility.trace('Closing p_xml_blob' );
1279: dbms_lob.close(p_xml_blob);
1280: END IF;
1281: hr_utility.raise_error;
1275: when others then
1276: hr_utility.trace('sqleerm '|| sqlerrm);
1277: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1278: hr_utility.trace('Closing p_xml_blob' );
1279: dbms_lob.close(p_xml_blob);
1280: END IF;
1281: hr_utility.raise_error;
1282: end;
1283: