WF_SURVEYDEMO Code (wfsrvb.sql) for Master/Detail?

Hi,
I'm investigating the master/detail approach to a workflow issue I'm having.
I've become somewhat familiar with the Oracle Workflow Guide, and now I'm looking for the code behind the package WF_SURVEYDEMO, but I can't find a /demo or /demo/US directory anywhere.
Does anyone know where I might be able to find the code behind the WF_SURVEYDEMO package (filename wfsrvb.sql)?
Thanks.

Hi,
Are you using standalone or embedded Workflow?
Emebedded should be in $FND_TOP/admin/sql. Standalone should be in $ORACLE_HOME/wf/admin/sql I think.
Alternatively, just pull the code out of the database by selecting from user_source or all_source.
HTH,
Matt
Alpha review chapters from my book "Developing With Oracle Workflow" are available on my website:
http://www.workflowfaq.com
http://forum.workflowfaq.com

Similar Messages

  • Problem occured when create a tree table for master-detail view objects using SQL queries?

    I am programming a tree table for master-detail view objects using SQL queries and these 2 view objects are not simple singel tables queries, and 2 complex SQL are prepared for master and view objects. see below:
    1. Master View object (key attribute is SourceBlock and some varaible bindings are used for this view object.)
    SELECT  cntr_list.SOURCE_BLOCK,                   
            sum(                   
             case when cntr_list.cntr_size_q = '20'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr20 ,                   
            sum(                   
             case when cntr_list.cntr_size_q = '40'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr40 ,                   
             sum(                   
             case when cntr_list.cntr_size_q = '45'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr45                    
    FROM (       
        SELECT yb1.BLOCK_M as SOURCE_BLOCK,       
               scn.CNTR_SIZE_Q,        
               count(scn.CNTR_SIZE_Q) AS cntr_qty        
        FROM  SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2       
        WHERE       
        scm.cmr_n = scn.cmr_n             
        AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')                 
        OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))                 
        AND scm.shift_mode_c = :ShiftModeCode                           
        AND scm.end_terminal_c = :TerminalCode      
        AND scm.start_terminal_c = yb1.terminal_c                  
        AND scm.start_block_n = yb1.block_n                  
        AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n                  
        AND scm.end_terminal_c = yb2.terminal_c                  
        AND scm.end_block_n = yb2.block_n                  
        AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n           
        AND scn.status_c not in (1, 11)             
        AND scn.shift_type_c = 'V'             
        AND scn.source_c = 'S'       
        GROUP BY yb1.BLOCK_M, scn.CNTR_SIZE_Q       
    ) cntr_list       
    GROUP BY cntr_list.SOURCE_BLOCK
    2. Detail View object (key attributes are SourceBlock and EndBlock and same varaible bindings are used for this view object.)
    SELECT  cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK,                
            sum(                     
             case when cntr_list.cntr_size_q = '20'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr20 ,                     
            sum(                     
             case when cntr_list.cntr_size_q = '40'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr40 ,                     
             sum(                     
             case when cntr_list.cntr_size_q = '45'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr45                      
    FROM (         
        SELECT yb1.BLOCK_M as SOURCE_BLOCK,     
               yb2.BLOCK_M as END_BLOCK,  
               scn.CNTR_SIZE_Q,          
               count(scn.CNTR_SIZE_Q) AS cntr_qty          
        FROM  SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2         
        WHERE         
        scm.cmr_n = scn.cmr_n               
        AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')                   
        OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))                   
        AND scm.shift_mode_c = :ShiftModeCode                             
        AND scm.end_terminal_c = :TerminalCode        
        AND scm.start_terminal_c = yb1.terminal_c                    
        AND scm.start_block_n = yb1.block_n                    
        AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n                    
        AND scm.end_terminal_c = yb2.terminal_c                    
        AND scm.end_block_n = yb2.block_n                    
        AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n             
        AND scn.status_c not in (1, 11)               
        AND scn.shift_type_c = 'V'               
        AND scn.source_c = 'S'         
        GROUP BY yb1.BLOCK_M, yb2.BLOCK_M, scn.CNTR_SIZE_Q         
    ) cntr_list         
    GROUP BY cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK
    3. I create a view link to create master-detail relationship for these 2 view objects.
    masterview.SourceBlock (1)->detailview.SourceBlock (*).
    4. I create a tree table using these 2 view objects with master-detail relationship.
    When I set default value for variable bindings of these 2 view objects and the matching records exist, tree table can work well. I can expand the master row to display detail row in UI.
    But I need to pass in dymamic parameter value for variable bindings of these 2 view objects, tree table cannnot work again. when I expand the master row and no detail row are displayed in UI.
    I am sure that I pass in correct parameter value for master/detail view objects and matching records exist.
    Managed Bean:
            DCIteratorBinding dc = (DCIteratorBinding)evaluteEL("#{bindings.MasterView1Iterator}");
            ViewObject vo = dc.getViewObject();
            System.out.println("Before MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
            System.out.println("Before MasterView1Iterator ShiftModeCode="+ vo.ensureVariableManager().getVariableValue("ShiftModeCode"));
            vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
            vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
            vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
            vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
            vo.executeQuery();
            System.out.println("MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
            DCIteratorBinding dc1 = (DCIteratorBinding)evaluteEL("#{bindings.DetailView1Iterator}");
            ViewObject vo1 = dc1.getViewObject();
            System.out.println("Before DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
            System.out.println("Before DetailView1Iterator ShiftModeCode="+ vo1.ensureVariableManager().getVariableValue("ShiftModeCode"));
            vo1.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
            vo1.ensureVariableManager().setVariableValue("DateTo", dateTo);
            vo1.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
            vo1.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
            vo1.executeQuery();
            System.out.println("after DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
    5.  What's wrong in my implementation?  I don't have no problem to implement such a tree table if using simple master-detail tables view object, but now I have to use such 2 view objects using complex SQL for my requirement and variable bindings are necessary for detail view object although I also think a bit strange by myself.

    Hi Frank,
    Thank you and it can work.
    public void setLowHighSalaryRangeForDetailEmployeesAccessorViewObject(Number lowSalary,
                                                                              Number highSalary) {
            Row r = getCurrentRow();
            if (r != null) {
                RowSet rs = (RowSet)r.getAttribute("EmpView");
                if (rs != null) {
                    ViewObject accessorVO = rs.getViewObject();
                    accessorVO.setNamedWhereClauseParam("LowSalary", lowSalary);
                    accessorVO.setNamedWhereClauseParam("HighSalary", highSalary);
                executeQuery();
    but I have a quesiton in this way. in code snippet, it is first getting current row of current master VO to determine if update variables value of detail VO. in my case, current row is possibly null after executeQuery() of master VO and  I have to change current row manually like below.
    any idea?
                DCIteratorBinding dc = (DCIteratorBinding)ADFUtil.evaluateEL("#{bindings.SSForecastSourceBlockView1Iterator}");
                ViewObject vo = dc.getViewObject();           
                vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
                vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
                vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
                vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
                vo.executeQuery();
                vo.setCurrentRowAtRangeIndex(0);
                ((SSForecastSourceBlockViewImpl)vo).synchornizeAccessorVOVariableValues();

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

  • Sql loader master detail tables

    Hi
    I am trying to load master detail tables using sql loader. I have a sequence in the master table as primary key and have to load primary key in detail table. is there any way i can query up the primary key by name in the control file. please whats the best way to do this.
    can i query up the primary key in the master table by the name in detail table which is jan09.
    e.g
    master data
    jan09,description
    detail data
    jan09,'test1','100,'y'
    LOAD DATA
    INFILE 'test.data'
    insert
    INTO TABLE master_table
    fields terminated by ',' optionally enclosed by '"' trailing nullcols
    (id position(1:2) "myseq.nextval",
    code char,
    creation_date date sysdate,
    last_update_date date sysdate,
    into TABLE BDETAILS
    fields terminated by ',' optionally enclosed by '"' trailing nullcols
    (id number "select id from master_table where code=" || :code
    name char,
    amt decimal,
    flag char
    )

    Hey Here is what you need.
    You will have to understand and test this properly.
    It took me quiet some time before i could get to this stage
    Here is the test data with all the commands.
    As far the ID in the detail table is concerned you have no option but to update that column once the loading is complete.
    1) create Table
    CREATE TABLE master_table(ID NUMBER,code VARCHAR2(50),creation DATE,last_update DATE);
    CREATE TABLE bdetails(ID NUMBER,NAME VARCHAR2(100),amt NUMBER,flag VARCHAR2(10));
    ALTER TABLE master_table ADD (chc VARCHAR2(10));2) Create Sequence
    CREATE SEQUENCE testseq INCREMENT BY 1;3) CTL FILE
    LOAD DATA
    INFILE 'c:\sqlldr\test.txt'  /*path of data file */
    append
    INTO TABLE master_table
    when (1) ='M'  /*to check if the record in the data file is a master record */
    fields terminated by ',' optionally enclosed by '"' trailing nullcols
    (id  expression "testseq.nextval", /*select next value from sequence */
    mcol1 filler, /*FILLER keyword is sused to skip first column from data file */
    chc,
    code  ,
    creation "sysdate",
    last_update "sysdate"
    Into TABLE BDETAILS
    when (1) ='D'  /*to check if the record in the data file is a Detail record */
    fields terminated by ',' optionally enclosed by '"' trailing nullcols
    (id  expression "testseq.currval", /* UNFORTUNATELY THIS PICKS UP THE LAST ID OF THE MASTER RECORD SESSION STUFF GOING ON HERE*/
    col1 filler position(1:2),  /* specifying this POSITION(1:2) is very very important as you need to reset the cursor to start of the line for the next record */
    name  ,
    amt ,
    flag )4) SQLLDR Command
    sqlldr scott/tiger data=c:\sqlldr\test.txt control=c:\sqlldr\1.ctl
    5) data file
    M,jan09,description
    D,test1,100,y
    M,feb09,description1
    D,test2,200,x
    M,mar09,description2
    D,test3,200,xHope this helps you and give you a lead how to proceed.
    Cheers!!!
    Bhushan

  • Sql in master detail form

    I am interested in the sql used by masterdetail oracle forms.
    Suppose you don't have any crietriea then we can do just
    masterblock=select * from master
    detailblock=select * from detail
    if there are crietrieas then
    how does it uses the sql in detail query
    like below or not
    masterblock=select * from master where ..=..
    detailblock=select detail.* from master,detail where master.fld=detail.fld and master..=..

    If you look at the Copy Value from Item property of the items or items in the detail block that are specified in the join condition of the relation, you'll see that the value is copied from the master block. This creates the where condition in the query.
    If you look at :system.last_query (you can programatically message it out or display it in a text item), you'll see something like:
    SELECT ROWID,ORDER_ID,LINE_ITEM_ID,PRODUCT_ID,UNIT_PRICE,QUANTITY FROM order_items WHERE (ORDER_ID=2354) order by line_item_id
    In this particular case, the "(ORDER_ID=2354)" came from the Copy Value from Item property for the ORDER_ID item in the ORDER_ITEMS (detail) block, and the "order by line_item_id" came from the ORDER BY Clause property for the ORDER_ITEMS block.

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

  • ADF Faces and multiframe window for master/detail view

    Hi,
    I have a web page divide into 2 frames : frame1, the master view and frame2 the detail view.
    When I load the whole web page, the master frame print all the paginated list. Each row has a "show more" button. When I click one, the corresponding detail view is displayed in the detail view (frame2). And, when I clicked again the "show more" button, the paginated list (present in the master view) is displayed in the detail view !!! WHY ??
    When I click a third time on the "show more" button, the detail view display the corresponding detail information (work well like first click)....and alternatively clicking on the "show more" button, this problems occurs.
    Where does this problem come from ?
    The ADF Faces code shown in the master view (targetFrame attribute means to display on the detail view when show more button is clicked).
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!-- table displaying the list of buildings -->
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
         xmlns:f="http://java.sun.com/jsf/core"
         xmlns:h="http://java.sun.com/jsf/html"
         xmlns:afh="http://xmlns.oracle.com/adf/faces/html"
         xmlns:af="http://xmlns.oracle.com/adf/faces">
         <jsp:directive.page contentType="text/html;charset=utf-8" />
         <f:view >
              <af:document title="List of buildings" >
                   <af:form >
                        <af:panelPage title="Show the list of buildings">
                             <af:table var="building" value="#{buildingsBean.buildingsList}">
                                  <af:column>
                                       <af:outputText value="#{building.name}" />
                                  </af:column>
                                  <af:column>
                                       <af:outputText value="#{building.objectId}" />
                                  </af:column>
                                  <af:column>
                                       <af:commandButton text="Show more"
                                            action="#{adfMasterSlaveBackingBean.showBuilding}" >
                                       </af:commandButton>
                                  </af:column>
                             </af:table>
                        </af:panelPage>
                   </af:form>
              </af:document>
         </f:view>
    </jsp:root>

    Yes I put a targetFrame (I forgot to restablish it).
    Code of the backing bean (to show building list) :
    public List getBuildingsList() throws Exception {
              System.out.println("getBuildings");          
              CLPNetworkInstanceAPI netAPI = CLPNetworkInstanceAPI.getNetworkInstanceAPI();
              buildingsList.clear();
    try {
         CTResource resources[] = netAPI.fetchAllResourcesByType("CLPRMBuilding");      
                   for (int i=0; i<resources.length;i++)
                        buildingsList.add(resources);
              } catch (CTConnectionException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (CTUnsupportedTypeException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              return buildingsList;
    and the backing bean to show building detail :
    public String showBuilding() {
              FacesContext context = FacesContext.getCurrentInstance();
              CLPRMBuilding building = (CLPRMBuilding)
         context.getApplication().getVariableResolver().resolveVariable(context, "building");
         if (building == null)
         return "error";
         AdfFacesContext afContext = AdfFacesContext.getCurrentInstance();
         afContext.getProcessScope().put("buildingDetail", building);
         return "showBuilding";

  • Create Operation for Master-Detail Relationship Using Composite Association

    My requirement is to insert record for both the master and the detail at the same time using a single create insert action.I was successful in doing so using the composite association but when I am trying to commit the new record, I am getting the error that for the primary key Null value cannot be inserted.Then, I made the PK for both the master and detail EO's as DBSequence type which resolved the issue.
    My query is , Is there any alternative way to fulfill my requirement by "NOT" using the type for primary key to be DBSequence type?
    Thank you for your help.

    I also want to insert into master detail table in single form but when I insert in master form and then go to detail form for inserting value the master data automatically loss when I press detail create insert button. I am Using Two create insert button one for master and one for detail.
    I have also tried this function for solving my problem in other way but the problem is same
    public String cb8_action() {
    // Add event code here...
    BindingContainer bindings =BindingContext.getCurrent().getCurrentBindingsEntry();
    //OperationBinding operationBinding = bindings.getOperationBinding("CreateInsert");
    //Object result = operationBinding.execute();
    OperationBinding operationBinding1 = bindings.getOperationBinding("CreateInsert1");
    Object result1 = operationBinding1.execute();
    if (!operationBinding1.getErrors().isEmpty()) {
    return null;
    return null;
    Please Help me.

  • Row level validation for Master-Detail form

    OA JDeveloper 9i (RUP5) 9.0.3.5 (Build 1453)
    I have a form which is based on a master detail relationship.
    - For each employees details (Advancetable) based on a EO (AbsenceInputsEO)
    - For each employee you can add one or more allowances records (AdvanceTable) VO (AbsenceInputsVO)
    Both the above VO and EO is based on the same table (XHR_BWCD_KRONOS_INTERFACE)
    How do stop a user from selecting (radio button) the next employee in an advance table (master level), it the the records they entered at the detail level for the previous employee is not valid?
    I used the the same validation method I used for the "APPLY" event to validate the records entered at detail level
    to the "EmployeeSelect" event, but the error message showed only after the new employee has been selected. Thus the error message that is displayed does not relate to the employee record selected at that stage.
    How do I prevent the user from selecting the next employee in the Master(Advancetable) if the records in the Detail(AdvanceTable) is not valid?

    Thanks for you help,
    Where able to reset the "SelectFlag" for the employee the error related to, but now I endup with two radio buttons being selected. One for the employee which the error relates to and one for the employee which triggered the validation when user navigated away from the current employee record.
    I need to be able to set the attribute "SelectFlag" for any other employee selected in the master record to "N", before the error is thrown. I do not seem to be able to access the newly selected employee record to set the "SelectFlag" to "N" as I only have access to the currentrow SelectFlag in the processFormData.
    It looks to be if I can only access the new selected employee in the processFormRequest(OAPageContext pageContext, OAWebBean webBean), but I never get to this method as the error message stop processing in the processFormData().
    I have the following code in the processFormData(OAPageContext pageContext, OAWebBean webBean)
    if ("EmployeeSelect".equals(event))
    if (!IsValid(pageContext,am,true,AsgJobName,EmpStartDate.toString()))
    // oracle.jbo.Row ValidationRow = vo.getFirstFilteredRow("SelectFlag", "Y");
    // Set flag for employee record with error
    Row [] rows = vo.getFilteredRows("SelectFlag", "Y");
    // getFilteredRows returns a zero-length array if it finds no matches.
    if ((rows != null) && (rows.length > 0))
    // Set the master row and get the unique identifier.
    Row masterRow = rows[0];
    am.findViewObject("EmployeeAbsenceDetailsVO1").getCurrentRow().setAttribute("SelectFlag","Y");
    vo.setCurrentRow(masterRow);
    // Unselect new Employee
    throw new OAException(ErrorMessage, OARowValException.ERROR);
    } // EmployeeSelect-Event
    Question:
    =======
    Can I access the newly selected employee rows from the processFormData to reset the "SelectFlag" to "N" before I through the error message? I would like to be able to do this in the section I have marked "// ?????", before I throw the error. How would I do this?

  • Using bind variables in the model view for master detail

    Hi all,
    I have a master-detail views setup on the following two queries.
    In the first query below - I use two bind variables to collect the start and end date.
    you have to add (and :startDate = :startDate and :endDate = :endDate) or you will get errors - bind not defined in sql
    I then use the viewQueryCriteria to collect the data on a search panel - so far so good. (Make the bind variables required) along with the other criteria.
    The bind variables are displayed in the search panel and the data is entered correctly.
    The query executes and all is happy.
    VIEWOBJECT1
    SELECT DepositAccounts.COA_ID,
    ... ChartOfAccounts.ACCOUNT_CODE || ' ' || ChartOfAccounts.ACCOUNT_TITLE as description
    FROM DEPOSIT_ACCOUNTS DepositAccounts, DEPOSIT_ACCOUNT_DETAILS DepositAccountDetails, CHART_OF_ACCOUNTS ChartOfAccounts
    WHERE DepositAccounts.ID = DepositAccountDetails.DEP_ACC_ID
    and ChartOfAccounts.id = DepositAccountDetails.COA_ID
    and :startDate = :startDate and :endDate = :endDate
    Now I add the summation of a value (AMOUNT) to the view object (java - create view impl) to the VOViewRowImpl
    and everything works - the value is shown in the transient attribute formatted and looking nice.
    VIEWOBJECT2
    SELECT PostingBatchAccounts.AMOUNT,
    FROM POSTING_BATCH_ACCOUNTS PostingBatchAccounts, POSTING_BATCHES PostingBatches
    where PostingBatchAccounts.PB_ID = PostingBatches.ID
    and PostingBatches.SOURCE_DATE between :startDate and :endDate
    Now I need to add the start date and end date to the child query - before the view executes (or the summation is calculated).
    The attributes are in the where clause (PostingBatches.SOURCE_DATE between :startDate and :endDate) in VIEWOBJECT2 which is the child.
    I need the child records and the summation to work with the date restrictions.
    I would assume you could get access to the child view in the VOViewImpl file and set the bind variables there.
    Everything I find is based on the JSF - not the model layer - this should be fairly easy (and common). can anyone give me a hand on this?

    Hi all,
    I have a master-detail views setup on the following two queries.
    In the first query below - I use two bind variables to collect the start and end date.
    you have to add (and :startDate = :startDate and :endDate = :endDate) or you will get errors - bind not defined in sql
    I then use the viewQueryCriteria to collect the data on a search panel - so far so good. (Make the bind variables required) along with the other criteria.
    The bind variables are displayed in the search panel and the data is entered correctly.
    The query executes and all is happy.
    VIEWOBJECT1
    SELECT DepositAccounts.COA_ID,
    ... ChartOfAccounts.ACCOUNT_CODE || ' ' || ChartOfAccounts.ACCOUNT_TITLE as description
    FROM DEPOSIT_ACCOUNTS DepositAccounts, DEPOSIT_ACCOUNT_DETAILS DepositAccountDetails, CHART_OF_ACCOUNTS ChartOfAccounts
    WHERE DepositAccounts.ID = DepositAccountDetails.DEP_ACC_ID
    and ChartOfAccounts.id = DepositAccountDetails.COA_ID
    and :startDate = :startDate and :endDate = :endDate
    Now I add the summation of a value (AMOUNT) to the view object (java - create view impl) to the VOViewRowImpl
    and everything works - the value is shown in the transient attribute formatted and looking nice.
    VIEWOBJECT2
    SELECT PostingBatchAccounts.AMOUNT,
    FROM POSTING_BATCH_ACCOUNTS PostingBatchAccounts, POSTING_BATCHES PostingBatches
    where PostingBatchAccounts.PB_ID = PostingBatches.ID
    and PostingBatches.SOURCE_DATE between :startDate and :endDate
    Now I need to add the start date and end date to the child query - before the view executes (or the summation is calculated).
    The attributes are in the where clause (PostingBatches.SOURCE_DATE between :startDate and :endDate) in VIEWOBJECT2 which is the child.
    I need the child records and the summation to work with the date restrictions.
    I would assume you could get access to the child view in the VOViewImpl file and set the bind variables there.
    Everything I find is based on the JSF - not the model layer - this should be fairly easy (and common). can anyone give me a hand on this?

  • How to create Table in a Table without a ViewLink for Master/Detail

    Hi,
    Can we create a Table within Table in OA Page without using a view link. Need a Master Detail records to be displayed but I can't use a ViewLink. Is it possible to
    have a Table within Table without using a ViewLink. As I have DetailVO with multiple bind variables. I tried ViewLink but it didn't work so wondering if can achieve this
    using table in table without ViewLink
    Thanks

    Hi,
    I created a Table then in the table I created a detail in which I created another table I created a transient view attribute i.e. DetailFlag that I set to my outer table. When I run the page it does show me the Master records and showhide link but when I click on the show it throws an error saying:
    oracle.apps.fnd.framework.OAException: oracle.jbo.NoDefException: JBO-25002: Definition  of type Attribute not found
    Even though all the items in Detail table are attached to VO attributes of DetailVO
    As I have a different MasterVO query with some bind variables and the DetailsVO query is different with some bind variables. Now how do I capture when a user clicks on Show and at that time wants to get some values from a selected master row and pass them to my DetailVO Query so the detail data for that selected master row shows. How do I get handle to the selected Row Data so to get the some values that need to be passed to the DetailVO.
    I tried following the guide but am not able to have it functioning.
    Here is what I have in my controller's processRequest method
         OAApplicationModule am = pageContext.getApplicationModule(webBean);
         System.out.println("******* 1");
         am.invokeMethod("initializeTables");
         OATableBean table =
          (OATableBean)webBean.findChildRecursive("OuterTable");
        if (table == null)
          MessageToken[] tokens = { new MessageToken("OBJECT_NAME", "OuterTable") };
          throw new OAException("AK", "FWK_TBX_OBJECT_NOT_FOUND", tokens);
        table.queryData(pageContext, true);
        System.out.println("******* 2");Any help is appreciated.
    Thanks

  • Af:query for master detail

    Hi Experts,
    Can we have an af:query to show master detail data ?
    What we generally have is af:query showing records of 1 table. What i want is for the records that get populated from af:query in the master table, i want to show the records in the detail table of the row selected
    any idea ?
    thnks

    Thank you NewBee. It worked and am able to get the detail information from the master table. I am struggling with another implementation. I have 3 radio buttons in the global template which I am referencing in all my pages.
    The template has 3 radio buttons. Contacts, Plans and Users. The three queries are completely different from one another.
    On click of Contacts, I should display the respective af:query for Contacts, Plans and Users without displaying the resultant table. This query panel will be global to all the pages.
    I have tried setting it as follows:
    <af:panelGroupLayout layout="vertical"
    id="pt_pgl3"
    rendered="#{baseBean.searchContactsSelected == 'true'}"
    visible="#{baseBean.searchContactsSelected == 'true'}">
    <af:query id="qryId1" headerText="Search" disclosed="true"
    value="#{bindings.GloablSearchByContactsVOCriteriaQuery.queryDescriptor}"
    model="#{bindings.GloablSearchByContactsVOCriteriaQuery.queryModel}"
    queryListener="#{bindings.GloablSearchByContactsVOCriteriaQuery.processQuery}"
    queryOperationListener="#{bindings.GloablSearchByContactsVOCriteriaQuery.processQueryOperation}"
    resultComponentId="::contactSearch:md1"/>
    <f:subview id="contactSearch">
    <jsp:include page="/contactsSearchResults.jspx"/>
    </f:subview>
    <af:panelGroupLayout>
    I have tried various implementations to the best of my knowledge but its not rendering. Is it possible to navigate to a different jspx on click of Search button of af:query. This will give me an opportunity to display different pages based on the Search action and keeping the search on a global level.
    Hope I was clear in explaining the issue
    Thanks!

  • Create Form setup for Master Detail Form

    Hello All,
    I have to create a Master Detail OAF Form where user will enter data in the header section and then fill the detail section on the same page. Now, I have created Header section but when I go to detail section and fill the information I got an error because HeaderId for header section is not passing to the detail section. I have created even VL also.
    Kindly let me know that what all steps are required to set the View Link for this Master Detail form.
    Many Thanks in advance.
    Thanks,
    Sandy

    Hello Gyan,
    Thanks for the prompt reply. I would also like to know that once AO will create what all steps I need to take. Like I have to create a VL and then I need to create two regions and now what all properties I need to update to work M-D relationship.
    Thanks,
    Sandy

  • Using Tabs for Master-Detail

    Hi.
    I've been searching some possibilities to navigate between pages having a master-detail relationship. One possible way is to use Breadcrumbs. Very easy to implement, but not very stylish. I thought about using tabs, but, is there a way to implement tabs for a specific set of pages? I mean, I use a tree menu to call my pages, but one specific page would have a tab set, each tab calling a detail page from the previous one, like the beradcrumbs work.
    I couldn't figure out how to do this, IF it is possible to do.
    Any ideas?
    Thanks in advance.

    Hi,
    Have you thought about creating a list and using the Tabbed Navigation list template? Not quite full-blown tabs but one up from breadcrumbs, perhaps?
    Andy

  • Master Detail Professional Screen for Beginers

    Hi,
    I want to create a page for Preparing Purchase Order. I have One Order Master Table and Order Detail Table.
    I need to create a page with the buttons like 'Insert' , 'Edit', 'Save', 'Search'.
    I start with the Master Table (Order_master), Generate the Order NUmber, Enter Supplier name etc. Then i will go for the below table grid ie. detail_Table.
    there i will keep on entering the order details. Then Save it.
    Is there any professional sample page i can follow for this. This will really help for many Beginners to start with the Master Detail.
    All the samples in the web given just drag and drop and cannot be used in real time development.
    Any one can attach a link will be highly appreciated.
    Thank You.

    I think it is difficult to find example scenario as you need best way is start to develop sample application and then you can get solution using forum where you stuck in development..
    Hope following links may helpfully to you
    //can download sample from this blog
    http://andrejusb.blogspot.com/2009/03/create-operation-for-master-detail.html
    http://www.techrepublic.com/blog/programming-and-development/learning-oracle-adf-master-detail-forms/492
    //video
    http://www.youtube.com/watch?v=OCWMzfbd96E

Maybe you are looking for