30:
31: raw_data:=utl_raw.cast_to_raw(p_text);
32: text_size:=utl_raw.length(raw_data);
33:
34: dbms_lob.createtemporary(temp_blob,false,DBMS_LOB.CALL);
35: dbms_lob.open(temp_blob,dbms_lob.lob_readwrite);
36:
37: dbms_lob.writeappend(temp_blob,
38: text_size,
31: raw_data:=utl_raw.cast_to_raw(p_text);
32: text_size:=utl_raw.length(raw_data);
33:
34: dbms_lob.createtemporary(temp_blob,false,DBMS_LOB.CALL);
35: dbms_lob.open(temp_blob,dbms_lob.lob_readwrite);
36:
37: dbms_lob.writeappend(temp_blob,
38: text_size,
39: raw_data);
33:
34: dbms_lob.createtemporary(temp_blob,false,DBMS_LOB.CALL);
35: dbms_lob.open(temp_blob,dbms_lob.lob_readwrite);
36:
37: dbms_lob.writeappend(temp_blob,
38: text_size,
39: raw_data);
40:
41: IF dbms_lob.ISOPEN(temp_blob)=1 THEN
37: dbms_lob.writeappend(temp_blob,
38: text_size,
39: raw_data);
40:
41: IF dbms_lob.ISOPEN(temp_blob)=1 THEN
42: hr_utility.trace('Closing temp_lob' );
43: dbms_lob.close(temp_blob);
44: hr_utility.trace('Closed temp_lob' );
45: END IF;
39: raw_data);
40:
41: IF dbms_lob.ISOPEN(temp_blob)=1 THEN
42: hr_utility.trace('Closing temp_lob' );
43: dbms_lob.close(temp_blob);
44: hr_utility.trace('Closed temp_lob' );
45: END IF;
46:
47: return temp_blob;
1381: 'Y',
1382: 'get_final_xml',
1383: p_xml_blob);
1384:
1385: hr_utility.trace('dbms_lob.getlength(p_xml_blob) ' ||dbms_lob.getlength(p_xml_blob));
1386: hr_utility.trace('1. final 1. XML l_final_xml '||
1387: dbms_lob.substr(l_final_xml,dbms_lob.getlength(l_final_xml),1));
1388: hr_utility.trace('In get_final_xml 30');
1389:
1383: p_xml_blob);
1384:
1385: hr_utility.trace('dbms_lob.getlength(p_xml_blob) ' ||dbms_lob.getlength(p_xml_blob));
1386: hr_utility.trace('1. final 1. XML l_final_xml '||
1387: dbms_lob.substr(l_final_xml,dbms_lob.getlength(l_final_xml),1));
1388: hr_utility.trace('In get_final_xml 30');
1389:
1390: l_is_temp_final_xml := dbms_lob.istemporary(l_final_xml);
1391: hr_utility.trace('Istemporary(l_xml_string) ' ||l_is_temp_final_xml );
1386: hr_utility.trace('1. final 1. XML l_final_xml '||
1387: dbms_lob.substr(l_final_xml,dbms_lob.getlength(l_final_xml),1));
1388: hr_utility.trace('In get_final_xml 30');
1389:
1390: l_is_temp_final_xml := dbms_lob.istemporary(l_final_xml);
1391: hr_utility.trace('Istemporary(l_xml_string) ' ||l_is_temp_final_xml );
1392:
1393: IF l_is_temp_final_xml = 1 THEN
1394: DBMS_LOB.FREETEMPORARY(l_final_xml);
1390: l_is_temp_final_xml := dbms_lob.istemporary(l_final_xml);
1391: hr_utility.trace('Istemporary(l_xml_string) ' ||l_is_temp_final_xml );
1392:
1393: IF l_is_temp_final_xml = 1 THEN
1394: DBMS_LOB.FREETEMPORARY(l_final_xml);
1395: END IF;
1396:
1397: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
1398: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
1393: IF l_is_temp_final_xml = 1 THEN
1394: DBMS_LOB.FREETEMPORARY(l_final_xml);
1395: END IF;
1396:
1397: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
1398: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
1399: l_final_xml := append_to_lob(l_header_xml_string);
1400: dbms_lob.append(l_final_xml,p_xml_blob);
1401: hr_utility.trace('In get_final_xml 40');
1394: DBMS_LOB.FREETEMPORARY(l_final_xml);
1395: END IF;
1396:
1397: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
1398: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
1399: l_final_xml := append_to_lob(l_header_xml_string);
1400: dbms_lob.append(l_final_xml,p_xml_blob);
1401: hr_utility.trace('In get_final_xml 40');
1402:
1396:
1397: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
1398: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
1399: l_final_xml := append_to_lob(l_header_xml_string);
1400: dbms_lob.append(l_final_xml,p_xml_blob);
1401: hr_utility.trace('In get_final_xml 40');
1402:
1403: l_trailer_xml := ''||EOL;
1404:
1402:
1403: l_trailer_xml := ''||EOL;
1404:
1405: hr_utility.trace('In get_final_xml 50');
1406: dbms_lob.createtemporary(l_temp_blob,false,DBMS_LOB.CALL);
1407: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
1408: l_temp_blob := append_to_lob(l_trailer_xml);
1409: dbms_lob.append(l_final_xml,l_temp_blob);
1410:
1403: l_trailer_xml := ''||EOL;
1404:
1405: hr_utility.trace('In get_final_xml 50');
1406: dbms_lob.createtemporary(l_temp_blob,false,DBMS_LOB.CALL);
1407: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
1408: l_temp_blob := append_to_lob(l_trailer_xml);
1409: dbms_lob.append(l_final_xml,l_temp_blob);
1410:
1411: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
1405: hr_utility.trace('In get_final_xml 50');
1406: dbms_lob.createtemporary(l_temp_blob,false,DBMS_LOB.CALL);
1407: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
1408: l_temp_blob := append_to_lob(l_trailer_xml);
1409: dbms_lob.append(l_final_xml,l_temp_blob);
1410:
1411: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
1412: hr_utility.trace('Closing l_final_xml' );
1413: dbms_lob.close(l_final_xml);
1407: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
1408: l_temp_blob := append_to_lob(l_trailer_xml);
1409: dbms_lob.append(l_final_xml,l_temp_blob);
1410:
1411: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
1412: hr_utility.trace('Closing l_final_xml' );
1413: dbms_lob.close(l_final_xml);
1414: END IF;
1415: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1409: dbms_lob.append(l_final_xml,l_temp_blob);
1410:
1411: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
1412: hr_utility.trace('Closing l_final_xml' );
1413: dbms_lob.close(l_final_xml);
1414: END IF;
1415: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1416: hr_utility.trace('Closing p_xml_blob' );
1417: dbms_lob.close(p_xml_blob);
1411: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
1412: hr_utility.trace('Closing l_final_xml' );
1413: dbms_lob.close(l_final_xml);
1414: END IF;
1415: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1416: hr_utility.trace('Closing p_xml_blob' );
1417: dbms_lob.close(p_xml_blob);
1418: END IF;
1419: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
1413: dbms_lob.close(l_final_xml);
1414: END IF;
1415: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1416: hr_utility.trace('Closing p_xml_blob' );
1417: dbms_lob.close(p_xml_blob);
1418: END IF;
1419: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
1420: hr_utility.trace('Closing l_temp_blob' );
1421: dbms_lob.close(l_temp_blob);
1415: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1416: hr_utility.trace('Closing p_xml_blob' );
1417: dbms_lob.close(p_xml_blob);
1418: END IF;
1419: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
1420: hr_utility.trace('Closing l_temp_blob' );
1421: dbms_lob.close(l_temp_blob);
1422: END IF;
1423: hr_utility.trace('In get_final_xml 60');
1417: dbms_lob.close(p_xml_blob);
1418: END IF;
1419: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
1420: hr_utility.trace('Closing l_temp_blob' );
1421: dbms_lob.close(l_temp_blob);
1422: END IF;
1423: hr_utility.trace('In get_final_xml 60');
1424: else
1425: hr_utility.trace('Negative employee');
1428: INTO l_err_msg;
1429: CLOSE cur_get_meaning;
1430:
1431: l_err_msg := 'Error:'||l_err_msg;
1432: l_is_temp_final_xml := dbms_lob.istemporary(l_final_xml);
1433: hr_utility.trace('Istemporary(l_xml_string) ' ||l_is_temp_final_xml );
1434:
1435: IF l_is_temp_final_xml = 1 THEN
1436: DBMS_LOB.FREETEMPORARY(l_final_xml);
1432: l_is_temp_final_xml := dbms_lob.istemporary(l_final_xml);
1433: hr_utility.trace('Istemporary(l_xml_string) ' ||l_is_temp_final_xml );
1434:
1435: IF l_is_temp_final_xml = 1 THEN
1436: DBMS_LOB.FREETEMPORARY(l_final_xml);
1437: END IF;
1438:
1439: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
1440: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
1435: IF l_is_temp_final_xml = 1 THEN
1436: DBMS_LOB.FREETEMPORARY(l_final_xml);
1437: END IF;
1438:
1439: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
1440: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
1441: l_final_xml := append_to_lob(l_err_msg);
1442: hr_utility.trace('In get_final_xml 61');
1443: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
1436: DBMS_LOB.FREETEMPORARY(l_final_xml);
1437: END IF;
1438:
1439: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
1440: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
1441: l_final_xml := append_to_lob(l_err_msg);
1442: hr_utility.trace('In get_final_xml 61');
1443: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
1444: hr_utility.trace('Closing l_final_xml' );
1439: dbms_lob.createtemporary(l_final_xml,false,DBMS_LOB.CALL);
1440: dbms_lob.open(l_final_xml,dbms_lob.lob_readwrite);
1441: l_final_xml := append_to_lob(l_err_msg);
1442: hr_utility.trace('In get_final_xml 61');
1443: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
1444: hr_utility.trace('Closing l_final_xml' );
1445: dbms_lob.close(l_final_xml);
1446: END IF;
1447: hr_utility.trace('In get_final_xml 62');
1441: l_final_xml := append_to_lob(l_err_msg);
1442: hr_utility.trace('In get_final_xml 61');
1443: IF DBMS_LOB.isopen(l_final_xml) = 1 THEN
1444: hr_utility.trace('Closing l_final_xml' );
1445: dbms_lob.close(l_final_xml);
1446: END IF;
1447: hr_utility.trace('In get_final_xml 62');
1448: end if;
1449: hr_utility.trace('In get_final_xml 65');
1453: exception
1454: when others then
1455: hr_utility.trace('In get_final_xml 70');
1456:
1457: IF dbms_lob.ISOPEN(l_final_xml)=1 THEN
1458: hr_utility.trace('Raising exception and Closing l_final_xml' );
1459: dbms_lob.close(l_final_xml);
1460: END IF;
1461: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1455: hr_utility.trace('In get_final_xml 70');
1456:
1457: IF dbms_lob.ISOPEN(l_final_xml)=1 THEN
1458: hr_utility.trace('Raising exception and Closing l_final_xml' );
1459: dbms_lob.close(l_final_xml);
1460: END IF;
1461: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1462: hr_utility.trace('Raising exception and Closing p_xml_string' );
1463: dbms_lob.close(p_xml_blob);
1457: IF dbms_lob.ISOPEN(l_final_xml)=1 THEN
1458: hr_utility.trace('Raising exception and Closing l_final_xml' );
1459: dbms_lob.close(l_final_xml);
1460: END IF;
1461: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1462: hr_utility.trace('Raising exception and Closing p_xml_string' );
1463: dbms_lob.close(p_xml_blob);
1464: END IF;
1465: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
1459: dbms_lob.close(l_final_xml);
1460: END IF;
1461: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1462: hr_utility.trace('Raising exception and Closing p_xml_string' );
1463: dbms_lob.close(p_xml_blob);
1464: END IF;
1465: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
1466: hr_utility.trace('Closing l_temp_blob' );
1467: dbms_lob.close(l_temp_blob);
1461: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
1462: hr_utility.trace('Raising exception and Closing p_xml_string' );
1463: dbms_lob.close(p_xml_blob);
1464: END IF;
1465: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
1466: hr_utility.trace('Closing l_temp_blob' );
1467: dbms_lob.close(l_temp_blob);
1468: END IF;
1469: hr_utility.trace('sqleerm ' || SQLERRM);
1463: dbms_lob.close(p_xml_blob);
1464: END IF;
1465: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
1466: hr_utility.trace('Closing l_temp_blob' );
1467: dbms_lob.close(l_temp_blob);
1468: END IF;
1469: hr_utility.trace('sqleerm ' || SQLERRM);
1470: raise;
1471: END get_final_xml;
4575:
4576: if trim(called_from) = 'xml_employee_record' then
4577: pay_core_files.write_to_magtape_lob(l_final_xml_string);
4578: else
4579: l_is_temp_final_xml := dbms_lob.istemporary(p_xml_blob);
4580: IF l_is_temp_final_xml = 1 THEN
4581: DBMS_LOB.FREETEMPORARY(p_xml_blob);
4582: END IF;
4583: dbms_lob.createtemporary(p_xml_blob,false,DBMS_LOB.CALL);
4577: pay_core_files.write_to_magtape_lob(l_final_xml_string);
4578: else
4579: l_is_temp_final_xml := dbms_lob.istemporary(p_xml_blob);
4580: IF l_is_temp_final_xml = 1 THEN
4581: DBMS_LOB.FREETEMPORARY(p_xml_blob);
4582: END IF;
4583: dbms_lob.createtemporary(p_xml_blob,false,DBMS_LOB.CALL);
4584: dbms_lob.open(p_xml_blob,dbms_lob.lob_readwrite);
4585: p_xml_blob := append_to_lob(l_final_xml_string);
4579: l_is_temp_final_xml := dbms_lob.istemporary(p_xml_blob);
4580: IF l_is_temp_final_xml = 1 THEN
4581: DBMS_LOB.FREETEMPORARY(p_xml_blob);
4582: END IF;
4583: dbms_lob.createtemporary(p_xml_blob,false,DBMS_LOB.CALL);
4584: dbms_lob.open(p_xml_blob,dbms_lob.lob_readwrite);
4585: p_xml_blob := append_to_lob(l_final_xml_string);
4586: end if;
4587:
4580: IF l_is_temp_final_xml = 1 THEN
4581: DBMS_LOB.FREETEMPORARY(p_xml_blob);
4582: END IF;
4583: dbms_lob.createtemporary(p_xml_blob,false,DBMS_LOB.CALL);
4584: dbms_lob.open(p_xml_blob,dbms_lob.lob_readwrite);
4585: p_xml_blob := append_to_lob(l_final_xml_string);
4586: end if;
4587:
4588: l_final_xml_string := l_final_xml_string3
4594: hr_utility.trace('Just before Printing the file details ');
4595: if trim(called_from) = 'xml_employee_record' then
4596: pay_core_files.write_to_magtape_lob(l_final_xml_string);
4597: else
4598: dbms_lob.createtemporary(l_temp_blob,false,DBMS_LOB.CALL);
4599: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
4600:
4601: l_temp_blob := append_to_lob(l_final_xml_string);
4602: dbms_lob.append(p_xml_blob,l_temp_blob);
4595: if trim(called_from) = 'xml_employee_record' then
4596: pay_core_files.write_to_magtape_lob(l_final_xml_string);
4597: else
4598: dbms_lob.createtemporary(l_temp_blob,false,DBMS_LOB.CALL);
4599: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
4600:
4601: l_temp_blob := append_to_lob(l_final_xml_string);
4602: dbms_lob.append(p_xml_blob,l_temp_blob);
4603: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
4598: dbms_lob.createtemporary(l_temp_blob,false,DBMS_LOB.CALL);
4599: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
4600:
4601: l_temp_blob := append_to_lob(l_final_xml_string);
4602: dbms_lob.append(p_xml_blob,l_temp_blob);
4603: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
4604: hr_utility.trace('Closing l_temp_blob' );
4605: dbms_lob.close(l_temp_blob);
4606: END IF;
4599: dbms_lob.open(l_temp_blob,dbms_lob.lob_readwrite);
4600:
4601: l_temp_blob := append_to_lob(l_final_xml_string);
4602: dbms_lob.append(p_xml_blob,l_temp_blob);
4603: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
4604: hr_utility.trace('Closing l_temp_blob' );
4605: dbms_lob.close(l_temp_blob);
4606: END IF;
4607: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
4601: l_temp_blob := append_to_lob(l_final_xml_string);
4602: dbms_lob.append(p_xml_blob,l_temp_blob);
4603: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
4604: hr_utility.trace('Closing l_temp_blob' );
4605: dbms_lob.close(l_temp_blob);
4606: END IF;
4607: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
4608: hr_utility.trace('Closing p_xml_blob' );
4609: dbms_lob.close(p_xml_blob);
4603: IF dbms_lob.ISOPEN(l_temp_blob)=1 THEN
4604: hr_utility.trace('Closing l_temp_blob' );
4605: dbms_lob.close(l_temp_blob);
4606: END IF;
4607: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
4608: hr_utility.trace('Closing p_xml_blob' );
4609: dbms_lob.close(p_xml_blob);
4610: hr_utility.trace('closed p_xml_blob');
4611: END IF;
4605: dbms_lob.close(l_temp_blob);
4606: END IF;
4607: IF dbms_lob.ISOPEN(p_xml_blob)=1 THEN
4608: hr_utility.trace('Closing p_xml_blob' );
4609: dbms_lob.close(p_xml_blob);
4610: hr_utility.trace('closed p_xml_blob');
4611: END IF;
4612: end if;
4613: