declare
fileID UTL_FILE.FILE_TYPE;
cursor cur_ord is
select order_no,abbreviation,customer_no,status_code
from oeorder_header
where (to_char(order_no)='&ordnum') or
(to_char(create_date,'DD/MM/YYYY')='&ord_date') and ROWNUM<=10;
Begin
Declare
cursor cur_ord_det is
select order_no,line_no,part_no,buy_qty_due, warehouse
from oeorder_detail
where order_no=i.order_no and ROWNUM<=10;
Begin
Declare
cursor cur_ship is
select shipment_no,part_no,qty_shipped,ship_date,
pick_list_no,invoice_no
from oeorder_shipping
where order_no=i.order_no;
begin
for k in cur_ship loop
declare
cursor cur_inv_head is
select invoice_id, billing_id, invoice_date, status_date,
base_total_inv_amt,customer_po_no, warehouse
from invoice_headers
where invoice_id=k.invoice_no;
begin
Declare
cursor cur_inv_lin is
select invoice_line_no, customer_part_no,invoice_qty,
base_total_line_amt
from invoice_lines
where invoice_id=k.invoice_no and ROWNUM<=10;
Begin
DBMS_OUTPUT.PUT_LINE(m.invoice_line_no||' '||
m.customer_part_no||' '||m.invoice_qty||' '||m.base_total_line_amt);
UTL_FILE.PUT_LINE (fileID,TO_CHAR (m.invoice_line_no) ||
',' ||to_char(m.customer_part_no) || ',' ||TO_CHAR (m.invoice_qty)||',' ||TO_CHAR
(m.base_total_line_amt));
end loop;
end;
end loop;
end;
end if;
end loop;
end;
end loop;
end;
end loop;
UTL_FILE.FCLOSE (fileID);
Exception
WHEN UTL_FILE.INVALID_PATH
THEN dbms_output.put_line('Invalid path!!');
WHEN UTL_FILE.write_error
THEN dbms_output.put_line('Write error!!');
WHEN UTL_FILE.invalid_filehandle
THEN dbms_output.put_line('invalid_filehandle!!');
WHEN UTL_FILE.invalid_operation
THEN dbms_output.put_line('invalid_operation!!');
WHEN UTL_FILE.internal_error
THEN dbms_output.put_line('internal_error!!');
WHEN UTL_FILE.invalid_mode
THEN dbms_output.put_line('invalid_mode!!');
end;