Maximum of 25 popup_from_query columns in updateable report

There appears to be a limit of 25 popup_from_query columns defined in an updatable report.
By way of a simple example, I have a SQL Query (updateable report) defined with the following columns:
select
htmldb_item.popup_from_query(1, 1,'select 1 a, 1 b from dual',10) col1,
htmldb_item.popup_from_query(2, 1,'select 1 a, 1 b from dual',10) col2,
htmldb_item.popup_from_query(3, 1,'select 1 a, 1 b from dual',10) col3,
htmldb_item.popup_from_query(25, 1,'select 1 a, 1 b from dual',10) col25
from table
When I add a 26th entry, it errors at runtime with "report error: ORA-06502: PL/SQL: numeric or value error"
HELP - I really need to be able to use about 31 of these columns in my query!

Jules - You know that for each column in the query at least 1 byte of HTML will be generated. Of course it's more than that, but let's assume it's just 1 byte. We also know that there is a 32K limit on the size of the HTML generated for each row. So by your reasoning, there would be no limit on how many columns your query could have even though each additional column generates one additional byte. This is not logical.
Also, I tested this using your simple query (on htmldb.oracle.com) and I hit the limit when I go over 20 popup_from_query columns. So, the limit is obviously not hard-coded at 25.
Scott

Similar Messages

  • Region sql query(updateable report) data entry in non db columns

    In a tabular report type updateable report
    What is the best way to provide data entry into a non db column a) (to accept parameters for some on demand pl/sql processes)?
    Only when setting a) as a standard report column the db insert/update transaction can be processed
    When changing a) to text field the db insert/update transaction fails with en error (screen/db are not in sync which is not actually the case)
    a) should not be part of the db insert/update transactions but still allow data entry
    How can this be achieved?
    Thanks
    Peter

    Hi Peter,
    I think the easiest solution is to use an updateable view instead of the direct table access.
    Here is an example:
    CREATE OR REPLACE VIEW V_EMPLOYEES
    AS
    SELECT EMPLOYEE_ID
         , FIRST_NAME
         , LAST_NAME
         , FIRST_NAME||' '||LAST_NAME AS FULL_NAME
      FROM EMPLOYEES
    CREATE OR REPLACE TRIGGER TRG_V_EMPLOYEES
        INSTEAD OF INSERT OR UPDATE OR DELETE
        ON V_EMPLOYEES
        REFERENCING NEW AS new OLD AS old
        FOR EACH ROW
    BEGIN
        IF UPDATING
        THEN
            UPDATE EMPLOYEES
               SET FIRST_NAME = :new.FIRST_NAME
                 , LAST_NAME  = :new.LAST_NAME
             WHERE EMPLOYEE_ID = :old.EMPLOYEE_ID
        -- insert and delete is not allowed
        ELSIF INSERTING
        THEN
            NULL; -- there would be a insert code
        ELSIF DELETING
        THEN
            NULL; -- there would be the delete code
        END IF;
    END;
    /FIRST_NAME||' '||LAST_NAME AS FULL_NAME in the example view simulates your function call.
    There might be a possibility to do it in APEX as well, but that was the first solution which came into my mind.
    Patrick
    Check out my APEX-blog: http://inside-apex.blogspot.com
    Check out the ApexLib Framework: http://apexlib.sourceforge.net

  • Conditional display of a column link in sql updateable report

    Hi There,
    I've attempted to look thru the Apex forum about using an Authorization Scheme in an SQL Query (Updateble Report) where I can conditionaly enable (display) a column link based upon a value in the report but alas I cannot find a solution.
    What I have is a SQL Query (updateable report). What I want to achieve is dependant on the value of one of the columns in the report query conditionaly display a column link for the row being displayed. For example if the report dispayed the data from emp, dept only display a column link for rows where the deptno = 100 otherwise don't display the column link. Is this possible to achieve?
    I've tried to define in the authorizatuon scheme in the where clause of an SQL Statement to reference the report column as #deptno# but this doesn't work.
    TIA

    Boketi,
    I was unsuccessful yesterday in demoing what I believe you want to achieve. It appears that an authorization scheme will not process row by row within a standard report so as to allow a conditional display of a link or any other column attribute. You can conditionally display a column by the use of a page item but this method appears to be all or nothing.
    I was successful when I coded the return of the empno via a Case statement but the Link still appeared even though there was no value (empno) to link with. So essence the link to you to a blank for with no PK to read the database by.
    SELECT CASE WHEN deptno = 10 THEN empno ELSE NULL END empno,
           ename,
           job,
           hiredate,
           sal,
           comm,
           deptno,
           phone_nbr
    FROM   empJeff

  • Apex 3.0 to 3.2, Updateable Reports & Row Selector Column?

    Good afternoon,
    (I searched the forum for both of these topics but didn't find an answer, it may be there and I missed it. If so, just point me in the right direction if you don't mind.)
    We just upgraded from 3.0.1.00.07 to 3.2.0.00.27.
    In 3.0 there was the option to select 'SQL Query (updateable report)' as a report type. I don't see that available now. What am I doing wrong?
    Also in 3.0, I would add a Row Selector column to a report by selecting 'SQL Query (updateable report)' as a report type, then clicking Row Selector in a side region to the right to add a row selector column, then I would change the report type back to SQL Query and the row selector column would remain. In 3.2 how do I get a row selector column added to a report?
    Thx, Tony

    But, yes, it can be installed with Forms & Reports Standalone. The http server with F&R ships with modplsql; that's all you need. Just configure a DAD as described in the documentation for setting it up with App Server.
    Anton

  • Change column order updateable sql query report APEX 4

    Hi all,
    I have a master detail page. Detail is SQL Query (updateable report)
    I want to change the column order but seems not possiible anymore in A4.
    In A3... on the right side of the report attributes it was possible to move columns up or down.
    path is Home>>Application Builder>>Application nnn >>Page xx >>Report Attributes
    It seems that A4 the move up or down functionality is hidden or the region is to small with no horizontal scrollbar.
    Is there a work_aorund?
    This is also the case when the pages are displayed in icon view when showing all pages using.
    Home >> Application Builder >>Application
    Most right icons are hidden after the about and task regions.
    The work-around here is to display the pages in report or detail view
    Maybe a fix needed for APEX4?
    have nice weekend!
    Hugo Perfors
    Enthousiastic APEX developer

    Hi,
    It could be your browser settings. Try zooiming out in the browser View - Zoom - Zoom Out.
    Regards

  • Bug? - Getting "ORA-20001: Unable to create updateable report"

    We have created hundreds of simple tabular reports, but have come across 3 tables that we cannot get past the following error for when finishing the last step of the create wizard:
    ORA-20001: Unable to create updateable report. ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    Error creating tabular form.
    Return to application.
    Here is the DDL for this table:
    CREATE TABLE ancfx_test
    (ANCFX_ID NUMBER(31,0) NOT NULL ENABLE,
    APP_DTL_LVL_CD VARCHAR2(160),
    NOTE_CALL_FR_TYP_CD VARCHAR2(15),
    ANCFX_VOID_IND CHAR(1) DEFAULT 'n' NOT NULL ENABLE,
    PCT_AUDT_USER_CREA VARCHAR2(30) DEFAULT 'PCT',
    PCT_AUDT_DTM TIMESTAMP (6) DEFAULT SYSDATE
    I have tried an alternate surrogate key, renaming the table, excluding the 160 character column etc., but not able to create this form.
    Based on this and the many hundreds of unique tabular forms we have created, seems we may have run across a bug?
    Any help would be greatly appreciated.
    Thanks!

    Hi Scott,
    Turns out we did reach some sort of limit in APEX regarding how many pages can be assigned to a tab as the current tab for assigned pages. We had around 750 or more pages listed under a given tab as the current tab for those pages, which apparently created a list of page numbers in a string presumably that exceeded the maximum size for a field somewhere in APEX apparently, thus the error about the character buffer being too small. Not only could we not create new pages, but we could not even view the tab page in the shared components area for this tab without getting the error, but could get into the tab page to view the page numbers assigned to the tab.
    To get around this we had to remove all the page numbers that were listed for the tab as the current tab for those pages. Once that was done, everything was back to normal, although the tab in question is no longer shown as the current tab for any of those pages, which is not really a problem for us.
    Anyway, seems Oracle may want to review any field limits that are related to page numbers assigned to a tab to be the current tab for those pages and consider doubling that limit. In our case, 785 pages were too many for this limit, and there were no messages that helped us deduce where this was coming from - just brute force trial and error to figure this one out. Since we have more pages to go, we might run into some limits elsewhere which I'll post here if so.
    Monte Malenke

  • Setting fields defined in SQL updateable report with a process

    I have SQL statement defined in a SQL updateable report with hidden fields. I want to be able to update these hidden fields with values from other displayed fields on the page. How do I reference these hidden items - I have referencign them as :my_field but get and error telling me thats its underfined.

    But, the reason I am doing this is because I want to format the page with 6 columns in one <TD> cell with some extra text and formatting etc - I don't want 1 column per <TD>. Thats why I am using the APEX_ITEM.TEXT so I can format the 1 <TD> the way I want it (with 6 columns it there).
    In the short term can you tell me how to reference hidden fields please.
    I will create the case in apex.oracle.com in the next few days to make it clearer.
    P.S. see my previous post: SQL QUERY updateable report with APEX_ITEM fields to update hidden columns

  • SQL Query (updateable report) Region - Conditionally Hide and Set Values

    SQL Query (updateable report) Region - Conditionally Hide and Set Values
    Outline of requirement :-
    Master / Detail page with Detail updated on same page using SQL Query (updateable report).
    The detail region has the following source
    SELECT item_id,
           contract_id,
           CASE WHEN hardware_id IS NOT NULL THEN
                   'HA'
                WHEN backup_dev_id IS NOT NULL THEN
                   'BD'
                WHEN hardware_os_id IS NOT NULL THEN
                   'HS'
           END item_type,
           hardware_id,
           backup_dev_id,
           hardware_os_id
    FROM   "#OWNER#".support_items
    WHERE  contract_id = :P26_CONTRACT_IDThe table support_items implements arced relationships and has the following columns
    CREATE TABLE SUPPORT_ITEMS
      ITEM_ID         NUMBER                        NOT NULL,
      CONTRACT_ID     NUMBER                        NOT NULL,
      HARDWARE_ID     NUMBER,
      BACKUP_DEV_ID   NUMBER,
      HARDWARE_OS_ID  NUMBER
    )A check type constaint on support_items ensures that only one of the fk's is present.
          (    hardware_id    IS NOT NULL
           AND backup_dev_id  IS NULL
           AND hardware_os_id IS NULL
    OR    (    hardware_id    IS NULL
           AND backup_dev_id  IS NOT NULL
           AND hardware_os_id IS NULL
    OR    (    hardware_id    IS NULL
           AND backup_dev_id  IS NULL
           AND hardware_os_id IS NOT NULL
          )    Hardware_Id is a FK to Hardware_Assets
    Backup_dev_id is a FK to Backup_Devices
    Hardware_os_id is a FK to Hardware_op_systems
    The Tabular Form Element based on item_type column of SQL query is Displayed As Select List (based on LOV) referencing a named list of values which have the following properties
    Display Value     Return Value
    Hardware Asset    HA
    Backup Device     BD
    Computer System   HSThe Tabular Form Elements for the report attributes for hardware_id, backup_dev_id and hardware_os_id are all Displayed As Select List (Based on LOV).
    What I want to do is only display the Select List for the FK depending on the value of the Select List on Item Type, e.g.
    Item_Type is 'HA' then display Select List for hardware_id, do not display and set to NULL the Select Lists for backup_dev_id and hardware_os_id.
    Item_Type is 'BB' then display Select List for backup_dev_id, do not display and set to NULL the Select Lists for hardware_id and hardware_os_id.
    Item_Type is 'HS' then display Select List for hardware_os_id, do not display and set to NULL the Select Lists backup_dev_id and hardware_id.
    There are properties on elements to conditionally display it but how do we reference the values of the SQL query Updateable region? they are not given a page item name?
    Also on the Tabular For Elements there is an Edit tick against a report item - however when you go to the Column Attributes there is not a property with which you can control the Edit setting.
    What's the best way of implementing this requirement in APEX 3.1?
    Thanks.

    >
    Welcome to the forum: please read the FAQ and forum sticky threads (if you haven't done so already), and update your profile with a real handle instead of "user13515136".
    When you have a problem you'll get a faster, more effective response by including as much relevant information as possible upfront. This should include:
    <li>Full APEX version
    <li>Full DB/version/edition/host OS
    <li>Web server architecture (EPG, OHS or APEX listener/host OS)
    <li>Browser(s) and version(s) used
    <li>Theme
    <li>Template(s)
    <li>Region/item type(s) (making particular distinction as to whether a "report" is a standard report, an interactive report, or in fact an "updateable report" (i.e. a tabular form)
    With APEX we're also fortunate to have a great resource in apex.oracle.com where we can reproduce and share problems. Reproducing things there is the best way to troubleshoot most issues, especially those relating to layout and visual formatting. If you expect a detailed answer then it's appropriate for you to take on a significant part of the effort by getting as far as possible with an example of the problem on apex.oracle.com before asking for assistance with specific issues, which we can then see at first hand.
    I have a multi-row region that displays values and allows entries in a number of fields.Provide exact details of how this has been implemented. (An example on apex.oracle.com is always a good way to do this.)
    I should like the fields to be conditional in that they do not permit entry, but still display, if certain conditions apply (e.g. older rows greyed out). Can this be done? Almost anything can be done, often in multiple ways. Which are appropriate may be dependent on a particular implementation, the skills available to implement it, and the effort you're willing to expend on it. Hence it's necessary to provide full details of what you've done so far...

  • Need customized query on updateable report (tabular form)

    I have a pl/sql function that returns a SELECT statement based on very flexible query specifications allowed in a form. (Form has a field for each table column, allows operations like <,>,between, etc, that can be entered directly into the field; all fields need not have some sort of query constraint specified. Essentially the same sort of query flexibility you get in Forms... ) The select always returns the same number of columns. Query results are returned on a different page (either report or tabular form) than that used to enter the query specs.
    The function works beautifully on a page type of Report.
    However, when I take a Tabular Form and switch its query source to PL/SQL function body returns SQL select, the page type becomes Report. The query works on this modified page (returns correct rows), and the columns are still editable (can be typed into) but the changes can't be submitted because the page is no longer a tabular form -- Error is: No updateable report found. Multi row updated and delete operations can only be performed on tabular forms of type 'Updateable Report'.
    How can I have flexible query specs paired w/ an updateable report? Does this require writing my own multi-row DML processes? Or is there a simpler way?
    Thanks,
    Carol

    I have a pl/sql function that returns a SELECT statement based on very flexible query specifications allowed in a form. (Form has a field for each table column, allows operations like <,>,between, etc, that can be entered directly into the field; all fields need not have some sort of query constraint specified. Essentially the same sort of query flexibility you get in Forms... ) The select always returns the same number of columns. Query results are returned on a different page (either report or tabular form) than that used to enter the query specs.
    The function works beautifully on a page type of Report.
    However, when I take a Tabular Form and switch its query source to PL/SQL function body returns SQL select, the page type becomes Report. The query works on this modified page (returns correct rows), and the columns are still editable (can be typed into) but the changes can't be submitted because the page is no longer a tabular form -- Error is: No updateable report found. Multi row updated and delete operations can only be performed on tabular forms of type 'Updateable Report'.
    How can I have flexible query specs paired w/ an updateable report? Does this require writing my own multi-row DML processes? Or is there a simpler way?
    Thanks,
    Carol

  • How to display more than 60 columns in a report

    I have a table defined as follows
    id
    column_name
    column_value
    data sample
    id col_name column_value
    1 col1 val1
    1 col2 val2
    1 col3 val3
    2 col1 val1
    2 col2 val2
    2 col3 val3
    now I want to display the data in a report as follows
    id col1 col2 col3
    1 val1 val2 val3
    2 val1 val2 val3
    I was able to generate output using pivots [http://technology.amis.nl/blog/1197/pivot-dynamic-data]
    the problem is that I can have more that 60 columns retrieved in each row, the pivot solution will retrieve them correctly but I can't display more than 60 columns in apex reports, why this restriction in apex, any solution

    Hello:
    In the Source section of the report definition choose 'Use Generic Column Names (parse query at runtime only)' and then specify a suitable value for 'Maximum number of generic report columns:'
    Varad

  • Updateable Report : re-display collection & Update Button question

    This a sequel to a previous Updateable Report question I had.
    Varad pointed me to this doc which has been incredibly helpful .
    http://www.oracle.com/technology/products/database/application_express/
    howtos/tabular_form.html#RESTRICTIONS
    I was\am having the following issue :
    Let's zoom to the part where we create a region to display the tabular form for the previously saved collection , and drill down to the part where we create an UPDATE EMP button for that displayed collection :
    I was not able to display the collection again when I failed the validation a 2nd time. ie, clicking on the UPDATE EMP button after it displays both the errors-post validation and after displaying the collection ( of course) would return me to the previous report pre-collection creation. When I turned debug on I found out that it was not even creating the collection and was hence deleting it before displaying the subsequent page.
    So what I did differently from what the documention instructs is as follows :
    I removed the page reference on the 'branch to page' of the UPDATE EMP button. In my case, the default 'Branch to ' Page after Processing is the same page I am using for this part of the application.
    So when I remove the reference to the page number. for that button, the page is then able to re-create the collection and hence re-display the collection so I can re-fix the 2nd error ( ... and 3rd) and finally update the report .
    Just wondering if anyone else has had the same experience ?
    Thanks !

    The columns and rows have a set format for the Id, so if you know one Id you know the row and the ids of all the other columns.
    As an example, this will show the value of column 6 when you click on any column with the function call in the Element Attributes:
    Script:
    <script type="text/javascript">
    function showCol6(col){
      var col6 = document.getElementById("f06_" + col.id.substr(4,4));
      alert(col6.value);
    </script>Element Attributes:
    onclick=showCol6(this);You could also use a Named Column template, specific to this region, to include the column values directly in the function call, but I think it's best to stick with the ApEx defaults if possible.

  • Recalculating fields in an updateable report when a page item changes

    Hi,
    On the one page I have a header section where the user enters the total number of items (eg. 50).
    I then have an updateable report on the same page where one of the columns is '% of the total items' and the last column of the table is calculated using javascript ('% of the total items' * 'total number of items').
    eg. the page could look like this :
    Total Number of Items : 200
    Item Type % of Total Items Calculated Field
    Toys 25% 50
    Clothes 75% 150
    When the value of the 'Total Number of Items' field is changed, I need to recalculate all the values for the last column.
    I've tried to do this using javascript based on what I could find on the forum, but when I change the value in the header section, the last column of all the table rows are not being calculated.
    Any assistance you could provide would be greatly appreciated.
    I have an onchange trigger on the total number of items field
    onChange="ReCalcProds()";
    and the javascript function looks as follows :
    function ReCalcProds()
    var answer;
    var amount1;
    var amount2;
    var tds = document.getElementsByTagName('td');
    for (var k=0; k<tds.length; k++) {
    if (tds[k].headers=="ACTIVITY_CODE") {
    var inputObjs= tds[k].getElementsByTagName('input');
    if(inputObjs.length>0) {
    for (var j=0;document.inputObjs.length; j++) {
    amount1 = parseFloat(document.getElementById('P9_TOTAL_PRODUCTIONS').value);
    amount2 = parseFloat(document.getElementById('f08_'+j).value);
    if (isNaN(amount1)){amount1 = 0};
    if (isNaN(amount2)){amount2 = 0};
    answer = amount1 * (amount2/100);
    document.getElementById('f11_'+j).value = answer;
    Many Thanks.

    anonymous,
    Check out another thread that had a similar topic. It may help you work through your issue.
    Re: Tabular Form - Dynamic Default Value
    Todd

  • Inserting row in Updateable Report

    Hi all,
    I have an updateable report that I can update no problem. However, when I try insert a record I get the following error ...
    Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20001: ORA-20001: Current version of data in database has changed since user initiated update process. current checksum = "A884FA378C851786DDFE3A33709CB23C", item checksum = "37B04CEAA8C5C627F8FC74D27A1665C8"., update
    I have isolated the error to the date field and I think the DML is doing something funky in the background.
    Anyone had this problem or know how to get around it?
    Thanks,
    Russell

    Check if all of your updatable columns are referencing the table columns properly.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    ------------------------------------------------------------------------------

  • How to display total for a column in updateble report

    How can I display total on a report column?
    the query is
    select htmldb_item.checkbox(1,invoice_id) invoice_id,
    htmldb_item.DISPLAY_AND_SAVE(2,invoice_no,15)invoice_no,
    htmldb_item.DISPLAY_AND_SAVE(3,to_char(invoice_date, 'DD-MON-YYYY'),20) invoice_date,
    htmldb_item.DISPLAY_AND_SAVE(4,net_amount,15) NET_AMOUNT,
    htmldb_item.text(5,net_amount,null,10) amount_adj,
    htmldb_item.text(6,net_amount,null,10) actual_amt
    from INVOICE
    where OWNER_TYPE = 'CUSTOMER'
    and OWNER_ID = :P57_CUSTOMER_NAME
    group by invoice_id,invoice_no, invoice_date,net_amount
    In the report column attributes the sum column is checked for the sal field
    When I run the report, I get a Sub-total of 0 and a Report Total of 0. What am I doing wrong?
    thanks

    Sunil,
    Which column is the sal column? I can’t see any numeric columns in your query. If you use htmldb_item calls in your query column, then this makes them strings and you can’t build sums on string columns. If you want to build sums in an updateable report / tabular form, then don’t use the htmldb_item API. Instead use the built-in display types on the report column attributes page. Using the built-in display types is the better options in most cases anyway and they do allow you to calculate sums even if the column is a text field or display and save type field.
    Regards,
    Marc

  • Date formatting on updateable report

    I have an updateable report with a date column. I would like the user to be able to use mm/dd/rrrr format.
    Is this possible?
    Thanks

    when you use our tabular form wizard to generate a tabular form, you're somewhat limited in what you can do to the data that's being selected out of your table. it's currently set up that way because we do some optimistic locking stuff behind the scenes to maintain your data integrity for you. there might be other ways to deal with your specific request, but this approach seems easiest to me assuming that changing your db's default date format isn't an option:
    put html db pl/sql processes on both your page rendering and page submission sections that set your nls_date_format for each of those db sessions. so both of your new html db processes would be of type "PL/SQL Anonymous Block". one would fire with a process point of "On Load - Before Header" and the other would fire "On Submit - Before Computations and Validations". both processes would look like...
    begin
    execute immediate 'alter session set nls_date_format = ''mm/dd/rrrr''';
    end;
    ...and after those two changes, your tablular form should handle dates in the mm/dd/rrrr format you're looking for.
    hope this helps,
    raj

Maybe you are looking for