How To Build Web Applications Using MDM Web Dynpro
Transcription
How To Build Web Applications Using MDM Web Dynpro
SAP NetWeaver How-To Guide How To Build Web Applications Using MDM Web Dynpro Components Applicable Releases: SAP NetWeaver Master Data Management 7.1 and higher Topic Area: Enterprise Information Management Capability: Master Data Management Version 2.30 December 2013 © Copyright 2014 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. These materials are provided “as is” without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third party web pages nor provide any warranty whatsoever relating to third party web pages. SAP NetWeaver “How-to” Guides are intended to simplify the product implementation. While specific product features and procedures typically are explained in a practical business context, it is not implied that those features and procedures are the only approach in solving a specific business problem using SAP NetWeaver. Should you wish to receive additional information, clarification or support, please refer to SAP Consulting. Any software coding and/or code lines / strings (“Code”) included in this documentation are only examples and are not intended to be used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent. Disclaimer Some components of this product are based on Java™. Any code change in these components may cause unpredictable and severe malfunctions and is therefore expressively prohibited, as is any decompilation of these components. Any Java™ Source Code delivered with this product is only to be used by SAP’s Support Services and may not be modified or altered in any way. Document History Document Version Description 2.30 · Links have been updated. 2.20 · SAP NetWeaver 7.3 is now supported. · As of MDM 7.1 SP07, you can encrypt communication between MDM clients and servers to prevent unauthorized parties from accessing sensitive data. Using a secure connection is documented in the MDM Web Dynpro Component Reference Guide (see Prerequisites section on page 1 for links to the relevant sections of the guide). · As of MDM 7.1 SP07, the MDM Java Connector is packaged in a separate SCA from the Java API library. This information is documented in the MDM Web Dynpro Component Reference Guide (see Prerequisites section on page 1 for links to the relevant sections of the guide). 2.10 Terminology updated to reflect changes in the user interface of the MDM Web Dynpro Configuration Manager 2.00 The How To Consume MDM Web Dynpro Components v1.0 guide has been split into the following two guides: · How To Build Web Applications Using MDM Web Dynpro Components Explains how MDM Web Dynpro components are consumed by other custom Web Dynpro components to create a Web Dynpro application with the flexibility to run as a stand-alone application or in a portal environment. This is the guide you are currently reading (as of v2.0). · How To Integrate MDM and BPM The guide focuses on how to integrate MDM and Business Process Management (BPM) using MDM Web Dynpro Components and Web Services and is available on SAP Developer Network (SDN) at http://www.sdn.sap.com/irj/sdn/howtoguides. The direct link to the guide is: How to Integrate Master Data Management (MDM) and Business Process Management (BPM) 1.00 First official release of this guide: How To Consume MDM Web Dynpro Components Typographic Conventions Icons Type Style Description Icon Example Text Words or characters quoted from the screen. These include field names, screen titles, pushbuttons labels, menu names, menu paths, and menu options. Cross-references to other documentation Example text Emphasized words or phrases in body text, graphic titles, and table titles Example text File and directory names and their paths, messages, names of variables and parameters, source text, and names of installation, upgrade and database tools. Example text User entry texts. These are words or characters that you enter in the system exactly as they appear in the documentation. <Example text> Variable user entry. Angle brackets indicate that you replace these words and characters with appropriate entries to make entries in the system. EXAMPLE TEXT Keys on the keyboard, for example, F2 or ENTER. Description Caution Note or Important Example Recommendation or Tip Table of Contents 1 Business Scenario.......................................................................................................................... 1 2 Prerequisites.................................................................................................................................. 1 3 Building a Stand-Alone Web Dynpro Application ........................................................................... 4 4 Controlling Field Visibility and Required Properties ......................................................................16 5 Limiting Lookup Field Values....................................................................................................... 20 6 Setting Field Default Values in an Item Details Component ......................................................... 25 7 Adding Custom Buttons to an Item Details Component .............................................................. 30 8 Integrating MDM Change Tracker and MDM WD Components .................................................... 35 9 Other Examples .......................................................................................................................... 42 9.1 Splitting WD Components into Portal iViews .............................................................................42 How To Build Web Applications Using MDM Web Dynpro Components 1 Business Scenario SAP NetWeaver Master Data Management (MDM) – Web Dynpro Components SAP MDM Web Dynpro components are consumed (as used components), by custom developed Web Dynpro wrapper applications and can be used for customizing or applying different types of business logic to suit a variety of business scenarios such as Business Process Management (BPM). For more information on how MDM Web Dynpro components can be consumed in a BPM process, see How To Integrate Master Data Management (MDM) and Business Process Management (BPM) available on SAP Developer Network (SDN) at http://www.sdn.sap.com/irj/sdn/howtoguides. MDM Web Dynpro components can also be consumed by custom Web Dynpro components. You can create a Web Dynpro application to run as a stand-alone application or in a portal environment. In this guide we describe how to build a generic stand-alone Web Dynpro application. For more information, see Building a Stand-Alone Web Dynpro Application on page 4. In addition, you can extend or modify the generic behavior of Web Dynpro components at runtime by using User Exits (sometimes called hook methods). User Exits allow you to add your own functionality to SAP’s standard business applications without having to modify the original applications. There are several different types of User Exits, each of which acts as a hook to which you can attach (or hang) your own code. For more information on User Exits, see http://help.sap.com/nwmdm71 ® SAP NetWeaver Master Data Management 7.1 ® Development Information ® MDM Web Dynpro Components: Reference Guide ® MDM Web Dynpro Components User Exits. The following are some examples of how you can apply User Exits to customize MDM Web Dynpro components at runtime to behave according to a particular business scenario: · You can control the properties of a component (for example, whether a field is visible, required, or readonly). For more information, see Controlling Field Visibility and Required Properties on page 16. · You can limit the list of lookup values in a dropdown list for a specific field to show only those values that are relevant for a particular scenario. For more information, see Limiting Lookup Field Values on page 20. · You can set default values for specific fields in an Item Details component so that a user does not have to keep re-entering identical values. For more information, see Setting Field Default Values in an Item Details Component on page 25. · You can add a customized tool bar with buttons to the user interface of an Item Details component. For each custom button you can also add label translations. For more information, see Adding Custom Buttons to an Item Details Component on page 30. · You can split a Web Dynpro application into its components, so that each component takes on the appearance of an individual portal iView. For more information, see Splitting WD Components into Portal iViews on page 42. 2 Prerequisites ... · Prior knowledge of Web Dynpro (Java). For more information, see SAP Help Portal at help.sap.com ® Web Dynpro Architecture December 2013 1 How To Build Web Applications Using MDM Web Dynpro Components · Before you can develop a Web Dynpro application, the following must be in place: ¡ You have installed one of the following supported SAP NetWeaver releases, together with SAP NetWeaver Application Server (AS) Java: § SAP NetWeaver Composition Environment (CE) 7.11 SP04 (or higher) § SAP NetWeaver Composition Environment (CE) 7.2 Note If you are using MDM Web Dynpro components with Business Process Management (BPM) you need SAP NetWeaver Composition Environment (CE) 7.2 SP03 (or higher) § SAP NetWeaver 7.3 or higher. ¡ SAP NetWeaver Developer Studio (NWDS) is installed and running and is the same version as the SAP NetWeaver AS Java you are running. ¡ You are using SAP NetWeaver MDM 7.1 SP04 or higher. ¡ The MDM repository is mounted and loaded. ¡ MDM JAVA API 7.1.is deployed. For more information about deploying the Java API library and MDM Connector, see http://help.sap.com/nwmdm71 ® SAP NetWeaver Master Data Management 7.1 ® Development Information ® MDM Java and .NET API Developer Guide: ¡ § Getting Started with Java API § Installing and Referencing the MDM Connector ® Installation § Deploying the Java API and MDM Connector Using JSPM MDM JAVA WD FRAMEWORK 7.1 7.11 is deployed. For more information, see http://help.sap.com/nwmdm71 ® SAP NetWeaver Master Data Management 7.1 ® Development Information ® MDM Web Dynpro Components Reference Guide: ¡ § Installing the MDM Web Dynpro Environment § Deploying the MDM Web Dynpro Components Framework You have run the MDM Web Dynpro Configuration Manager application and configured your components. For more information, see http://help.sap.com/nwmdm71 ® SAP NetWeaver Master Data Management 7.1 ® Development Information ® MDM Web Dynpro Components Reference Guide ® Configuring a Project in the MDM WD Configuration Manager. · You have imported the MDM Web Dynpro and MDM Java API software components (SC) to your workspace as follows: a. In SAP NetWeaver Developer Studio (NWDS), choose the Development Infrastructure perspective as follows: Window ® Open Perspective ® Other ® Development Infrastructure. b. Import the MDM_JAVA_API softare component to your LocalDevelopment development track as follows: i. In the context menu of the LocalDevelopment track, choose Import SC… The Import Software Component screen opens. ii. December 2013 Browse for the MDMJ710<SP-Number>_P<Patch-Number>.sca file. 2 How To Build Web Applications Using MDM Web Dynpro Components c. Import the MDM_JAVA_WD_FRAMEWORK software component to your development track exactly as you did in step b above for the API. Import the MDMJAVAWDFRW<SPNumber>_P<Patch-Number>.sca file. The following software components appear in the LocalDevelopment track: § MDM_JAVA_API § MDM_JAVA_WD_FRAMEWORK. d. Add a new dependency to the MyComponents SC, for the MDM_JAVA_API and MDM_JAVA_WD FRAMEWORK software components. · You have created a Destination to establish a connection to the MDM repository. For more information, see http://help.sap.com/nwmdm71 ® SAP NetWeaver Master Data Management 7.1 ® Development Information ® MDM Web Dynpro Components: Reference Guide ® Creating a Destination for the MDM Repository. December 2013 3 How To Build Web Applications Using MDM Web Dynpro Components 3 Building a Stand-Alone Web Dynpro Application Important Ensure that you have carried out all the prerequisite steps. For more information, see Prerequisites on page 1. Step 1: Create a new development component (DC) project Info You have already imported the Web Dynpro software component (SC) to your workspace. You are now going to create a new Development Component (DC) Project. ... 1. In SAP NetWeaver Developer Studio (NWDS), choose the Web Dynpro perspective as follows: File ® New ® Web Dynpro Development Component. 2. Choose the software component (SC) where you want the development component (DC) project to be created (that is, in the LocalDevelopment track select the MyComponents software component). Info Local Development is the name of a local development track, within which there is a software component called MyComponents. 3. Name your Web Dynpro DC project test/masterdc. Step 2: Set the dependencies Info Development Components (DCs) may depend on and use each other. To enable a DC to use the functionality of another DC, you have to publish their functions in a set of public interfaces called public parts and a dependency to the public part of the DC must be declared. When you declare dependencies, you select only those public parts that your component actually uses. 4. Choose the Development Infrastructure perspective. 5. In the context menu of the test/masterdc DC, choose Show In ® Component Properties. December 2013 4 How To Build Web Applications Using MDM Web Dynpro Components 6. In the Dependencies tab, add dependencies to the public parts of the relevant UI components as well as the core ear DC: For example: ¡ tc/mdm/wdcomps/core/ear (mandatory) ¡ tc/mdm/wdcomps/itemdetails/wd (optional depending on scenario) ¡ tc/mdm/wdcomps/resultset/wd (optional depending on scenario) ¡ tc/mdm/wdcomps/search/main/wd (optional depending on scenario) December 2013 5 How To Build Web Applications Using MDM Web Dynpro Components 7. Some of the events and interface methods exposed by User Exits use the MDM Java API. To access these events or methods, add a dependency to the MDM Java API (to the api public part of the com.sap.mdm.tech.mdm4j DC). 8. Choose Next to configure the dependencies. Note Uncheck the Build Time checkbox of any DC that has a (red X) next to it. The red X means that its public parts are for internal use only. The name of the DC is also grayed out. December 2013 6 How To Build Web Applications Using MDM Web Dynpro Components Step 3: Create a new Web Dynpro component 9. 10. From the Web Dynpro perspective, expand the test/masterdc Web Dynpro DC project. In the context menu of the Components node, create a new Web Dynpro component called MasterComp. Info The Component Data Modeler is a graphical Web Dynpro design time tool that is integrated into the Web Dynpro perspective of SAP NetWeaver Developer Studio. It is used to graphically define the main application units such as views and controllers. 11. In the context menu of the MasterComp Web Dynpro component, open the Component Data Modeler. Info Web Dynpro components can use the data and functionality found within other Web Dynpro components. To achieve this, a usage declaration must be made to establish a parent-child relationship between the two components. December 2013 7 How To Build Web Applications Using MDM Web Dynpro Components 12. To be able to use an external component define component usage as follows: a. Choose Component Usage from the Palette area on the right hand side of the screen. b. Drag and drop it onto the work area. A New Web Dynpro Component Usage popup window opens. 13. Choose Browse to select the required component. Repeat this step for as many components as you need for your scenario. In our example, three MDM WD components are referenced: Item Details, Result Set, and Search components. 14. Create data links between the components you are using and the Component Controller of the MasterComp WD component. December 2013 8 How To Build Web Applications Using MDM Web Dynpro Components Step 4: Define the Window Info A Window enables the Web Dynpro component to be seen in a Web browser. 15. Choose Components ® MasterComp (name of WD component) ® Windows to open the main MasterCompWindow window. 16. Delete the default view. Info You are now going to define the Viewset for the layout of your Web Dynpro application. December 2013 9 How To Build Web Applications Using MDM Web Dynpro Components 17. In the Viewsets area of the Palette, choose, GridLayout. December 2013 10 How To Build Web Applications Using MDM Web Dynpro Components 18. In the context menu of GridLayout, embed the interface views in the ViewSet cells as follows: Embed View ® Embed Interface View of a Component Instance. 19. Select the relevant interface view. 20. Choose Finish and save the changes. December 2013 11 How To Build Web Applications Using MDM Web Dynpro Components Step 5: Initialize the components Info Each controller has its own set of standard hook methods. These methods are called automatically when you initialize the Web Dynpro components. It is within these methods that you may implement your own code. 21. In the Component Controller of the MasterComp WD Component, initialize the components as follows: Define a variable _repositoryBean of type RepositoryBean in the begin others area as follows: //@@begin others RepositoryBean _repositoryBean = null; //@@end 22. Enter the relevant code in the wdDoInit method: Note When using the setConfiguration method, you must supply the configuration project name and the component name as you defined in the MDM Web Dynpro Configuration Manager (see screen capture below): December 2013 12 How To Build Web Applications Using MDM Web Dynpro Components Step 6: Log off 23. When closing the application, add the following code to the component’s wdDoExit() method: Note The logoff() method destroys the MDM sessions created by the application. 24. Save your changes. 25. Create an application for your Web Dynpro DC as follows: ... a. Open the Web Dynpro perspective. b. In the context menu of the Applications node, choose Create Application. c. Enter a name, for example, MasterApp. Important d. Check the Authentication checkbox. December 2013 13 How To Build Web Applications Using MDM Web Dynpro Components For more information regarding authentication, see http://help.sap.com/nwmdm71 ® SAP NetWeaver Master Data Management 7.1 ® Development Information ® MDM Web Dynpro Components: Reference Guide ® Defining a Trusted Connection. 26. Choose Next and select a reference to an existing WD component. December 2013 14 How To Build Web Applications Using MDM Web Dynpro Components 27. Choose Next and select the Master Component as the Web Dynpro component. 28. Build, deploy, and run the new test/masterdc Web Dynpro DC. Result The runtime behavior is as follows: Search Web Dynpro Component Result Set Web Dynpro Component December 2013 15 How To Build Web Applications Using MDM Web Dynpro Components Item Details Web Dynpro Component 4 Controlling Field Visibility and Required Properties At runtime, you can control properties of a field on the user interface of an Item Details component by configuring the Raise Event property in the MDM Web Dynpro Configuration Manager. Examples of field properties that you can control are: · Visible · Read-Only · Required In this example, we show you how to configure field visibility when the property of one field (Vendor Region), is dependent on another field's values (Country). When Country is USA, Vendor Region is visible and required, and when Country is Japan, Vendor Region is not applicable. Procedure Important Ensure that you have carried out all the prerequisite steps. For more information, see Prerequisites on page 1. Configure the Item Details WD component ... 1. Using the MDM Web Dynpro Configuration Manager , configure an Item Details WD component. For more information, see http://help.sap.com/nwmdm71 ® SAP NetWeaver Master Data Management 7.1 ® Development Information ® MDM Web Dynpro Components: Reference Guide ® Configuring an Item Details Web Dynpro Component. Note In the Item Details wizard, enter the following values: December 2013 § In step 2, add the following three fields: Vendor, Country, and Vendor region. § In step 3, set the Raise Event property to True (only for the Country field). 16 How To Build Web Applications Using MDM Web Dynpro Components S et th e Raise Valu e- to True ( onl y for t he Configure the Event Handler 2. After adding the Item Details WD component as a used component, add a new method to the Component Controller of the custom WD wrapper application. 3. Choose Event handler as the Method Type. 4. Update the following method properties: Property Value Name handleValueChange (any name) Event Source The name of the Item Details WD component that you created in step 1 December 2013 17 How To Build Web Applications Using MDM Web Dynpro Components Property Value Subscribed Event ValueChanged Result: December 2013 18 How To Build Web Applications Using MDM Web Dynpro Components Implement the sample code in the wrapper application 5. Enter the following sample code for the handleValueChange method. (Any custom logic can be executed in the Event handler method). In our example: ¡ USA is selected from the Country field dropdown list. Enter the following values for the Vendor region field properties: ¡ § Visible = true § Required = true Japan is selected from the Country field dropdown list. Enter the following value for the Vendor region field property: Visible = false (Vendor region field will not appear). Result The runtime behavior is as follows: When Country = USA, the Vendor region is visible and set to required * (red asterix). However, when Country = Japan, the Vendor region cannot be seen on the user interface of the Item Details WD component. December 2013 19 How To Build Web Applications Using MDM Web Dynpro Components 5 Limiting Lookup Field Values ... You can limit the list of lookup field values in a dropdown list for a specific field by configuring the Raise Event property in the MDM Web Dynpro Configuration Manager. This example shows you how to limit the values in a dropdown list of a Region field to show only those values that are relevant for a specific country (for example USA). Prerequisites · Ensure that you have carried out all the prerequisite steps. For more information, see Prerequisites on page 1. · In addition to the above prerequisites, ensure that: ¡ A Vendor record has been created ¡ There are two lookup tables: MDM_REGIONS and MDM_COUNTRIES, which are interdependent ¡ The Country field in the MDM_REGIONS table is a lookup to the MDM_COUNTRIES table Procedure Configure the Item Details WD component ... 1. Using the MDM Web Dynpro Configuration Manager, configure an Item Details WD component. For more information, see http://help.sap.com/nwmdm71 ® SAP NetWeaver Master Data Management 7.1 ® Development Information ® MDM Web Dynpro Components: Reference Guide ® Configuring an Item Details Web Dynpro Component. December 2013 20 How To Build Web Applications Using MDM Web Dynpro Components Note In the steps of the Item Details wizard, enter the following values: § In step 2, add the Country and Vendor region fields. § In step 3, set the Raise Event property to True (only for the Countries field). This raises an event for the Country field value change. Configure the Event Handler 2. After adding the Item Details WD component as a used component, add a new method to the Component Controller of the custom WD wrapper. 3. Choose Event handler as the Method Type. 4. Update the following method properties: Property Value Name valueChangedhandler (can be any name) Event Source Select the name of the Item Details WD component that you created in step 1 above. Subscribed Event ValueChanged December 2013 21 How To Build Web Applications Using MDM Web Dynpro Components Implement the sample code in the wrapper application 5. Enter the following sample code for the valueChangedhandler method. Any custom logic can be executed in the event handler method. Example 1 – using a string to limit field values: Result The runtime behavior is as follows: December 2013 22 How To Build Web Applications Using MDM Web Dynpro Components When you select Country = USA, the Vendor region dropdown list is limited to display only USA relevant regions: When you select Country = Canada, the Vendor region dropdown list is limited to display only Canadian regions: December 2013 23 How To Build Web Applications Using MDM Web Dynpro Components Example 2 – using an MDM value to limit field values by record Ids: You can also limit the lookup field values to be specific values (MDM internal Ids). For example, when country = USA, limit the Vendor region dropdown list to include regions with internal IDs 1 and 17. December 2013 24 How To Build Web Applications Using MDM Web Dynpro Components 6 Setting Field Default Values in an Item Details Component ... This example shows you how to define and set default values for fields in an Item Details WD component. This option is used when values are consistent and saves the user from having to keep re-entering the same values. If a value does change, the default values can be overridden. How is this implemented? A subset of fields in the Item Details WD component is populated with preconfigured default values. When the user chooses the Create button on the UI of the Item Details WD component, a CreateRecord event is used as the trigger for a hook method and code is executed (a sample code is provided below). In this example, default values are set for the following fields: · Subject – lookup field to Subjects table · Country – lookup field to MDM_COUNTRIES table · Vendor region – lookup field to MDM_REGIONS table · URL – a standard text field Procedure Important Ensure that you have carried out all the prerequisite steps. For more information, see Prerequisites on page 1. Configure the Item Details WD component ... 1. In the MDM Web Dynpro Configuration Manager, configure an Item Details WD component. For more information, see http://help.sap.com/nwmdm71 ® SAP NetWeaver Master Data Management 7.1 ® Development Information ® MDM Web Dynpro Components: Reference Guide ® Configuring an Item Details Web Dynpro Component. Note In step 2 of the Item Details wizard, select the following fields: December 2013 § Subject § Country § Vendor region § URL 25 How To Build Web Applications Using MDM Web Dynpro Components Field Details Field Name Field Code Lookup Table Lookup Value Lookup Value ID Subject MDM_MDM_SUBJECT Subjects Brushes 24 Country COUNTRY MDM_COUNTRIES USA 11 Vendor region VendorRegion MDM_REGIONS New York 28 URL MDM_MDM_URL N/A N/A N/A December 2013 26 How To Build Web Applications Using MDM Web Dynpro Components The following screen captures show the MDM Data Manager view of the three lookup tables and for each, the selected lookup value and its internal ID. These are the values that have been selected as the default values for the three lookup fields: December 2013 27 How To Build Web Applications Using MDM Web Dynpro Components Configure the Event Handler 2. After adding the Item Details WD component as a used component, add a new method to the Component Controller of the custom WD wrapper. 3. Choose Event handler as the Method Type. 4. Update the following method properties: Property Value Name createRecordHandler (any name) Event Source Select the name of the Item Details WD component you created in step 1 above. Subscribed Event CreateRecord Result showing the new Event Handler method: December 2013 28 How To Build Web Applications Using MDM Web Dynpro Components Implement the sample code in the wrapper application 5. Enter the following sample code for the createRecordHandler method. (Any custom logic can be executed in the Event handler method). The sample code below shows the settings of the following default values: ¡ The first is a multi-valued lookup field, where a multi-value lookup ID is specified. ¡ The second, a URL text field, where a text only value is specified. ¡ The third and fourth fields (lookup fields), where the lookup value record ID is specified. December 2013 29 How To Build Web Applications Using MDM Web Dynpro Components Result The runtime behavior is as follows: In Create mode, the four chosen fields are pre-populated with the default settings. 7 Adding Custom Buttons to an Item Details Component You would typically use this configuration for controlling a BPM process but it can also be used in a standalone custom application. Using the MDM Web Dynpro Configuration Manager, you can add a customized tool bar with buttons, give each button a label (multilingual), and insert a unique Status Text (for example, Reject or Approve). These buttons are visible in a separate row on the UI of the Item Details WD component (above the standard buttons). Procedure Important Ensure that you have carried out all prerequisite steps. For more information, see Prerequisites on page 1. Configure the Item Details WD component ... 1. Using the MDM Web Dynpro Configuration Manager , add the Approve and Reject custom buttons in step 5 of the Item Details wizard. For each custom button, you can add label translations. December 2013 30 How To Build Web Applications Using MDM Web Dynpro Components Example showing the Reject button: Configure the Event Handler 2. After adding the Item Details WD component as a used component, add a new method to the Component Controller of the custom WD wrapper. December 2013 31 How To Build Web Applications Using MDM Web Dynpro Components 3. Choose Event handler as the Method Type. 4. Update the following method properties: Property Value Name completeTaskHandler (any name) Event Source Select the the Item Details WD component you created in step 1 above Subscribed Event completeTaskEvent December 2013 32 How To Build Web Applications Using MDM Web Dynpro Components 5. In the Data Modeler view, select the data link and choose Edit. 6. Map the context by creating and mapping the BPMStatus context attribute of the Item Details WD component. Note At runtime when you choose any of the custom buttons on the UI of the Item Details WD component, the BPMStatus is filled with the values of the Status Text buttons (for example, Approve or Reject), and the Complete event is fired. December 2013 33 How To Build Web Applications Using MDM Web Dynpro Components Implement the sample code in the wrapper application 7. Enter the following sample code for the completeTaskHandler method (any custom logic can be executed in the Event handler method). In our example, the Approve button was chosen. A message, Approve button was pressed is printed by the wrapper application. The same applies for the Reject button. Result The following is the runtime behavior when the Approve button is chosen: The response of the wrapper application to the completeTaskHandler method is: December 2013 34 How To Build Web Applications Using MDM Web Dynpro Components 8 Integrating MDM Change Tracker and MDM WD Components The Change Tracker is a Web Dynpro application that provides a user interface for displaying and viewing changes stored in the MDM Change History database. This example demonstrates how you can define a custom Web Dynpro wrapper application that uses both Result Set and Change Tracker Web Dynpro components. A selectRecord event is fired from the Result Set WD component which passes the record’s internal ID to the Web Dynpro Change Tracker application. However, to list the selected record’s change history, the Change Tracker application expects to receive the record’s permanent ID. Therefore you need to implement a sample code that will convert the internal ID of the selected record to its permanent ID. Prerequisites ... · You have configured a Change Tracker application. For more information, see http://help.sap.com/nwmdm71 ® SAP NetWeaver Master Data Management 7.1 ® Integration of SAP Components with MDM ® Change Tracker Application Guide ® Configuration Process. · You have carried out all prerequisite steps. Important The name of the Change Tracker Web Dynpro software component that you import to your workspace is MDM_WEB_UI. For more information, see Prerequisites on page 1. Procedure ... 1. Using the MDM Web Dynpro Configuration Manager, configure an MDM Project and a Result Set WD component. Note The names of the configured Project and the Result Set WD component will be used in the wdDoInit() method of your wrapper application. December 2013 35 How To Build Web Applications Using MDM Web Dynpro Components 2. Create your custom wrapper WD application using the MDM WD Result Set component and the Change Tracker as used components. Reference the steps in the following procedure as a guideline: Building a Stand-Alone Web Dynpro Application on page 4. We have highlighted some of the changes that you will have to make for this example: ¡ When setting the Dependencies include references to the Result Set WD component, the Change Tracker application, and to the MDM Java API. ¡ When you have defined the Components Usage for this application, you should see the following result: December 2013 36 How To Build Web Applications Using MDM Web Dynpro Components ¡ To initialize the components, add the following code in the '//@@begin others' area of the Component Controller: private RepositoryBean _repositoryBean; private UserSessionContext _userSessionContext; ¡ Add the following sample code to initialize the custom application in the wdDoInit() method: _repositoryBean = new RepositoryBean(); try { wdThis.wdGetResultSetInterface().setRepositoryBean(_repositoryBean); wdThis.wdGetResultSetInterface().setConfiguration("Proj01","rs01"); _userSessionContext = _repositoryBean.getUserSessionContext(); } catch (ConfigurationException e) { wdComponentAPI.getMessageManager().reportException(e.getLocalizedMessa ge() Note When using the setConfiguration method, enter the configuration’s Project name and Result Set WD component name as defined in the MDM Web Dynpro Configuration Manager. ¡ 3. When creating an application for your Web Dynpro DC project, choose your wrapper WD component. Add an Event Handler as follows: a. After adding the Result Set WD component as a used component, add a new method to the Component Controller of the custom WD wrapper application. December 2013 37 How To Build Web Applications Using MDM Web Dynpro Components b. Choose Event handler as the Method Type. c. Update the following method properties: Value Description Name recordSelectionHandler Event Source Select the name of the Result Set WD component that you configured in step 1 above. Subscribed Event recordSelectionEvent December 2013 38 How To Build Web Applications Using MDM Web Dynpro Components The result is the following newly added Event handler method with a parameter which is the permanent record ID value. December 2013 39 How To Build Web Applications Using MDM Web Dynpro Components d. Implement the following sample code in the wrapper application‘s Component Controller. try { String tableCode = wdThis.wdGetResultSetInterface().getTableCode(); RepositorySchemaEx schema = MetadataManager.getInstance(). getRepositorySchema(_userSessionContext); TableId tableId = schema.getTableId(tableCode); GetPermanentIdFromRecordIdCommand command = new GetPermanentIdFromRecordIdCommand(_userSessionContext); command.setRecordIds(new RecordId[]{new RecordId(id)}); command.setTableId(tableId); command.execute(); int[] permIds = command.getPermanentIds(); if(permIds != null && permIds.length > 0) { int permId = permIds[0]; wdThis.wdGetChangeTrackerInterface().setPermanentId(permId); wdThis.wdGetChangeTrackerInterface().selectLookupTable("" + tableId.getIdValue()); } } catch (SessionException e) { wdComponentAPI.getMessageManager().reportException(e.getLocalized Message()); } catch (ConnectionException e) { wdComponentAPI.getMessageManager().reportException(e.getLocalized Message()); } catch (CommandException e) { December 2013 40 How To Build Web Applications Using MDM Web Dynpro Components wdComponentAPI.getMessageManager().reportException(e.getLocalized Message()); } At runtime 4. After you have built and deployed your wrapper application, add the following as a suffix to the URL link that is generated: jdbcAlias=<JDBC_Alias> Where JDBC_Alias is the value you have configured as the JDBC alias property name. For example: http://<Host>:<Port>/webdynpro/dispatcher/<WD_application>?jdbcAlias=< JDBC_Alias> For more information about configuring the JDBC alias property name, see http://help.sap.com/nwmdm71 ® SAP NetWeaver Master Data Management 7.1 ® Integration of SAP Components with MDM ® MDM Change Tracker Application Guide ® Creating a Data Source for a JDBC Connector. 5. Select the record in the Result Set WD component. The Change Tracker application displays the change history of the selected record. December 2013 41 How To Build Web Applications Using MDM Web Dynpro Components 9 Other Examples 9.1 Splitting WD Components into Portal iViews Background In this example, we show you how to split a Web Dynpro application into its components, so that each component takes on the appearance of an a individual portal iView. Process There are three main steps: ... 1. Configure the components. 2. Add your custom wrapper WD application using the components as used components. 3. Add the iViewSplitting property in the application properties and embed the application views in the ViewContainerUIElements. Info The ViewContainerUIElement is a UI element that offers you options when positioning views in the browser window. You can embed this UI element in the layout of an existing view and position it by selecting suitable container layouts (for example, GridLayout). Procedure Configure the components ... 1. Using the MDM Web Dynpro Configuration Manager, configure the following components: ¡ Item Details (name it SplitItemDetails) ¡ Result Set (name it SplitResultSet) ¡ Search (name it SplitSearch) December 2013 42 How To Build Web Applications Using MDM Web Dynpro Components Add your custom wrapper WD application using the components as used components 2. Implement the procedure for creating a stand-alone application (some of the steps may not be valid for this example). For more information, see Building a Stand-Alone Web Dynpro Application on page 4. 3. In the Component Controller of the wrapper application, initialize the MDM repository bean for the three used MDM components (using the project name and component name as keys for the configurations). Code example: December 2013 43 How To Build Web Applications Using MDM Web Dynpro Components Add the iViewSplitting property 4. Choose New to edit the wrapper application’s properties. 5. Select Predefined as the Type of property. 6. Choose Browse to select a predefined application property. 7. Select the iViewSplitting property. December 2013 44 How To Build Web Applications Using MDM Web Dynpro Components 8. Set the Value property to true. The result is as follows: December 2013 45 How To Build Web Applications Using MDM Web Dynpro Components Embed the application Views in the ViewContainerUIElements 9. 10. Add three ViewContainerUIElements as placeholders for containing the three views of the WD components. Repeat the above step three times for each Web Dynpro component. The result is as follows: 11. Under the Windows node, open the SplitToiViewsWindow element. December 2013 46 How To Build Web Applications Using MDM Web Dynpro Components 12. Drag and drop the Interface View from the Palette and associate the interface view of the three components with the corresponding View element you created in the previous step. 13. Save the changes. 14. Build and deploy the new WD application. 15. Log on to portal as Administrator and from the Top Level Navigation (TLN), locate your WD application in the Portal Content role. 16. Copy the Web Dynpro application. December 2013 47 How To Build Web Applications Using MDM Web Dynpro Components 17. Select the target folder and choose Paste as PCD Object. Result The new object includes the properties of a Web Dynpro portal page consisting of three Web Dynpro iViews – one for each for the three MDM Web Dynpro components: Portal Page showing Page Content and Layout View December 2013 48 How To Build Web Applications Using MDM Web Dynpro Components Portal Page showing the Search, Item Details, and Result Set iViews at runtime: December 2013 49 www.sdn.sap.com/irj/sdn/howtoguides