One problem with APEX is it has issues with dealing with text values of greater than 32k, while there is a fairly simple workaround it does have quite a few pieces and there has to be an easier way to do it.
Well in APEX 3.1 there is now an integrated javascript call to take care of this. This example also shows some of our new namespaced javascript objects and functions.
I've created a working example here.
Setting the CLOB
What's happening in the previous piece of javascript is I'm creating a apex.ajax.clob object. This object only takes one parameter when being initialized which is a function , or pointer to a function, to call when the XMLHTTP object's readyState changes. In that return function ,and for all built in APEX asynchronous AJAX calls, p is the XMLHTTP object.
Once the apex.ajax.clob object is created you just call set method giving it a string ._set(String Value);
It will automatically create a collection in your session CLOB_CONTENT and populate the CLOB001 column.
You can then use that in a page or application level process , usually by calling a doSubmit() and submitting the page.
The p.responseText on successful population of the CLOB will be SUCCESS.
Getting the CLOB
Getting a CLOB is much the same as setting one. Create the apex.ajax.clob object setting the function to call when p.readyState and then call the ._get() method which doesn't take any parameters.
This solution only deals with one clob at a time and the clob is alway put into the CLOB_CONTENT collection, though dealing with multiple clobs is also much easier, more on that later ;). But it is much easier to work with than the old workaround.
I just watched 2001: A Space Odyssey in the last week in HD. If you've never seen or it's been awhile or never seen it in HD do yourself a favor and check it out it's an amazing movie, though it looks like they were a little off on the dates.
Subscribe to:
Post Comments (Atom)
Thanks.
Should work in both, in fact I never even tested it in IE only in FF, and I've checked on both Linux and Win, are you getting an error message?
@Dimitri
Thanks, I was helping someone with CLOB entry on forum and remembered oh yeah we have the new helper object.
Thanks for your very helpful blog!
What do you use in your blog to format the code?
Thanks
Thanks.
Howevere, I have one question, could you let me know how do I gain access to the session CLOB_CONTENT and the populated CLOB001 via code in a procedure or tigger in the DB?
Thanks
Daniel
I'm straggling with this for about a week now , can you please tell me what I'm doing wrong .
Can I email you my app (one page)?
I keep getting empty p.responseText
Thanks in advance
Iris hadar
Israel antiquities authority
iris@israntique.org.il
DECLARE
l_clob CLOB;
BEGIN
SELECT
clob001 INTO l_clob
FROM apex_collections
WHERE collection_name = 'CLOB_CONTENT';
--
--do something
--
END;
R12 SCM Training
your article is good.In this article contains very informative data
thanks for sharing having this article.
oracle fusion procurement online training
Switzerland, Qatar, Saudi Arabia, Bangladesh, Bahrain and UAE etc.
For Demo Contact us:
Contact No.-+91-9666183940, 8886096632
USA Contact no: +646 491 6833
Company Website –http://www.calfre.com
its very useful article
jasa desain rumah
Workday HCM Online Training
Workday Online Training
best training institute in bangalore
best software training institutes in bangalore
Full Stack Web Developer Training & Certification
full stack developer course
mean Stack Development Training
AWS Data Engineering Training