Missleading error message for master-detail page

Hi,
I have created a master-detail form/page with the wizard. In my example DEPT is master and EMP is detail.
1) run the page and change the value of ACCOUNTING to ACCOUNTINGX and also the salary of KING to 8000
2) Press the "save" button in the Emp detail region
KING gets updated, the department not, but that's ok because the processes are defined that way that they are bond to the save buttons in the region. I don't know if an end-user will also understand that the values in the upper block are not updated, but that's not the question I want to ask here.
Go back into the Builder and add a condition onto the JOB report column of type "Value of Item in Exp 1 = Exp2" with the values P5_DNAME and ACCOUNTING => only display the JOB column for department ACCOUNTING
1) run the page and change again the value of ACCOUNTING to ACCOUNTINGX and salary of KING to 9000
2) press the "Save" button in the Emp Detail region
Now the user gets a
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 = "BF9210E6FFE37B63780258451587AB5D", item checksum = "C2FF65B2A2A6F0216971C6EA4EBFEA41"., update "FORUM_EXAMPLE"."EMP" set "EMPNO" = :b1, "DEPTNO" = :b2, "ENAME" = :b3, "JOB" = :b4, "MGR" = :b5, "SAL" = :b6
Error Processing not possible.
That error message is really miss leading. I assume APEX does this check to "protect" that the condition doesn't change, because that would also result in a renumber of the Apex_Application.g_f0x columns.
BTW, wouldn't it have made more sense to always map the Apex_Application.g_f0x array to the position it has in the Report Attributes and not changing the array field number when the column isn't displayed because of a condition? That makes validation/processing code unnecessary complicated, because the condition logic has to be duplicated :-(
But back to my original problem, based on this error message how should an end user know that he is not allowed to change anything in the upper block?
If you want to try it by yourself.
http://apex.oracle.com/pls/otn/f?p=12820:4::::::
Want to check the code:
Workspace: FORUM_EXAMPLE
User: guest
Password: guest
Did I understand something wrong? Any comments welcome!
Patrick
Check out my APEX-blog: http://inside-apex.blogspot.com
Message was edited by:
patrick_wolf

<noscript> JavaScript not supported. </noscript> <script type="text/javascript"> <!-- function genList_f31_0() {            w = open("wwv_flow_utilities.gen_popup_list" +                        "?p_filter="  +                        "&p_name=" + escape('f31') +                        "&p_element_index=" +  escape ('0') +                        "&p_form_index=" + escape('0') +                        "&p_max_elements=" + escape('') +                        "&p_escape_html=" + escape('') +                        "&p_ok_to_query=" + escape('YES') +                        "&p_flow_id=" + escape('103') +                        "&p_page_id=" + escape('3') +                        "&p_session_id=" + escape('2618395222296971') +                        "&p_eval_value=" + escape('') +                        "&p_translation=" + escape('NO') +                        "&p_lov=" +                        "&p_lov_checksum=" +                        "&p_item_id=" + escape('1438926468993754'),                        "winLov",                        "Scrollbars=1,resizable=1,width=400,height=450");            if (w.opener == null)              w.opener = self;            w.focus();          } //--> </script><span class="lov"><input type="text" name="f31" size="250" maxlength="2000" value="3" onchange="f_set_multi_items_tabular(this.value,'1')" id="f31_1" /><a href="javascript:genList_f31_0()"><img src="/i/list_gray.gif" width="13" height="13" alt="Popup Lov" alt="List" style="vertical-align:middle;" align="middle" /></a></span>

Similar Messages

  • APEX 4.0.2 Error on Master Detail Pages - 'length' is null or not an object

    Greetings,
    We just upgraded to APEX 4.0.2.00.07 this past weekend. Now a JavaScript error occurs when Master Detail pages are opened in IE 8. The error is - 'length' is null or not an object. I do not have a page item named length on any of these pages.
    The error does not occur in Chrome or Firefox, but the Add button on the detail portion of the page simply doesn't work.
    The page works when creating the master portion of the page. After the master row is created the region to add detail rows appears and the error occurs. So, the error appears to be with that part of the page.
    We use an Inactive Date column to soft delete rows in the detail portion of the page, so the detail regions have a date column, just in case this column is the problem.
    Does anyone have an idea what the problem might be?
    Thanks, Tony

    I too had this same problem and determined that the problem was due to a missing underscore character between the literal "report" and the report Id in the report template.
    I guess some themes include this underscore and some don't.
    I had to debug the apex_4.0.js to determine this - not easy as it's not nicely formatted.
    It only seems to stop Pagination working in an Updatable Tabular Form Report.
    Edit the Report Template. Go to the "Before Rows" region and edit the Before Rows text box. Locate where it defines the report id and insert an underscore between report#REGION_ID#
    Previous
    &lt;div id="report#REGION_ID#"&gt;
    Fixed
    &lt;div id="report_#REGION_ID#"&gt;

  • Two Pages for Master Detail

    Hi,
    i would like to have 2 pages for master detail query on my aplication. One show a table with dept master rows, where i would choose a row , and then, when i press viewdetails button show a second page with details emps for this department. But i have a litle probs... How can i pass the row from emp to CurrentDepEmpView ?
    My code :
    "Master Page"
    <?xml version="1.0" encoding="windows-1252" ?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:bc4j="http://xmlns.oracle.com/uix/bc4j">
    <bc4j:registryDef>
    <bc4j:rootAppModuleDef name="MasterDeptEmpViewModule"
    definition="uix_test.Bc4j_testeModule"
    releaseMode="stateful">
    <bc4j:viewObjectDef name="deptVO" rangeSize="3"/>
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    <!-- <bc4j:registryDef>
    <bc4j:rootAppModuleDef name="EmpForeignKeyLink1AppModule"
    definition="uix_test.Bc4j_testeModule"
    releaseMode="stateful">
    <bc4j:viewObjectDef name="deptVO" rangeSize="5"/>
    <bc4j:viewObjectDef name="CurrentDeptEmpsVO" rangeSize="10"/>
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    -->
    <content>
    <try xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui">
    <catch>
    <header messageType="error">
    <boundAttribute name="text">
    <contextProperty select="ui:currentThrowable"/>
    </boundAttribute>
    </header>
    </catch>
    <contents>
    <pageLayout xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui"
    title="Master Dept View">
    <contents>
    <!-- this will contain any validation errors after form
    submission -->
    <messageBox automatic="true"/>
    <bc4j:rootAppModuleScope name="MasterDeptEmpViewModule">
    <contents>
    <header text="Search">
    <contents>
    <form name="search">
    <contents>
    <inlineMessage prompt="Search" vAlign="middle">
    <contents>
    <bc4j:viewObjectScope name="deptVO">
    <contents>
    <flowLayout>
    <contents>
    <choice name="attrName"
    data:selectedValue="attrName@ctrl:page"
    shortDesc="Search Column">
    <contents>
    <bc4j:region automatic="true">
    <bc4j:attrStamp>
    <option>
    <boundAttribute name="text">
    <bc4j:attrDefProperty name="name"/>
    </boundAttribute>
    <boundAttribute name="value">
    <bc4j:attrDefProperty name="name"/>
    </boundAttribute>
    </option>
    </bc4j:attrStamp>
    </bc4j:region>
    </contents>
    </choice>
    <textInput name="attrValue" columns="20"
    data:text="attrValue@ctrl:page"
    shortDesc="Search"/>
    </contents>
    </flowLayout>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    <end>
    <submitButton text="Go" ctrl:event="search"/>
    </end>
    </inlineMessage>
    </contents>
    </form>
    </contents>
    </header>
    <header text="Results">
    <contents>
    <form name="viewForm">
    <contents>
    <tableLayout>
    <contents>
    <bc4j:viewObjectScope name="deptVO">
    <contents>
    <!-- placing the table in automatic mode will cause the table
    to contain the keyStamp named child followed by the
    columnStamp named child for each attribute in the
    ViewObject. -->
    <bc4j:table name="viewTable" automatic="true"
    width="80%"
    alternateText="No rows found">
    <tableSelection>
    <!-- single selection for each row in the table -->
    <singleSelection selectedIndex="0"
    shortDesc="Select Row">
    <contents>
    <!-- the update button causes the currently selected
    row to be sent to the update page -->
    </contents>
    </singleSelection>
    </tableSelection>
    <!-- the key identifying the current row in the table -->
    <bc4j:keyStamp>
    <bc4j:rowKey name="key"/>
    </bc4j:keyStamp>
    <!-- the column rendered for each attribute -->
    <bc4j:columnStamp>
    <!-- the attrScope is automatic -->
    <bc4j:column>
    <columnHeader>
    <!-- the sortableHeader defaults its attrName
    from the current attrScope -->
    <bc4j:sortableHeader/>
    </columnHeader>
    <contents>
    <!-- renders the current attribute as read only -->
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    </bc4j:columnStamp>
    </bc4j:table>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    </tableLayout>
    <submitButton text="Detalhes" ctrl:event="details"/>
    </contents>
    </form>
    </contents>
    </header>
    </contents>
    </bc4j:rootAppModuleScope>
    </contents>
    <contentFooter>
    </contentFooter>
    </pageLayout>
    </contents>
    </try>
    </content>
    <handlers>
    <event name="details">
    <bc4j:findRootAppModule name="MasterDeptEmpViewModule">
    <bc4j:findViewObject name="CurrentDeptEmpsVO">
    <bc4j:findRowByKey>
    <bc4j:keyBinding>
    <bc4j:propertyKey name="key"/>
    </bc4j:keyBinding>
    </bc4j:findRowByKey>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    <go name="detailView" redirect="true"/>
    </event>
    <event name="sort" source="viewTable">
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="MasterDeptEmpViewModule">
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="deptVO">
    <!-- sort by the submitted attribute name -->
    <bc4j:sort/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="goto" source="viewTable">
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="MasterDeptEmpViewModule">
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="deptVO">
    <!-- navigate to the submitted range -->
    <bc4j:goto/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="search">
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="MasterDeptEmpViewModule">
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="deptVO">
    <!-- search for the view criteria -->
    <bc4j:findByExample>
    <bc4j:exampleRow ignoreCase="true">
    <bc4j:exampleAttribute>
    <bc4j:nameBinding>
    <bc4j:parameter name="attrName"/>
    </bc4j:nameBinding>
    <bc4j:valueBinding>
    <bc4j:parameter name="attrValue"/>
    </bc4j:valueBinding>
    </bc4j:exampleAttribute>
    </bc4j:exampleRow>
    </bc4j:findByExample>
    <bc4j:executeQuery/>
    <!-- store the current search criteria as page properties -->
    <bc4j:setPageProperty name="attrName">
    <bc4j:parameter name="attrName"/>
    </bc4j:setPageProperty>
    <bc4j:setPageProperty name="attrValue">
    <bc4j:parameter name="attrValue"/>
    </bc4j:setPageProperty>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    </handlers>
    </page>
    "Detail Page"
    <?xml version="1.0" encoding="windows-1252" ?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:bc4j="http://xmlns.oracle.com/uix/bc4j">
    <bc4j:registryDef>
    <bc4j:rootAppModuleDef name="DetailDeptEmpViewModule"
    definition="uix_test.Bc4j_testeModule"
    releaseMode="stateful">
    <bc4j:viewObjectDef name="deptVO" rangeSize="3"/>
    <bc4j:viewObjectDef name="CurrentDeptEmpsVO" rangeSize="10">
    <bc4j:rowDef name="deptVO" autoCreate="false" usesCurrency="true">
    <bc4j:propertyKey name="key"/>
    </bc4j:rowDef>
    </bc4j:viewObjectDef>
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    <content>
    <try xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui">
    <catch>
    <displayException/>
    </catch>
    <contents>
    <pageLayout xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui"
    title="Detail Emp per Depto View">
    <contents>
    <!-- this will contain any validation errors after form
    submission -->
    <messageBox automatic="true"/>
    <bc4j:rootAppModuleScope name="DetailDeptEmpViewModule">
    <contents>
    <header text="Search">
    <contents>
    <form name="search">
    <contents>
    <inlineMessage prompt="Search" vAlign="middle">
    <contents>
    <bc4j:viewObjectScope name="CurrentDeptEmpsVO">
    <bc4j:findRowByKey>
    <bc4j:keyBinding>
    <bc4j:propertyKey name="key" />
    </bc4j:keyBinding>
    </bc4j:findRowByKey>
    <contents>
    <flowLayout>
    <contents>
    <choice name="attrName"
    data:selectedValue="attrName@ctrl:page"
    shortDesc="Search Column">
    <contents>
    <bc4j:region automatic="true">
    <bc4j:attrStamp>
    <option>
    <boundAttribute name="text">
    <bc4j:attrDefProperty name="name"/>
    </boundAttribute>
    <boundAttribute name="value">
    <bc4j:attrDefProperty name="name"/>
    </boundAttribute>
    </option>
    </bc4j:attrStamp>
    </bc4j:region>
    </contents>
    </choice>
    <textInput name="attrValue" columns="20"
    data:text="attrValue@ctrl:page"
    shortDesc="Search"/>
    </contents>
    </flowLayout>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    <end>
    <submitButton text="Go" ctrl:event="search"/>
    </end>
    </inlineMessage>
    </contents>
    </form>
    </contents>
    </header>
    <header text="Results">
    <contents>
    <form name="viewForm">
    <contents>
    <tableLayout>
    <contents>
    <bc4j:viewObjectScope name="CurrentDeptEmpsVO">
    <contents>
    <bc4j:rowScope name="deptVO">
    <contents>
    <!-- placing the table in automatic mode will cause the table
    to contain the keyStamp named child followed by the
    columnStamp named child for each attribute in the
    ViewObject. -->
    <bc4j:table name="viewTable"
    automatic="true" width="80%"
    alternateText="No rows found">
    <tableSelection>
    <!-- single selection for each row in the table -->
    <singleSelection selectedIndex="0"
    shortDesc="Select Row">
    <contents>
    <!-- the update button causes the currently selected
    row to be sent to the update page -->
    <submitButton text="Update"
    ctrl:event="update"/>
    <!-- the delete button causes the currently selected
    row to be removed -->
    <submitButton text="Delete"
    ctrl:event="delete"/>
    </contents>
    </singleSelection>
    </tableSelection>
    <!-- the key identifying the current row in the table -->
    <bc4j:keyStamp>
    <bc4j:rowKey name="key"/>
    </bc4j:keyStamp>
    <!-- the column rendered for each attribute -->
    <bc4j:columnStamp>
    <!-- the attrScope is automatic -->
    <bc4j:column>
    <columnHeader>
    <!-- the sortableHeader defaults its attrName
    from the current attrScope -->
    <bc4j:sortableHeader/>
    </columnHeader>
    <contents>
    <!-- renders the current attribute as read only -->
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    </bc4j:columnStamp>
    </bc4j:table>
    </contents>
    </bc4j:rowScope>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    </tableLayout>
    </contents>
    </form>
    </contents>
    </header>
    </contents>
    </bc4j:rootAppModuleScope>
    </contents>
    <contentFooter>
    <!-- the create button redirects to the create page -->
    <button text="Create" ctrl:event="create"/>
    </contentFooter>
    </pageLayout>
    </contents>
    </try>
    </content>
    <handlers>
    <event name="search">
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="DetailDeptEmpViewModule">
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="CurrentDeptEmpsVO">
    <!-- search for the view criteria -->
    <bc4j:findByExample>
    <bc4j:exampleRow ignoreCase="true">
    <bc4j:exampleAttribute>
    <bc4j:nameBinding>
    <bc4j:parameter name="attrName"/>
    </bc4j:nameBinding>
    <bc4j:valueBinding>
    <bc4j:parameter name="attrValue"/>
    </bc4j:valueBinding>
    </bc4j:exampleAttribute>
    </bc4j:exampleRow>
    </bc4j:findByExample>
    <bc4j:executeQuery/>
    <!-- store the current search criteria as page properties -->
    <bc4j:setPageProperty name="attrName">
    <bc4j:parameter name="attrName"/>
    </bc4j:setPageProperty>
    <bc4j:setPageProperty name="attrValue">
    <bc4j:parameter name="attrValue"/>
    </bc4j:setPageProperty>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="sort" source="viewTable">
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="DetailDeptEmpViewModule">
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="CurrentDeptEmpsVO">
    <!-- sort by the submitted attribute name -->
    <bc4j:sort/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="goto" source="viewTable">
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="DetailDeptEmpViewModule">
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="CurrentDeptEmpsVO">
    <!-- navigate to the submitted range -->
    <bc4j:goto/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="create">
    <!-- forward to the create page -->
    <ctrl:go name="EmpForeignKeyLink1_Create" redirect="true"/>
    </event>
    <event name="update">
    <!-- forward to the update page, passing the selected key
    as a page property -->
    <ctrl:go name="EmpForeignKeyLink1_Update" redirect="true">
    <ctrl:property name="key">
    <ctrl:selection name="viewTable" key="key"/>
    </ctrl:property>
    </ctrl:go>
    </event>
    <event name="delete">
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="DetailDeptEmpViewModule">
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="CurrentDeptEmpsVO">
    <!-- find the selected Row -->
    <bc4j:findRowByKey>
    <bc4j:keyBinding>
    <bc4j:selectionKey name="viewTable" key="key"/>
    </bc4j:keyBinding>
    <bc4j:handlers>
    <!-- remove the selected ViewObject row -->
    <bc4j:removeRow/>
    <!-- execute the query to eliminate dead row access -->
    <bc4j:executeQuery/>
    </bc4j:handlers>
    </bc4j:findRowByKey>
    </bc4j:findViewObject>
    <!-- commit the transaction, forwards to self automatically -->
    <bc4j:commit/>
    </bc4j:findRootAppModule>
    </event>
    </handlers>
    </page>

    Basic strategy is to make the selected row from the master table the current row, then forward to the detail page, which displays the current row.
    Use the <findRowByKey usesCurrency="true" > event handler.

  • Developer Mode Error: Stale Data -- Master Detail OAF Page

    Dear Members,
    I have created a simple master detail OAF Page by following the below steps:-
    1/ Created a MasterEO
    2/ Created a DetailEO
    3/ Created a MasterDetailAO
    4/ Created a MasterVO based on MasterEO
    5/ Created a DetailVO based on DetailEO
    6/ Created a MasterDetailVL (view link) based on MasterDetailAO
    7/ Created an AM
    7/ Attached the MasterVO and MasterDetailVL to the AM
    8/ Created a simple Master Detail Page in which user can enter the master and detail records. After entering the details user can click on the save button.
    Code in AM_
    public void createHeader()
    +{+
    OAViewObject vo = getMasterVO1();
    if (vo.getFetchedRowCount() == 0)
    +{+
    vo.setMaxFetchSize(0);
    +}+
    Row row = vo.createRow();
    vo.insertRow(row);
    row.setNewRowState(Row.STATUS_INITIALIZED);
    +}+
    public void createLines()
    +{+
    OAViewObject vo = (OAViewObject)getDetailVO1();
    if(!vo.isPreparedForExecution())
    +{+
    vo.setWhereClause("1=2");
    vo.executeQuery();
    +}+
    vo.setWhereClause("1=2");
    vo.setWhereClauseParams(null);
    vo.executeQuery();
    Row row = vo.createRow();
    vo.insertRow(row);
    row.setNewRowState(Row.STATUS_INITIALIZED);
    +}+
    Code in ProcessRequest method of CO_
    super.processRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    am.invokeMethod("createHeader");
    am.invokeMethod("createLines");
    I am facing the below error when trying to save the master detail records in the respective OAF Page_
    Developer Mode Error: Stale Data_
    The requested page contains stale data. This error could have been caused through the use of the browser's navigation buttons (the browser Back button, for example). If the browser's navigation buttons were not used, this error could have been caused by coding mistakes in application code. Please check Supporting the Browser Back Button developer guide - View Object Primary Key Comparison section to review the primary causes of this error and correct the coding mistakes.
    Cause:
    The number of displayed records, 1, exceeds the actual number of records, 0, in view object AstfAM.DetailVO1. Some of the displayed records may have been deleted.
    To proceed, please select the Home link at the top of the application page to return to the main menu. Then, access this page again using the application's navigation controls (menu, links, and so on) instead of using the browser's navigation controls like Back and Forward.
    I request the members to help me in resolving the above error.
    Many thanks in advance.
    Regards,
    R4S.

    Hi user11991972,
    I just faced the same issue and I managed to fixed it using this thread:
    Developer Mode Error: Stale Data
    In my case, I amended the "Change indicator" checkbox on some of EO attributes.
    One of the master attributes was updated by the AM from the detail page, but when navigating back, the master page was not refreshed due to a customer requirement.
    But I wonder if it could be of any help in your case...
    Regards,
    Olivier

  • How to prevent error message for material description in MDG material detail screen, when user click on check action

    Dear Experts,
    I have a requirement for making material description as non mandetory in change request view of mdg material screen.
    I have done that using field usage in get data method of feeder classes, but still message is displaying.
    This message 'Material description is mandatory is displaying with check action only, but not with save or submit after i anhance field property as not mandetory.
    How to prevent error message for material description in MDG material detail screen, when user click on check action.
    Thanks
    Sukumar

    Hello Sukumar
    In IMG activity "Configure Properties of Change Request Step", you can completely deactivate the reuse area checks (but will then loose all other checks of the backend business logic as well).
    You can also set the error severity of the checks from Error to Warning (per CR type, not per check).
    Or you provide a default value for the material description, e.g. by implementing the BAdI USMD_RULE_SERVICE.
    Regards, Ingo Bruß

  • Can I set up a Master-Detail Page with report regions for 2 Detail Tables?

    Hi there,
    I am just starting to use Application Express.
    I have a Table (A) with Master-Detail relationships to two Tables B & C.
    I can set up a Master-Detail Page between Table A and Table B, where the records displayed in Table B change when switching between records in Table A. I would like to add Table C to the page and for this to work in the same way.
    Is this possible in APEX? (I've tried adding a report region for Table C and making the Region Source dependent on the same ID field as is used by the report region for Table B but I keep getting "No Data Found" for Table C).
    Many thanks.

    Thanks, but the text needs to be on a single master page which every page is assigned to. This is so the text alternates correctly regardless of whether new pages are inserted or moved. If I assigned separate master pages to individual pages and then moved the pages to a different location, the alternating footer text would then fall out of sync. I hope that made sense!

  • Possible error when using ADFBC selectOneListbox in a master-detail page

    Hi Everyone,
    I'm trying to setup master - detail page with ADF BC, using Dept / Emp.
    I want to use a listbox for the master object, rather than the form + navigation commands as shown in the classic demos, so I've setup a listbox as following:
    <af:selectOneListbox value="#{bindings.DepartmentsView1.inputValue}"
    label="Available Flows:"
    id="listbox_depts">
    <f:selectItems value="#{bindings.DepartmentsView1.items}"
    id="id_Selcet_Items"/>
    The details element is the classic read-only table created by dragging the Employees view (under the departments) into the page.
    The problem arises when I run the page - the list box shows all the departments, but when I click on different departments the table data does NOT change (as it would when navigating between rows with the classical form navigation buttons).
    I've set up the Table's partial triggers to both of the listbox ids: id_Selcet_Items and listbox_depts but this doesn't help.
    Is this a bug, or am I doing something totally wrong?
    Tal.

    Tal,
    You need to drop the Dept collection onto your page as a navigation list.
    Blaise

  • Can I have a Master/Detail page without a repeating region for the Master links?

    Hi there.
    I have been trying to find the solution to this for hours, but with no luck at all.
    I have a master/detail page that uses an HTML dataset.  It's pulling content from DIV tags within the same page, using 2 colums ("topic" and "description") and is working properly using this code:
    <ul spry:region="ds1" spry:repeatchildren="ds1">
    <li class="product" spry:setrow="ds1" spry:select="selected" spry:hover="hover">{topic}</li>
    </ul>
    What I'd really like to do though, is have some individual images serve as the {topic} links instead of having the {topic} listing built dynamically using the repeatchildren. So, basically, I'd like to hard-code the topics using images, and when you click on it, it then loads the specific {description} content.
    But as soon as i remove the repeatchildren, and hard-code the <li>'s, it doesn't load the description. It does do the spry:select and spry:hover part, but it just doesn't change the detail region content. I even tried various "onclick"s such as setCurrentRow(2), and that doesn't work either.
    Any advice you can give me I really appreciate!
    Below is my code:
    var ds1 = new Spry.Data.HTMLDataSet(null, "sourceContainer", {rowSelector: "div.topic", dataSelector: "div.QandA", columnNames:["topic", "description"]});
    <table width="90%" border="1">
    <tr>
    <td width="21%" valign="top">
            <div spry:region="ds1">
    <ul>
                     <li onclick="ds1.setCurrentRow(0);" spry:setrow="ds1" spry:select="selected" spry:hover="hover">[an image goes here]</li>
                    <li onclick="ds1.setCurrentRow(1);" spry:setrow="ds1" spry:select="selected" spry:hover="hover">[an image goes here]</li>
                    <li onclick="ds1.setCurrentRow(2);" spry:setrow="ds1" spry:select="selected" spry:hover="hover">[an image goes here]</li>
    </ul>
                </div>
    </td>
      <td width="79%" valign="top">  
      <div spry:detailregion="ds1">
      <div>{description}</div>
      </div>
      </td>
      </tr>
    </table>         

    Your onclick and setrows are conflicting. (they do the same thing....)
    Get rid of the spry:setrow attributes and it should work fine.
    Hope this helps,
    Don

  • Bc4j:RowScope on a Master Detail page always returns 0 rows for detail

    Hi,
    I have a problem with a Master Detail page that is called from another page. The Master Detail page has two View Objects, Budgets and Budget Versions. These are linked properly in BC4J and when I use these VOs together I can navigate through the Budgets (master) and the Budget Versions (details) are populated correctly.
    However, I want to navigate to this page from another page which lists all possible Budgets. I pass the key of the selected Budget to the Master Detail page and the correct Budget is displayed, BUT the Budget Versions are NOT displayed - I get 0 rows returned.
    The mechanism I use to pass the selected Budget ID to my Master Detail page is:
    <ctrl:property name="key">
    <ctrl:selection name="ViewTable" key="key"/>
    </ctrl:property>
    My BC4J Registry is set up as follows:
    <bc4j:registryDef>
    <bc4j:rootAppModuleDef name="BudgetModule"
    defFullName="BudgetPackage.BudgetPackageModule"
    configName="BudgetPackageModuleLocal"
    releaseMode="stateful">
    <bc4j:viewObjectDef name="ItiBudgetsView1">
    <bc4j:rowDef name="CurrentBudgetRow" usesCurrency="True">
    <bc4j:propertyKey name="key"/>
    </bc4j:rowDef>
    </bc4j:viewObjectDef>
    <bc4j:viewObjectDef name="ItiBudgetVersionsView2" rangeSize="15"/>
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    I then use
    <bc4j:rowScope name="CurrentBudgetRow">
    to get the correct Budget row in my master VO. But this always returns 0 rows in my detail VO. If I comment out the rowScope element, I don't get the desired Budget row, but I do get the correct Budget Version rows displayed. Is the rowScope element on the Budget VO interfering with the Budget Version VO?
    Hope this is not too confusing!!
    Thanks,
    Steve

    Steve,
    I tried to create a comparable set of two pages and initially ran into the same problem. I just realized that my issue (which I hope is yours too) is that the rootAppModule name was different across my two pages. This led to each page having its own application module instance, so the currency was different on each page.
    By changing all of my pages to use the same application module name (in the registryDef, in the appModuleScope tags in the page, and in the findAppModule tags in the handlers), I resolved this problem.
    My event handler to go to the master/detail page from the master page, FYI, looks like this:
      <event name="details" >
       <bc4j:findRootAppModule name="MyApp" >
        <!-- establish the ViewObject scope -->
        <bc4j:findViewObject name="CustomersView1" >
         <!-- find the selected Row -->
         <bc4j:findRowByKey>
          <bc4j:keyBinding>
           <bc4j:selectionKey name="viewTable" key="key" />
          </bc4j:keyBinding>
         </bc4j:findRowByKey>
        </bc4j:findViewObject>
        <bc4j:executeQuery />
        <go name="OrdersByCustomer_View" redirect="true" />
       </bc4j:findRootAppModule>                     
      </event>Hope this helps.
    -brian
    UIX Team

  • How to validate detail columns on a Master-Detail page

    How do you add validation to the detail columns/items on a Master-Detail page? For example I want to execute a 'not null' validation on a column in a detail row when the user attempts to add a new row.
    Edited by: user9108091 on Oct 12, 2010 8:58 AM

    Is the detail a tabular-form style?
    If you are in version 4.x you can add it like any other validation.
    If you are in version 3.x and below, you have to write your own PL/SQL validation using the wwv_flow.g_f01, g_f02, etc. arrays and make the validation a type of "function returning error text". A not-null return value will be your error message. A null return value will be synonymous with passing validation. Unfortunately this method is a bit inelegant in that if you display the error on the same page, the screen usually repaints as part of the whole process and since the row was not saved (nor any other changes the user may have made to existing rows) the new row will disappear. If you display on the error page, the error is a bit inconvenient/inconsistent for the end user relative to item-level error display, but the page will usually be cached in the browser's cache and the state of what the user entered is retained.
    The error page also usually defaults to the "login" template. If it did, this is rather unattractive, IMHO. If you switch it to your current page tempate for most of your application pages (e.g.: two level tabs), even though it doesn't have tabs it will look a little more consistent with your other application pages.

  • Best Practices Question: How to send error message to SSHR web page.

    Best Practices Question: How to send error message to SSHR web page from custom PL\SQL procedure called by SSHR workflow.
    For the Manager Self-Service application we’ve copied various workflows which were modified to meet business needs. Part of this exercise was creating custom PL\SQL Package Procedures that would gather details on the WF using them on custom notification sent by the WF.
    What I’m looking for is if/when the PL\SQL procedure errors, how does one send an failure message back and display it on the SS Page?
    Writing information into a log or table at the database level works for trouble-shooting, but we’re looking for something that will provide the end-user with an intelligent message that the workflow has failed.
    Thanks ahead of time for your responses.
    Rich

    We have implemented the same kind of requirement long back.
    We have defined our PL/SQL procedures with two OUT parameters
    1) Result Type (S:Success, E:Error)
    2) Result Message
    In the PL/SQL procedure we always use below construct when we want to raise any message
    hr_utility.set_message(APPL_NO, 'FND_MESSAGE_NAME');
    hr_utility.raise_error;
    In Exception block we write below( in successful case we just set the p_result_flag := 'S';)
    EXCEPTION
    WHEN APP_EXCEPTION.APPLICATION_EXCEPTION THEN
    p_result_flag := 'E';
    p_result_message := hr_utility.get_message;
    WHEN OTHERS THEN
    p_result_flag := 'E';
    p_result_message := hr_utility.get_message;
    fnd_message.set_name('PER','FFU10_GENERAL_ORACLE_ERROR');
    fnd_message.set_token('2',substr(sqlerrm,1,200));
    fnd_msg_pub.add;
    p_result_message := fnd_msg_pub.get_detail;
    After executing the PL/SQL in java
    We have written some thing similar to
    orclStmt.execute();
    OAExceptionUtils.checkErrors (txn);
    String resultFlag = orclStmt.getString(provide the resultflag bind no);
    if ("E".equalsIgnoreCase(resultFlag)){
    String resultMessage = orclStmt.getString(provide the resultMessage bind no);
    orclStmt.close();
    throw new OAException(resultMessage, OAException.ERROR);
    It safely shows the message to the user with all the data in the page.
    We have been using this construct for a long time for all our projects. They are all working as expected.
    Regards,
    Peddi.

  • Master Detail page (ASP)

    I have dreamweaver 8 I am running vista 64 bit I am trying to do a master detail page but get this error.  My recordset test fine

    1- I am using access 2000 I have 2007 but I changed the one I was using to 2000 compatible thinking that might help.
    2- When I click on here on the error page it goes to a lot of information about asp and IIS I starting reading and going to other links and leared about the UAC on vista.  When I try to setup a connection in the ODBCad32 under the system dsn it said that I don't have administration ability.  So I went to the msconfig and shut off the UAC but that didn't change any thing.
    3 - I am not sure how to turn off friendly errors I will look into doing that later I have to take of for now.
    Thanks

  • Master-detail page: insert in detail not working

    Hello JHeadstart Team,
    I'm using jdev 10.1.3.2.0 and jhs 10.1.3.1.26.
    I have a master-detail page (master = table-form layout and (on same page) detail = table layout).
    If starting the page, pushing the new master record button, inserting a new master record and finally inserting a new detail record following error occurs:
    07/05/02 14:50:30 [720] (16) DCBindingContainer.reportException(220) DCBindingContainer.reportException :oracle.jbo.TxnValException
    07/05/02 14:50:30 [721] (16) Diagnostic.printStackTrace(410) oracle.jbo.TxnValException: JBO-27023: Validieren aller Zeilen in einer Transaktion nicht möglich.
    and for every mandatory column in the detail
    ## Detail 0 ##
    oracle.jbo.RowValException: JBO-27027: Fehlende obligatorische Attribute für eine Zeile mit dem Schlüssel oracle.jbo.Key[-5 ] vom Typ Quellen
         at oracle.jbo.server.JboMandatoryAttributesValidator.validate(JboMandatoryAttributesValidator.java:118)
    There is also a warning in the embedded OC4J log
    02.05.2007 14:49:26 oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNUNG: rowIterator is null
    If I query the data first I can insert master and detail records as exspected! The same if the details are placed on a separate page!
    Trying to use the new feature AddRow-Button for table layout gives ALLWAYS
    500 Internal Server Error (
    javax.faces.el.EvaluationException: java.lang.NullPointerException     
    at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:150)     
    at oracle.adf.view.faces.component.UIXComponentBase.__broadcast(UIXComponentBase.java:1087)     
    at oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:204)     
    at oracle.adf.view.faces.component.UIXCollection.broadcast(UIXCollection.java:95)     
    at oracle.adf.view.faces.component.UIXTable.broadcast(UIXTable.java:208)     
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:287)     
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:401)     
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)     
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)     
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)     
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)     
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)     
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)     
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)     
    at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)     
    at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)     
    at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)     
    at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)     
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:620)     
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)     
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865)     
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447)     
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215)     
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)     
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)     
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)     
    at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)     
    at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)     
    at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)     
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)     
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.NullPointerException     
    at oracle.jheadstart.controller.jsf.bean.JhsCollectionModel.addRow(JhsCollectionModel.java:443)     
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)     
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)     
    at java.lang.reflect.Method.invoke(Method.java:585)     
    at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)     
    ... 30 more
    In the ADF BC Tester the application module runs properly.
    How can I debug?
    Is there something wrong in the model level or view level?
    Thanks in advance
    Peter

    Thanks Menk for your idea!
    I located the source of the problem in the pagedef:
    After changing the RefreshCondition of the Detail Iterator from
    <iterator id="DETAILIterator" Binds="DETAILView1"
    DataControl="xyzDataControl" RangeSize="-1"
    RefreshCondition="#{searchMASTER.queryExecuted}"/>
    to
    <iterator id="DETAILIterator" Binds="DETAILView1"
    DataControl="xyzDataControl" RangeSize="-1"
    RefreshCondition="#{adfFacesContext.postback == true}"/>
    and switching off "Generate Page Definiton" everything works as exspected!
    Peter

  • Updating master/detail pages

    Student developing a website for a project using
    dreamweaver8/php/mysql
    Have used master/detail pages in my content mngt system, but
    would like to use the detail page to modify the data displayed and
    then use the update server behaviour. I don't seem to be able to
    create a detail page that allows text modification to the data
    displayed. Have been using the DreamweaverMX 2004 book as my bible
    but it doesn't do what I'm trying to achieve and clearly I'm
    missing something. Any ideas?

    "SusWeb888" <[email protected]> wrote in
    message
    news:focubv$11n$[email protected]..
    > Student developing a website for a project using
    dreamweaver8/php/mysql
    > Have
    > used master/detail pages in my content mngt system, but
    would like to use
    > the
    > detail page to modify the data displayed and then use
    the update server
    > behaviour. I don't seem to be able to create a detail
    page that allows
    > text
    > modification to the data displayed. Have been using the
    DreamweaverMX 2004
    > book
    > as my bible but it doesn't do what I'm trying to achieve
    and clearly I'm
    > missing something. Any ideas?
    What you should probably do is create an "update" page that
    has a form that
    holds all of your fields, etc, and apply the update record SB
    to the page.
    The "master" page should have a link to the "detail/update"
    page that passes
    a unique value - I usually use the "go to detail page" SB...
    but that is not
    in DW8 by default for PHP. It's there for ASP, but I have no
    idea why they
    didn't include it for PHP. If you go to www.felixone.it you
    can find his PHP
    Missing Tools extension - grab it and install it! This will
    give you the "go
    to detail page" SB. Then on the "detail/update" page, make
    sure your
    recordset is set to match the value being passed to it from
    the "master"
    page. Hopefully this makes sense to you.
    Hunter

  • Master Detail pages php/mysql  Links

    I have a master/detail page setup that is working properly. I
    am trying ot add a Link to only a few of the detaill pages but not
    to show up on others. I tried to set just do the html in a text
    field but It owuld not come out as link. It did underline it like a
    link.
    I also tried to do a If statement but am getting parse errors
    when I add the html code.
    <? if ($row_detail['link'] {
    echo "<a herf=$row_detail['link']>Expanded
    Detail</a>
    I get a parse error of unexpected <
    Any body have any idea if this is possible and how I might
    get it to work
    Thanks
    Tim

    David
    Getting closer I put in this
    <? if ($row_rscdetail['link']) {
    echo "<a herf='{$row_rscdetail['link']}'>Expanded
    Detail</a>"; } ?>
    Everything is good except it is not a link. It is underlined
    and mouses over but not link.
    The source code from ie is
    <a herf='
    http://www.sflcondos.com'>Expanded
    Detail</a>
    I also put the " " around the link in the table field and
    removed the ' ' from <a herf='{etc}' and it came out in source
    code as
    <a herf="
    http://www.sflcondos.com">Expanded
    Detail</a>
    It has got me stumped
    Thanks for your help
    Tim

Maybe you are looking for

  • How we create system for Bex query

    Hi I want to access Bex query in VC , I think we can do this by creating system in poratl. pls tell me how we  create system in prtal for this. Regards Amit

  • Saving editable column contents in Std. Table using ALV

    Hi All,    I developed a ALV report which displays list of sales orders of particular customer, in this report created by name is editable column. Now i want to save the created by name after user changes the contents of this column and click on save

  • Suggestion regarding table as a import table in bapi

    Hello;     Is it possible as TABLE as the import parameter in the BAPIs import parameter tab. Thnaks and Regards,      sapdev10. Moderator Message: Duplicate post. Edited by: kishan P on Oct 13, 2010 1:38 PM

  • Appliance purchase/delivery nightmare

      I was shopping for appliances and comparison shopping.  A salesperson approached us and we were given a printed quote for the appliances we wanted.  We said we were out comparison shopping and would come back if we found this to be the best we coul

  • Coldfusion 9 & Verity... Please Help

    I am running Coldfsuion 9,0,1,274733 on Linux 64bit in multi server configuration.... Installed Verity But when trying to create collections using the web admin UI I get the following message. Unable to retrieve collections from any of the Search Ser