Popup in AET Table...
Hi,
I have created an AET table and attached a popup with same input fields as table, on each record / line item at one click action, have added "EDIT" button in rt_actions in get_t_oca_table method in context class of AET table.
After adding popup i am facing 2 issues which are as follows :
1. On clicking edit button, data of respective record / line item is not displayed in popup. I am getting the popup with all the required fields but the data is not correct. Data from last selected record is displayed in the popup.
2. Line items saved in the aet table is not shown in the display mode.
Please help..
Thanks & Regards,
Akshay Ruia
Any Solution....
Please help....
Similar Messages
-
Npe when using popup inside adf table column
hi i have a popup witch is inside adf column table but when i click the button i get this npe error
<af:column id="c7" headerText="Action">
<af:commandButton text="Add" id="cb2">
<af:showPopupBehavior popupId="p1" triggerType="click"/>
</af:commandButton>
<af:panelGroupLayout id="pgl2" inlineStyle="width:1042px;"
layout="horizontal" valign="middle"
halign="right">
<af:popup id="p1" contentDelivery="lazyUncached">
<af:dialog id="d1" type="cancel">
<af:region value="#{bindings.usrtaskflowdefinition1.regionModel}"
id="r1"/>
</af:dialog>
</af:popup>
<af:commandButton text="Cancel" id="cb1" rendered="false"/>
<af:commandButton text="Remove" id="cb3" visible="false"/>
</af:panelGroupLayout>
</af:column>
am geting this NPE ERROR
<FacesCtrlSearchBinding> <release> ADFv: release():: Release all resources.
<ADFLogger> <end> ADF web request
<XmlErrorHandler> <handleError> ADF_FACES-60096:Server Exception during PPR, #1
javax.el.ELException: java.lang.NullPointerException
at javax.el.BeanELResolver.getValue(BeanELResolver.java:266)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:173)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:200)
at com.sun.el.parser.AstValue.getValue(Unknown Source)
at com.sun.el.parser.AstEqual.getValue(Unknown Source)
at com.sun.el.parser.AstOr.getValue(Unknown Source)
at com.sun.el.ValueExpressionImpl.getValue(Unknown Source)
at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
at org.apache.myfaces.trinidad.component.UIXComponentBase.getBooleanProperty(UIXComponentBase.java:1204)
at org.apache.myfaces.trinidad.component.UIXComponentBase.isRendered(UIXComponentBase.java:423)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:810)
at org.apache.myfaces.trinidad.component.UIXEditableValue.processValidators(UIXEditableValue.java:263)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
at oracle.adf.view.rich.component.fragment.UIXRegion.validateChildrenImpl(UIXRegion.java:634)
at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ProcessValidationsCallback.invokeContextCallback(LifecycleImpl.java:1422)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnNamingContainerComponent(UIXComponentBase.java:1358)
at oracle.adf.view.rich.component.fragment.UIXRegion.invokeOnComponent(UIXRegion.java:555)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
at oracle.adf.view.rich.component.rich.RichDocument.invokeOnComponent(RichDocument.java:168)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:720)
at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:678)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:407)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: java.lang.NullPointerException
at oracle.adf.model.binding.DCControlBinding.reportException(DCControlBinding.java:201)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.findAttributeDef(JUCtrlValueBinding.java:632)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.findAttributeDef(JUCtrlValueBinding.java:597)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttribute(JUCtrlValueBinding.java:1341)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfAttributeCriterion.getOperator(FacesCtrlSearchBinding.java:2240)
at sun.reflect.GeneratedMethodAccessor357.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:261)
... 87 more
<QueryCollection> <finalize> [4342] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4343] ##### QueryCollection.finl oracle.jbo.Key[Surname 0 0 ]
<QueryCollection> <finalize> [4344] ##### QueryCollection.finl oracle.jbo.Key[Firstname 0 0 ]
<ControllerState> <finalizeRequest> ADFc: Request number [9] for session [14gycvxp1h_] has been finalized.
<QueryCollection> <finalize> [4345] ##### QueryCollection.finl oracle.jbo.Key[Username 0 0 ]
<RootViewPortContextImpl> <unlockViewPortRequestLock> ADFc: Attempting to release RootViewPort request lock on 14gycvxp1h_0
<QueryCollection> <finalize> [4346] ##### QueryCollection.finl oracle.jbo.Key[Organisationname 0 0 ]
<QueryCollection> <finalize> [4347] ##### QueryCollection.finl oracle.jbo.Key[Surname 0 0 ]
<RootViewPortContextImpl> <unlockViewPortRequestLock> ADFc: Successfully released RootViewPort request lock on 14gycvxp1h_0
<QueryCollection> <finalize> [4348] ##### QueryCollection.finl oracle.jbo.Key[Firstname 0 0 ]
<QueryCollection> <finalize> [4349] ##### QueryCollection.finl oracle.jbo.Key[Username 0 0 ]
<Auditor> <isEnabled> IAU:Event Enabled : false, Event Type : CheckPermission, Event Status : true, Properties : null
<QueryCollection> <finalize> [4350] ##### QueryCollection.finl oracle.jbo.Key[Organisationname 0 0 ]
<QueryCollection> <finalize> [4351] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4352] ##### QueryCollection.finl no RowFilter
<Auditor> <isEnabled> IAU:Event Enabled : false, Event Type : CheckPermission, Event Status : true, Properties : null
<QueryCollection> <finalize> [4353] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4354] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4355] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4356] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4357] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4358] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4359] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4360] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4361] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4362] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4363] ##### QueryCollection.finl no RowFilter
<QueryCollection> <finalize> [4364] ##### QueryCollection.finl no RowFilter
<AbstractExecutionContext> <getECForJDBC> adding new ECForJDBC null to set of listeners for this context
<WatchingDocumentChangeNotifier> <run> decide if checkUsingListeners should run. loopCnt: 0 changeInterval: 60000 originalChangeInterval: 60000 forceCheckForUpdate: false notifier instance: oracle.as.config.notification.filesystem.WatchingDocumentChangeNotifier@ca7192
<WatchingDocumentChangeNotifier> <checkUsingListeners> BEGIN checkUsingListeners for notifier instance: oracle.as.config.notification.filesystem.WatchingDocumentChangeNotifier@ca7192
<WatchingDocumentChangeNotifier> <checkUsingListeners> notifier processing file: C:\Users\10017134\AppCaused by: java.lang.NullPointerException
at oracle.adf.model.binding.DCControlBinding.reportException(DCControlBinding.java:201)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.findAttributeDef(JUCtrlValueBinding.java:632)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.findAttributeDef(JUCtrlValueBinding.java:597)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttribute(JUCtrlValueBinding.java:1341)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfAttributeCriterion.getOperator(FacesCtrlSearchBinding.java:2240)
It seems that problem is caused by af:query or quickquery component(or underlying view object or view criteria).
Maybe you can drop BTF as static region directly to your page and see if this will run correctly?
YES i have try stll does not work
So then this is not related with "npe when using popup inside adf table column"
Dario -
AET table error .....
Hi,
I have created aet table. When i click on edit button it gives the dump as below :
Please help me solve this issue.
Thanks & Regards,
Akshay RuiaHi Akshay,
You might have defined a variable of type cl_crm_bol_entity and you are trying to assign mixed node value to it.
So if you want to access mixed node reference you should create a reference to the mixed node class
sample code
DATA: lr_mixed TYPE REF TO cl_bsp_wd_mixed_node ,
current TYPE REF TO if_bol_bo_property_access,
lr_current TYPE REF TO cl_crm_bol_entity.
current ?= me->typed_context->entity name->collection_wrapper->get_current( ).
lr_mixed ?= current..
lr_current ?= lr_mixed->if_bsp_wd_ext_property_access~get_model_node( ). -
In a popup the tree table data is not getting displayed properly
Hi,
I have a taskflow which contains a tree table within a panelStetchLayout. Following is the taskflow code :
<af:panelStretchLayout id="SecurityAdminManageRoles" bottomHeight="0" topHeight="auto" inlineStyle="width:725px;height:400px;">
<f:facet name="center">
<af:treeTable value="#{bindings.WebCenterSecurityDCPermission.treeModel}" var="node" expandAllEnabled="true" fetchSize="150" verticalGridVisible="false" horizontalGridVisible="true" columnSelection="none" rowBandingInterval="0" columnStretching="last" contentDelivery="immediate" summary="#{uib_o_w_w_r_WebCenter.SECURITY_PERMISSIONS}" disclosedRowKeys="#{webcenterAdminSecurityBean.disclosedRowKeySet}" inlineStyle="border:none" binding="#{webcenterAdminSecurityBean.rolesTable}" id="tt2" styleClass="AFStretchWidth" autoHeightRows="150">
<f:facet name="nodeStamp">
<af:column width="260"
selected="false" noWrap="false" id="c3">
<f:facet name="header">
<af:outputText value="#{uib_o_w_w_r_WebCenter.LABEL_PERMISSIONS}"
id="ot5"/>
</f:facet>
<af:panelGroupLayout id="pgl26">
<af:forEach items="#{bindings.getRoleHeaders.result}" var="role">
<af:outputText value="#{role.value}" visible="false" id="ot1"/>
<af:selectBooleanCheckbox selected="#{node.dataProvider.serviceActions[role.value]}"
rendered="#{!node.dataProvider.serviceHeader}"
label="#{null}"
disabled="#{(node.dataProvider.readOnly and role.seededRole) or node.dataProvider.actionDisabledMap[role.value] == true}"
simple="true" id="sbc2">
<f:attribute name="permission" value="#{node}"/>
</af:selectBooleanCheckbox>
</af:forEach>
<af:spacer width="5" id="s2"/>
<af:outputText value="#{node.name}" noWrap="false" id="ot2"
inlineStyle="#{node.dataProvider.serviceHeader? 'font-weight:bolder;': ''}"/>
</af:panelGroupLayout>
</af:column>
</f:facet>
<af:column headerText="#{uib_o_w_w_r_WebCenter.LABEL_DESCRIPTION}" rowHeader="unstyled" noWrap="false" id="c1">
<af:outputText value="#{node.description}" noWrap="false"
inlineStyle="color:grey;" id="ot3"/>
</af:column>
</af:treeTable>
</f:facet>
</af:panelStretchLayout>
</jsp:root>
This taskflow is included as a region within another page :
<af:commandToolbarButton id="cb3"
shortDesc="#{uib_o_w_w_r_WebCenter.LABEL_EDIT_PERMISSION_HINT}"
icon="/adf/webcenter/edit_sm_ena.png"
text="#{uib_o_w_w_r_WebCenter.LABEL_EDIT_PERMISSION}"
inlineStyle="align:left">
<af:showPopupBehavior popupId="managePopup"/>
</af:commandToolbarButton>
<af:popup id="managePopup" contentDelivery="lazyUncached">
<af:dialog modal="true" type="cancel"
title="#{requestContext.formatter[uib_o_w_s_r_Spaces.EDIT_ROLE][pageFlowScope.o_w_wa_spacesRoleBacker1.selectedRole.value == webcenterAdminSecurityBean.spacesUsersRole ? uib_o_w_s_r_Spaces.LABEL_AUTH_USER : pageFlowScope.o_w_wa_spacesRoleBacker1.selectedRole.value]}"
titleIconSource="/adf/webcenter/empty.png" id="d4">
<af:region value="#{bindings.editroletaskflow.regionModel}"
id="r2"/>
<f:facet name="buttonBar">
<af:commandButton partialSubmit="true"
text="#{uib_o_w_w_r_WebCenter.LABEL_SAVE}"
actionListener="#{o_w_w_i_v_b_webCenterViewUtilsBean.saveChangesAndCloseWCLinksPopup}"
id="cb4">
<f:attribute value="#{bindings.editroletaskflow.regionModel}"
name="wcRegionModel"/>
<f:attribute value="bindings.saveRoles.execute"
name="wcMethodToExecute"/>
</af:commandButton>
</f:facet>
</af:dialog>
</af:popup>
In the main page, there is a table, I select one row and then click on this commandButton, which launches the popup.
The problem here is that when I launch the popup, there are many rows in the table and hence a scroll bar appears. Scroll down the popup and close the popup.
Again I launch the popup, I see that the popup displays in the same state as it was closed before, i.e the scrollbar is at the bottom and the first row is not displayed....also do not forget to:
1. adjust the Active property for the task flow binding (in the pageDef).
Set property value to the true on popupFetchListener, and to the false when closing popup
2. for the af:popup containing region, set childCreation to deffered -
ADF Popup issue with table row not selected
OK, imagine this scenario. There is a page displaying a table of employees, and when you click on the employee_id (which is shown as URL), which is one of the columns of the table, a popup displays, showing the details of that particular employee.
Now in the properties of the employee table, we unchecked the row selection property. Now how will I be able to achieve the same thing?
I dragged the setCurrentRowWithKeyValue operation on employee_id column, changed the bindings of the TEXT property, added a popup behaviour, but still the popup displays the first row which is fetched in the table.
Where am I missing, or is there any other way to achieve the same thing?
JDev version: 11.1.2.2.0
Edited by: Sonal on Oct 11, 2012 3:11 AMI did an exercise where I created one page which was displaying all the employees, and once you click on employee_id (which is shown as URL), a 2nd page opens displaying the details of the employees.
Now in the above exercise, ROW SELECTION was disabled, for which I had to use this setCurrentRowWithKeyValue operation and then set the NDValue with the binding of the employee ID. So whenever I used to click on the employee_id, the page was taking to me the form, which was displaying exactly the same employee details.
Now this thing should work with the popup thing too, right? So I disabled the ROW SELECTION -
Popup witth: question, table and YES/NO buttons
Hi there. Maybe You have encountered such a popup window in which I could display informations:
1) Question text, sth like... "You hadn't saved Your changes. Do You wish to save them now?"
2) list of changes (list contains 1-10 items), sth like ...
- change 1
- change 2
- change 3 ...
3) YES/NO button to decide if user wants to save or not
At this moment I'm thinking of creating a Z-FModule... but of course I'd prefere to use standard Greetings. P.Hi,
Try using the following function module that could possibly serve your purpose.
data: ans(1) type C.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = 'Confirm Data Loss'
DIAGNOSE_OBJECT = ' '
TEXT_QUESTION = 'Do you want to save your data?'
TEXT_BUTTON_1 = 'Ja'(001)
ICON_BUTTON_1 = ' '
TEXT_BUTTON_2 = 'Nein'(002)
ICON_BUTTON_2 = ' '
DEFAULT_BUTTON = '1'
DISPLAY_CANCEL_BUTTON = 'X'
USERDEFINED_F1_HELP = ' '
START_COLUMN = 25
START_ROW = 6
POPUP_TYPE =
IV_QUICKINFO_BUTTON_1 = ' '
IV_QUICKINFO_BUTTON_2 = ' '
IMPORTING
ANSWER = ans
TABLES
PARAMETER =
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2.
case ans.
when '1'.
PERFORM SAVE_DATA.
LEAVE PROGRAM.
WHEN '2'.
LEAVE PROGRAM.
WHEN 'A'.
MESSAGE s000(su) WITH 'Action cancelled by the user'.
ENDCASE.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. -
How to display a popup window with tables values to input
hi experts,
I need to display a popup displaying values of table in UI.
Is there any function module to dispaly a popup.Hi Ashwini,
There is no function module to call the pop up in CRM UI.
You need to follow following steps:
1. Create an event handler for your click event on which you want to call this pop up.
2. Create a Z component with a table view and in the table view, define the context nodes and attributes you want to use in the pop up view.
3. In the .htm coding of this view, define the layout and buttons you want on this pop up view.
4. Go to Runtime Repositry, create a ViewSet, ViewArea and in this View Area add the table view you created just now.
5. Create a MainWindow in the Runtime repositry and add the same table view you created.
6. Now come back to the main Component and add Component Usage (e.g CUXYZ) .......
7. While Creating the Component Usage, mention Component Name as your Z Component name and in the Interface View, choose MainWindow from the F4 help.
8. Go to event handler method of your main Component/View and create separate methods for creating your pop up and handling the close event of the pop up as well.
For seeing the coding, you cna refer to any standard pop up handling and do the coding in similar format.
I hope this will helps you.
Thanks
Vishal -
Aet and popup and textplaces in crm
1)can u create a complete findminblock of aet table type structure?if we can how we do it ?
2)i want to create a popup on the creation of popup clicking of some buttons popup wil be triggers
values wilbe stored in my model node which is on the in the same page?how can we do it?
3)there are 3places of the text that is hold the language dependent,payment crm what are the 3 places?Hi Vasu,
In your DELETE button Action write following code. and create two Actions with names YES and NO. In YES Action write code
to display T100 Messages. In NO if you want to do any perticular action write that code, or just leave it empty.
data lo_window_manager type ref to if_wd_window_manager.
data lo_api_component type ref to if_wd_component.
data lo_window type ref to if_wd_window.
data lo_view_controller type ref to if_wd_view_controller.
data : lt_text TYPE string_table,
ls_text TYPE string.
ls_text = 'You want to cancel changes...Are you sure?'.
INSERT ls_text INTO TABLE lt_text.
* Get Window manager
lo_api_component = wd_comp_controller->wd_get_api( ).
lo_window_manager = lo_api_component->get_window_manager( ).
lo_window = lo_window_manager->create_popup_to_confirm( text = lt_text
button_kind = if_wd_window=>co_buttons_yesno
message_type = if_wd_window=>CO_MSG_TYPE_WARNING
window_title = 'Information to Confirm...'
window_position = if_wd_window=>co_center ).
lo_view_controller = wd_this->wd_get_api( ).
* creating ok button
lo_window->subscribe_to_button_event(
button = if_wd_window=>co_button_yes
action_name = 'YES'
action_view = lo_view_controller
is_default_button = abap_false ).
lo_window->subscribe_to_button_event(
button = if_wd_window=>co_button_no
action_name = 'NO'
action_view = lo_view_controller
is_default_button = abap_true ).
* Set the height and width here
lo_window->set_window_size( width = '40%' height = '5%' ).
lo_window->open( ).
Cheers,
Kris. -
Access the nodes data in a table view (generated by aet).
Hi all ,
I have created a table view in bp overview page.
so it has created new component /ztable/zbol entity .
Now how can i access the nodes of BP page..in the new component created?.thanks vishal ,
but as per the thread,when we create table view using aet ,
Table view in EHP1 CRM 7.0
You dont need to worry about the component usage nor you need to create or handle anything like that for AET compoent for table extension. SAP has a special way to handle it in WD_USAGE_INITIALIZE of component controller for AET extension generated component so its nothing for us to do about it. Thanks to SAP
so still i need to redefine..or can directly access the nodes in do_prepare_output.? -
Updated (VORowImpl ) values are not reflected in inline POPUP table
Hi Expert,
Currently i am getting exception when i try to update my iterator binding,
Here is my use case,
I have view object displayed inside the inline popup as a table. When i modify one of the cell i am firing the value change listener and it is called the ViewObjectRowImpl class method. Inside the method i do some computation (i am executing some DB query to get back some value). After the query execution i am updating the other columns data based on the changes.
First i have PPR the table and check out the update values. Unfortunately the change values are not reflected.
Then i used the following code
DCIteratorBinding itrBinding = findIteratorBinding("EmployeeVO1Iterator");
if (itrBinding != null) {
itrBinding.executeQuery();
itrBinding.refresh(DCIteratorBinding.RANGESIZE_UNLIMITED);
Now i am getting the " JBO-25003: Object EmployeeMgmtAM of type ApplicationModule is not found."
May i know what went wrong? Am i missing anything. May i know how can i refresh the UI table based on the updated VORowImpl. Looking forward hints.
ThanksThanks Frank, Actually i am accessing the client method as follows,
DCIteratorBinding itrBinding = findIteratorBinding("EmployeeVO1Iterator");
if (itrBinding != null) {
EmployeeVORowImpl employeeVO = (EmployeeVORowImpl)itrBinding.getCurrentRow();
empoyeeVO.methodName();
May i know what is the different between accessing the method as shown above and access via the MethodBinding?
How about access the attribute of the View object using the above approach? i.e empoyeeVO.getName() like ....
Also i have configure the ADF looger to finest level and found the primary reason to "Applicaiton module not found" was some entity validation. But this not always happened. Same test case works fine and fails sometimes. I am clueless. Could you please throw some light.
Thanks
Edited by: user1022639 on Feb 7, 2012 5:24 PM -
Data not saved in the table (for the field created through AET)
Hi,
I have created few fields using AET for a transaction type.
The fields are created successfully and we are able to add them in my custom config.
I followed step by step the following link The New AET table Extension Feature of Ehp1- Creating your own components
However the values of these fields are not stored in the ZTable.
I had defined Form view ( 1:1 cardinality) within the wizard itself.
Help!!!
Regards
Omar BBHi,
Check whether your ZRelation Depenedent object entity is getting filled or not.....after input some values.....
Regards,
Sumeet -
Tables in popups not refreshing
I'm having difficulty with some table refreshes within a popup. Here's my scenario. I have a window that displays a table. The user clicks edit, and the table is shown in an “edit” popup. At this point, if the user makes changes, clicks ok, then the table on the beginning page is refreshed correctly. To do this, I am using the following method to refresh the page fragement, AdfFacesContext.getCurrentInstance().addPartialTarget(this.getViewTablex());
Here is the issue,
The user chooses to edit the main table, and the edit popup appears. So far so good. The user then wants to add a new record, they click “Add” within the edit popup so I then show a new popup form where the user enters the fields for the new row. When they click ok on the "add" popup form, then the edit popup (from which they called the add popup) does not refresh the table with the newly added row. The row they added then appears as the first row in the edit popup.
What further complicates this is that I have to validate the "edit" popup rows when they click ok, to make sure all the data is valid, so I can not do a commit on the underlying table until after the validation. But, I need the newly added row in the table (or view) in the edit popup as part of my validation.
So, I have a table that makes use of an edit table popup that in turn makes use of an add form popup. But I cannot commit until I validate the edit popup. The problem is I’m not getting the newly added row that was created in the “add” popup to show up in my edit popup.
Here is the add popup handler I’m using
public void onAddxxxPopupFetchAction(PopupFetchEvent pPopupFetchEvent) {
try {
OperationBinding lOperationBinding =
lBindings.getOperationBinding("CreateInsert");
//If the Insert failed, return a "Severe" message.
Object result = lOperationBinding.execute();
if (!lOperationBinding.getErrors().isEmpty()) {
return;
} catch (Exception e) {
public void addxxxDialogOKAction(DialogEvent pDialogEvent) {
try {
//refresh the page fragment.
AdfFacesContext.getCurrentInstance().addPartialTarget(this.getEditPopupTable());
} catch (Exception e) {
And here is the popup portions of the page fragment
<af:popup id="addPopup" contentDelivery="lazyUncached"
popupFetchListener="#{backingBeanScope.backing_ui_pages_Maintenance. onAddxxxPopupFetchAction }"
popupCanceledListener="#{backingBeanScope.backing_ui_pages_Maintenance.onAddxxxPopupCancelAction}">
<af:dialog id="addDialog"
dialogListener="#{backingBeanScope.backing_ui_pages_Maintenance. addxxxDialogOKAction }"
closeIconVisible="false">
and for the edit popup;
<af:popup binding="#{backingBeanScope.backing_ui_pages_Maintenance.editPopup}"
id="editPopup">
<af:dialog binding="#{backingBeanScope.backing_ui_pages_Maintenance.editDialog}"
id="editDialog" closeIconVisible="false"
dialogListener="#{backingBeanScope.backing_ui_pages_Maintenance.editxxxDialogOKAction}">
I am using JDeveloper 11.1.1.6.0.
Any help would be appreciated.
thanks!
DougSeems like a PPR issue. Try have a partialTrigger corresponding to the OK button of add popup on the table in the edit popup.
Thanks,
TK -
Popup on clicking a column in a table
How do I implement this.
I tried this:
http://www.adftips.com/2010/10/adf-ui-popuputil-class-to-show-or-hide.html
The page controls stop working when I use this method.
I also tried the usual af:showPopupBehaviour on the button in the column in the table
I have a commandLink in the column
Edited by: user597294 on Mar 12, 2012 7:49 AMHere, is the updated sample that opens another popup from a popup.
<af:table value="#{bindings.Departments.collectionModel}" var="row"
rows="#{bindings.Departments.rangeSize}"
emptyText="#{bindings.Departments.viewable ? 'No data to display.' : 'Access Denied.'}"
fetchSize="#{bindings.Departments.rangeSize}" rowBandingInterval="0" id="t1">
<af:column sortProperty="#{bindings.Departments.hints.DepartmentId.name}" sortable="false"
headerText="#{bindings.Departments.hints.DepartmentId.label}" id="c1">
<af:commandLink text="#{row.DepartmentId}" id="ot1" partialSubmit="true">
<af:showPopupBehavior popupId="p1" triggerType="action"/>
</af:commandLink>
<!-- FIRST POPUP -->
<af:popup childCreation="deferred" autoCancel="disabled" id="p1" contentDelivery="lazyUncached">
<af:dialog id="d2" title="Department Details">
<f:facet name="buttonBar"/>
<af:panelGroupLayout id="pgl1" layout="vertical">
<af:panelLabelAndMessage label="Department Id" id="plam1">
<af:outputText value="#{row.DepartmentId}" id="ot3"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="Department Name" id="plam4">
<af:outputText value="#{row.DepartmentName}" id="ot6"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="Manager Id" id="plam2">
<af:outputText value="#{row.ManagerId}" id="ot4"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="Location Id" id="plam3">
<af:commandLink text="#{row.LocationId}" id="ot5" partialSubmit="true">
<af:showPopupBehavior popupId="p2" triggerType="action"/>
</af:commandLink>
<!-- SECOND POPUP -->
<af:popup childCreation="deferred" autoCancel="disabled" id="p2">
<af:dialog id="d3" title="Another Popup">
<f:facet name="buttonBar"/>
</af:dialog>
</af:popup>
</af:panelLabelAndMessage>
</af:panelGroupLayout>
</af:dialog>
</af:popup>
</af:column>
<af:column sortProperty="#{bindings.Departments.hints.DepartmentName.name}" sortable="false"
headerText="#{bindings.Departments.hints.DepartmentName.label}" id="c2">
<af:outputText value="#{row.DepartmentName}" id="ot2"/>
</af:column>
</af:table>Thanks,
Navaneeth -
Good Morning,
I've build a report with <i>REUSE_ALV_GRID_DISPLAY</i>.
After displaying the result the user can execute another process using a button i've created in the STATUS_GUI of the ALV_GRID.
This process does several things, and one of them should be a popup of data i have in one of my internal tables.
I've searched for some functions that could popup an internal table to the screen (POPUP_WITH_TABLE_DISPLAY_OK, POPUP_WITH_TABLE_DISPLAY, POPUP_WITH_TABLE_DISPLAY_OK, POPUP_SHOW_INTTAB) but the display isn't what i wanted... I want to display a popup like a ALV_GRID or ALV_LIST.
Is there any function that does that? If not, how can i do it?
Best Regards,
Pedro Gasparhi ,
use <b>REUSE_ALV_POPUP_TO_SELECT</b>
Check out this code ..
REPORT z_alv_grid_and_popup.
* This program is an example with a Grid list and a Popup list *
* The Sales Orders are displayed in the first list *
* When a line is selected, the items of the order are displayed in *
* a popup list *
* Author : Michel PIOUD *
* Email : [email protected] HomePage : http://www.geocities.com/mpioud *
* Macro definition
DEFINE m_fieldcat.
add 1 to ls_fieldcat-col_pos.
ls_fieldcat-fieldname = &1.
ls_fieldcat-ref_tabname = &2.
append ls_fieldcat to lt_fieldcat.
END-OF-DEFINITION.
TABLES : vbak. " Sales Document: Header Data
TYPE-POOLS: slis. " ALV Global types
SELECT-OPTIONS :
s_vkorg FOR vbak-vkorg, " Sales organization
s_kunnr FOR vbak-kunnr, " Sold-to party
s_vbeln FOR vbak-vbeln. " Sales document
SELECTION-SCREEN :
SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max. "#EC NEEDED
PARAMETERS p_max(2) TYPE n DEFAULT '20' OBLIGATORY.
SELECTION-SCREEN END OF LINE.
DATA:
* Data displayed in the first list
BEGIN OF gt_vbak OCCURS 0,
vkorg LIKE vbak-vkorg, " Sales organization
kunnr LIKE vbak-kunnr, " Sold-to party
vbeln LIKE vbak-vbeln, " Sales document
netwr LIKE vbak-netwr, " Net Value of the Sales Order
END OF gt_vbak,
* Data displayed in the popup list
BEGIN OF gt_vbap OCCURS 0,
posnr LIKE vbap-posnr, " Sales document item
matnr LIKE vbap-matnr, " Material number
arktx LIKE vbap-arktx, " Short text for sales order item
kwmeng LIKE vbap-kwmeng, " Order quantity
netwr LIKE vbap-netwr, " Net value of the order item
END OF gt_vbap.
INITIALIZATION.
v_1 = 'Maximum of records to read'.
START-OF-SELECTION.
PERFORM f_read_data_vbak.
PERFORM f_display_data_vbak.
* Form f_read_data_vbak
FORM f_read_data_vbak.
SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_vbak
FROM vbak
UP TO p_max ROWS
WHERE kunnr IN s_kunnr
AND vbeln IN s_vbeln
AND vkorg IN s_vkorg.
ENDFORM. " F_READ_DATA_VBAK
* Form f_display_data_vbak
FORM f_display_data_vbak.
DATA:
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv.
* Build the field catalog
m_fieldcat 'VKORG' 'VBAK'.
m_fieldcat 'KUNNR' 'VBAK'.
m_fieldcat 'VBELN' 'VBAK'.
m_fieldcat 'NETWR' 'VBAK'.
* Display the first list
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-cprog
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = lt_fieldcat
TABLES
t_outtab = gt_vbak.
ENDFORM. " F_DISPLAY_DATA_VBAK
* FORM USER_COMMAND *
FORM user_command USING u_ucomm LIKE sy-ucomm
us_selfield TYPE slis_selfield. "#EC CALLED
CASE u_ucomm.
WHEN '&IC1'.
READ TABLE gt_vbak INDEX us_selfield-tabindex.
CHECK sy-subrc EQ 0.
PERFORM f_read_data_vbap. " Read data from VBAP
PERFORM f_display_data_vbap.
ENDCASE.
ENDFORM. " USER_COMMAND
* Form f_read_data_vbap
FORM f_read_data_vbap.
SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_vbap
FROM vbap
WHERE vbeln = gt_vbak-vbeln.
ENDFORM. " F_READ_DATA_VBAP
* Form f_display_data_vbap
FORM f_display_data_vbap.
DATA:
ls_private TYPE slis_data_caller_exit,
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv.
* Build the field catalog
m_fieldcat 'POSNR' 'VBAP'.
m_fieldcat 'MATNR' 'VBAP'.
m_fieldcat 'ARKTX' 'VBAP'.
m_fieldcat 'KWMENG' 'VBAP'.
m_fieldcat 'NETWR' 'VBAP'.
ls_private-columnopt = 'X'. " Optimize width
* Display items in a POPUP
CALL FUNCTION <b>'REUSE_ALV_POPUP_TO_SELECT'</b>
EXPORTING
i_selection = ' '
i_tabname = 'GT_VBAP'
it_fieldcat = lt_fieldcat
is_private = ls_private
TABLES
t_outtab = gt_vbap.
ENDFORM. " F_DISPLAY_DATA_VBAP
**************** END OF PROGRAM Z_ALV_GRID_AND_POPUP ******************
Regards,
Santosh -
Howto refresh table after closing a popup
Using JDev 11.1.1.3
I have a table and a popup. The table is populated by records from a datacontrol.
The popup has a form showing details of the selected record in the table. I also use that popup to create new records.
I have problems when pressing the "OK" button on the dialog. The record is saved to the database, a commit has been executed but my table does not show the new record. I need to press F5 before i see the record.
I have tried setting a partialTrigger to the table from the popup but that does not work.
This is the dialogEvent code:
public void enqueteListener(oracle.adf.view.rich.event.DialogEvent dialogEvent) {
if(dialogEvent.getOutcome() != DialogEvent.Outcome.no) {
BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
OperationBinding operationBinding = bindings.getOperationBinding("Commit");
operationBinding.execute();
operationBinding = bindings.getOperationBinding("Execute");
operationBinding.execute();
else {
BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
OperationBinding operationBinding = bindings.getOperationBinding("Rollback");
operationBinding.execute();
}As you see the commit gets executed and after that i execute the Execute to refresh the table but it does not seem to work...
How can i achieve that i do not longer need to press F5 so the record show up directly in the table after the OK button is clicked in the popup?Hi,
you may add this helper method to your basking bean (or base backing bean)
public void refreshUIComponent(UIComponent x) {
AdfFacesContext.getCurrentInstance().addPartialTarget(x);
}When using the addPartialTarget on your adf table component, it will refresh the table entirely.
With the "fetching data....." message etc... (It is a bit heavy)
What would be nice, is to refresh only the current row and not the whole table.
How ?
protected void refreshTableCurrentRow(RichTable xTable) {
//Refresh Table UI Current Row
Set<Object> selectedKeys = xTable.getSelectedRowKeys();
assert selectedKeys.size() == 1;
Object old = xTable.getRowKey();
try {
xTable.setRowKey(selectedKeys.iterator().next());
List<UIComponent> colList = xTable.getChildren();
Iterator iter = colList.iterator();
while (iter.hasNext()) {
UIComponent col = (UIComponent)iter.next();
Iterator iterCol = col.getChildren().iterator();
while (iterCol.hasNext()) {
refreshUIComponent((UIComponent)iterCol.next());
} finally {
xTable.setRowKey(old);
}And call it just after executing the "Execute" operation
operationBinding = bindings.getOperationBinding("Execute");
operationBinding.execute();
refreshTableCurrentRow(getTable());
Regards
Nicolas
Maybe you are looking for
-
Hi! Thank you Advance for your help with this. Just downloaded from internet using Mozilla Firefox a couple books onto my MAC, told it to go to Adobe Digital additions. I can go to add the books using ADE and find them but they are greyed out and
-
HELLO ALL, I AM HAVING A PROBLEM WITH VERTICAL BAR IN MODULE POOL PROGRAM FOR A TABLE CONTROL. WHEN I TRIED WITH WIZARD ITS WORK FINE BUT WHEN I CREATE MANUALLY, FIRST OF ALL IT DOESN'T GIVE ME ANY VERTICAL BAR. Pls do let me know if i need to anythi
-
Hi, This is an idoc to file senario and in this senario, PI receives multiple IDocs in a day and at end of the day PI needs to build a file with one header record, one detailed record for each IDoc and one tril record at the end file. Could you pl
-
How to place multiple images?
Hi, How to place multiple images? Regards, Learner
-
HT1689 how do i download past purchased songs onto itunes on my computer?
How do I download past purchased songs onto my new computer?