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!
Similar Messages
-
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. -
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(); -
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
ThanksHi,
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 -
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. -
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? -
Auto Query in Master Detail Form using dynamic page doesn't work
I created a Master-Detail form, and implement AutoQuery using a dynamic page
with the following code :
<HTML>
<BODY>
<ORACLE>DECLARE
nre_ VARCHAR2(100);
BEGIN
nre_ := emp_nre;
if nre_ is not null then
net_portal.Popula_Agregados(nre_);
net_portal.Popula_Docs_Agregados (nre_);
htp.p('<iframe id=myFrame name="myFrame" frameborder=0 width="250%"
height="300"
src="/pls/portal/PORTAL.wwa_app_module.link?p_arg_names=_moduleid&p_arg_values=
3
388118140&p_arg_names=_show_header&p_arg_values=NO&p_arg_names=_cad_nre_cond&p_a
rg_values=%3D&p_arg_names=cad_nre&p_arg_values='||nre_||'">
</iframe>');
end if;
EXCEPTION
WHEN OTHERS THEN
htp.p(SQLERRM);
END;
</ORACLE>
</BODY>
</HTML>
It works fine when we access the first time to the page, but if i press the
save button after inserting or updating a detail record, the header record is
lost. How can i avoid this situation ?I changed query:
select
Replace(
'<img src="#IMAGE_PREFIX#ed-item.gif" border="0" alt="EditMap" usemap="#editmap***id***"></img>
<map name="editmap***id***">
<area shape="rect" coords="0,0,16,16" href="http://apex.oracle.com/pls/otn/f?p=&APP_ID.:'
|| decode ( type, 'FOLDER', '33', '22' )
|| ':&APP_SESSION.::&DEBUG.::P'
|| decode ( type, 'FOLDER', '33', '22' )
|| '_ID,P'
|| decode ( type, 'FOLDER', '33', '22' )
|| '_CALLING_PAGE:' || id || ',&APP_PAGE_ID." ></area></map>' ,
'***id***', id
) Edit,
id,
type,
name,
decode ( type, 'FOLDER', 33, 22 ) target
from tThe idea is - each img uses its own map.
It works now.
Check:
http://apex.oracle.com/pls/otn/f?p=20980:13
Lev
Edited by: le on Nov 3, 2010 11:11 AM -
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>
-
Restricting Query in master detail situation
I got two tables and three forms 1)master-detail 2)a selection form based on detial table.
When we enter data in master form i.e deptno want to open a selection form with restricting query only to those records that is entered in master from.
I want to know how to restrict data in selection form.Bit confusing,
Thank You,
Zubyradd a parameter to your detail form, and set the default-where property of your block.
you can reference parameters directly in the where clause of the block:
deptno = :parameter.deptno
call your detailform from the masterform with a paramlist
declare
xParamlist paramlist;
begin
xParamlist := Get_Parameter_List('PARAMLIST');
IF (id_null (xParamList)) THEN
xParamList := create_parameter_list ('PARAMLIST');
ELSE
destroy_parameter_list (xParamList);
xParamList := create_parameter_list ('PARAMLIST');
END IF;
Add_Parameter(xParamlist,'EMPNO',TEXT_PARAMETER, :master.deptno);
call_form('detailform',NO_HIDE,NO_REPLACE,NO_QUERY_ONLY,xParamList);
end;
regards -
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,
SandyHello 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 -
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 -
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 -
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? -
WHEN-TREE-NODE-SELECTED need 2 Execute-Query on Master-Detail data block
I optimize tree using this link
http://andreas.weiden.orcl.over-blog.de/article-29307730.html_+
For huge amount of data (Accountings)
All i need for now is
WHEN-TREE-NODE-SELECTED need 2 Execute-Query on the data block
DECLARE
htree ITEM;
node_value VARCHAR2(100);
BEGIN
IF :SYSTEM.TRIGGER_NODE_SELECTED = 'TRUE' THEN
-- Find the tree itself.
htree := FIND_ITEM ('BL_TREE.IT_TREE');
node_value := FTREE.GET_TREE_NODE_PROPERTY( htree, :SYSTEM.TRIGGER_NODE , ftree.node_value );
GO_BLOCK ('GL_ACCOUNTS');
set_block_property('GL_ACCOUNTS', DEFAULT_WHERE , 'ACCOUNT_ID ='|| node_value );
EXECUTE_QUERY;
END IF;
END;The above code is working fine 4 the detail block which is *'GL_ACCOUNTS'*
when i substitute is Master block which is 'GL_ACCOUNTS_TYPES' it doesn't display all data
Help is Appriciated pls.
Regards,
Abdetu...Hello
In WHEN-TREE-NODE-SELECTED i modified the following code :_
DECLARE
htree ITEM;
node_value VARCHAR2(100);
parent_node FTREE.NODE;
BEGIN
IF :SYSTEM.TRIGGER_NODE_SELECTED = 'TRUE' THEN
-- Find the tree itself.
htree := FIND_ITEM ('BL_TREE.IT_TREE');
-- Get the parent of the node clicked on.
parent_node := FTREE.GET_TREE_NODE_PARENT ( htree, :SYSTEM.TRIGGER_NODE );
GO_BLOCK('GL_TYPES');
set_block_property('GL_TYPES', DEFAULT_WHERE , 'TYPE_ID ='|| parent_node );
EXECUTE_QUERY;
-- Get the detail of the parent node
node_value := FTREE.GET_TREE_NODE_PROPERTY( htree, :SYSTEM.TRIGGER_NODE , ftree.node_value );
GO_BLOCK('GL_ACCOUNTS');
set_block_property('GL_ACCOUNTS', DEFAULT_WHERE , 'ACCOUNT_ID ='|| node_value );
EXECUTE_QUERY;
END IF;
END;
FRM-40350 : Query caused no records to be retrieved but i have records in the data base ...!
Well, Do u think that's because in ur package i retrieve only the detail block ?
Regards,
Abdetu... -
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";
Maybe you are looking for
-
How do i transfer pictures from my ipad to a sd card?
How do I transfer pictures from an album I have in my iPad over to a SD card?
-
How can I monitor status of a task over time
I have a application which contains a Tree control and a Button control. The Tree is used for representing a XML file content, and the Button is used for buliding XML files. the brief work flow is like below: I click the Button to invoke a Java funct
-
Error while printing RG1 register
Dear All, the following error is cuming while printing excise register J2I6 -register RG1 "SAP script layout not maintained for company code XXXX - register RG1" But same I have configured in SPRO/Tax on Goods Movement/India/Business Transaction/Ex
-
Item text in Purchase Order getting updated with info. record Purchase Order Text
Hello All, I am working in a roll out project and facing issue in text repeating twice for the line item in the Purchase Order for the new company code for which rollout is happening Issue: Item text in Purchase Order getting updated with info. recor
-
SolMan and multiple SAP customers
As a consultant, I'm in the middle of installing and configuring SolMan 4.0 for a client. This client is currently running many SAP systems as they have gone through a couple mergers over the past few months/years. As a result, they have multiple S