PL/SQL Region Source

Hello,
I'm trying to link my region source code to a select list button. I've created this PL|SQL anonymous block :
DECLARE
query varchar2(32767);     -- query
where varchar2(4000);      -- where clause
boolean varchar2(1) := 'N';      -- identifies if where clause exists
BEGIN
query := ' SELECT "ID", '||
     '      "PROVINCE", '||
     '      "SOIL_CODE", '||
     '      "MODIFIER", '||
     '      "LU", '||
     '      "LAYER_NO", '||
     '     "UDEPTH", '||
     ' "LDEPTH", '||
     '     "HZN_LIT", '||
     '     "HZN_MAS", '||
     '     "HZN_SUF", '||
     '     "HZN_MOD", '||
     '     "COFRAG", '||
     '     "DOMSAND", '||
     '     "VFSAND", '||
     '     "TSAND", '||
     '     "TSILT", '||
     '     "TCLAY", '||
     '     "ORGCARB", '||
     '     "PHCA", '||
     '     "PH2", '||
     '     "BASE", '||
     '     "CEC", '||
     '     "KSAT", '||
     '     "KP0", '||
     '     "KP10", '||
     '     "KP33", '||
     '     "KP1500", '||
     '     "BD", '||
     '     "EC", '||
     '     "CACO3", '||
     '     "VONPOST", '||
     '     "WOOD", '||
     '     "SOILTYPE"'||
     ' FROM "#OWNER#"."SLF_CANADA" ';
IF :P6_LANDUSE_QUERY = '1'
     THEN
     where := 'LU = "A"';
     boolean := 'Y';
END IF;
IF :P6_LANDUSE_QUERY = '2'
     THEN
     where := 'LU = "N"';
     boolean := 'Y';
END IF;
IF boolean = 'Y'
     THEN
     query := query || ' WHERE '|| where;
END IF;
RETURN query;
END;
The region type is set to SQL Query (PL|SQL function returning query). Then I run the application I receive this error:
ORA-06550: line 4, column 1: PLS-00103: Encountered the symbol "WHERE" when expecting one of the following: begin function package pragma procedure subtype type use form current cursor ORA-06550: line 5, column 1: PLS-00103: Encountered the symbol "BOOLEAN" ORA-06550: line 47, column 2: PLS-00103: Encountered the symbol "WHERE" when expecting one of the following: begin case declare exit for goto if loop mod null pragma raise return
I've tried many other approaches but I'm at my wits end. Any suggestions?
Thanks in advance,
Patrick
Message was edited by:
Patrick_Rollin

Patrick - I'd avoid using reserved words like BOOLEAN and WHERE as variable names.
Scott

Similar Messages

  • Get SQL Query from the Region Source

    Hi,
    The below query gives me the region source code,
    SELECT region_source into p_sql_stmt
    FROM apex_application_page_regions
    WHERE region_id = 01129836282 AND
    page_id = 54 AND
    application_id = 215;
    Initially I use to have only the SQL region source code as mentioned below , So using the above query i use to pass the sql code to p_sql_stmt
    SELECT PROJECT_ID,EMPLOYEE_ID,EFFECTIVE_DATE FROM AR_V_ADDRESS_HISTORY WHERE PROJECT_ID = :P51_PROJECT_ID
    Now the changes what i did in the page region source is i am using a PLSQL return query which is mentioned below
    declare
    qry varchar2(32000);
    begin
    qry := ' SELECT PROJECT_ID,EMPLOYEE_ID,EFFECTIVE_DATE';
    for c1 in ( SELECT * FROM AR_ADDRESS_TYPE)
    loop
    qry := qry ||
    ' , GET_ADDRESS_LINE_1(PROJECT_ID,EMPLOYEE_ID,' || c1.address_type_id || ' ,TO_DATE(EFFECTIVE_DATE)) "' || c1.name ||'_ADDRESS_TYPE_1"';
    qry := qry ||
    ' , GET_ADDRESS_LINE_1(PROJECT_ID,EMPLOYEE_ID,' || c1.address_type_id || ' ,TO_DATE(EFFECTIVE_DATE)) "' || c1.name ||'_ADDRESS_TYPE_2"';
    end loop;
    qry := qry || ' FROM AR_V_ADDRESS_HISTORY
    WHERE
    PROJECT_ID = :P51_PROJECT_ID ';
    return(qry);
    end;
    If i execute the above code in the with dbms_output.put_line in the SQL developer or TOAD it prints the sql query which i wanted, Since i am using this in a apex page i need to get the SQL code from the apex page.
    Can any one please suggest me how to get this sql code using the above plsql code.
    Please suggest me in this issue
    Thanks
    Sudhir

    One way to get the sql statement is
    Create a global variable in the package spec where your function returns sql statement and assign the final sql statement to the package spec variable before the return.
    Write a wrapper function to return the stored sql statement value.
    Example code below:
    create or replace package xx_test_pkg as
    g_sql_stmt CLOB;
    function get_sql() return clob;
    function get_stored_val() return clob;
    end;
    create or replace body package xx_test_pkg as
    function get_sql return clob ..
    v_sqlstmt clob;
    begin
    v_sqlstmt := 'select * from emp';
    -- assign to global variable before returning the value
    g_sql_stmt := v_sqlstmt;
    return v_sqlstmt;
    end;
    function get_stored_val() ....
    begin
    return g_sql_stmnt;
    end;
    end;

  • Problem with SQL query region source containing OLAP clauses

    Hi team,
    I believe I found a bug when HTMLDB validates the SQL Query in a report region.
    My query includes an ORDER BY clause within a windowing function and HTMLDB refuses to accept the source owing to the presence of the ORDER BY and the column heading sort preference.
    Clearly the order-by in a window function has little to do with the column heading sort, but this error prevents me from updating the conditional display item in the page definition.
    Note also that the page was imported smoothly from the 1.5 version, so probably the region source is not checked at that time, but only when you update it "manually".
    So, in the end, if I don't change anything the page works because the sql query is assumed to be correct but unfortunately I need to change the condition and I cannot.
    The problem shows up in page 126 of app 21670, SQL query region.
    Bye,
    Flavio
    PS: may be I can work around this by using the pl/sql function returning the sql query.

    Flavio,
    We're aware of this problem. For now, your workaround is described in this thread:
    HTMLDB 1.6 and "order by" in analytic functions
    Sergio

  • SQL report region source to call a pl/sql function using DB link

    Hi - I have a pl/sql function fn_dbtype(id NUMBER) defined in database X. The pl/sql function executes couple DML statements and returns a string (a SELECT query). I am able to call this function using SQL Plus (Connected to Database X) as below and it works fine:
    declare
    vSQL VARCHAR2(100);
    begin
    vSQL := fn_dbtype(1);
    end;
    The DML operations completed fine and vSQL contains the "Select" query now.
    In APEX:
    I am trying to create a SQL report in APEX using SQL query(PL/SQL function returning a sql statement) option. I am trying to figure out what to put in the region source so that the output of the "Select" query is displayed in the report.
    Moreover APEX is hosted in a different database instance. So I would need to call this pl/sql function using a DB Link.
    Please let me know what I need to put in the region source to execute the pl/sql function which returns the "Select" query thereby displaying the query output in the report. Thanks.
    Edited by: user709584 on Mar 19, 2009 2:32 PM
    Edited by: user709584 on Mar 19, 2009 2:34 PM

    try something like this:
    return fn_dbtype(1)@dblink;

  • Region source (PL/SQL function body returning SQL query)

    Hi, guys.
    Here is what i try to do:
    Create a region of type SQL Query (PL/SQL function body returning SQL query). In the source area i tried to put this:
    DECLARE
    v_new VARCHAR2(10);
    v_SQL varchar2(32000);
    BEGIN
    v_new := :P102_HDN_NEW;
    -- htp.p(v_new);
    IF v_new = 'N-Set' THEN
    v_SQL := 'select ' ||
    ELSIF v_new = 'Y-Set' THEN
    v_SQL := 'select ' ||
    END IF;
    RETURN v_SQL;
    END;
    And here is the reply from APEX:
    1 error has occurred
    Query cannot be parsed within the Builder. If you believe your query is syntactically correct, check the ''generic columns'' checkbox below the region source to proceed without parsing. The query can not be parsed, the cursor is not yet open or a function returning a SQL query returned without a value.
    Now.
    1. Variable is set with the right value.
    2. Each statement (separately) returns SQL that works with no problems
    3. Problem occures if i try to put IF statement around the SQL creation.
    4. If i select "Use Generic Column Names (parse query at runtime only)" instead of "Use Query-Specific Column Names and Validate Query" then the script returns SQL properly, however report's column names are set to Col1, Col2,Col3 ......
    Thnks in advence
    Mike

    OK. Here is enire statement:
    DECLARE
    v_new VARCHAR2(10);
    v_SQL varchar2(32000);
    BEGIN
    v_new := :P102_HDN_NEW;
    htp.p(v_new);
    IF v_new = 'N-Set' THEN
    v_SQL := 'select ' ||
    'APEX_ITEM.DISPLAY_AND_SAVE(10,c.sdescr) descr, ' ||
    'APEX_ITEM.DISPLAY_AND_SAVE(12,DECODE(ld.level,''All'', ''All Categories'',ld.level)) level, ' ||
    'apex_item.checkbox(1, ld.opt_in_auto_flag, decode(ld.opt_in_auto_flag,NULL,''disabled'',''Y'',''checked'')) auto_in, ' ||
    'apex_item.checkbox(2, ld.opt_in_manual_flag, decode(ld.opt_in_manual_flag,NULL,''disabled'',''Y'',''checked'')) manual_in, ' ||
    'apex_item.checkbox(3, ld.opt_out_auto_flag, decode(ld.opt_out_auto_flag,NULL,''disabled'',''Y'',''checked'')) auto_out, ' ||
    'apex_item.checkbox(4, ld.opt_out_manual_flag, decode(ld.opt_out_manual_flag,NULL,''disabled'',''Y'',''checked'')) manual_out, ' ||
    'DECODE(c.code, ''NMBR'', NULL,''Change to '' || DECODE(ld.level,''All'',''Categories'',''All Categories'')) link_change, ' ||
    'APEX_ITEM.DISPLAY_AND_SAVE(11,c.code) code ' ||
    'from ' ||
    'tbl1 c, ' ||
    'tbl2 ld ' ||
    'where c.code = ld.code ' ||
    'and c.type = ''TYPE1'' ' ||
    'and c.active = ''Y'' ' ||
    'order by c.sorting ';
    ELSIF v_new = 'Y-Set' THEN
    v_SQL := 'select ' ||
    'APEX_ITEM.DISPLAY_AND_SAVE(10,c.sdescr) descr, ' ||
    'APEX_ITEM.DISPLAY_AND_SAVE(12,''All Categories'') level, ' ||
    'apex_item.checkbox(1, c.option_1, decode(c.option_1,NULL,''disabled'',''Y'',''checked'')) auto_in, ' ||
    'apex_item.checkbox(2, c.option_3, decode(c.option_3,NULL,''disabled'',''Y'',''checked'')) manual_in, ' ||
    'apex_item.checkbox(3, c.option_2, decode(c.option_2,NULL,''disabled'',''Y'',''checked'')) auto_out, ' ||
    'apex_item.checkbox(4, c.option_4, decode(c.option_4,NULL,''disabled'',''Y'',''checked'')) manual_out, ' ||
    'DECODE(c.code, ''AAA'', NULL,''Options by AAA'') link_change, ' ||
    'APEX_ITEM.DISPLAY_AND_SAVE(11,c.code) code ' ||
    'from ' ||
    'tbl1 c ' ||
    'where 1 = 1 ' ||
    'and c.type = ''TYPE1'' ' ||
    'and c.active = ''Y'' ' ||
    'order by c.sorting ';
    END IF;
    RETURN v_SQL;
    END;
    If i put just this
    DECLARE
    v_new VARCHAR2(10);
    v_SQL varchar2(32000);
    BEGIN
    v_new := :P102_HDN_NEW;
    htp.p(v_new);
    v_SQL := 'select ' ||
    'APEX_ITEM.DISPLAY_AND_SAVE(10,c.sdescr) descr, ' ||
    'APEX_ITEM.DISPLAY_AND_SAVE(12,DECODE(ld.level,''All'', ''All Categories'',ld.level)) level, ' ||
    'apex_item.checkbox(1, ld.opt_in_auto_flag, decode(ld.opt_in_auto_flag,NULL,''disabled'',''Y'',''checked'')) auto_in, ' ||
    'apex_item.checkbox(2, ld.opt_in_manual_flag, decode(ld.opt_in_manual_flag,NULL,''disabled'',''Y'',''checked'')) manual_in, ' ||
    'apex_item.checkbox(3, ld.opt_out_auto_flag, decode(ld.opt_out_auto_flag,NULL,''disabled'',''Y'',''checked'')) auto_out, ' ||
    'apex_item.checkbox(4, ld.opt_out_manual_flag, decode(ld.opt_out_manual_flag,NULL,''disabled'',''Y'',''checked'')) manual_out, ' ||
    'DECODE(c.code, ''NMBR'', NULL,''Change to '' || DECODE(ld.level,''All'',''Categories'',''All Categories'')) link_change, ' ||
    'APEX_ITEM.DISPLAY_AND_SAVE(11,c.code) code ' ||
    'from ' ||
    'tbl1 c, ' ||
    'tbl2 ld ' ||
    'where c.code = ld.code ' ||
    'and c.type = ''TYPE1'' ' ||
    'and c.active = ''Y'' ' ||
    'order by c.sorting ';
    RETURN v_SQL;
    END;
    it works fune...

  • Modifying sql query in "region source" depending on hidden parameter?

    Hi,
    Is there a way to run 2 sql queries in "region source" depending on the hidden parameter passed? In other words, if I want to show all employees "select * from emp" when clicking on a "total" link as opposed to "select * from emp where dept=:xxx" when clicking on a dept link, how does the "region source" account for another sql statement?
    thanks.

    My understanding is that based on the link you click on in some page (PX) , it will go to a page (PY) that has a report in it and a hidden item with som passed value.
    If that is correct then do the following in PY:
    select * from emp
    where dept=:xxx
    or
    :PY_PASSED_VALUE = 'total'this will show ALL records in emp if the passed value is total , i.e you clicked on the totals link and passed 'total' to the hidden item in PY : PY_PASSED_VALUE
    but it will show only specific dept records otherwise.
    Hope this helps,
    Sam

  • Changing region source SQL based on condition

    I have a reports region which displays the results from some SQL. Depending on the value of a page variable I need to run a different bit of SQL to get my results. At the moment I'm using 5 different regions and displaying the appropriate one and hiding the others, depending on the value of the page variable.
    It's a bit messy and I'm looking for a better way to do it. Is it possible to use a single region and change the SQL used as the region source after checking my page variable? e.g. something like this for the region source:
    IF :report_type = 1 THEN
    SELECT col1, col2, col3 from table1;
    ELSEIF :report_type = 2 THEN
    SELECT col1, col2, col3 from table2;
    ELSEIF :report_type = 2 THEN
    SELECT col1, col2, col3 from table3;
    END IF;..or something similar?
    Or is there an even easier way of doing this?

    Hello,
    Actually, as long as you're willing to live with some limitations, you can indeed do that with an interactive report.
    A while ago, I blogged about using pipelined functions with respective to generic charting -
    http://jes.blogs.shellprompt.net/2006/05/25/generic-charting-in-application-express/
    Using the same technique you can create a pipelined function which returns each of your different resultsets.
    The key limitation is of course that you need to return the same columns each time (in your example you are always returning 3 columns, it is just the table name that changes, so perhaps it might still be an acceptable solution to you).
    John.
    Blog: http://jes.blogs.shellprompt.net
    Work: http://www.apex-evangelists.com
    Author of Pro Application Express: http://tinyurl.com/3gu7cd
    REWARDS: Please remember to mark helpful or correct posts on the forum, not just for my answers but for everyone!

  • Application Item Not Working as Bind Variable in Region Source

    I've created an application variable - APP_AC_CODE - a value for which - PA1 - I set as part of the column link on page A that branches to page B.
    I use APP_AC_CODE as part of a region title on page B - &APP_AC_CODE. Parameters - which evaluates successfully to 'PA1 Parameters'.
    However when I try to use APP_AC_CODE on the same page as part of the SQL query that drives the report for that region it fails to retrieve any records.
    If I set the region source to:
    SELECT idi FROM v_parameters WHERE aircraft_code = :APP_AC_CODE ;
    then it fails but if I explicitly state the where clause:
    SELECT idi FROM v_parameters WHERE aircraft_code = 'PA1' ;
    then it works just fine and retrieves the records as expected.
    If I check the session state then the right value is assigned to APP_AC_CODE; if I check debug then it shows the right value - binding: ":APP_AC_CODE"="APP_AC_CODE" value="PA1". Also, it displays fine as a substitution string.
    I'm very confused. I'll be very grateful if someone can shed a little light. I expect I'm doing something stupid - new user and all that - but I haven't got a clue what that is.

    Thanks for the reply Scott, but unfortunately I can't upload the app for business reasons. I appreciate that might make it impossible for you to diagnose the problem.
    I don't know if I'm making progress with the problem but I've tried adding a hidden page item, setting that value from page A and using it from page B with the same results. Check the session state, the debug messages, or use it as a substitution variable and the right value is there.
    I then tried setting the value of the page item with the value of the application item and (according to session and debug) the right value ends up in the page item. Still didn't work though.
    I then created a new page (using the sql report wizard in case I was doing something wrong manually) and tried using the application item in the same way with the same problem.
    Given that no records are being returned I assume that the database server doesn't care for the SQL query it sees. Is there a way of seeing what this is? When I look at the debug messages, all I see is 'parse query' and 'binding' messages. Any way I can see what the database server eventually sees?
    Matt

  • Connecting a report region and a PL/SQL region

    Hi,
    I have created a report region whith pagination that only show 1 row at a time. I can then navigate backwards and forwards through this recordset. The first reportcolum in this recordset contains a number.
    I have also, on the same page, created a PL/SQL procedure region. What I want is to use the number from the SQL region as an input to the PL/SQL region. So when I navigate through the report (Using the pagination arrows), the PL/SQL region is in sync with the record I'm currently seeing in the report.
    Is this possible or do I have to try something different?
    Regards
    Trond

    Hi Trond,
    If you only want to show one record in your first region, it might be best to work with page items, retrieve one record at a time and use that data as the source for your page items. It's easier to implement and easier to reference those values in your second region. Reports are great if you have more then one record.
    Having said that, there are ways to implement it the way you outlined it in your posting. Granted it's not very elegant but it serves its purpose. You could write your own PL/SQL package, use this to set a global to the current row's primary key value and reference that global in your second region.
    Create your package as follows:
    create or replace package md_sample as
    g_pk_value number;
    function set_value(p_value number) return number;
    end;
    create or replace package body md_sample as
    function set_value(p_value in number) return number is
    begin
    g_pk_value := p_value;
    return 1;
    end;
    end;
    Now you need to make sure that your report calls this package appropriately. Calling this as part of your SQL statement won't work properly as it would also be called for records not currently shown on your page. A better way would be to use it for a PL/SQL expression within your report template definition. Pick a custom report template for your report and edit that template. Scroll down to the condition for the first column template and pick “Use Based on PL/SQL Expression”. Then type in the following expression (this is based on a select deptno, dname, loc from dept report):
    md_sample.set_value(#DEPTNO#)=1
    After that you'll be able to reference the global md_sample.g_pk_value. You could e.g. use this as the source for page items shown in your second region.
    Hope this helps,
    Marc

  • Is There A Character Limit to Region Source?

    I created a PL/SQL Dynamic Content region. I was in the process of adding PL/SQL code to region source and every thing was working fine when I started getting the following error when ever I press the Apply Changes button:
    1 error has occurred
    ORA-06550: line 609, column 1: PLS-00103: Encountered the symbol "END" when expecting one of the following: * & = - + ; < / > at in is mod remainder not rem <> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_ between || member SUBMULTISET_ The symbol ";" was substituted for "END" to continue.
    I cannot find anything wrong with the PL/SQL code. I did notice however, that if I remove enough lines of code the error message goes away. Is there some limit to the number of lines or number of characters the region source can hold?? If so is there some way to increase this limit? Thanks for the help.

    I understand what you are saying. I looked up mod_plsql and understand this is a limitation of the Oracle HTTP web server. But is there a way to configure the web server so it can handle more data? I find it hard to belive that people are not writting a lot longer PL/SQL code than I am.

  • Have an ajax memory tree in a pl/sql region be rendered only once in a page

    Hi all,
    I have a pl/sql region with region source calling a function "ajax_memory_tree.render". Everytime I come back to this particular page, I am having a tree being rendered. Can you give any suggestion as to how I can have only one tree. Thank you for your help/ideas.
    regards,
    Suma.

    procedure render_branch
      (p_type in varchar2, p_icon in varchar2, p_class in varchar2, p_id in number, p_pid in number, p_name in varchar2)
    is
    x varchar2(1000);
    y varchar2(2000);
    begin
    -- If the branch has sub nodes, render it with a +/- sign
    if p_type = 'exp' then
        htp.prn('&lt;li style="vertical-align:right;">&lt;img style="cursor:pointer;margin-right:15px;"
             src="/i/' || p_icon || '.gif" onClick="getTreeNode(this,''' || p_id || ''')" />
       &lt;a class="' || p_class || '" href="f?p=' ||
       v('APP_ID') || ':1:' || v('APP_SESSION') || '::::P1_SELECTED_NODE:' || p_id || '">' || p_name ||
       '&lt;/a>&lt;/span>&lt;/li>');
    -- Otherwise, just render the item
    else
    if p_id = 5000 then
        select opt_path into x from e_navopts where opt_num = p_id and popt_num = p_pid
        and userid = v('APP_USER');
            htp.prn('&lt;li style="vertical-align:right;margin-left:15px;">&lt;img src="/i/wwv_bullet.gif" style="padding-right:8px;"/>&lt;a
      class="' || p_class || '" href="'||x || v('APP_SESSION')|| '::::'||
      '">' || p_name ||'&lt;/a>&lt;/span>&lt;/li>');
    elsif  p_id = 3000 then
        select opt_path into x from e_navopts where opt_num = p_id and popt_num = p_pid
        and userid = v('APP_USER');
        select opt_params into y from e_navopts where opt_num = p_id and popt_num = p_pid
        and userid = v('APP_USER');
           htp.prn('&lt;li style="vertical-align:right;margin-left:15px;">&lt;img src="/i/wwv_bullet.gif" style="padding-right:8px;"/>&lt;a
      class="' || p_class || '" href="'||x || v('APP_SESSION')|| '::::'||
      '">' || p_name ||'&lt;/a>&lt;/span>&lt;/li>');
    else
      htp.prn('&lt;li style="vertical-align:right;margin-left:15px;">&lt;img src="/i/wwv_bullet.gif" style="padding-right:8px;"/>&lt;a
      class="' || p_class || '" href="f?p=' || v('APP_ID') || ':1:' || v('APP_SESSION') ||
      '::::P1_SELECTED_NODE:' || p_id || '">' || p_name || '&lt;/a>&lt;/span>&lt;/li>');
        end if;
    end if;
    end render_branch;

  • Using CASE WHEN THEN in dynamic Region Source area

    Hi all,
    I've been knocking my head around on this one for a while. Hope someone can show me some guidance. So far, the SQL Query in the Region Source works ok except after the THEN ''||'LINK'||'' . All text between the single quotes displays, and not just the hyperlink LINK. (My goal is to this simple test working, then go back an substitute in APP_ID, Page#, SESSION variables.) But I'm stuck with this problem. Searched the forum but this is as far as I got. Below is the code I'm using in the Region Source area. Perhaps a region attribute setting is needed but I'm unsure. Thanks for any assistance. -Mike
    select DISTINCT
        AWARD,
        CASE
        WHEN WINNER_NAME = 'India Retail Support Team'
       THEN '<A HREF="http://www.hotmail.com">'||'LINK'||'</A>'         *----------------HREF link (LINK) is working fine here but doesn't work ok in Region Source.
        ELSE WINNER_NAME
        END WN,
            GBU_WINNER,
            DORDER
    from   GBUSERVICEPACESETTERAWARDS
    where FY = '2012'
    and TYPE = 'Service Award'

    >
    As previously requested, please update your forum profile with a real handle instead of "user10734329".
    I've been knocking my head around on this one for a while. Hope someone can show me some guidance. So far, the SQL Query in the Region Source works ok except after the THEN ''||'LINK'||'' . All text between the single quotes displays, and not just the hyperlink LINK.Not clear from this what the problem is. It appears to me that LINK is all of the "text between the single quotes". What do you mean by "all text"? (An example on apex.oracle.com is a good way to resolve such ambiguities...)
    The usual cause of unexpected results when the separation of concerns is breached and HTML is directly generated in report queries is having the Display Text As report column attribute wrongly set. Ensure it is Standard Report Column rather than the default Display as Text (escape special characters).

  • Re: Error in PL/SQL region for Shuttle item.

    Hi,
    I have following PL/SQL in the Region Source:
    DHTML_SHUTTLE (
    pSQL_1=>'select "substr(tab_label,1,30)","substr(tab_name,1,25)" from "apex_application_tabs" where workspace = "R&D" and application_name = "home" and tab_set = "T1" order by "tab_label"',
    pSQL_2=>'select "substr(a.tab_label,1,30)", "substr(b.tab_name,1,25)" from "apex_application_tabs a", "mem_access b" where a.tab_name = b.tab_name and b.username = :GLOBAL_USERNAME order by "tab_label"',
    pID_1=>'1',
    pID_2=>'2',
    pSort1=>'Y',
    pSort2=>'Y',
    pFixed1=>'N',
    pHeight=>'200',
    pWidth=>'200',
    pImagePrefix=>v('WORKSPACE_IMAGES')
    I don't know why but when I run it, returns following error:
    ORA-06550: line 1, column 143: PL/SQL: ORA-00942: table or view does not exist ORA-06550: line 1, column 7: PL/SQL: SQL Statement ignored.
    I can access "apex_application_tabs" in same application (List item).
    Any clue?
    Thanks in advance.
    Dip
    Edited by: user8609115 on 11-Mar-2010 10:57 AM

    Yes, because of quotes it was returning error.
    Thanks!!
    Dip
    Edited by: user8609115 on 11-Mar-2010 11:33 AM

  • ORA-06502 when searching region source

    The following is listed as a limitation of Apex 3.1, for both interactive reports and the application builder, although the specific context is not mentioned.
    The row length limit is 32k (just as with Classic Reports). You can include more columns but if too many are selected to be displayed, the user will get the following error - "ORA-06502: PL/SQL: numeric or value error: character string buffer too small". This should be considered when creating your report.You can find that here: http://www.oracle.com/technology/products/database/application_express/html/3.1_known_issues.html
    I'm getting this very error when trying to search region source for one of my application items. Presumably the region source is larger than the 32k limit where my particular page item is being used?
    Can anyone from Oracle verify that this is still a problem in Apex 3.2.0.00.27?
    Earl

    >
    The following is listed as a limitation of Apex 3.1, for both interactive reports and the application builder, although the specific context is not mentioned.
    The row length limit is 32k (just as with Classic Reports). You can include more columns but if too many are selected to be displayed, the user will get the following error - "ORA-06502: PL/SQL: numeric or value error: character string buffer too small". This should be considered when creating your report.
    You can find that here: http://www.oracle.com/technology/products/database/application_express/html/3.1_known_issues.html
    I'm getting this very error when trying to search region source for one of my application items. Presumably the region source is larger than the 32k limit where my particular page item is being used?
    Can anyone from Oracle verify that this is still a problem in Apex 3.2.0.00.27?
    EarlAnyone have any ideas about the above? I'm getting this error when searching region source code, here:
    Home>Application Builder>Application nnn>Application Reports>Page Components>Search Region Source
    Any help would be appreciated. Thanks.
    Earl

  • Render Dynamic PL/SQL region as PDF?

    Hi!
    I would like to be able to render a Dynamic PL/SQL region as a PDF. Anybody have an idea how to do this or even if it can be done? This is not a report region.
    Also any idea's on how I might do pagination in a dynamic PL/SQL region?
    Any hope that a future version of APEX will accept lines from a PL/SQL function (including anonymous ones) as the source of a report region? It would need to preserve blank lines. Currently only select statements are valid for generating APEX reports.
    Thanks in advance for your help!
    Dave Venus

    Scott,
    This is what is what debug mode puts out just before it issues the data not found error:
    0.07: ...Process "create collection": PLSQL (ON_SUBMIT_BEFORE_COMPUTATION) -- -- Create Collections -- -- declare la_cks apex_application_global.vc_arr2; begin if apex_application.g_f19.count > 0 then -- wwv_flow.debug('count gt 0 for checksum'); la_cks := apex_application.g_f19; else
    0.09: Encountered unhandled exception in process type PLSQL
    0.09: Show ERROR page...
    0.09: Performing rollback...
    I was hoping that the wwv_flow.debug statements would help me figure out where the error was occurring, but they did not produce anything so I commented them out. One thing that might be useful is that when I am not in debug mode and I click the OK link after the Oracle error message, the repainted screen still has the checkboxes that have been marked so I am guessing the error handler can see the data that I put into the .g_fnn arrays within my pl/sql region code.
    In other tabular forms within the same application, the create collection code starts the same way and I do not have any problems.
    One of the tests I did this morning was to replace my reference to the fcs array with f19 just in case there was something special being done for checksums, but the change had no effect.
    thanks,
    Peter

Maybe you are looking for