51: *****************************************************************************/
52:
53: PROCEDURE write_to_magtape_lob(p_blob BLOB) IS
54: BEGIN
55: IF dbms_lob.getLength (p_blob) IS NOT NULL THEN
56: pay_core_files.write_to_magtape_lob (p_blob);
57: END IF;
58: END write_to_magtape_lob;
59:
287:
288: dbg( l_xml_query) ;
289: dbg('check for clob istemporary') ;
290:
291: is_temp := dbms_lob.istemporary(l_xml_clob);
292: dbg('Istemporary(l_xml_clob) ' ||is_temp );
293:
294: IF is_temp = 1 THEN
295: DBMS_LOB.FREETEMPORARY(l_xml_clob);
291: is_temp := dbms_lob.istemporary(l_xml_clob);
292: dbg('Istemporary(l_xml_clob) ' ||is_temp );
293:
294: IF is_temp = 1 THEN
295: DBMS_LOB.FREETEMPORARY(l_xml_clob);
296: END IF;
297:
298: dbg('clob createtemporary') ;
299:
296: END IF;
297:
298: dbg('clob createtemporary') ;
299:
300: dbms_lob.createtemporary(l_xml_clob,false,DBMS_LOB.CALL);
301: dbms_lob.open(l_xml_clob,dbms_lob.lob_readwrite);
302:
303: dbg('set the context') ;
304:
297:
298: dbg('clob createtemporary') ;
299:
300: dbms_lob.createtemporary(l_xml_clob,false,DBMS_LOB.CALL);
301: dbms_lob.open(l_xml_clob,dbms_lob.lob_readwrite);
302:
303: dbg('set the context') ;
304:
305: l_xml_ctx := DBMS_XMLQuery.newcontext(l_xml_query);
315: return l_xml_clob ;
316:
317: exception
318: when OTHERS then
319: dbms_lob.close(l_xml_clob);
320: dbg('sqleerm ' || sqlerrm);
321: HR_UTILITY.RAISE_ERROR;
322:
323: end create_xml_string;
397: dbg('l_arch_person_id ' ||l_arch_person_id);
398: dbg('l_legal_employer_id ' ||l_legal_employer_id);
399: dbg('l_year ' ||l_year);
400:
401: l_is_temp_emp := dbms_lob.istemporary(lc_emp_clob);
402: dbg('Istemporary(lc_emp_clob) ' ||l_is_temp_emp );
403:
404: IF l_is_temp_emp = 1 THEN
405: DBMS_LOB.FREETEMPORARY(lc_emp_clob);
401: l_is_temp_emp := dbms_lob.istemporary(lc_emp_clob);
402: dbg('Istemporary(lc_emp_clob) ' ||l_is_temp_emp );
403:
404: IF l_is_temp_emp = 1 THEN
405: DBMS_LOB.FREETEMPORARY(lc_emp_clob);
406: END IF;
407:
408: dbms_lob.createtemporary(lc_emp_clob,false,DBMS_LOB.CALL);
409: dbms_lob.open(lc_emp_clob,dbms_lob.lob_readwrite);
404: IF l_is_temp_emp = 1 THEN
405: DBMS_LOB.FREETEMPORARY(lc_emp_clob);
406: END IF;
407:
408: dbms_lob.createtemporary(lc_emp_clob,false,DBMS_LOB.CALL);
409: dbms_lob.open(lc_emp_clob,dbms_lob.lob_readwrite);
410:
411: lc_emp_clob := create_xml_string(l_arch_payroll_action_id,l_arch_person_id,l_legal_employer_id,
412: l_year,l_pai_eff_date);
405: DBMS_LOB.FREETEMPORARY(lc_emp_clob);
406: END IF;
407:
408: dbms_lob.createtemporary(lc_emp_clob,false,DBMS_LOB.CALL);
409: dbms_lob.open(lc_emp_clob,dbms_lob.lob_readwrite);
410:
411: lc_emp_clob := create_xml_string(l_arch_payroll_action_id,l_arch_person_id,l_legal_employer_id,
412: l_year,l_pai_eff_date);
413:
413:
414: dbg('After create xml string ');
415:
416: dbg('XML String is ');
417: dbg(dbms_lob.substr(lc_emp_clob,dbms_lob.getlength(lc_emp_clob),1));
418:
419: begin
420:
421: dbms_lob.open(lc_emp_clob,DBMS_LOB.LOB_READONLY);
417: dbg(dbms_lob.substr(lc_emp_clob,dbms_lob.getlength(lc_emp_clob),1));
418:
419: begin
420:
421: dbms_lob.open(lc_emp_clob,DBMS_LOB.LOB_READONLY);
422: LOOP
423: dbms_lob.read(lc_emp_clob,l_amount,l_position,l_buffer);
424: dbg('inside the loop');
425: dbg(l_buffer);
419: begin
420:
421: dbms_lob.open(lc_emp_clob,DBMS_LOB.LOB_READONLY);
422: LOOP
423: dbms_lob.read(lc_emp_clob,l_amount,l_position,l_buffer);
424: dbg('inside the loop');
425: dbg(l_buffer);
426: pay_core_files.write_to_magtape_lob(l_buffer);
427: l_position := l_position+l_amount;
429: exception WHEN NO_DATA_FOUND THEN
430: null ;
431: end ;
432:
433: dbg('Length of pay_mag_tape.g_blob_value ' ||dbms_lob.getlength(pay_mag_tape.g_blob_value));
434:
435: IF dbms_lob.ISOPEN(lc_emp_clob)=1 THEN
436: dbg('Closing lc_emp_clob' );
437: dbms_lob.close(lc_emp_clob);
431: end ;
432:
433: dbg('Length of pay_mag_tape.g_blob_value ' ||dbms_lob.getlength(pay_mag_tape.g_blob_value));
434:
435: IF dbms_lob.ISOPEN(lc_emp_clob)=1 THEN
436: dbg('Closing lc_emp_clob' );
437: dbms_lob.close(lc_emp_clob);
438: END IF;
439:
433: dbg('Length of pay_mag_tape.g_blob_value ' ||dbms_lob.getlength(pay_mag_tape.g_blob_value));
434:
435: IF dbms_lob.ISOPEN(lc_emp_clob)=1 THEN
436: dbg('Closing lc_emp_clob' );
437: dbms_lob.close(lc_emp_clob);
438: END IF;
439:
440:
441: EXCEPTION
439:
440:
441: EXCEPTION
442: WHEN OTHERS then
443: IF dbms_lob.ISOPEN(lc_emp_clob)=1 THEN
444: dbg('Raising exception and Closing lc_emp_clob' );
445: dbms_lob.close(lc_emp_clob);
446: END IF;
447:
441: EXCEPTION
442: WHEN OTHERS then
443: IF dbms_lob.ISOPEN(lc_emp_clob)=1 THEN
444: dbg('Raising exception and Closing lc_emp_clob' );
445: dbms_lob.close(lc_emp_clob);
446: END IF;
447:
448: dbg('sqleerm ' || SQLERRM);
449: raise;
469: l_footer_xml_string := ''||fnd_global.local_chr(13)||fnd_global.local_chr(10);
470:
471: write_to_magtape_lob (l_footer_xml_string);
472:
473: dbg('Length of pay_mag_tape.g_blob_value ' ||dbms_lob.getlength(pay_mag_tape.g_blob_value));
474:
475: END get_footers;
476:
477:
495: '
496:
497: write_to_magtape_lob (l_header_xml_string);
498:
499: dbg('Length of pay_mag_tape.g_blob_value ' ||dbms_lob.getlength(pay_mag_tape.g_blob_value));
500:
501:
502: END get_headers ;
503: