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

Similar Messages

  • Re: BUG? APEX 4.0: ORA-20503 error editing report with 400+ columns

    Hello Everyone.
    I've run into something quite strange and am hoping you can help me.
    I am using Apex 4.0.1 and Oracle version 10.2.0.5. I've created a "classical" report in which the underlying SQL is a very simple:
    select * from pvtabThe Oracle table pvtab consists of 419 columns, all of which are varchar2(88) and number type. That's it.
    When I run the report, al of the columns show up as expected.
    However, when I go into the "Report Attributes" tab and click on one of the fields (any of them, it doesn't matter which one), I immediately get the following error:
    ORA-20503: Current version of data in database has changed since user initiated update process. current checksum = "598CAA7B68746A66F4B99E1512C36DED" application checksum = "0"If if replace the "*" with a few actual column names, then I am able to access any of these columns without problem.
    If I put back the "*", I then encounter this error again.
    I have never seen this error with other SQL SELECT statements in which I use the "*" qualifier to retrieve all columns from the table.
    And so, I am wondering if the error is caused because of the large number of columns (419) in my table.
    I've seen this same error mentioned in connection with forms but never with a report.
    So, is there some limit to the number of columns one can have in a "classic" or interactive report?
    Any idea why I would be getting this error?
    Here is the DDL for my table pvtab:
    CREATE TABLE  "PVTAB"
       (     "MICRO" VARCHAR2(4),
         "PRIM" VARCHAR2(4),
         "UNIT" NUMBER,
         "SEC_REF_1" NUMBER,
         "SECN_1" VARCHAR2(88),
         "SEC_REF_2" NUMBER,
         "SECN_2" VARCHAR2(88),
         "SEC_REF_3" NUMBER,
         "SECN_3" VARCHAR2(88),
         "SEC_REF_4" NUMBER,
         "SECN_4" VARCHAR2(88),
         "SEC_REF_5" NUMBER,
         "SECN_5" VARCHAR2(88),
         "SEC_REF_6" NUMBER,
         "SECN_6" VARCHAR2(88),
         "SEC_REF_7" NUMBER,
         "SECN_7" VARCHAR2(88),
         "SEC_REF_8" NUMBER,
         "SECN_8" VARCHAR2(88),
         "SEC_REF_9" NUMBER,
         "SECN_9" VARCHAR2(88),
         "SEC_REF_10" NUMBER,
         "SECN_10" VARCHAR2(88),
         "SEC_REF_11" NUMBER,
         "SECN_11" VARCHAR2(88),
         "SEC_REF_12" NUMBER,
         "SECN_12" VARCHAR2(88),
         "SEC_REF_13" NUMBER,
         "SECN_13" VARCHAR2(88),
         "SEC_REF_14" NUMBER,
         "SECN_14" VARCHAR2(88),
         "SEC_REF_15" NUMBER,
         "SECN_15" VARCHAR2(88),
         "SEC_REF_16" NUMBER,
         "SECN_16" VARCHAR2(88),
         "SEC_REF_17" NUMBER,
         "SECN_17" VARCHAR2(88),
         "SEC_REF_18" NUMBER,
         "SECN_18" VARCHAR2(88),
         "SEC_REF_19" NUMBER,
         "SECN_19" VARCHAR2(88),
         "SEC_REF_20" NUMBER,
         "SECN_20" VARCHAR2(88),
         "SEC_REF_21" NUMBER,
         "SECN_21" VARCHAR2(88),
         "SEC_REF_22" NUMBER,
         "SECN_22" VARCHAR2(88),
         "SEC_REF_23" NUMBER,
         "SECN_23" VARCHAR2(88),
         "SEC_REF_24" NUMBER,
         "SECN_24" VARCHAR2(88),
         "SEC_REF_25" NUMBER,
         "SECN_25" VARCHAR2(88),
         "SEC_REF_26" NUMBER,
         "SECN_26" VARCHAR2(88),
         "SEC_REF_27" NUMBER,
         "SECN_27" VARCHAR2(88),
         "SEC_REF_28" NUMBER,
         "SECN_28" VARCHAR2(88),
         "SEC_REF_29" NUMBER,
         "SECN_29" VARCHAR2(88),
         "SEC_REF_30" NUMBER,
         "SECN_30" VARCHAR2(88),
         "SEC_REF_31" NUMBER,
         "SECN_31" VARCHAR2(88),
         "SEC_REF_32" NUMBER,
         "SECN_32" VARCHAR2(88),
         "SEC_REF_33" NUMBER,
         "SECN_33" VARCHAR2(88),
         "SEC_REF_34" NUMBER,
         "SECN_34" VARCHAR2(88),
         "SEC_REF_35" NUMBER,
         "SECN_35" VARCHAR2(88),
         "SEC_REF_36" NUMBER,
         "SECN_36" VARCHAR2(88),
         "SEC_REF_37" NUMBER,
         "SECN_37" VARCHAR2(88),
         "SEC_REF_38" NUMBER,
         "SECN_38" VARCHAR2(88),
         "SEC_REF_39" NUMBER,
         "SECN_39" VARCHAR2(88),
         "SEC_REF_40" NUMBER,
         "SECN_40" VARCHAR2(88),
         "SEC_REF_41" NUMBER,
         "SECN_41" VARCHAR2(88),
         "SEC_REF_42" NUMBER,
         "SECN_42" VARCHAR2(88),
         "SEC_REF_43" NUMBER,
         "SECN_43" VARCHAR2(88),
         "SEC_REF_44" NUMBER,
         "SECN_44" VARCHAR2(88),
         "SEC_REF_45" NUMBER,
         "SECN_45" VARCHAR2(88),
         "SEC_REF_46" NUMBER,
         "SECN_46" VARCHAR2(88),
         "SEC_REF_47" NUMBER,
         "SECN_47" VARCHAR2(88),
         "SEC_REF_48" NUMBER,
         "SECN_48" VARCHAR2(88),
         "SEC_REF_49" NUMBER,
         "SECN_49" VARCHAR2(88),
         "SEC_REF_50" NUMBER,
         "SECN_50" VARCHAR2(88),
         "SEC_REF_51" NUMBER,
         "SECN_51" VARCHAR2(88),
         "SEC_REF_52" NUMBER,
         "SECN_52" VARCHAR2(88),
         "SEC_REF_53" NUMBER,
         "SECN_53" VARCHAR2(88),
         "SEC_REF_54" NUMBER,
         "SECN_54" VARCHAR2(88),
         "SEC_REF_55" NUMBER,
         "SECN_55" VARCHAR2(88),
         "SEC_REF_56" NUMBER,
         "SECN_56" VARCHAR2(88),
         "SEC_REF_57" NUMBER,
         "SECN_57" VARCHAR2(88),
         "SEC_REF_58" NUMBER,
         "SECN_58" VARCHAR2(88),
         "SEC_REF_59" NUMBER,
         "SECN_59" VARCHAR2(88),
         "SEC_REF_60" NUMBER,
         "SECN_60" VARCHAR2(88),
         "SEC_REF_61" NUMBER,
         "SECN_61" VARCHAR2(88),
         "SEC_REF_62" NUMBER,
         "SECN_62" VARCHAR2(88),
         "SEC_REF_63" NUMBER,
         "SECN_63" VARCHAR2(88),
         "SEC_REF_64" NUMBER,
         "SECN_64" VARCHAR2(88),
         "SEC_REF_65" NUMBER,
         "SECN_65" VARCHAR2(88),
         "SEC_REF_66" NUMBER,
         "SECN_66" VARCHAR2(88),
         "SEC_REF_67" NUMBER,
         "SECN_67" VARCHAR2(88),
         "SEC_REF_68" NUMBER,
         "SECN_68" VARCHAR2(88),
         "SEC_REF_69" NUMBER,
         "SECN_69" VARCHAR2(88),
         "SEC_REF_70" NUMBER,
         "SECN_70" VARCHAR2(88),
         "SEC_REF_71" NUMBER,
         "SECN_71" VARCHAR2(88),
         "SEC_REF_72" NUMBER,
         "SECN_72" VARCHAR2(88),
         "SEC_REF_73" NUMBER,
         "SECN_73" VARCHAR2(88),
         "SEC_REF_74" NUMBER,
         "SECN_74" VARCHAR2(88),
         "SEC_REF_75" NUMBER,
         "SECN_75" VARCHAR2(88),
         "SEC_REF_76" NUMBER,
         "SECN_76" VARCHAR2(88),
         "SEC_REF_77" NUMBER,
         "SECN_77" VARCHAR2(88),
         "SEC_REF_78" NUMBER,
         "SECN_78" VARCHAR2(88),
         "SEC_REF_79" NUMBER,
         "SECN_79" VARCHAR2(88),
         "SEC_REF_80" NUMBER,
         "SECN_80" VARCHAR2(88),
         "SEC_REF_81" NUMBER,
         "SECN_81" VARCHAR2(88),
         "SEC_REF_82" NUMBER,
         "SECN_82" VARCHAR2(88),
         "SEC_REF_83" NUMBER,
         "SECN_83" VARCHAR2(88),
         "SEC_REF_84" NUMBER,
         "SECN_84" VARCHAR2(88),
         "SEC_REF_85" NUMBER,
         "SECN_85" VARCHAR2(88),
         "SEC_REF_86" NUMBER,
         "SECN_86" VARCHAR2(88),
         "SEC_REF_87" NUMBER,
         "SECN_87" VARCHAR2(88),
         "SEC_REF_88" NUMBER,
         "SECN_88" VARCHAR2(88),
         "SEC_REF_89" NUMBER,
         "SECN_89" VARCHAR2(88),
         "SEC_REF_90" NUMBER,
         "SECN_90" VARCHAR2(88),
         "SEC_REF_91" NUMBER,
         "SECN_91" VARCHAR2(88),
         "SEC_REF_92" NUMBER,
         "SECN_92" VARCHAR2(88),
         "SEC_REF_93" NUMBER,
         "SECN_93" VARCHAR2(88),
         "SEC_REF_94" NUMBER,
         "SECN_94" VARCHAR2(88),
         "SEC_REF_95" NUMBER,
         "SECN_95" VARCHAR2(88),
         "SEC_REF_96" NUMBER,
         "SECN_96" VARCHAR2(88),
         "SEC_REF_97" NUMBER,
         "SECN_97" VARCHAR2(88),
         "SEC_REF_98" NUMBER,
         "SECN_98" VARCHAR2(88),
         "SEC_REF_99" NUMBER,
         "SECN_99" VARCHAR2(88),
         "SEC_REF_100" NUMBER,
         "SECN_100" VARCHAR2(88),
         "SEC_REF_101" NUMBER,
         "SECN_101" VARCHAR2(88),
         "SEC_REF_102" NUMBER,
         "SECN_102" VARCHAR2(88),
         "SEC_REF_103" NUMBER,
         "SECN_103" VARCHAR2(88),
         "SEC_REF_104" NUMBER,
         "SECN_104" VARCHAR2(88),
         "SEC_REF_105" NUMBER,
         "SECN_105" VARCHAR2(88),
         "SEC_REF_106" NUMBER,
         "SECN_106" VARCHAR2(88),
         "SEC_REF_107" NUMBER,
         "SECN_107" VARCHAR2(88),
         "SEC_REF_108" NUMBER,
         "SECN_108" VARCHAR2(88),
         "SEC_REF_109" NUMBER,
         "SECN_109" VARCHAR2(88),
         "SEC_REF_110" NUMBER,
         "SECN_110" VARCHAR2(88),
         "SEC_REF_111" NUMBER,
         "SECN_111" VARCHAR2(88),
         "SEC_REF_112" NUMBER,
         "SECN_112" VARCHAR2(88),
         "SEC_REF_113" NUMBER,
         "SECN_113" VARCHAR2(88),
         "SEC_REF_114" NUMBER,
         "SECN_114" VARCHAR2(88),
         "SEC_REF_115" NUMBER,
         "SECN_115" VARCHAR2(88),
         "SEC_REF_116" NUMBER,
         "SECN_116" VARCHAR2(88),
         "SEC_REF_117" NUMBER,
         "SECN_117" VARCHAR2(88),
         "SEC_REF_118" NUMBER,
         "SECN_118" VARCHAR2(88),
         "SEC_REF_119" NUMBER,
         "SECN_119" VARCHAR2(88),
         "SEC_REF_120" NUMBER,
         "SECN_120" VARCHAR2(88),
         "SEC_REF_121" NUMBER,
         "SECN_121" VARCHAR2(88),
         "SEC_REF_122" NUMBER,
         "SECN_122" VARCHAR2(88),
         "SEC_REF_123" NUMBER,
         "SECN_123" VARCHAR2(88),
         "SEC_REF_124" NUMBER,
         "SECN_124" VARCHAR2(88),
         "SEC_REF_125" NUMBER,
         "SECN_125" VARCHAR2(88),
         "SEC_REF_126" NUMBER,
         "SECN_126" VARCHAR2(88),
         "SEC_REF_127" NUMBER,
         "SECN_127" VARCHAR2(88),
         "SEC_REF_128" NUMBER,
         "SECN_128" VARCHAR2(88),
         "SEC_REF_129" NUMBER,
         "SECN_129" VARCHAR2(88),
         "SEC_REF_130" NUMBER,
         "SECN_130" VARCHAR2(88),
         "SEC_REF_131" NUMBER,
         "SECN_131" VARCHAR2(88),
         "SEC_REF_132" NUMBER,
         "SECN_132" VARCHAR2(88),
         "SEC_REF_133" NUMBER,
         "SECN_133" VARCHAR2(88),
         "SEC_REF_134" NUMBER,
         "SECN_134" VARCHAR2(88),
         "SEC_REF_135" NUMBER,
         "SECN_135" VARCHAR2(88),
         "SEC_REF_136" NUMBER,
         "SECN_136" VARCHAR2(88),
         "SEC_REF_137" NUMBER,
         "SECN_137" VARCHAR2(88),
         "SEC_REF_138" NUMBER,
         "SECN_138" VARCHAR2(88),
         "SEC_REF_139" NUMBER,
         "SECN_139" VARCHAR2(88),
         "SEC_REF_140" NUMBER,
         "SECN_140" VARCHAR2(88),
         "SEC_REF_141" NUMBER,
         "SECN_141" VARCHAR2(88),
         "SEC_REF_142" NUMBER,
         "SECN_142" VARCHAR2(88),
         "SEC_REF_143" NUMBER,
         "SECN_143" VARCHAR2(88),
         "SEC_REF_144" NUMBER,
         "SECN_144" VARCHAR2(88),
         "SEC_REF_145" NUMBER,
         "SECN_145" VARCHAR2(88),
         "SEC_REF_146" NUMBER,
         "SECN_146" VARCHAR2(88),
         "SEC_REF_147" NUMBER,
         "SECN_147" VARCHAR2(88),
         "SEC_REF_148" NUMBER,
         "SECN_148" VARCHAR2(88),
         "SEC_REF_149" NUMBER,
         "SECN_149" VARCHAR2(88),
         "SEC_REF_150" NUMBER,
         "SECN_150" VARCHAR2(88),
         "SEC_REF_151" NUMBER,
         "SECN_151" VARCHAR2(88),
         "SEC_REF_152" NUMBER,
         "SECN_152" VARCHAR2(88),
         "SEC_REF_153" NUMBER,
         "SECN_153" VARCHAR2(88),
         "SEC_REF_154" NUMBER,
         "SECN_154" VARCHAR2(88),
         "SEC_REF_155" NUMBER,
         "SECN_155" VARCHAR2(88),
         "SEC_REF_156" NUMBER,
         "SECN_156" VARCHAR2(88),
         "SEC_REF_157" NUMBER,
         "SECN_157" VARCHAR2(88),
         "SEC_REF_158" NUMBER,
         "SECN_158" VARCHAR2(88),
         "SEC_REF_159" NUMBER,
         "SECN_159" VARCHAR2(88),
         "SEC_REF_160" NUMBER,
         "SECN_160" VARCHAR2(88),
         "SEC_REF_161" NUMBER,
         "SECN_161" VARCHAR2(88),
         "SEC_REF_162" NUMBER,
         "SECN_162" VARCHAR2(88),
         "SEC_REF_163" NUMBER,
         "SECN_163" VARCHAR2(88),
         "SEC_REF_164" NUMBER,
         "SECN_164" VARCHAR2(88),
         "SEC_REF_165" NUMBER,
         "SECN_165" VARCHAR2(88),
         "SEC_REF_166" NUMBER,
         "SECN_166" VARCHAR2(88),
         "SEC_REF_167" NUMBER,
         "SECN_167" VARCHAR2(88),
         "SEC_REF_168" NUMBER,
         "SECN_168" VARCHAR2(88),
         "SEC_REF_169" NUMBER,
         "SECN_169" VARCHAR2(88),
         "SEC_REF_170" NUMBER,
         "SECN_170" VARCHAR2(88),
         "SEC_REF_171" NUMBER,
         "SECN_171" VARCHAR2(88),
         "SEC_REF_172" NUMBER,
         "SECN_172" VARCHAR2(88),
         "SEC_REF_173" NUMBER,
         "SECN_173" VARCHAR2(88),
         "SEC_REF_174" NUMBER,
         "SECN_174" VARCHAR2(88),
         "SEC_REF_175" NUMBER,
         "SECN_175" VARCHAR2(88),
         "SEC_REF_176" NUMBER,
         "SECN_176" VARCHAR2(88),
         "SEC_REF_177" NUMBER,
         "SECN_177" VARCHAR2(88),
         "SEC_REF_178" NUMBER,
         "SECN_178" VARCHAR2(88),
         "SEC_REF_179" NUMBER,
         "SECN_179" VARCHAR2(88),
         "SEC_REF_180" NUMBER,
         "SECN_180" VARCHAR2(88),
         "SEC_REF_181" NUMBER,
         "SECN_181" VARCHAR2(88),
         "SEC_REF_182" NUMBER,
         "SECN_182" VARCHAR2(88),
         "SEC_REF_183" NUMBER,
         "SECN_183" VARCHAR2(88),
         "SEC_REF_184" NUMBER,
         "SECN_184" VARCHAR2(88),
         "SEC_REF_185" NUMBER,
         "SECN_185" VARCHAR2(88),
         "SEC_REF_186" NUMBER,
         "SECN_186" VARCHAR2(88),
         "SEC_REF_187" NUMBER,
         "SECN_187" VARCHAR2(88),
         "SEC_REF_188" NUMBER,
         "SECN_188" VARCHAR2(88),
         "SEC_REF_189" NUMBER,
         "SECN_189" VARCHAR2(88),
         "SEC_REF_190" NUMBER,
         "SECN_190" VARCHAR2(88),
         "SEC_REF_191" NUMBER,
         "SECN_191" VARCHAR2(88),
         "SEC_REF_192" NUMBER,
         "SECN_192" VARCHAR2(88),
         "SEC_REF_193" NUMBER,
         "SECN_193" VARCHAR2(88),
         "SEC_REF_194" NUMBER,
         "SECN_194" VARCHAR2(88),
         "SEC_REF_195" NUMBER,
         "SECN_195" VARCHAR2(88),
         "SEC_REF_196" NUMBER,
         "SECN_196" VARCHAR2(88),
         "SEC_REF_197" NUMBER,
         "SECN_197" VARCHAR2(88),
         "SEC_REF_198" NUMBER,
         "SECN_198" VARCHAR2(88),
         "SEC_REF_199" NUMBER,
         "SECN_199" VARCHAR2(88),
         "SEC_REF_200" NUMBER,
         "SECN_200" VARCHAR2(88),
         "SEC_REF_201" NUMBER,
         "SECN_201" VARCHAR2(88),
         "SEC_REF_202" NUMBER,
         "SECN_202" VARCHAR2(88),
         "SEC_REF_203" NUMBER,
         "SECN_203" VARCHAR2(88),
         "SEC_REF_204" NUMBER,
         "SECN_204" VARCHAR2(88),
         "SEC_REF_205" NUMBER,
         "SECN_205" VARCHAR2(88),
         "SEC_REF_206" NUMBER,
         "SECN_206" VARCHAR2(88),
         "SEC_REF_207" NUMBER,
         "SECN_207" VARCHAR2(88),
         "SEC_REF_208" NUMBER,
         "SECN_208" VARCHAR2(88)
       );Thank you for any help/advice.
    Elie
    Edited by: EEG on Jun 12, 2011 2:09 PM

    So, is there some limit to the number of columns one can have in a "classic" or interactive report?Yes. See Oracle® Application Express Application Builder User's Guide Release 4.0, Appendix B: Oracle Application Express Limits.
    Any idea why I would be getting this error?No, but I've replicated it in APEX 4.0.2.00.07 on 11.2.0.1.0 EE using a table of 420 <tt>varchar2(88)</tt> columns:
    >
    ORA-20503: Current version of data in database has changed since user initiated update process. current checksum = "50C9BDC0AA1AEF0EB272E9158B2117B4" application checksum = "0"
    >
    Happens whether using <tt>select *</tt> or including all column names in the query. (I know you don't want to type all the column names, but I'd never use <tt>select *</tt> in a production application: always use a proper column list. You can get one without typing by drag-and-drop of a table in most IDEs, or a query from <tt>user_tab_columns</tt>.)
    I hit the problem at 274 columns. Such an arbitrary number leads me to think that the problem is not one of the number of columns per se, but is due to some other limit (possibly a 32K VARCHAR2/RAW buffer somewhere).
    Workaround:
    Updates to the report column attributes are actually being saved, and you can navigate them using the Page Definition tree view as described in Appendix B.
    Getting More Help:
    This is probably a bug. If you have a support agreement with Oracle raise an SR with Oracle Support.
    Also:
    <li>Search the forum using the "ORA-20503" code and other possible terms to see if there's anything relevant. I had a quick look but the only thread in this context recommended an upgrade on an Oracle 9 DB version that's not compatible with APEX 4.0.
    <li>To get the attention of the Oracle APEX team or anyone else who may know more about this problem than we do, edit your original post and change the Subject to be more specific about the actual nature of the problem: <em>BUG? APEX 4.0: ORA-20503 error editing report with 400+ columns</em>, and include your database version/edition and the definition of the <tt>PVTAB</tt> table.
    Finally:
    Somebody's bound to ask, so we might as well get started:
    <li>Why so many columns?
    <li>What requirement is this trying to fulfil?

  • How to create a report region which the first colomn is row selector column

    I want to create a report region and its first column is a row selector column. I have used select sentence to select some columns. But I do not know how set the first column to row selector column. I mean I want to do as follow. When a radio which is first column is chosen, it will return it's value of the column in the chosen row. Please help me! Thanks

    Hi unnamed,
    Suppose you have an id that identifies your record.
    Go to Report definiton, tab report attirbutes.
    Select the id of your record.
    Create a link to the page you want to go to.
    Hope this helps.
    If not, I suggest you to create a from with report, and analyze the way the wizard has generated it.
    Leo

  • Apex conditional field in "SQL Query (updateable report)" region

    I have a multi-row region that displays values and allows entries in a number of fields. 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?
    I have searched Google and this forum but all the threads I have found relate to field formatting or display/non-display.
    Many thanks in advance Dave Barber
    [Apex=4.1.1.00.23; Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production]
    Edited by: user13515136 on 03-Sep-2012 00:05

    >
    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...

  • Submit Button in APEX 3.2.1 SQL Query (updateable report)

    Hi all,
    I am fairly new to APEX.  I have an updateable report and have created a button for every row as follows:
    <input type="button" value="Task Complete" onclick="doSubmit('#REF_STEP_ID#');" />
    I have a PL/SQL anonymous block process that calls an oracle procedure On Submit - After Computations and Validations:
    BEGIN
    tta_pkg.p_task_complete(:REQUEST);
    END;
    The button works and calls the Oracle procedure.  My problem is that the process will try to run anytime the page gets submitted due to any other process in the page.  The error I am getting when another process submits the page is as follows.
    ORA-06502:  PL/SQL: numeric or value error:  character to number conversion error.   ( If I disable the process, the page works and all other processes are submitted successfully).
    Does anyone have any ideas?  They will be greatly appreciated.
    Thank you,
    Sylvia

    Sylvia,
    Have you tried adding a condition to the process? I'm not sure what options were available in APEX 3.x (which is really old; the current version is 4.2.4), but in the current versions of APEX there's a specific "When button pressed" field that allows you to specify that the process only fires when a specific button is clicked.
    Regards,
    -David

  • In Report "Row Selector"

    Hi
    I have a report and added a Row Selector to it.
    Now I am trying to select the individual rows by selecting the Checkboxes
    My Report query is like below
    select empno from emp
    For this report I have added a row selecor.
    And I have added a process which will execute on pressing of a button.
    By processes code is like below
    declare
    lRow NUMBER;
    BEGIN
    FOR i in 1..apex_application.g_f01.count LOOP
    lRow := apex_application.g_f01(i);
    insert into xxtemp values(apex_application.g_f02(lRow));
    END LOOP;
    END;
    For above code I am getting ORA-01403: no data found Error
    I have gone the through the examples in this forum. But, still I am not sure where exactly I am doing mistake.
    Is there any other properties I need to set up to make this code work?
    Appreciate your help.
    Regards
    Kiran Akkiraju

    Kiran Akkiraju,
    Assumption: Your report type is 'SQL Query (updateable report) and you added a row selector by clicking 'Add Row Selector' from the tasks pane on the right (not by using the apex api's).
    If this assumption is correct, just go to your report attributes for your report region, click on the edit EMPNO column, then set the following:
    Tabular Form Element > Display As = Display as Text (saves state).
    That should do it.
    (By default, this is set to 'Standard Report Column' when creating a report and is not stored in the 'apex_application.g_f02' array you were trying to reference (in fact this wouldn't even exist which is why you were getting 'No data found'.))
    Anthony
    http://anthonyrayner.blogspot.com

  • Row Selector column on Interactive Report

    Hi all,
    I have an interactive report based on a custom SQL query. How do I add a row selctor column so I cans select individual rows? I have also tried using a tabular form which also does not display a row selctor column. This is odd as my other tabular forms display a row selctor column.
    Many thanks for you help,
    Chris

    Chris,
    Usually when someone wants a row selector, it's to choose a few rows by clicking a checkbox, then doing something with them. I'm guessing that's what you're looking for?
    Martin Giffy D'Souza's [blog post|http://apex-smb.blogspot.com/2009/01/apex-report-with-checkboxes-advanced.html] explains one way to do that which should work for you. I haven't tried, it, but it looks pretty comprehensive.
    Good luck,
    Stew

  • Hyperion Reports - Row and Column templates

    <p>Sorry if this may be a bit basic but we are new to Hyperionreports. Currently we are going through a redesign process and washoping to get some viewpoints on the benefits of using row andcolumn templates within reports. I am looking at this option butgetting frustrated by the limitations around formatting, etc</p><p> </p><p>Are there any views out there on the preferred options. We havea particular style in design we need to include which is becomingdifficult when we use row and column templates</p>

    it may also worth cross checking below form doc:
    a.If your row and column template contains formulas with external references (for
    example, to cells outside of the selected row and column template), you are prompted
    to modify those formulas before saving the row or column template.
    Note: You can save a row and column template that contains cell formulas, as these can
    be discarded. For more information, see step 9.c on page 115.
    b. If a secondary database connection was specified within the row and column template,
    a dialog box displays prompting you to continue saving the template. If you save the
    template, the secondary database connection you specified in the row and column
    template is discarded. The primary database connection is then used for the row and
    column template.
    c. If unsupported properties are found, an Information dialog box presents a list of
    properties to discard before saving the template. For example, if the row and column
    template contains a cell formula, you can choose to save the template without the
    formula or not save the template.

  • Report Row Template: Column condition

    In a classic report using a Generic Column template, one can use the Column Condition attribute to conditionally render the column.
    But when using a named column (row template), even though the Builder allows one to specify this condition, it doesn't appear to be used.
    So how would one implement conditional column display in these templates?
    Thanks

    Hi,
    That's actually easier. See: [http://apex.oracle.com/pls/otn/f?p=267:60]
    The SQL for both reports is:
    SELECT EMPNO, ENAME, NVL(SAL,0) SAL, NVL(COMM,0) COMM
    FROM EMP
    ORDER BY EMPNOThe SAL and COMM columns have been formatted using:
    999G999G999G999G990D00For the Row Template, the Row Template 1 setting contains an empty space (you have to have something in there otherwise Apex adds back in a default row containing five cells!). The condition for this is:
    TO_NUMBER('#COMM#','999G999G999G999G990D00') < 100The template will see the data as a string, so we use the same number format to convert that string back into a number and compare this to 100. If we didn't use formatting on the numbers and we are sure that every row contained a number (hence the use of NVL()), then you could use:
    #COMM# < 100Row Template 2 contains the format for the rows that need displaying:
    &lt;tr&gt;
    &lt;td class="t18Data"&gt;#1#&lt;/td&gt;
    &lt;td class="t18Data"&gt;#2#&lt;/td&gt;
    &lt;td class="t18Data" style="text-align:right"&gt;#3#&lt;/td&gt;
    &lt;td class="t18Data" style="text-align:right"&gt;#4#&lt;/td&gt;
    &lt;/tr&gt;and is unconditional.
    The only other settings on the Row Template are the Before Rows:
    &lt;table class="t18Standard" style="border-collapse:collapse; border:1px solid black;"&gt;
    &lt;tr&gt;
      &lt;th class="t18ReportHeader"&gt;Empno&lt;/th&gt;
      &lt;th class="t18ReportHeader"&gt;Ename&lt;/th&gt;
      &lt;th class="t18ReportHeader" style="text-align:right"&gt;Sal&lt;/th&gt;
      &lt;th class="t18ReportHeader" style="text-align:right"&gt;Comm&lt;/th&gt;
    &lt;/tr&gt;and After Rows:
    &lt;/table&gt;Of course, you will note that the record counters at the bottom still show the number of records in both reports - as the SQL still outputs the same data, this doesn't change.
    Andy

  • Rotate Report - Rows into Columns

    Hope someone can help me with a SQL script that can turn a report 90 degrees so the row data becomes columns
    eg
    Select Month, Cost, Discount
    from Customer_Table
    Month Cost Discount
    Jun 08 $34 $6
    Jul 08 $47 $3
    Aug 08 $87 $8
    Should look like this
    Month Jun 08 Jul 08 Aug 08
    Cost $34 $47 $87
    Discount $6 $3 $8
    Frank

    Rotate Report --> cool title
    SQL> with t
      2  as
      3  (
      4     select 'Jun 08' month, 34 cost, 6 discount from dual
      5     union all
      6     select 'Jul 08', 47, 3 from dual
      7     union all
      8     select 'Aug 08', 87, 8 from dual
      9  )
    10  -- end of test data
    11  select descr, max(jun_08) jun_08, max(jul_08) jul_08, max(aug_08) aug_08
    12    from (
    13     select 'cost' descr,
    14             decode(month, 'Jun 08', cost) Jun_08,
    15             decode(month, 'Jul 08', cost) Jul_08,
    16             decode(month, 'Aug 08', cost) Aug_08
    17       from t
    18     union all
    19     select 'discount' descr,
    20             decode(month, 'Jun 08', discount) Jun_08,
    21             decode(month, 'Jul 08', discount) Jul_08,
    22             decode(month, 'Aug 08', discount) Aug_08
    23       from t)
    24  group by descr
    25  /
    DESCR        JUN_08     JUL_08     AUG_08
    cost             34         47         87
    discount          6          3          8
    SQL>

  • Custom report row template

    Few questions when using a custom report row template. Followup to the discussion Report Row Template: Column condition
    1. The row template allows full control how the entire row is rendered. I can see this being used when the report query returns a single row and we need to format it in a very specific way. But when the query returns multiple rows, how is the specified Row Template used? i.e the first row is "consumed" and rendered as per the template. If the same process is repeated for subsequent rows, how can we control whether successive rows are rendered across the page (left to right) or down the page (top to bottom)?
    2. When a custom row template is used to render a tabular form, the hidden columns (marked Edit=Y, Show=N on Report Attributes) are present in the markup even when they are not specified in the row template! i.e. the MRU process works. Of course, this is a good thing but I was curious to know what exactly controls this, what part of the report template controls where the hidden form elements are placed?
    3. Any number/date formatting specified declaratively on the Column Attributes page appears to be taken into account when column values are substituted in the template using #COL# notation. But all the other Column Attributes are ignored (alignment, sum, show, link, etc). Is there a way to use the Link attribute to declaratively specify the link so the value of the column #COL# as seen by the report template includes the A tag?
    Thanks

    Comments? Thanks

  • APEX 4.1, SQL Query(Updateable report), Validation issue.

    Hi,
    I am using APEX 4.1.
    I have SQL Query(Updateable report), we have created validation for the columns in this report.
    The validations are working properly only for the first row of the report on submitting, the remaining rows are not getting validated.
    If we check mark the rows it will get validated, but we want the validation to happen without checkmarking, on all the rows on clicking submit button.
    Can someone help me to fix this issue?
    Thanks in advance.
    Thanks & regards,
    Ravi.

    Hi Ravi,
    Welcome to Oracle Forums!
    Please acquaint yourself with the FAQ and forum etiquette if you haven't already done so.
    Always state
    <ul>
    <li>Apex Version</li>
    <li>DB Version and edition</li>
    <li>Web server used.I.e. EPG, OHS, ApexListner Standalone or with J2EE container</li>
    <li>When asking about forms always state tabular form if it is a tabular form</li>
    <li>When asking about reports always state Classic / IR</li>
    <li>Always post code snippets enclosed in a pair of &#123;code&#125; tags as explained in FAQ</li>
    </ul>
    I am using APEX 4.1.I have SQL Query(Updateable report), we have created validation for the columns in this report.
    The validations are working properly only for the first row of the report on submitting, the remaining rows are not getting validated.
    If we check mark the rows it will get validated, but we want the validation to happen without checkmarking, on all the rows on clicking submit button.
    Can someone help me to fix this issue?
    >
    Post your validation code with some explanations of what the g_fnn are.
    Cheers,

  • Updateable Report with pagination(APEX 3.2)

    Hi,
    I am working on APEX 3.2 and I have a question on Sql Query(Updateable Report) and pagination. I have an updateable report which we have set to show 100 rows. When the user has more than 100 rows enters the data and clicks next the data disappears. How can i save first 100 records once i click next ?. Any suggestions will be appreciated.
    Thanks,
    Greenhorn

    Here is what I did to get it to work.
    1. Copy xmlparserv2.jar from my ORACLE_HOME/oc4j/lib directory to my glassfish domains/domain1/applications/fop/WEB-INF/lib directory.
    2. Added the following two lines to the glassfish domains/domain1/fop/apex_fop.jsp before the driver.run() line
    out.clear();
    out = pageContext.pushBody();The second part of solution I found on another forum page.

  • Possible APEX BUG - Export to CSV from SQL Query (updateable report)

    I'm getting a the following sql error - just by enabling the Export to a CSV file from a SQL Query (updateable report) and selecting the export link - anyone have an idea what I could as a workaround?
    ORA-06550: line 1, column 45: PLS-00103: Encountered the symbol "1" when expecting one of the following: begin case declare exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe
    Error ERR-1000 Unable to determine LOV from "declare function x return varchar2 is begin 1 Not Checked;1 Not Checked,2 Review Passed;2 Review Passed,3 Reviewed w/ Issues;3 Reviewed w/ Issues,4 Not Applicable;4 Not Applicable return null; end; begin wwv_flow_utilities.g_query := x; end;".
    OK
    report error:
    ORA-20001: Error fetching column value: ORA-20001: Query must begin with SELECT or WITH

    Frank,
    I received your email with this same question so I'll just respond here. Our internet-facing hosted site apex.oracle.com allows you to request a workspace and, after the request is approved and the workspace provisioned, to develop applications there. If you already have an application that you need some help with, you can import/install it into your workspace on apex.oracle.com. This makes it easy to demonstrate problems to others who might be able to help.
    Sometimes it will be necessary for you to create developer accounts in your workspace in order for others to use your Application Builder. You can post usernames/passwords here or you can convey those privately to those offering their services. In either case, you'd want to remove or disable those accounts as soon as the problem is resolved. For problems that I ask to see demonstrated on apex.oracle.com, it is not necessary for you to create an account for me. I can do that as our group runs the site. I just need to know your workspace name and application ID.
    Scott

  • Store all values from updateable report on clientside for later use

    apex 4.2 , 11xe
    hello,
    it is possible to store all values from an updateable report to something like an cache BEFORE sent it to DB ?
    Background:
    i have an modified updateable report ,look the jpg
    http://www10.pic-upload.de/25.06.13/3zq5wr23awwg.jpg
    updateable report have ever 29 rows. as example i make time entrys for an employee. very often the next employee have the same timeentrys. now iam thinking about to make the entrys for the first employee, then click a button to store the values from ALL cells into somting like a javascript cache or jquery.data() . when i pull another employee from lov i have a fresh empty report( with 29 rows) and now  i want to call the data back from cache to the cells (with another button). the cache shouldnt  be destroyed when refresh the page,cause there is a page refresh when pull another employee from lov.
    is it possible to store all cell values(empty or not) from report all in one?
    what is the best and simplest way ?
    good would be an example for the code or method i should use.
    or is somthing inside apex i could use for that. i looked in apex.api  but didnt found something.
    my report based on a view with iof trigger and apex collection.
    greets/christian

    thx for answer jarola and sorry for my bad english.
    apex collection will not work.
    let me explain why not and i think something like javascript/jquery is better for that.
    there is a table MAZEIT and i have this updateable report. when i select an employee from lov, a collection will be created.  the collection look in MAZEIT ,perhaps there are real timeentrys, in this case the collection will be modified and give me 29 rows,some are filled. or there are no real entrys and the collection give me 29 empty rows.
    here my report sql:
    select
    "HID_SEQ_ID",
    "DATUM",
    "WOTAG",
    "WOTAGNR",
    "KNDABT_ID",
    "ZEIT",
    "BEGINN",
    "ENDE",
    "PAUSE",
    "ZUSCHLAG",
    "BEM",
    "MELDUNG"
    from "#OWNER#"."V_COLL_MAZEIT"
    here the v_coll_mazeit (view) sql
    CREATE OR REPLACE VIEW V_COLL_MAZEIT AS
    SELECT seq_id HID_SEQ_ID        -- APEX_COLLECTIONS.SEQ_ID
            ,C001   HID_MAZEIT_ID     -- MAZEIT.ID
            ,C002   DATUM             -- Datum DD.MM.YYYY
            ,C003   WOTAG             -- Wochentag Mo/Di/...
            ,C004   WOTAGNR           -- Wochentag 1/2/...
            ,C005   KNDABT_ID         -- Abteilung
            ,C006   ZEIT              -- Zeit in HH24:MI
            ,C007   BEGINN            -- Beginn in HH24:MI
            ,C008   ENDE              -- Ende in HH24:MI
            ,C009   PAUSE             -- Pause in HH24:MI
            ,C010   ZUSCHLAG
            ,C011   BEM
            ,C040   HID_MANDANT_ID
            ,C041   HID_KND_ID
            ,C042   HID_MA_ID
            ,C043   HID_KW
            ,C048   HID_HASH4CHECK    -- Hash für Check auf Änderungen MAZEIT
            ,C049   HID_SORTIER       -- für ORDER BY hier Arbeitsbeginn
            ,C050   MELDUNG           -- für FehlerMeldungen
        FROM APEX_COLLECTIONS
       WHERE COLLECTION_NAME='V_COLL_MAZEIT'
       ORDER BY HID_SORTIER;
    here the trigger (iof) from v_coll_mazeit
    CREATE OR REPLACE TRIGGER "V_COLL_MAZEIT_IOF_U_TRG"
      INSTEAD OF UPDATE ON V_COLL_MAZEIT
      FOR EACH ROW
    BEGIN
      --RAISE_APPLICATION_ERROR(-20004,'NIX DA');
      CM_MEAT.V_COLL_MAZEIT_IOF_U_TRG(
             :NEW.HID_SEQ_ID
            ,:NEW.HID_MAZEIT_ID
            ,:NEW.DATUM
            ,:NEW.WOTAG
            ,:NEW.WOTAGNR
            ,:NEW.KNDABT_ID
            ,:NEW.ZEIT
            ,:NEW.BEGINN
            ,:NEW.ENDE
            ,:NEW.PAUSE
            ,:NEW.ZUSCHLAG
            ,:NEW.BEM
            ,:NEW.HID_HASH4CHECK
            ,:NEW.HID_SORTIER
            ,:NEW.MELDUNG
    END V_COLL_MAZEIT_IOF_U_TRG;
    and here a package procedure when i select an employee:
      PROCEDURE V_COLL_MAZEIT_PROC(
                    iAction    IN PLS_INTEGER,
                    iDatum     IN DATE DEFAULT SYSDATE,
                    iMandantId IN MAZEIT.MANDANT_ID%TYPE,
                    iKndId     IN MAZEIT.KND_ID%TYPE,
                    iMaId      IN MAZEIT.MA_ID%TYPE,
                    oCollName OUT VARCHAR2)
      IS
        TK_FUNC_NAME  CONSTANT USER_OBJECTS.OBJECT_NAME%TYPE := 'V_COLL_MAZEIT_PROC';
        TK_COLL_NAME  CONSTANT APEX_COLLECTIONS.COLLECTION_NAME%TYPE := 'V_COLL_MAZEIT';
        TK_MD5        CONSTANT VARCHAR2(2) := 'NO';
        TYPE t_Tage_TAB IS TABLE OF DATE INDEX BY BINARY_INTEGER;
        TYPE t_TageVC_TAB IS TABLE OF VARCHAR2(8) INDEX BY BINARY_INTEGER;
        TYPE t_TageI_TAB IS TABLE OF PLS_INTEGER INDEX BY BINARY_INTEGER;
        tTage   t_Tage_TAB;
        tTageVC t_TageVC_TAB;
        tTageI  t_TageI_TAB;
        vDatum  DATE;
        vDatumCh  VARCHAR2(8);
        vKW4Db  MAZEIT.KW%TYPE;
        vI      PLS_INTEGER := 0;
        vAnz    PLS_INTEGER := 0;
      BEGIN
        FOR rec IN (SELECT * FROM NLS_SESSION_PARAMETERS)
        LOOP
          InsProto(rec.PARAMETER||'=['||rec.VALUE||']',
                    QK_PACK_NAME,TK_FUNC_NAME);
        END LOOP;
        CMT.InsProto('iAction='||iAction||', iDatum='||iDatum||', iMandantId='||iMandantId||', iKndId='||iKndId||', iMaId'||iMaId,
                  QK_PACK_NAME,TK_FUNC_NAME);
        oCollName := TK_COLL_NAME;
        IF iAction=0 THEN -- löschen
          IF APEX_COLLECTION.COLLECTION_EXISTS(p_collection_name=>TK_COLL_NAME) THEN
            APEX_COLLECTION.TRUNCATE_COLLECTION(TK_COLL_NAME);
            APEX_COLLECTION.DELETE_COLLECTION(TK_COLL_NAME);
          END IF;
        || Säubern und anlegen
        ELSIF iAction=1 THEN
          IF APEX_COLLECTION.COLLECTION_EXISTS(p_collection_name=>TK_COLL_NAME) THEN
            APEX_COLLECTION.TRUNCATE_COLLECTION(p_collection_name=>TK_COLL_NAME);
          ELSE
            APEX_COLLECTION.CREATE_COLLECTION(p_collection_name=>TK_COLL_NAME);
          END IF;
          vDatum := NVL(iDATUM,SYSDATE);
          vDatum := TO_DATE(TO_CHAR(vDatum,'YYYYMMDD')||'000000','YYYYMMDDHH24MISS');
          vKW4Db := GetKW4Db(vDatum);
          tTage(1) := CMT.GetMonday(vDATUM,0);
          SELECT tTage(1) + 1DAY,tTage(1) + 2DAY,tTage(1) + 3DAY,tTage(1) + 4DAY,tTage(1) + 5DAY,tTage(1) + 6DAY
            INTO tTage(2),tTage(3),tTage(4),tTage(5),tTage(6),tTage(7)
            FROM DUAL;
          FOR i IN 1..7 LOOP tTageI(i) := 0; tTageVC(i) := TO_CHAR(tTage(i),'YYYYMMDD'); END LOOP;
          -- erste Zeile enthält Default-Werte
          APEX_COLLECTION.add_member( p_COLLECTION_name=> TK_COLL_NAME,p_generate_md5=>TK_MD5
            ,P_C001 => 0                                                -- MAZEIT.ID
            ,P_C002 => '<b>Vorgabe</b>'                                           -- Datum DD.MM.YYYY
            ,P_C003 => ' '                                              -- Wochentag Mo/Di/...
            ,P_C004 => ' '                                              -- Wochentag 1/2/...
            ,P_C005 => 0                                                -- MAZEIT.KNDABT_ID
            ,P_C006 => NULL                                             -- Zeit in HH24:MI
            ,P_C007 => NULL                                             -- Beginn in HH24:MI
            ,P_C008 => NULL                                             -- Ende in HH24:MI
            ,P_C009 => NULL                                             -- Pause in HH24:MI
            ,P_C010 => NULL                                             -- Zuschlag
            ,P_C011 => NULL                                             -- Bem
            ,P_C040 => iMandantId
            ,P_C041 => iKndId
            ,P_C042 => iMaId
            ,P_C043 => vKW4Db
            ,P_C048 => '-1'                                             -- Hash für Check auf Änderungen MAZEIT
            ,P_C049 => ' '                                             -- für ORDER BY hier Arbeitsbeginn
            ,P_C050 => NULL
          FOR rec IN (SELECT z.*,
                             TO_CHAR(DBMS_UTILITY.get_hash_value(
                                        z.id||'|'||
                                        z.mandant_id||'|'||
                                        z.majob_id||'|'||
                                        z.ma_id||'|'||
                                        z.knd_id||'|'||
                                        z.kndabt_id||'|'||
                                        z.kw||'|'||
                                        z.arb_beg||'|'||
                                        z.arb_end||'|'||
                                        z.zeit||'|'||
                                        z.pause||'|'||
                                        z.zuschlag||'|'||
                                        z.stk_anz||'|'||
                                        z.stk_kg||'|'||
                                        z.stk_gemuur||'|'||
                                        z.stk_bezahlt||'|'||
                                        z.bem||'|'||
                                        z.ART4RECH
                                        ,1,POWER(2,30))) AS HID_HASH4CHECK
                        FROM MAZEIT z
                       WHERE z.MANDANT_ID=iMandantId AND
                             z.KND_ID=iKndId AND
                             z.MA_ID=iMaId AND
                             z.KW = GetKW4Db(tTage(1)) AND
                             z.ART4RECH  IN (CMT.GetTCVNum('MAZEIT_ART4RECH_STD'),CMT.GetTCVNum('MAZEIT_ART4RECH_STK'),CMT.GetTCVNum('MAZEIT_ART4RECH_KG'))
                       ORDER BY z.ARB_BEG)
          LOOP
            IF rec.ZUSCHLAG=0 THEN
              rec.ZUSCHLAG := NULL;
            END IF;
            vI := 0;
            vDatumCh := TO_CHAR(rec.ARB_BEG,'YYYYMMDD');
            FOR i IN 1..7 LOOP
              IF tTageVC(i)=vDatumCh THEN
                tTageI(i) := tTageI(i) + 1;
                vI := i;
                EXIT;
              END IF;
            END LOOP;
            -- Stücklohn kommt an den Anfang der Bemerkung gekennzeichnet mit QK_COLL_MAZEIT_STK_KZ ursprüngliche Bemekuung nach dem :
            rec.BEM := RTRIM(rec.BEM);
            IF rec.ART4RECH = CMT.GetTCVNum('MAZEIT_ART4RECH_STK') THEN
              DECLARE
                vBem  MAZEIT.BEM%TYPE := QK_COLL_MAZEIT_STK_KZ;
              BEGIN
                IF rec.STK_BEZAHLT > 0. THEN
                  vBem := QK_COLL_MAZEIT_STK_KZ||TO_CHAR(rec.stk_bezahlt,'FM9999D00');
                ELSIF rec.STK_ANZ > 0 THEN
                  vBem := QK_COLL_MAZEIT_STA_KZ||TO_CHAR(rec.stk_anz,'FM9999');
                END IF;
                IF rec.BEM IS NULL THEN
                  rec.BEM := vBem;
                ELSE
                  rec.BEM := SUBSTR(vBem||':'||rec.BEM,1,CMT.GetColLen('MAZEIT','BEM'));
                END IF;
              END;
            ELSIF rec.ART4RECH = CMT.GetTCVNum('MAZEIT_ART4RECH_KG') THEN
              DECLARE
                vBem  MAZEIT.BEM%TYPE := QK_COLL_MAZEIT_KG_KZ;
              BEGIN
                IF rec.STK_KG > 0. THEN
                  vBem := QK_COLL_MAZEIT_KG_KZ||TO_CHAR(rec.stk_kg,'FM999999D000');
                END IF;
                IF rec.BEM IS NULL THEN
                  rec.BEM := vBem;
                ELSE
                  rec.BEM := SUBSTR(vBem||':'||rec.BEM,1,CMT.GetColLen('MAZEIT','BEM'));
                END IF;
              END;
            END IF;
            IF vI>0 THEN
              IF tTageI(vI)=1 THEN
                APEX_COLLECTION.add_member( p_COLLECTION_name=> TK_COLL_NAME,p_generate_md5=>TK_MD5
                  ,P_C001 => rec.id                                           -- MAZEIT.ID
                  ,P_C002 => TO_CHAR(rec.ARB_BEG,'DD.MM.YYYY')                -- Datum DD.MM.YYYY
                  ,P_C003 => CMT.WoTag(rec.ARB_BEG)                           -- Wochentag Mo/Di/...
                  ,P_C004 => CMT.WoTagNr(rec.ARB_BEG)                         -- Wochentag 1/2/...
                  ,P_C005 => rec.KNDABT_ID                                    -- MAZEIT.KNDABT_ID
                  ,P_C006 => CMT.Minuten2InduZeit(rec.ZEIT)                   -- Zeit als InduZeit in HH24,MI
                  ,P_C007 => TO_CHAR(rec.ARB_BEG,'HH24:MI')                   -- Beginn in HH24:MI
                  ,P_C008 => TO_CHAR(rec.ARB_END,'HH24:MI')                   -- Ende in HH24:MI
                  ,P_C009 => CMT.Minuten2HHMI(rec.PAUSE,TRUE)                     -- Pause in HH24:MI
                  ,P_C010 => rec.ZUSCHLAG
                  ,P_C011 => rec.BEM
                  ,P_C040 => iMandantId
                  ,P_C041 => iKndId
                  ,P_C042 => iMaId
                  ,P_C043 => vKW4Db
                  ,P_C048 => rec.HID_HASH4CHECK                               -- Hash für Check auf Änderungen MAZEIT
                  ,P_C049 => TO_CHAR(rec.ARB_BEG,'YYYYMMDDHH24MI')            -- für ORDER BY hier Arbeitsbeginn
                  ,P_C050 => NULL                                             -- für FehlerMeldungen
              ELSE
                APEX_COLLECTION.add_member( p_COLLECTION_name=> TK_COLL_NAME,p_generate_md5=>TK_MD5
                  ,P_C001 => rec.id                                           -- MAZEIT.ID
                  ,P_C002 => NULL                                             -- Datum DD.MM.YYYY
                  ,P_C003 => NULL                                             -- Wochentag Mo/Di/...
                  ,P_C004 => NULL                                             -- Wochentag 1/2/...
                  ,P_C005 => rec.KNDABT_ID                                    -- MAZEIT.KNDABT_ID
                  ,P_C006 => CMT.Minuten2InduZeit(rec.ZEIT)                       -- Zeit als InduZeit in HH24,MI
                  ,P_C007 => TO_CHAR(rec.ARB_BEG,'HH24:MI')                   -- Beginn in HH24:MI
                  ,P_C008 => TO_CHAR(rec.ARB_END,'HH24:MI')                   -- Ende in HH24:MI
                  ,P_C009 => CMT.Minuten2HHMI(rec.PAUSE,TRUE)                     -- Pause in HH24:MI
                  ,P_C010 => rec.ZUSCHLAG
                  ,P_C011 => rec.BEM
                  ,P_C040 => iMandantId
                  ,P_C041 => iKndId
                  ,P_C042 => iMaId
                  ,P_C043 => vKW4Db
                  ,P_C048 => rec.HID_HASH4CHECK                               -- Hash für Check auf Änderungen MAZEIT
                  ,P_C049 => TO_CHAR(rec.ARB_BEG,'YYYYMMDDHH24MI')            -- für ORDER BY hier Arbeitsbeginn
                  ,P_C050 => NULL                                             -- für FehlerMeldungen
              END IF;
              vAnz := vAnz + 1;
            END IF;
          END LOOP;
          FOR i IN 1..7 LOOP
            IF tTageI(i)<4 THEN
              FOR j IN tTageI(i)+1..4 LOOP
                IF j=1 THEN
                  APEX_COLLECTION.add_member( p_COLLECTION_name=> TK_COLL_NAME,p_generate_md5=>TK_MD5
                    ,P_C001 => -1                                               -- MAZEIT.ID
                    ,P_C002 => TO_CHAR(tTage(i),'DD.MM.YYYY')                   -- Datum DD.MM.YYYY
                    ,P_C003 => CMT.WoTag(tTage(i))                              -- Wochentag Mo/Di/...
                    ,P_C004 => CMT.WoTagNr(tTage(i))                            -- Wochentag 1/2/...
                    ,P_C005 => 0                                                -- MAZEIT.KNDABT_ID
                    --,P_C006 => Minuten2InduZeit(0)                            -- Zeit als InduZeit in HH24,MI
                    ,P_C006 => NULL                                             -- Zeit als InduZeit in HH24,MI
                    --,P_C007 => '06:30'                                        -- Beginn in HH24:MI
                    ,P_C007 => NULL                                             -- Beginn in HH24:MI
                    ,P_C008 => NULL                                             -- Ende in HH24:MI
                    --,P_C009 => Minuten2HHMI(0)                                -- Pause in HH24:MI
                    ,P_C009 => NULL                                             -- Pause in HH24:MI
                    ,P_C010 => NULL                                             -- Zuschlag
                    ,P_C011 => NULL                                             -- Bem
                    ,P_C040 => iMandantId
                    ,P_C041 => iKndId
                    ,P_C042 => iMaId
                    ,P_C043 => vKW4Db
                     ,P_C048 => '-1'                                             -- Hash für Check auf Änderungen MAZEIT
                    ,P_C049 => TO_CHAR(tTage(i),'YYYYMMDD')||'99'||TO_CHAR(j,'FM09')  -- für ORDER BY hier Arbeitsbeginn
                    ,P_C050 => NULL
                ELSE -- auffüllen
                   APEX_COLLECTION.add_member( p_COLLECTION_name=> TK_COLL_NAME,p_generate_md5=>TK_MD5
                    ,P_C001 => -1                                               -- MAZEIT.ID
                    ,P_C002 => NULL                                             -- Datum DD.MM.YYYY
                    ,P_C003 => NULL                                             -- Wochentag Mo/Di/...
                    ,P_C004 => NULL                                             -- Wochentag 1/2/...
                    ,P_C005 => 0                                                -- MAZEIT.KNDABT_ID
                    --,P_C006 => Minuten2HHMI(0)                                -- Zeit in HH24:MI
                    ,P_C006 => NULL                                             -- Zeit in HH24:MI
                    --,P_C007 => '06:30'                                        -- Beginn in HH24:MI
                    ,P_C007 => NULL                                             -- Beginn in HH24:MI
                    ,P_C008 => NULL                                             -- Ende in HH24:MI
                    --,P_C009 => Minuten2InduZeit(0)                            -- Pause als InduZeit in HH24,MI
                    ,P_C009 => NULL                                             -- Pause als InduZeit in HH24,MI
                    ,P_C010 => NULL                                             -- Zuschlag
                    ,P_C011 => NULL                                             -- Bem
                    ,P_C040 => iMandantId
                    ,P_C041 => iKndId
                    ,P_C042 => iMaId
                    ,P_C043 => vKW4Db
                    ,P_C048 => '-1'                                             -- Hash für Check auf Änderungen MAZEIT
                    ,P_C049 => TO_CHAR(tTage(i),'YYYYMMDD')||'99'||TO_CHAR(j,'FM09')  -- für ORDER BY hier Arbeitsbeginn
                    ,P_C050 => NULL
                END IF;
              END LOOP;
            END IF;
          END LOOP;
          vI := 0;
          FOR rec IN (SELECT * FROM V_COLL_MAZEIT) LOOP
            vI := vI + 1;
            CMT.InsProto('i='||LPAD(TO_CHAR(vI),3,' ')||':'||
                    rec.hid_seq_id||'|'||
                    rec.hid_mazeit_id||'|'||
                    rec.datum||'|'||
                    rec.wotag||'|'||
                    rec.wotagnr||'|'||
                    rec.zeit||'|'||
                    rec.beginn||'|'||
                    rec.ende||'|'||
                    rec.pause||'|'||
                    rec.zuschlag||'|'||
                    rec.bem||'|'||
                    rec.hid_hash4check||'|'||
                    rec.hid_sortier||'|'||
                    rec.meldung
                  ,QK_PACK_NAME,TK_FUNC_NAME);
          END LOOP;
       ELSE
         raise_Application_ERROR(-20100,'kann ich doch nicht Action='||TO_CHAR(iAction));
        END IF;
      END V_COLL_MAZEIT_PROC;
    and here the procedure (look for real entrys in table)
    PROCEDURE V_COLL_MAZEIT_IOF_U_TRG(
             iHID_SEQ_ID      apex_collections.seq_id%TYPE
            ,iHID_MAZEIT_ID   apex_collections.C001%TYPE
            ,iDATUM           apex_collections.C002%TYPE
            ,iWOTAG           apex_collections.C003%TYPE
            ,iWOTAGNR         apex_collections.C004%TYPE
            ,iKNDABT_ID       apex_collections.C005%TYPE
            ,iZEIT            apex_collections.C006%TYPE
            ,iBEGINN          apex_collections.C007%TYPE
            ,iENDE            apex_collections.C008%TYPE
            ,iPAUSE           apex_collections.C009%TYPE
            ,iZUSCHLAG        apex_collections.C010%TYPE
            ,iBEM             apex_collections.C011%TYPE
            ,iHID_HASH4CHECK  apex_collections.C048%TYPE
            ,iHID_SORTIER     apex_collections.C049%TYPE
            ,iMELDUNG         apex_collections.C050%TYPE
      IS
      PRAGMA AUTONOMOUS_TRANSACTION;
        TK_FUNC_NAME  CONSTANT USER_OBJECTS.OBJECT_NAME%TYPE := 'V_COLL_MAZEIT_IOF_U_TRG';
        TK_COLL_NAME  CONSTANT APEX_COLLECTIONS.COLLECTION_NAME%TYPE := 'V_COLL_MAZEIT';
        vRcString VARCHAR2(2000) := NULL;
        rCollMaZeit0  V_COLL_MAZEIT%ROWTYPE;
        rCollMaZeit   V_COLL_MAZEIT%ROWTYPE;
        rMaZeit       MAZEIT%ROWTYPE;
        vHash4Check   PLS_INTEGER;
        vURow         ROWID;
      BEGIN
        CMT.InsProto(
                ihid_seq_id||'|'||
                ihid_mazeit_id||'|'||
                idatum||'|'||
                iwotag||'|'||
                iwotagnr||'|'||
                iKNDABT_ID||'|'||
                izeit||'|'||
                ibeginn||'|'||
                iende||'|'||
                ipause||'|'||
                izuschlag||'|'||
                ibem||'|'||
                ihid_hash4check||'|'||
                ihid_sortier||'|'||
                imeldung
              ,QK_PACK_NAME,TK_FUNC_NAME);
        -- VIEW-ZeitZeile lesen
        SELECT t.* INTO rCollMaZeit
          FROM V_COLL_MAZEIT t
         WHERE t.HID_SEQ_ID = iHID_SEQ_ID;
        IF iHID_MAZEIT_ID!=rCollMaZeit.HID_MAZEIT_ID OR
            iHID_HASH4CHECK!=rCollMaZeit.HID_HASH4CHECK THEN
          vRcString := 'Daten seit Anzeige verändert';
          GOTO MARK_TRANSEND;
        END IF;
        -- VIEW-ZeitDefaultZeile setzen
        IF rCollMaZeit.HID_MAZEIT_ID=0 THEN
            --,P_C005 => 0                                                -- MAZEIT.KNDABT_ID
            --,P_C006 => NULL                                             -- Zeit in HH24,MI
            --,P_C007 => NULL                                             -- Beginn in HH24:MI
            --,P_C008 => NULL                                             -- Ende in HH24:MI
            --,P_C009 => NULL                                             -- Pause in HH24,MI
            --,P_C010 => NULL                                             -- Zuschlag
            --,P_C011 => NULL                                             -- Bem
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>5, p_attr_value=>iKNDABT_ID);
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>6, p_attr_value=>iZEIT);
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>7, p_attr_value=>iBEGINN);
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>8, p_attr_value=>iENDE);
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>9, p_attr_value=>iPAUSE);
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>10, p_attr_value=>iZUSCHLAG);
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>11, p_attr_value=>iBEM);
          IF iBEM LIKE '#%' THEN  -- Verteilen
            -- VIEW-ZeitDefaultZeile lesen
            SELECT t.* INTO rCollMaZeit0
              FROM V_COLL_MAZEIT t
             WHERE t.HID_MAZEIT_ID = 0;
             rCollMaZeit0.BEM := SUBSTR(iBEM,2);
            DECLARE
              vAnz          PLS_INTEGER := 0;
              nVert         MAZEIT.ZEIT%TYPE;
              nZeitMinuten  MAZEIT.ZEIT%TYPE;
              nDiffMinuten  MAZEIT.ZEIT%TYPE;
            BEGIN
              SELECT NVL(COUNT(*),0) INTO vAnz
                FROM V_COLL_MAZEIT t
               WHERE t.HID_MAZEIT_ID = -1 AND
                     t.DATUM IS NOT NULL AND
                     t.WOTAGNR IN ('1','2','3','4','5'); -- nur Mo-Fr
              IF vAnz<=0 THEN
                vRcString := 'Verteilen nicht möglich keine freien Tage gefunden';
              ELSIF TRIM(iZEIT) IS NULL OR TRIM(iZEIT) IN ('00,00','0,00','0',',00',',0','0,','0,0') THEN
                vRcString := 'Verteilen von Null Minuten nicht möglich';
              ELSE
                nDiffMinuten := 0;
                nZeitMinuten := CMT.InduZeit2MinutenNum(TRIM(iZEIT));
                IF nZeitMinuten>(vAnz*1440) THEN
                  vRcString := 'Zu verteilende Zeit zu groß';
                ELSIF vAnz>1 THEN
                  nVert := FLOOR(nZeitMinuten/vAnz);
                  nDiffMinuten := nZeitMinuten - (nVert*vAnz);
                  nZeitMinuten := nVert;
                END IF;
                IF vRcString IS NULL THEN
                  FOR rec IN (SELECT t.* INTO rCollMaZeit
                                FROM V_COLL_MAZEIT t
                               WHERE t.HID_MAZEIT_ID = -1 AND
                                     t.DATUM IS NOT NULL AND
                                     t.WOTAGNR IN ('1','2','3','4','5')) -- nur Mo-Fr)
                  LOOP
                    rCollMaZeit := rec;
                    vRcString := qV_COLL_MAZEIT_Insert(iKNDABT_ID, iZEIT, nZeitMinuten+nDiffMinuten, iBEGINN, iENDE, iPAUSE, iZUSCHLAG, SUBSTR(iBEM,2),
                                                       rCollMaZeit0, rCollMaZeit, rMaZeit);
                    IF vRcString IS NOT NULL THEN
                      EXIT;
                    END IF;
                    nDiffMinuten := 0;
                  END LOOP;
                END IF;
              END IF;
            END;
          END IF;
        -- MAZEIT-Vorhandener Eintrag
        ELSIF rCollMaZeit.HID_MAZEIT_ID>0 THEN
          SELECT z.ROWID, TO_CHAR(DBMS_UTILITY.get_hash_value(
                                      z.id||'|'||
                                      z.mandant_id||'|'||
                                      z.majob_id||'|'||
                                      z.ma_id||'|'||
                                      z.knd_id||'|'||
                                      z.kndabt_id||'|'||
                                      z.kw||'|'||
                                      z.arb_beg||'|'||
                                      z.arb_end||'|'||
                                      z.zeit||'|'||
                                      z.pause||'|'||
                                      z.zuschlag||'|'||
                                      z.stk_anz||'|'||
                                      z.stk_kg||'|'||
                                      z.stk_gemuur||'|'||
                                      z.stk_bezahlt||'|'||
                                      z.bem||'|'||
                                      z.ART4RECH
                                      ,1,POWER(2,30))) AS HID_HASH4CHECK
            INTO vURow, vHash4Check
            FROM MAZEIT z
           WHERE z.ID=rCollMaZeit.HID_MAZEIT_ID
             FOR UPDATE NOWAIT;
          IF vHash4Check!=rCollMaZeit.HID_HASH4CHECK THEN
            vRcString := 'Daten seit Anzeige verändert';
            GOTO MARK_TRANSEND;
          END IF;
          SELECT z.* INTO rMaZeit
            FROM MAZEIT z
           WHERE ROWID=vURow;
          rMaZeit.KNDABT_ID := TO_NUMBER(TRIM(iKNDABT_ID));
          IF TRIM(iBEGINN) IS NULL THEN
             rMaZeit.ARB_BEG := NULL;
          ELSE
             rMaZeit.ARB_BEG := TO_DATE(TO_CHAR(rMaZeit.ARB_BEG,'YYYYMMDD')||TRIM(SUBSTR(iBEGINN,1,5)),'YYYYMMDDHH24:MI');
          END IF;
          IF TRIM(iENDE) IS NULL THEN
             rMaZeit.ARB_END := NULL;
          ELSE
             rMaZeit.ARB_END := TO_DATE(TO_CHAR(rMaZeit.ARB_BEG,'YYYYMMDD')||TRIM(SUBSTR(iENDE,1,5)),'YYYYMMDDHH24:MI');
          END IF;
          IF TRIM(iZEIT) IS NULL THEN
             rMaZeit.ZEIT := NULL;
          ELSE
             rMaZeit.ZEIT := CMT.InduZeit2MinutenNum(TRIM(iZEIT));
          END IF;
          IF TRIM(iPAUSE) IS NULL THEN
             rMaZeit.PAUSE := NULL;
          ELSE
             rMaZeit.PAUSE := CMT.HHMI2Minuten(TRIM(iPAUSE));
          END IF;
          IF iWOTAGNR IN (6,7) AND
             rMaZeit.PAUSE IS NOT NULL AND rMaZeit.PAUSE<>0 THEN
            vRcString := 'Eintrag Pause am Wochenende nicht erlaubt';
            GOTO MARK_TRANSEND;
          END IF;
          IF TRIM(iZUSCHLAG) IS NULL THEN
             rMaZeit.ZUSCHLAG := NULL;
          ELSE
             rMaZeit.ZUSCHLAG := TO_NUMBER(TRIM(iZUSCHLAG));
          END IF;
          IF RTRIM(iBEM) IS NULL THEN
             rMaZeit.BEM := NULL;
          ELSE
             rMaZeit.BEM := RTRIM(iBEM);
          END IF;
          IF (rMaZeit.KNDABT_ID IS NOT NULL AND rMaZeit.KNDABT_ID>0) OR
              rMaZeit.ARB_BEG IS NOT NULL OR rMaZeit.ARB_END IS NOT NULL OR
              (rMaZeit.ZEIT IS NOT NULL AND rMaZeit.ZEIT!=0) OR rMaZeit.PAUSE IS NOT NULL OR
              rMaZeit.ZUSCHLAG IS NOT NULL OR rMaZeit.BEM IS NOT NULL THEN
            DECLARE
              vBem  MAZEIT.BEM%TYPE := rMaZeit.BEM;
            BEGIN
              rMaZeit.ZUSCHLAG := NVL(rMaZeit.ZUSCHLAG,0.0);
              qV_COLL_MAZEIT_BEM_CHK(rMaZeit);  -- Bem prüfen wg. ART4RECH Verschlüsselung mittels QK_COLL_MAZEIT_STK_KZ
              UPDATE MAZEIT z
                 SET z.KNDABT_ID = rMaZeit.KNDABT_ID
                    ,z.ARB_BEG = rMaZeit.ARB_BEG
                    ,z.ARB_END = rMaZeit.ARB_END
                    ,z.ZEIT = rMaZeit.ZEIT
                    ,z.PAUSE = rMaZeit.PAUSE
                    ,z.ZUSCHLAG = rMaZeit.ZUSCHLAG
                    ,z.BEM = rMaZeit.BEM
                    ,z.STK_BEZAHLT = rMaZeit.STK_BEZAHLT
                    ,z.STK_ANZ = rMaZeit.STK_ANZ
                    ,z.STK_KG = rMaZeit.STK_KG
                    ,z.ART4RECH = rMaZeit.ART4RECH
               WHERE ROWID=vURow;
              IF SQL%ROWCOUNT=1 THEN
                NULL;
              ELSIF SQL%ROWCOUNT<1 THEN
                RAISE NO_DATA_FOUND;
              ELSE
                RAISE TOO_MANY_ROWS;
              END IF;
              rMaZeit.BEM := vBem;
            END;
          ELSE
            DELETE FROM MAZEIT z
             WHERE ROWID=vURow;
            IF SQL%ROWCOUNT=1 THEN
              NULL;
            ELSIF SQL%ROWCOUNT<1 THEN
              RAISE NO_DATA_FOUND;
            ELSE
              RAISE TOO_MANY_ROWS;
            END IF;
            APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                  ,p_attr_number=>1, p_attr_value=>-1);
            APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                  ,p_attr_number=>48, p_attr_value=>'-1');
          END IF;
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>5, p_attr_value=>rMaZeit.KNDABT_ID);
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>6, p_attr_value=>CMT.Minuten2InduZeit(rMaZeit.ZEIT));
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>7, p_attr_value=>TO_CHAR(rMaZeit.ARB_BEG,'HH24:MI'));
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>8, p_attr_value=>TO_CHAR(rMaZeit.ARB_END,'HH24:MI'));
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>9, p_attr_value=>CMT.Minuten2InduZeit(rMaZeit.PAUSE,TRUE) );
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>10, p_attr_value=>rMaZeit.ZUSCHLAG);
          APEX_COLLECTION.update_member_attribute( p_COLLECTION_name=> TK_COLL_NAME, p_seq=>rCollMaZeit.HID_SEQ_ID
                ,p_attr_number=>11, p_attr_value=>RTRIM(rMaZeit.BEM));
        -- MAZEIT neuer Eintrag
        ELSIF rCollMaZeit.HID_MAZEIT_ID=-1 THEN
          -- VIEW-ZeitDefaultZeile lesen
          SELECT t.* INTO rCollMaZeit0
            FROM V_COLL_MAZEIT t
           WHERE t.HID_MAZEIT_ID = 0;
          vRcString := qV_COLL_MAZEIT_Insert(iKNDABT_ID, iZEIT, NULL, iBEGINN, iENDE, iPAUSE, iZUSCHLAG, iBEM,
                                             rCollMaZeit0, rCollMaZeit, rMaZeit);
        ELSE
          vRcString := 'Ungültige HID_MAZEIT_ID '||TO_CHAR(rCollMaZeit.HID_MAZEIT_ID);
        END IF;
        <<MARK_TRANSEND>>
        IF vRcString IS NULL THEN
          COMMIT;
        ELSE
          ROLLBACK;
          RAISE_APPLICATION_ERROR(-20100,vRcString);
        END IF;
      END V_COLL_MAZEIT_IOF_U_TRG;
    and in end there are 3 other procedures, all for table MAZEIT, the collection and and the report.
    in princip its a good idea,to create another collection, but difficult to bind it to the report TOO,cause my "cell-fill- functionality" is to complicated.
    my idea is another: to look with javascript/jquery whatever on clientside the cell-values. and only the editable cells. not the hidden cells.there would be ca. 180 editable cells. i want store the values from this cells all in one in a cache (clientside! ).
    then select next employee (collection will be created with view  ect.) and give me this 29 rows. in this moment i have cells  with ID f02_0001 as example and can use the cache values with that. the ID's ever the same,cause i have ever 29 rows.
    greets/christian

Maybe you are looking for

  • Photoshop 7 crashing on launch, Mac OS 10.4.11

    If I post the crash report, can someone help me?  I have been running and working in PS 7 on my Mac G4 tower for years.  Yesterday, it stopped launching.  I can't think of what I may have installed, other than regular updates. Here is the entire cras

  • Black monitor computer not responding

    My computer will not turn on it bings like it is but the monitor stays black and the mouse or track pad also do not work but for a second. I checked the cord and it is ok and I replaced batteries in track pad and mouse and still nothing

  • Mail.app "From:" default bug

    When I want to compose an email, my email is address shown in the "From:" field. It is automatically filled in. I have a few email accounts and I can change it if I need to. The email address I want to use as the default has been the one there most o

  • Reporting Requirment Analysis

    Hello Experts, I am new to BW reporting and have been searching for an approach to design a Technical Spec from Functional specs given to me. The domain is SPL,I need to understand what should be the approach in identifying the free characteristics,

  • Dataguard 64-bit primary and 32-bit standby possible?

    Do I have to upgrade my standby database in a data-guard configuration when migrating to 64-bit? I do plan on upgrading the standby, but just wondering if they should be upgraded at the same time?