Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Currency Output

636453May 19 2008 — edited May 19 2008
Hi!!! Iv had alot of help with this script and i would like to say thanks for all their input :)

I think i have one final amendment, formatting the figures of my output into money/currency format:

for example

32-36 GREAT VICTORIA STREET
BELFAST
BT2 7BA
08448920902
0006451
000001
MR WEDGE
44 KNOCKNAGONEY DRIVE
BELFAST
BT4 2QF
MAY 2008
MR WEDGE
.11-------------------------- i would like this as 0.11
01-APR-08
8.2------------------------- as 8.20
2.97
11004.4------------------ as 11,004.40
.11------------------------- as 0.11


DECLARE
EXEC_file UTL_FILE.FILE_TYPE;
CURSOR read_lpa_input
IS
SELECT
a.address_line3
,a.address_line4
,a.address_line5
,a.post_code
,a.tel_no
,l.claim_no
,lpad(row_number() OVER(ORDER BY l.claim_no), 6, '0') AS snum
,l.input_title
,l.input_surname
,l.input_address_line1
,l.input_address_line2
,l.input_address_line3
,l.input_address_line4
,l.input_post_code
,to_char(sysdate, 'MON YYYY') AS prntdate
,l.input_title AS input_title2
,l.input_surname AS input_surname2
,h.lpa_amt
,h.start_date
,h.elig_rate
,h.rate_rebate
,h.rr_amt
,h.lpa_applic
,h.lpa_amt AS lpa_amt2

FROM lpa_input l, lpa_address a, lpa_history h
wHERE a.aun_code = l.input_aun_code
AND l.claim_no = h.claim_no;

TYPE wk_tab IS TABLE OF read_lpa_input%ROWTYPE
INDEX BY PLS_INTEGER;

wk wk_tab;
BEGIN

exec_file := utl_file.fopen('/spp/spool/RBTEST/rr_output', 'output.txt', 'W');

OPEN read_lpa_input;

LOOP
EXIT WHEN read_lpa_input%NOTFOUND;

FETCH read_lpa_input
BULK COLLECT INTO wk LIMIT 100;

FOR i IN 1 .. wk.count
LOOP
utl_file.put_line(exec_file, wk(i).address_line3);
utl_file.put_line(exec_file, wk(i).address_line4);


---------removes address line space if null
IF wk(i).address_line5 IS NOT NULL THEN
utl_file.put_line(exec_file, wk(i).address_line5);
END IF;


utl_file.put_line(exec_file, wk(i).post_code);
utl_file.put_line(exec_file, wk(i).tel_no);
utl_file.put_line(exec_file, wk(i).claim_no);
utl_file.put_line(exec_file, wk(i).snum);

utl_file.put_line(exec_file, wk(i).input_title||' '||wk(i).input_surname);

IF wk(i).input_address_line1 IS NOT NULL THEN
utl_file.put_line(exec_file, wk(i).input_address_line1);
END IF;

IF wk(i).input_address_line2 IS NOT NULL THEN
utl_file.put_line(exec_file, wk(i).input_address_line2);
END IF;


IF wk(i).input_address_line3 IS NOT NULL THEN
utl_file.put_line(exec_file, wk(i).input_address_line3);
END IF;


IF wk(i).input_address_line4 IS NOT NULL THEN
utl_file.put_line(exec_file, wk(i).input_address_line4);
END IF;


utl_file.put_line(exec_file, wk(i).input_post_code);
utl_file.put_line(exec_file, wk(i).prntdate);
utl_file.put_line(exec_file, wk(i).input_title2||' '||wk(i).input_surname2);
utl_file.put_line(exec_file, round(wk(i).lpa_amt,2));
utl_file.put_line(exec_file, wk(i).start_date);
utl_file.put_line(exec_file, round(wk(i).elig_rate,2));
utl_file.put_line(exec_file, round(wk(i).rate_rebate,2));
utl_file.put_line(exec_file, round(wk(i).rr_amt,2));
utl_file.put_line(exec_file, round(wk(i).lpa_applic,2));
utl_file.put_line(exec_file, round(wk(i).lpa_amt2,2));




END LOOP;
END LOOP;

CLOSE read_lpa_input;

utl_file.fclose(exec_file);
END;
/

Thanks K
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 16 2008
Added on May 19 2008
5 comments
270 views