Generating a PDF-document with some plsql: as_pdf_mini => as_pdf3
It has been more than a year since I published my previous blog on generating PDF with pl/sql.
In that time I’ve rewritten as_pdf two times, so now its time for as_pdf3
The most important improvement is Truetype Fonts
declare x pls_integer; begin as_pdf3.init; as_pdf3.write( 'But others fonts and encodings are possible using TrueType fontfiles.' ); x := as_pdf3.load_ttf_font( 'MY_FONTS', 'refsan.ttf', 'CID', p_compress => false ); as_pdf3.set_font( x, 12 ); as_pdf3.write( 'The Windows MSReference SansSerif font contains a lot of encodings, for instance', -1, 700 ); as_pdf3.set_font( x, 15 ); as_pdf3.write( 'Albanian: Kush mund të lexoni këtë diçka si kjo', -1, -1 ); as_pdf3.write( 'Croatic: Tko može čitati to nešto poput ovoga', -1, -1 ); as_pdf3.write( 'Russian: Кто может прочитать это что-то вроде этого', -1, -1); as_pdf3.write( 'Greek: Ποιος μπορεί να διαβάσει αυτό το κάτι σαν αυτό', -1, -1 ); -- as_pdf3.set_font( 'helvetica', 12 ); as_pdf3.write( 'Or by using a TrueType collection file (ttc).', -1, 600 ); as_pdf3.load_ttc_fonts( 'MY_FONTS', 'cambria.ttc', p_embed => true, p_compress => false ); as_pdf3.set_font( 'cambria', 15 ); -- font family as_pdf3.write( 'Anton, testing 1,2,3 with Cambria', -1, -1 ); as_pdf3.set_font( 'CambriaMath', 15 ); -- fontname as_pdf3.write( 'Anton, testing 1,2,3 with CambriaMath', -1, -1 ); -- as_pdf3.set_font( 'helvetica', 12 ); as_pdf3.write( 'Or if you need to generate a PDF report in Chinese:', -1, 520 ); as_pdf3.set_font( as_pdf3.load_ttf_font( 'MY_DIR', 'simfang.ttf', 'CID', p_compress => false ), 12 ); as_pdf3.write( 'Chinese: 在中国的一个简单的句子', -1, -1 ); -- as_pdf3.save_pdf; end;
But some more things, headers en footers:
declare t_rc sys_refcursor; t_query varchar2(1000); begin as_pdf3.init; as_pdf3.load_ttf_font( 'MY_FONTS', 'COLONNA.TTF', 'CID' ); as_pdf3.set_page_proc( q'~ begin as_pdf3.set_font( 'helvetica', 8 ); as_pdf3.put_txt( 10, 15, 'Page #PAGE_NR# of "PAGE_COUNT#' ); as_pdf3.set_font( 'helvetica', 12 ); as_pdf3.put_txt( 350, 15, 'This is a footer text' ); as_pdf3.set_font( 'helvetica', 'B', 15 ); as_pdf3.put_txt( 200, 780, 'This is a header text' ); as_pdf3.put_image( 'MY_DIR', 'amis.jpg', 500, 15 ); end;~' ); as_pdf3.set_page_proc( q'~ begin as_pdf3.set_font( 'Colonna MT', 'N', 50 ); as_pdf3.put_txt( 150, 200, 'Watermark Watermark Watermark', 60 ); end;~' ); t_query := 'select rownum, sysdate + level, ''example'' || level from dual connect by level as_pdf3.query2table( t_query ); open t_rc for t_query; as_pdf3.refcursor2table( t_rc ); as_pdf3.save_pdf; end;
And the code for this package: as_pdf3
** Changelog:
** Date: 13-08-2012
** added two procedure for Andreas Weiden
** see https://sourceforge.net/projects/pljrxml2pdf/
** Date: 16-04-2012
** changed code for parse_png
** Date: 15-04-2012
** only dbms_lob.freetemporary for temporary blobs
** Date: 11-04-2012
** Initial release of as_pdf3
Related posts:
- AS_PDF, generating a PDF-document with some plsql
- Utl_compress, gzip and zlib
- Creating JSON document straight from SQL query – using LISTAGG and With Clause
- Oracle 11g – Generating PL/SQL Compiler Warnings (Java style) using PL/Scope
- Creating XML Data Services for Reporting and ESB integration using DBMS_EPG (the internal HTTP/PLSQL Gateway) and XMLType
This entry was posted by Anton Scheffer on April 11, 2012 at 10:04 pm, and is filed under AMIS, Devel. + PL/SQL tools. Follow any responses to this post through RSS 2.0.You can leave a response or trackback from your own site.
-
Leave a Reply Cancel reply
-
-
#3 written by francesco.patea@bticino.it 5 months ago
I Anton, thanks for your reply. I Improve Your suggest but doesn’t work; in the page I see the string || v_test || . Can You Help me to found the error? I attacch my procedure
thanks a lot
FrancescoCREATE OR REPLACE procedure prova
as
v_test varchar2(20) := ‘DDDDDDDDDDDDDDDDDDD’;
bbb blob;
begin
as_pdf3.init();
as_pdf3.set_page_proc( q’~
begin
as_pdf3.set_font( ‘helvetica’, 8 );
as_pdf3.put_txt( 10, 15, ‘Page #PAGE_NR# of “PAGE_COUNT#’ );
as_pdf3.set_font( ‘helvetica’, 12 );
as_pdf3.put_txt( 350, 15, ‘This is a footer text’ );
as_pdf3.set_font( ‘helvetica’, ‘B’, 15 );
as_pdf3.put_txt( 200, 780, ‘This is a header text’ );
as_pdf3.put_txt( 200, 750, ‘||v_test||’ );
end;~’ );
as_pdf3.save_pdf (null,’prova.pdf’);
end;-
#4 written by Anton Scheffer 5 months ago
That’s because you use q’~ to start a string
as_pdf3.set_page_proc( q’~
begin
as_pdf3.set_font( ‘helvetica’, 8 );
as_pdf3.put_txt( 10, 15, ‘Page #PAGE_NR# of “PAGE_COUNT#’ );
as_pdf3.set_font( ‘helvetica’, 12 );
as_pdf3.put_txt( 350, 15, ‘This is a footer text’ );
as_pdf3.set_font( ‘helvetica’, ‘B’, 15 );
as_pdf3.put_txt( 200, 780, ‘This is a header text’ );
as_pdf3.put_txt( 200, 750, ~‘ || v_test| | q’~’ );
end;~’ );
-
-
#5 written by DarkZoro79 5 months ago
Anton I hope you get my comment this time. I’m trying to post this 3 times already and nothing.
I want to be able to set the width of all the different columns that I use on my query (report) but so far I can’t make it work.
This is what I’m using, so can you please let me know an example on how I need to make this happen?
t_query := ‘select c1, c2, c3, c4, c5, c6, c7 from c_table’; as_pdf3.query2table( t_query );
open t_rc for t_query;
as_pdf3.refcursor2table( t_rc, as_pdf3.tp_col_widths(100, 40, 50, 120, 110, 60, 50));
Thanks-
#6 written by Anton Scheffer 5 months ago
-
-
#7 written by francesco.patea@bticino.it 5 months ago
Hi Anton, I use last version of your package, but now I try to pass at AS_PDF3. So I’ve a problem during the spcification of set_page_proc. In this section I need to insert a variable defined in pl/sql block , but If I insert the variable the result is not draw
es
declare
v_test varchar2(20) := ‘header info’;
begin
as_pdf3.init();
as_pdf3.set_page_proc( q’~
begin
as_pdf3.set_font( ‘helvetica’, 8 );
as_pdf3.put_txt( 10, 15, ‘Page #PAGE_NR# of “PAGE_COUNT#’ );
as_pdf3.set_font( ‘helvetica’, 12 );
as_pdf3.put_txt( 350, 15, v_test );
end;~’ );
end;thanks a lot
Francesco. -
#9 written by Ruben 5 months ago
Hi there Anton,
I have a quick question. I have created a pdf file and it works great but I noticed that the width of all the columns is fixed.
Can you let me know how to fix that problem so my query can have a report with different size columns? I don’t want to have a huge empty space for just a column with a 1 (number)
Thanks in advance Ruben -
-
#12 written by scott 8 months ago
-
#14 written by scott 8 months ago
Anton,
i am using as_pdf3.get_pdf to create pdf report and that’s working well but always its creating extra blank page at the bottom of each report always extra blank page.
i tried to RTIM(LAST FIELD) but that doesnt help too. How can i remove this extra blank page and the end?thanks you in advance..
-
#18 written by Jeff 9 months ago
-
#19 written by Anton Scheffer 9 months ago
-
#20 written by Jeff 9 months ago
I tried the following code:
begin
as_pdf3.init;
as_pdf3.query2table(‘select rownum c1, rownum*2 c2, – rownum c3 from dual connect by level as_pdf3.tp_headers( ”Try”, ”Something”, ”this” )’);
as_pdf3.save_pdf(‘TEST’,'test.pdf’);
end;but the following errors appear:
ORA-00920: invalid relational operator
ORA-06512: at “SYS.DBMS_SQL”, line 1199
ORA-06512: at “APPS.AS_PDF3″, line 3405
ORA-06512: at line 3
00920. 00000 – “invalid relational operator”I tried also to copy and paste your code but, without adding the double ” ‘ ” it gives error.
Thanks.
-
#21 written by Anton Scheffer 9 months ago
-
#22 written by Jeff 9 months ago
Thanks. Now works
Only one more question. Can I define the format (font/style/color) of the column headers ?
Something similar to this image in the as_pdf_mini page:
http://technology.amis.nl/wp-content/uploads/images/image51.gif
-
-
-
-
-
#23 written by scott 10 months ago
Anton,
Thanks again for the great work.
I am having some problem here, i created a pdf report and saved it in the oracle directory object created on our server but its hosted on the unix side, then loaded file to table-blob , and when i ready back this file i get error the file is corrupted. Please iam trying to apply as_pdf3.get_pdf to save this file directly into table blob without first creating it on the physical directory. How do you use as_pdf3.get_pdf to save file into oracle table-blob without first creating file/pdf on the directory…pls help. -
#24 written by scott 10 months ago
-
#28 written by scott 10 months ago
hi,
Iam testing my code and ive successuflly complied the package but when i call it from this same code below iam getting this error below but ive granted EXECUTE ON THE PACKAGE TO PUBLIC, also its in the same schema…..pls help.
declare
l_pdf_doc blob;
begin
l_pdf_doc := as_df3.get_pdf;
owa_util.mime_header( ‘application/pdf’, false );
htp.print( ‘Content-Length: ‘ || dbms_lob.getlength( l_pdf_doc ) );
htp.print( ‘Content-disposition: inline’ );
htp.print( ‘Content-Description: Generated by as_pdf3′ );
owa_util.http_header_close;
wpg_docload.download_file( l_pdf_doc );
dbms_lob.freetemporary( l_pdf_doc );
end;——————————error————————-
l_pdf_doc := as_df3.get_pdf;
*
ERROR at line 4:
ORA-06550: line 4, column 14:
PLS-00201: identifier ‘AS_DF3.GET_PDF’ must be declared
ORA-06550: line 4, column 1:
PL/SQL: Statement ignored-
-
#30 written by scott 10 months ago
-
#31 written by Anton Scheffer 10 months ago
-
-
#33 written by scott 10 months ago
-
#34 written by Anton Scheffer 10 months ago
-
#35 written by scott 10 months ago
All,
I am having problem testing a small code to create pdf file from this package(as_pdf3). I created the package successfully in SYS schema, granted EXECUTE to public, created directory pointing to my d:\oradb, granted all/read&write to public, all that looks correct.
on testing below code i got the error:declare
ts timestamp;
begin
ts := systimestamp;
as_pdf3.init;
as_pdf3.set_font( as_pdf3.load_ttf_font( as_pdf3.file2blob( ‘oradb1′, ‘arial.ttf’ ), ‘CID’ ), 15 );
as_pdf3.write( ‘Anton, testing 1,2,3!’ );
as_pdf3.save_pdf;
dbms_output.put_line( systimestamp – ts );
end;
————————————————-
22:24:37 Error: ORA-29280: invalid directory path
ORA-06512: at “SYS.AS_PDF3″, line 162
ORA-06512: at line 6
=====================can somebody help…pls. thanks.
-
-
-
-
-
#38 written by GB 11 months ago
Good morning Anton,
I am a complete newbie to publishing PDF documents but have an urgent client requirement.
This may come as a stupid question, but where should I start?
Download your package and write the “hello world” program?
I wonder if there are code and result samples available for me to view and learn quickly by example – or is it learn by trial and error?
Thanks so much.
I really appreciate any advice and assistance you or other developers can provide.
Gary -
#40 written by Andreas Weiden 12 months ago
Hi Anton,
i have found two (in my exes) errors:
1. When i use any PNG as image (using a blob) i’m getting the error
ORA-22275: invalid LOB locator specified2. When using custom fonts the result mixes the fonts and gives a wrong result:
Testcase
declare
FONT1 CONSTANT VARCHAR2(80):=’Tafelschrift L-Linien’;
FONT2 CONSTANT VARCHAR2(80):=’Comic Sans MS’;
–FONT1 CONSTANT VARCHAR2(80):=’helvetica’;
–FONT2 CONSTANT VARCHAR2(80):=’courier’;
CURSOR crFont(i_vcName IN VARCHAR2) IS
SELECT JRF_FONT
FROM JRXML_FONTS
WHERE JRF_NAME=i_vcName;
bl BLOB;
begin
as_pdf3.init;
as_pdf3.write( ‘Font test’ );
OPEN crFont(FONT1);
FETCh crFont INTO bl;
CLOSE crFont;
as_pdf3.load_ttf_font( p_font=>bl, p_embed=>true, p_compress => true);as_pdf3.set_font( FONT1, ‘N’, 16);
as_pdf3.write( ‘Font 1 Normal’);
OPEN crFont(FONT2);
FETCh crFont INTO bl;
CLOSE crFont;
as_pdf3.load_ttf_font( p_font=>bl, p_embed=>true, p_compress => true);
as_pdf3.set_font( FONT2, ‘N’, 16);
as_pdf3.write( ‘Font 2 Normal’);
as_pdf3.set_font( FONT1, ‘B’, 16);
as_pdf3.write( ‘Font 1 Bold’);
as_pdf3.set_font( FONT2, ‘B’, 16);
as_pdf3.write( ‘Font 2 Bold’);
as_pdf3.set_font( FONT1, ‘I’, 16);
as_pdf3.write( ‘Font 1 Italic’);
as_pdf3.set_font( FONT2, ‘I’, 16);
as_pdf3.write( ‘Font 2 Italic’);
as_pdf3.save_pdf;
end;-
#41 written by Anton Scheffer 11 months ago
Hi Andreas,
1. I’ve changed to package on 15-4-2012 to fix the problem with images supplied as a blob, so get the latest version.
2. I don’t think this is an error of as_pdf3. When you load a ttf-font file you load only one font, not the font family. So when you load ’Comic Sans MS’ you only load the Normal version of the font. You can’t set it, using a family name, to the Bold version.Anton
-
#42 written by Andreas Weiden 11 months ago
Hi Anton,
1. I know you changed it and i took the newest version and writing jpg’s work fine, here is a testcase along with the exact error when trying to output a png
declare
IMAGE_JPG CONSTANT VARCHAR2(80):='tree.jpg';
IMAGE_PNG CONSTANT VARCHAR2(80):='tree.png';CURSOR crImage(i_vcName IN VARCHAR2) IS
SELECT JRI_IMAGE
FROM JRXML_REPORT_IMAGES
WHERE JRI_NAME=i_vcName;
bl BLOB;
begin
as_pdf3.init;
as_pdf3.write( 'Image test' );
OPEN crImage(IMAGE_JPG);
FETCh crImage INTO bl;
CLOSE crImage;
as_pdf3.put_image( p_img=>bl, p_x=>100, p_y=>100);OPEN crImage(IMAGE_PNG);
FETCh crImage INTO bl;
CLOSE crImage;
as_pdf3.put_image( p_img=>bl, p_x=>300, p_y=>200);as_pdf3.save_pdf(p_dir=>'MY_DIR2');
end;ORA-06502: PL/SQL: numeric or value error: invalid LOB locator specified: ORA-22275
ORA-06512: at "SYS.DBMS_LOB", line 633
ORA-06512: at "JRXMLTEST.AS_PDF3", line 2836
ORA-06512: at "JRXMLTEST.AS_PDF3", line 3108
ORA-06512: at "JRXMLTEST.AS_PDF3", line 3150
ORA-06512: at line 21
2. When i understand you correctly, a ttf-file does not contain bold or italic “sub-fonts” ? But when i use a ttf-font in bold or italic e.g. in OpenOffice and export to pdf, i get bold and italic text, and there is only one font embedded. Maybe i didn’t understand the ttf-conecpt correctly?
-
#43 written by Anton Scheffer 11 months ago
-
-
-
-
#45 written by Tony Quinn 1 year ago
Hi Anton,
Sorry to sound a bit dumb, but could you please explain in a little more detail the x,y parameters for as_df3.write procedure? When I run the code below, I keep getting a new page at the ‘Line 4′ point, when I really want a gap of a few lines between Line3 and Line4.
as_df3.init;
as_df3.set_page_format(‘A4′);
as_df3.set_page_orientation(‘P’);as_df3.write(‘Line 1 ‘,-1,-1);
as_df3..write(‘Line 2′, 60, -1);
as_df3.write(‘Line 3′, ,60, -1);as_df3.write(‘Line 4′, -1, 100);
Thanks,
Tony.-
#46 written by Anton Scheffer 1 year ago
You can use the write procedure to put text inside the page margins, the procedure keeps track of it’s current position and wraps to the next line or page when it’s needs to. x and y set the location, 0,0 is bottom left. A negative x resets the x value to the left margin. A negative y value forces a newline. You can use the procedure put_txt to place text inside or outside the margins. This procedure doesn’t wrap or keeps track of it’s position
-
-
#47 written by Richard 1 year ago
Hi – really like the package.
Started to create a calendar (yearly) report, however, I want to push the “report” to the screen as pdf, so that the user can save locally (I don’t want to hold on the server). As the output can be obtained in “Blob” format, is there a simple mechanism to “throw it out, launching adobe reader to grab the content ??” (I’m a newbie to APEX, so it may be a standard feature, for which I need to RTM, but a pointer would be more than greatful
Regards
Richard-
#49 written by Anton Scheffer 1 year ago
You could try something like
declare
l_pdf_doc blob;
begin
l_pdf_doc := as_df3.get_pdf;
owa_util.mime_header( 'application/pdf', false );
htp.print( 'Content-Length: ' || dbms_lob.getlength( l_pdf_doc ) );
htp.print( 'Content-disposition: inline' );
htp.print( 'Content-Description: Generated by as_pdf3' );
owa_util.http_header_close;
wpg_docload.download_file( l_pdf_doc );
dbms_lob.freetemporary( l_pdf_doc );
end;
-
#50 written by Dean Attewell 1 year ago
-
#55 written by Andreas Weiden 1 year ago
Hi Anton,
thanks very much, i’ll try that one.
I really like your package and used it to build a PL/SQL-rendering based on the jrxml-format created by iReport from JasperReports. http://andreas.weiden.orcl.over-blog.de/article-jrxml-to-pdf-a-declarative-pure-pl-sql-reporting-engine-103535334.html
Maybe it’s worth as look.
Andreas
-
#57 written by Andreas Weiden 1 year ago1
Hi Anton,
i really like the enhancements in AS_PDF3. But there is one thing which is a little strange:
When i use PUT_IMAGE with a directory and file to render a jpg into my pdf, this works fine.
When i load the same jpg into aBLOB-column and use PUT_IMAGE with that blob to render a jpg into my pdf, i get a strange
ORA-22275: invalid LOB locator specified
ORA-06512: at “SYS.DBMS_LOB”, line 813
ORA-06512: at “COREADM.AS_PDF3″, line 429When i use the following after loading the BLOB, everything works fine again
DBMS_LOB.CREATETEMPORARY(bl2, true);
DBMS_LOB.COPY(dest_lob=>bl2,
src_lob =>bl,
amount =>dbms_lob.getlength(bl)
);
PUT_IMGE(bl2….What am i missing here?
-
#59 written by Apexer 1 year ago1
Hello,
I try TTF function and I get questions:
- When I use different encoding from CID then as_pdf3 does not embed TTF file. This means the PDF is not portable.
- when I use CID then PDF info contains “Embeded subset”, but it’s not true info becouse as_pdf3 embeds full TTF file.
I hope these are my usage problem.
Thanks,
Apexer-
#60 written by Anton Scheffer 1 year ago
-
#61 written by Apexer 1 year ago1
Hello,
-embed: I used your test procedure, when encoding ‘CID’ then embed when change to other then no embed. p_embed default value is false and when use CID then procedure does not use p_embed parameter, I think.
-wrong: ttf subset means PDF contains part of the TTF file and your program embeds full TTF as blob. If you use subset then PDF file is smaller.
Regards,
Apexer-
#62 written by Anton Scheffer 1 year ago
-
#63 written by Apexer 1 year ago
Hello,
embed: you confirmed my words
subset: I do not use Chinese fonts and I think win fonts are not free for this using, I use DejaVu font and I get full TTF file in PDF not only used characters. and I checked your code and “this_font.fontfile2 := p_font;” means full file, I do not understand your words about subset….
Regards,
Apexer
-
-
-
-
-
#64 written by Anton Scheffer 1 year ago1
In load_ttf_font the complete font file is loaded, when saving the PDF only the necessary parts are used:
t_font_subset := subset_font( p_index );
t_fontfile :=
add_stream( t_font_subset
, ‘/Length1 ‘ || dbms_lob.getlength( t_font_subset )
, g_fonts( p_index ).compress_font
);
But if you don’t believe me, change the procedure subset_font
add as first line in the procedure
return g_fonts( p_index ).fontfile2; -
#69 written by Anton Scheffer 10 months ago1
as_pdf3.write goes to the next line as soon as text doensn’t fit on the current line.
You can force a newline by using -1 for parameter p_y
begin
as_pdf3.init;
as_pdf3.write( ‘Minimal usage’ );
as_pdf3.write( ‘Minimal usage’, -1, -1 );
as_pdf3.write( ‘Minimal usage’, -1, -1 );
as_pdf3.save_pdf;
end;Or you can add a newline yourself
begin
as_pdf3.init;
as_pdf3.write( ‘Minimal usage’ || chr(10) );
as_pdf3.write( ‘Minimal usage’ || chr(10) );
as_pdf3.write( ‘Minimal usage’ || chr(10) );
as_pdf3.save_pdf;
end; -
#70 written by scott 10 months ago
Anton,
I am using as_pdf_mini pkg as you can see below(line 4) for Employee ID: xxxx i have -1, -1 also tried char(10) and i expect this to go to the new line but its not going instead the next line(DA Code xxx) is written after that line. How do i force new line now?begin
as_pdf_mini.init;
for lcur in vcur loop
as_pdf_mini.write( ‘Employee ID: ‘||lcur.employee_id,-1,-1 );
as_pdf_mini.write( ‘DA code: ‘||lcur.da_code );
as_pdf_mini.write( ‘DA Description: ‘||lcur.da_description);
as_pdf_mini.write( ‘you want’, 100, 650 );
as_pdf_mini.write( ‘You can even align it, left, right, or centered’, p_y =>600, p_alignment => ‘right’ );
end loop;
as_pdf_mini.save_pdf;
end; -
#71 written by scott 10 months ago
Anton,
sorry to bother you again but i seem not to be lucky with version3 either, here is my code i changed because the other package was giving funny errors too,cursor vcur is ……….. ;
begin
as_pdf3.init;
for lcur in vcur loop
as_pdf3.write( ‘Employee ID: ‘||lcur.employee_id || chr(10) );
as_pdf3.write( ‘DA code: ‘||lcur.da_code );
as_pdf3.write( ‘DA Description: ‘||lcur.da_description);
as_pdf3.write( ‘you want’ );
as_pdf3.write( ‘You can even align it, left, right, or centered’ );
end loop;
as_pdf3.save_pdf;
end;now when i execute this code i get the below error can you please help tell me whats wrong now?
ORA-29283: invalid file operation
ORA-06512: at “SYS.UTL_FILE”, line 475
ORA-29283: invalid file operation
ORA-06512: at “SYS.AS_PDF3″, line 1315
ORA-06512: at line 26Note: i created MY_DIR pointing to C:\ORADB, and granted R&W to this directory and EXECUTE TO public, and public synomy to public on pkg so everything should work but not…thank you in advance.
- Comment Feed for this Post
- Read an Excel xlsx with PL/SQL
- The Very Very Latest in Database Development – slides from the Expertezed presentation
- The APEX of Business Value… or: the Business Value of APEX? Cloud takes Oracle APEX to new heights!
- Kom kennismaken met AMIS en doe mee met uitdagende projecten
- OOW 2012: The Very Very Latest in Database Development (CON4792)
- Oracle RDBMS 10GR1: solution to avoid character encoding in XML with UPDATEXML
- Reduce occurrence of ORA-04068 while upgrading PL/SQL packages by moving global variables to Application Context
- Valuable Java, JavaScript and ADF resources
- Select a blob across a database link, without getting ORA-22992
- ADF 11g Business components – Create PL/SQL based entities


HI Anton, Thanks a lot, now it’w work fine!
So I’ve a question for you; if the variable v_test contain a sting with quota charater the entire block is not displayed because the syntax is in error.
Have you an idea to solve the problem? Now I user to replace comma char with blank char..
thanks a lot , have a good day
Francesco.
Ps. merry christmas