CREATE OR REPLACE PROCEDURE ORSC_RMS.sn_itemfailedtoclyde_proc IS CURSOR c_direct_reports IS SELECT a.ITEM, a.ITEM_DESC, a.ITEM_NUMBER_TYPE, a.DEPT, a.STATUS, to_char(im.CREATE_DATETIME,'mm-dd-yyyy hh:mi:ss') CREATE_DATETIME, a.PACK_TYPE, a.ITEM_LEVEL, a.TRAN_LEVEL, a.CUTOFF_TIME || ' 5:00 PM' CUTOFF_TIME, a.REASON FROM sn_itemfailedtoclyde a, item_master im where im.item = a.item; r NUMBER := 0 ; BEGIN gen_xl_xml.create_excel('ORSC_REPORTS', 'Itemfailedtoclyde.xls') ; gen_xl_xml.create_worksheet( 'sheet1'); gen_xl_xml.create_style( 'sgs1' , 'Courier', 'black',12, TRUE , P_underline => 'Single' ); gen_xl_xml.create_style( 'sgs2' , 'Courier', 'black',11,NULL ); gen_xl_xml.create_style( 'sgs3' , 'Courier', 'black',14,TRUE ); -- increase width OF colum b that IS no 2 gen_xl_xml.set_column_width( 1, 80, 'sheet1' ); gen_xl_xml.set_column_width( 2, 300, 'sheet1' ); gen_xl_xml.set_column_width( 3, 80, 'sheet1' ); gen_xl_xml.set_column_width( 4, 80, 'sheet1' ); gen_xl_xml.set_column_width( 5, 80, 'sheet1' ); gen_xl_xml.set_column_width( 6, 160, 'sheet1' ); gen_xl_xml.set_column_width( 7, 80, 'sheet1' ); gen_xl_xml.set_column_width( 8, 80, 'sheet1' ); gen_xl_xml.set_column_width( 9, 80, 'sheet1' ); gen_xl_xml.set_column_width( 10, 160, 'sheet1' ); gen_xl_xml.set_column_width( 11, 500, 'sheet1' ); -- writing the headers r := r+1 ; gen_xl_xml.write_cell_char( r,1, 'sheet1', 'ITEM' ,'sgs1' ); gen_xl_xml.write_cell_char( r,2, 'sheet1', 'ITEM_DESC', 'sgs1' ); gen_xl_xml.write_cell_char( r,3, 'sheet1', 'ITEM_NUMBER_TYPE', 'sgs1' ); gen_xl_xml.write_cell_char( r,4, 'sheet1', 'DEPT', 'sgs1' ); gen_xl_xml.write_cell_char( r,5, 'sheet1', 'STATUS' ,'sgs1' ); gen_xl_xml.write_cell_char( r,6, 'sheet1', 'CREATE_DATETIME', 'sgs1' ); gen_xl_xml.write_cell_char( r,7, 'sheet1', 'PACK_TYPE', 'sgs1' ); gen_xl_xml.write_cell_char( r,8, 'sheet1', 'ITEM_LEVEL' ,'sgs1' ); gen_xl_xml.write_cell_char( r,9, 'sheet1', 'TRAN_LEVEL', 'sgs1' ); gen_xl_xml.write_cell_char( r,10, 'sheet1', 'CUTOFF_TIME', 'sgs1' ); gen_xl_xml.write_cell_char( r,11, 'sheet1', 'REASON' ,'sgs1' ); -- FOR rec IN c_direct_reports LOOP r := r+1 ; gen_xl_xml.write_cell_num ( r,1, 'sheet1' , rec.item, 'sgs2' ); gen_xl_xml.write_cell_char( r,2, 'sheet1' , rec.item_desc, 'sgs2' ); gen_xl_xml.write_cell_char( r,3, 'sheet1' , rec.ITEM_NUMBER_TYPE, 'sgs2'); gen_xl_xml.write_cell_char( r,4, 'sheet1' , rec.DEPT, 'sgs2'); gen_xl_xml.write_cell_char( r,5, 'sheet1' , rec.STATUS, 'sgs2'); gen_xl_xml.write_cell_char( r,6, 'sheet1' , rec.CREATE_DATETIME, 'sgs2'); gen_xl_xml.write_cell_char( r,7, 'sheet1' , rec.PACK_TYPE, 'sgs2'); gen_xl_xml.write_cell_char( r,8, 'sheet1' , rec.ITEM_LEVEL, 'sgs2'); gen_xl_xml.write_cell_char( r,9, 'sheet1' , rec.TRAN_LEVEL, 'sgs2'); gen_xl_xml.write_cell_char( r,10, 'sheet1' , rec.CUTOFF_TIME, 'sgs2'); gen_xl_xml.write_cell_char( r,11, 'sheet1' , rec.REASON, 'sgs2'); END LOOP ; gen_xl_xml.close_file ; END ; /