Skip to Content

Hi,
in my blog “Integrating MDM Item-Details-iView into a WebDynpro Application” (Integrating MDM Item-Details-iView into a WebDynpro Application) I have explained how to integrate a MDM-Item Details iView within a Web Dynpro Java application. Of course you can also implement this Web Dynpro application as Guided Procedures Callable Object. From my experience there is one big problem regarding the user acceptance: If a user enters data into the integrated iView and he forgets to click the “Save”-button before he clicks on the “Guided Procedures controll button” he will loose all the entered data because the iView hasn’t saved the data yet to the repository.

The following screenshot shows you this circumstances:

image

Since SAP MDM 5.5 SP6 you have the possibility to add Custom Events to your ItemDetails iView: You can add such a Custom-event in the DesignTime within the Content Administartion of the Portal. The most important information are the following:
– Target => remember this value, you need it in the Web Dynpro application
– Namespace => remember this value, you need it in the Web Dynpro application
– Parameters => use at least [Save Success] and set a Parameter name

image

After configurating these settings you must add into your Web Dynpro source code only two important things:

1. in the wdDoInit() Method: Subscribe to the Event:
WDPortalEventing.subscribe(“urn:com.sap.test.save”,”savetest”,wdThis.wdGetCatchEventAction());

Parameter 1 is the Namespace defined with the Item Details. Parameter 2 is Event Name and the third Parameter is the method which is called then the event is thrown.

2. A new event handler including the corresponding method:
wdGetCatchEventAction()
Thid method will be called as soon as the event is thrown on the page. You can add code like:
  public void onActionCatchEvent(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent, java.lang.String dataObject )
  {
    //@@begin onActionCatchEvent(ServerEvent)
 String [] allFields = new String [1];

 msgMgr.reportWarning(“dataObject: “+dataObject);

// Now you can split or detect the String. Within the String you will have the defined
// Parameter names and the corresponding values. Something like:
// saveall=true&recordId=1
 
    //@@end
  }

Regarding the MDM-GP Integration you can do the following:
By default all buttons which are calling a complete-method are disables. After catching the “Save success” event you can enable the Buttons for the process control (GP-Complete-Method), because the user has clicked (at east once) the SAVE button within the Item Details iView.

 You can see a screencam of the result here:

http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30e9149b-daae-2a10-ca9f-eeb0f4a43bcf

 

Steffen

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply