cancel
Showing results for 
Search instead for 
Did you mean: 

Dialog confirm window

0 Kudos

Hi,

I am getting an error after submitting a "SAVE "button instead of opening a dialog confirmation window. This used to work properly in WAS SP 9 we are facing this problem after upgrading to WAS SP 19. and also i have attached the error and code below.kindly suggest how this can be fixed?

the error is

com.sap.tc.webdynpro.services.exceptions.WDCreationFailedException: com.sap.tc.webdynpro.dialog.confirm.wdp.InternalConfirmationComponentInterface.setProperty(java.lang.String, java.lang.Object)

at com.sap.tc.webdynpro.clientserver.window.ConfirmationDialogDelegate.handleException(ConfirmationDialogDelegate.java:143)

at com.sap.tc.webdynpro.clientserver.window.ConfirmationDialogDelegate.init(ConfirmationDialogDelegate.java:134)

at com.sap.tc.webdynpro.clientserver.window.ConfirmationDialogDelegate.<init>(ConfirmationDialogDelegate.java:63)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createConfirmationWindow(ClientComponent.java:927)

at com.telstra.ma.wdp.myactivityentry.TimesheetCust.openSaveConfirm(TimesheetCust.java:5550)

at com.telstra.ma.wdp.myactivityentry.wdp.InternalTimesheetCust.openSaveConfirm(InternalTimesheetCust.java:2624)

at com.telstra.ma.wdp.myactivityentry.EntryButtonsView.onActionsaveTimesheet(EntryButtonsView.java:172)

at com.telstra.ma.wdp.myactivityentry.wdp.InternalEntryButtonsView.wdInvokeEventHandler(InternalEntryButtonsView.java:150)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)

at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:659)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)

at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:251)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

Caused by: java.lang.NoSuchMethodException: com.sap.tc.webdynpro.dialog.confirm.wdp.InternalConfirmationComponentInterface.setProperty(java.lang.String, java.lang.Object)

at java.lang.Class.getMethod(Class.java:986)

at com.sap.tc.webdynpro.clientserver.window.ConfirmationDialogDelegate.init(ConfirmationDialogDelegate.java:111)

... 32 more

the code is

public void openSaveConfirm( )

{

//@@begin openSaveConfirm()

IWDComponent componentApi = wdThis.wdGetMyActivityEntryCompController().wdGetAPI();

IWDControllerInfo controllerInfo = componentApi.getComponentInfo().findInControllers("MyActivityEntryComp");

IWDConfirmationDialog dialog =

componentApi.getWindowManager().createConfirmationWindow("Note: The cost object selected is not within your business area, do you want to proceed?",

wdControllerAPI.getControllerInfo().findInEventHandlers("saveAfterConfirm"),

"Yes");

dialog.addChoice(wdControllerAPI.getControllerInfo().findInEventHandlers("doNothing"), "No");

dialog.addChoice(wdControllerAPI.getControllerInfo().findInEventHandlers("doNothing"), "Cancel");

dialog.open();

//@@end

}

Thanks and Regards,

Arun

Accepted Solutions (0)

Answers (4)

Answers (4)

former_member201361
Active Contributor
0 Kudos

hi,

please note that if the name of the event Handlers is given incorrect(Even small case letters), the confirmation window will not work properly.please check the names of the event Handlers given in ur code.

and for further information please refer this link

[http://help.sap.com/saphelp_nw04/helpdata/en/b0/184540631d6f13e10000000a1550b0/frameset.htm]

Thanks and regards

Fistae

Former Member
0 Kudos

Try this code

put this code in any button event; that invokes the confirmation window


 public void onActionEnterBtnClick(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
  {
    //@@begin onActionEnterBtnClick(ServerEvent)
	IWDControllerInfo contInfo = wdControllerAPI.getViewInfo().getViewController();
   	
	IWDConfirmationDialog dialog = wdComponentAPI.getWindowManager().createConfirmationWindow( "Your data is entered", contInfo.findInEventHandlers( "ok"), "OK");
	dialog.addChoice( contInfo.findInEventHandlers( "clear"), "Clear");
	dialog.show();
    //@@end
  }

These are the event handlers ok and clear


  //@@begin javadoc:ok(ServerEvent)
  /** Declared validating event handler. */
  //@@end
  public void ok(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
  {
    //@@begin ok(ServerEvent)
                 // Your code for OK
    //@@end
  }

  //@@begin javadoc:clear(ServerEvent)
  /** Declared validating event handler. */
  //@@end
  public void clear(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
  {
    //@@begin clear(ServerEvent)
                      // your code for Clear
    //@@end
  }

Regards

Vinod V

former_member201361
Active Contributor
0 Kudos

hi,

I think the problem is with ur Event Handlers .

While creating the action use the default Event Handlers and Use the code for confirmation window.

Thanks and regards

Fistae

Former Member
0 Kudos

Hi,

You need to have two event handlers for saveAfterConfirm and doNothing in your view.

Add these two events. Hope this will solve your problem.

thanks & regards,

Manoj