In our apex application we are using a pl/sql process returning a message.
This message should be shown to the user.
Our problem is now, that the application items in APEX seem to be limited to 4000 chars and the message can be longer.
We are also not able to use a collection, because we can't print the content of a collection in the "Process Success Message".
Here is the content of a page process which is running on page load after header:
Name - Type: PL/SQL anonymous block
Source - Process: :AI_TEST := p0001_pkg.get_text;
Messages - Process Success Message: &AI_TEST.
Image from process [https://twitter.com/OliverLemm/status/324058809138032640/photo/1/large]
If the page is called the result is this error message:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Technical Info (only visible for developers)
ora_sqlerrm: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "APEX_040200.WWV_FLOW_PROCESS", line 100
ORA-06512: at "APEX_040200.WWV_FLOW_PROCESS", line 141
no an item like P0_TEST on page 0 / global page also does not help.
But the error is not the application item / page item it's the problem that the "Process Success Message" can't handle more than 4000 chars.
I tried to paste a string into the process success message, but the error "Error processing row. ORA-01461: can bind a LONG value only for insert into a LONG column" occured even when i filled the textarea and saved the process.
So there's no problem with the application item or page item.
Aha! That makes sense.
So then you need to create your own Item (on Page 0) to hold the - rather long - Process Message. And show that whenever it is not empty. One or two Dynamic Actions could do that trick...