lars.rueter

13 Posts

Use case

You want to have an “Additional Account Entry”-Tab in the create and process change request application only when A-segment account is processed in the change request which is determined by change request type. User can input multiple accounts in the account form and provide values to some important fields (not necessary key fields).

 

The data filled in the additional UIBB are stored in a temp Z table, and shall be automatically transferred to change request staging table when full account key (COA and ACCOUNT) is supplied.

 

 A screenshot below: 

 

 

Solution

By implementing method IF_EX_USMD_CREQUEST~INITIALIZE of change request BAdI USMD_CREQUEST, filling exporting parameter ET_ADDITIONAL_UIBB, there will be an additional step/tab displayed in the create/process change request application.

 

By providing change request type in the importing parameter IS_CREQ_CONTEXT of method IF_EX_USMD_CREQUEST~INITIALIZE, the additional UIBB can be displayed dynamically depending on specific change request type.

 

Interaction and data processing of additional UIBB can be handled in method IF_EX_USMD_CREQUEST~PROCESS_EVENT.

 

This function is available since ERP 6 EhP5, and Note 1538919 shall be applied.

Applies to:

ERP 6 EhP5 – Master Data Governance for Supplier

Summary

SAP Master Data Governance provides an out-of-the box solution for the central management of various master data objects such as financial objects, supplier and material. But SAP Master Data Governance also provides the flexibility to customize the solution, in cases where the predelivered content does not fully match customer requirements. The article series will provide an introduction to extensibility for SAP Master Data Governance for Supplier. In this first article the focus will be on extending the data model. The following articles will build on the extended data model and explain enhancements to the SAP Master Data Governance UIs, processes, validations and derivations, data replication, Enterprise Search and print output.

Author(s):  

Lars Rueter  
Company :    SAP AG, Germany   
Created on:    4. March 2011
Author(s) Bio
Mr. Rüter works at SAP in the area of Master Data Management. In the past 11 years at SAP he has held different positions in Asia Pacific and EMEA. He has extensive experience in SAP's Master Data Management product portfolio, Java Development and SAP NetWeaver Portal. As a Consultant and Solution Architect Mr Rüter has been involved in a large number of SAP implementations worldwide.

Content


This article covers part 2.

UI Configuration



The UI is configured with the Floorplan Manager. The Floorplan Manager (FPM) is a Web Dynpro ABAP application that provides a framework for developing new Web Dynpro ABAP application interfaces consistent with SAP UI guidelines.

An FPM application is composed of a number of different Web Dynpro components (most of which are instantiated dynamically at runtime). However, the following two components are always present:

  • A floorplan-specific component (FPM_GAF_COMPONENT or FPM_OIF_COMPONENT)
  • A component for the Header Area (FPM_IDR_COMPONENT)
    In simple terms, the configuration of an FPM application is the configuration of these two components.



Floorplan Manager Configuration



It is recommended to make your changes only in the Floorplan Manager customizing layer of the SAP delivered UI-configuration. In this section you will find step-by-step instructions on how to do this.

In addition to the approach outlined below there are at least two other possibilities for making UI changes. You can either copy a SAP delivered UI-configuration and change the copied configuration or make your changes directly in the configuration layer of a SAP delivered UI-configuration. Both of these approaches are not recommended due to the following disadvantages:

If you make changes directly in the configuration layer of a SAP delivered UI-configuration these changes will always be overwritten if a new version from SAP is imported. Changes within this layer are treated as modifications. Therefore you should not make changes in the configuration layer of the SAP delivered UI-configuration.

If you copy a SAP delivered UI-configuration and change the copied configuration you will also have to copy the UI BAdI. The disadvantage of copying the UI BAdI is, that adjustments made by SAP do not run automatically into your coding.



Recommendation
Working with this example you should make your changes only in the customizing layer of a SAP delivered UI-configuration.



By making your changes in the customizing layer they will be client-dependent and the SAP delivered original will be unchanged. The customizing data will only contain the differences to the original configuration, so you are not disconnected from corrections or new features delivered by SAP in future Service Packs or releases. At runtime the changes of the customizing layer are added to the original configuration and the application will look like you customized it.

Activating administrator mode
You can launch the configuration editor in customizing mode by running the application in administrator mode. This can be achieved by simply adding URL parameter sap-config-mode=X or by launching the application from SE80 by navigating to the application (configuration) you want to start and then Shift+F8 (or via menu 'Web Dynpro Configuration' -> 'Test' -> 'Execute in Administration Mode'.

After starting the application in administrator mode you will see a link in the upper right corner of your application (Adapt Configuration), which will lead you to the configuration editor in customizing mode. The configuration editor in customizing mode will look identical as in the configuration mode, only your changes will not be stored within the original configuration file, but instead in the customer adaptation file.






Figure 1: Execute in Administration Mode




Figure 2: Adapt Configuration Link



Note
To call up administrator mode, you need the S_DEVELOP or S_WDR_P13N authorization profile.



If you do not see the Adapt Configuration link in the top right hand corner of the window after following the steps above you can also try to activate the administrator mode using the steps below.

ACTIVITY
Alternative method to activate administrator mode

  • On the SAP Easy Access screen, choose System -> User Profile -> Own Data
  • On the Maintain User Profile screen, select the Parameters tab.
  • Enter FPM_CONFIG_EXPERT for the parameter ID and A for the parameter value.
  • Choose Save

Adding custom fields
After starting the Floorplan Manager Editor via the Adapt Configuration link you can start adding additional fields to the UI.

ACTIVITY
For example to add the field ZLARS01 to the Organisational Data tab in the Address subview follow the steps below.

  • In the main window make sure Organizational Data and Address items are selected (default)
  • In the Address subview locate the top UI Building Block (Configuration Name: MDG_BS_BP_FORM_UIBB_ADMIN)
  • In this UI Building Block click on Configure UUIB






Figure 3: Navigate to UIBB configuration



  • You are now in the Component Configuration for MDG_BS_BP_FORM_UIBB_ADMIN
  • Click the Add Group button
  • Locate the Group Attributes section
  • In the input field Text enter Extensibility as the group name and press return
  • You have created a group Extensibility
  • Press the Add Melting Group button
  • To add fields to the Melting Group press the Configure Melting Group button
  • In the new window move the fields you want to add from the Available Fields table to the Displayed Fields table
  • When you have finished adding fields click the OK button






Figure 4: Configure Group Dialog



  • You then assign the FPM event ID USMD_ENTER to the new field. Specifying this means that the system triggers a roundtrip when a value is selected from the dropdown list box, allowing dependent UIBB fields to be changed by means of a Business Add-In (USMD_UI_EVENT2).
  • Click the Save button to save the configuration changes






Figure 5: UI Field Extension



(Optional) UI BAdI Implementation

You can override the standard processing of the UI configuration by means of the Business Add-In: Adjust User Interface for Single Processing (USMD_UI_EVENT2). This BAdI allows for extensive UI adjustments. You have options for making changes in the following areas:

  • Adjust the definition of attributes or add new attributes
  • Initialize the displayed data (when creating a new entity type, for example)
  • Restrict the values displayed in a dropdown list field or selection field group
  • Restrict the values displayed in the input help
  • Dynamically control the visibility of fields on the user interface and of the property that determines if fields are required or display-only
  • Define navigation destinations of UI elements of the type hyperlink (or pushbutton)
  • Check if the lead selection of a table may be changed






Figure 6: BAdI Adjust User Interface for Single Processing



If you want to use fields or set default values that do not exist in the data model but that are instead calculated, derived, or defaulted on the UI, you must implement a User Interface BAdI (Business Add In).

Under UI Modeling -> Business Add-Ins -> BAdI: Adjust User Interface for Single Processing (BAdI USMD_UI_EVENT2), create your own implementation.

  • In your implementation, allow the methods that you want to adjust to be inherited from the implementing class of a delivered standard implementation. If the implementing class does not allow inheritance because it is marked as FINAL, you need to create a copy of the class.
  • Deactivate the existing BAdI implementation and activate your new BAdI implementation





Copying a UI BAdI



If you have copied a SAP delivered UI-configuration in a previous step you have to copy the corresponding UI BAdI as well and change the filter value to the new UI configuration ID.

Note
Note that the copy does not automatically contain corrections from Support Packages or SAP Notes. Therefore ensure you check the relevant SAP Notes for the implementing class and manually implement any corrections.

ACTIVITY
In this activity you

  • Copy enhancement implementation MDG_UI_EVENT_SUPPLIER to Z_LR_ MDG_UI_EVENT_SUPPLIER







  • Copy implementation class CL_MDG_BS_UI_EVENT_SUPPLIER to Z_LR_ CL_MDG_BS_UI_EVENT_SUPPLI









  • In your enhancement implementation Z_LR_MDG_UI_EVENT_SUPPLIER change the implementing class from CL_MDG_BS_UI_EVENT_SUPPLIER to Z_LR_CL_MDG_BS_UI_EVENT_SUPPLI









  • In your enhancement implementation Z_LR_MDG_UI_EVENT_SUPPLIER change the filter value to the previously copied UI configuration (for example MDG_BP_SUPPLIER_APPL_RT_1) and delete any obsolete filter entries.









  • Activate your changes

In order to test if your custom UI configuration works together with your copy of the UI BAdI you have to create a new Change Request Type in customizing (activity Create Change Request Type) and set the UI configuration parameter to your previously copied UI configuration (for example MDG_BP_SUPPLIER_APPL_RT_1).









Launching the Create Supplier UI will now allow you to select your custom change request type. This in turn will invoke your custom UI Configuration and customized UI and BAdI.









Testing data model changes

To verify your changes are working create a change request for a new business partner and note the number of the change request from the table My Change Requests. When creating the business partner make sure you enter a value for our custom field ZSDN_CI. To activate the change request you can go through the approval workflow. As an alternative you can start the Business Object Builder transaction SWO1. Enter BUS2250 in the Object Type input field and press the_Test_ button. In the pop-up window enter your change request number. In the following screen execute the method ACTIVATE_2 to activate the business partner.

After the activation you should check tables LFA1 and BUT000 if the value of your custom field was correctly transferred to the active area.





Outlook

The flowing parts will be made available in the future.

  • Part 3: Process Modeling
  • Part 4: Validation and Derivation
  • Part 5: Data Replication
  • Part 6: Enterprise Search (ES)
  • Part 7: Print Output

Related Content

Applies to:

ERP 6 EhP5 – Master Data Governance for Supplier

Summary

SAP Master Data Governance provides an out-of-the box solution for the central management of various master data objects such as financial objects, supplier and material. But SAP Master Data Governance also provides the flexibility to customize the solution, in cases where the predelivered content does not fully match customer requirements. The article series will provide an introduction to extensibility for SAP Master Data Governance for Supplier. In this first article the focus will be on extending the data model. The following articles will build on the extended data model and explain enhancements to the SAP Master Data Governance UIs, processes, validations and derivations, data replication, Enterprise Search and print output.

Author(s):  

Lars Rueter  
Company :    SAP AG, Germany   
Created on:    4. March 2011
Author(s) Bio
Mr. Rüter works at SAP in the area of Master Data Management. In the past 11 years at SAP he has held different positions in Asia Pacific and EMEA. He has extensive experience in SAP's Master Data Management product portfolio, Java Development and SAP NetWeaver Portal. As a Consultant and Solution Architect Mr Rüter has been involved in a large number of SAP implementations worldwide.

Content


  • Part 1: Data Model
    • Overview
    • Extending active area data model
    • Extending staging area data model
    • Defining mapping between Active and Staging area data models
    • Implement Enhancement Spot CVI_CUSTOM_MAPPER
    • Testing data model changes
  • Part 2: UI Modeling
  • Part 3: Process Modeling
  • Part 4: Validation and Derivation
  • Part 5: Data Replication
  • Part 6: Enterprise Search (ES)
  • Part 7: Print Output

This article covers part 1.

Overview

In SAP Master Data Governance data can be stored in a staging- or active area. The location used for the temporary storage of the working version of master data that is undergoing change within a change request process is called staging area. The location used for the permanent storage of the active instances of master data after changes have been approved by a change request process is called active area.

Extending the data model in SAP Master Data Governance with custom attributes or tables involves changes to the data structures in both the active and staging areas and defining a mapping between these data structures.

Extending active area data model

Extending BUT000

The extension of standard entity types is a common and straight forward task. Let’s say you want to extend SAP Master Data Governance for Supplier by a custom field called ZSDN_CI. You start by extending the append structures for supplier (BUT000). You add the field to structures CI_EEW_BUT000 and CI_EEW_BUT000_X.


Figure 1: Extending structure INCL_EEW_BUT000




Figure 2: Extending structure INCL_EEW_BUT000_X



Extending LFA1

Next you extend the append structures for vendor (LFA1). You add the field to structures VMDS_EI_VMD_CENTRAL_DATA and VMDS_EI_VMD_CENTRAL_DATA_XFLAG .




Figure 3: Extending structure VMDS_EI_VMD_CENTRAL_DATA




Figure 4: Extending structure VMDS_EI_VMD_CENTRAL_DATA_XFLAG



Extending staging area data model

Extending MDG BP data model

Finally you extend the data model in SAP Master Data Governance. Using the IMG activity Edit Data Model as an entry point you add our field ZSDN_CI to the Entity Type BP_CENTRAL of data model BP.




Figure 5: List of Entity Types for data model BP




Figure 6: List of attributes for Entity Type BP_CENTRL



Generating MDG tables

Since the MDG data model was changed you need to regenerate the tables. In this customizing activity, for each data model and entity type you generate technical structures and tables in the ABAP Dictionary. The system uses these structures internally for implementing the staging area. To generate these Data Model-specific structures follow the steps below:

ACTIVITY

  • In Customizing for Master Data Governance, choose General Settings -> Data Modeling -> Generate Data Model-specific structure
  • Select the row with Data Model BP
  • Double-click Structures in the left hand panel
  • Click Generate Structures
Note
In general if you change a data model (for example, if you change attributes of entity types or relationships), you need to regenerate the structures.



To verify that your custom fields have been added to the MDG-generated tables follow the steps below

ACTIVITY

  • Start the ABAP Editor with transaction SE38
  • In the Program input field enter USMD_DATA_MODEL
  • Execute the program
  • In the Data Model input field enter BP
  • Click on Execute
  • In the column Included Entity Type double-click on BP_CENTRL
  • On the Fields tab in the Field column verify that your custom field is listed here





Defining mapping between Active and Staging area data models

The Service Mapping Tool (SMT) is a program that enables you to fill target structures by using sets of source structures (in ABAP). It supports simple mappings, mappings with field transformations, complex transformations and field checks.

Information: The SMT mapping-steps below lead to a modification. Consider using a modification free extension of the SMT mapping as described here: http://help.sap.com/saphelp_tm80/helpdata/en/eb/f6e013951540d9abed8a64157ac984/frameset.htm

Defining mapping from Staging- to Active area

In this activity you will use the Service Mapping Tool to map your custom field from Staging- to the Active area.

ACTIVITY

  • In Customizing for Master Data Governance, choose General Settings -> Data Modeling -> Create and Edit mappings -> Create and Edit mappings
  • From the drop-down select Mapping -> Open
  • In the name input field enter (or use F4 to select) BP_BP_CENTRAL _2API, Central Data -> API
  • The following two mapping steps are relevant
    • Central Business Partner Data
    • X Structure for Central Business Partner Data
  • Select mapping step Central Business Partner Data
  • Press Details
  • Select Transformations tab
  • Select row (00001, Field Mapping)
  • Add field
    Field Mapping Table
     
    Field  |Source Structure |Source Field
    ZSDN_CI |MDG_BS_BP_BP_CENTRL |ZSDN_CI
    
  • Save changes

ACTIVITY

  • In Customizing for Master Data Governance, choose General Settings -> Data Modeling -> Create and Edit mappings -> Create and Edit mappings
  • From the drop-down select Mapping -> Open
  • In the name input field enter (or use F4 to select) BP_BP_CENTRAL _2API, Central Data -> API
  • The following two mapping steps are relevant
    • Central Business Partner Data
    • X Structure for Central Business Partner Data
  • Select mapping step X Structure for Central Business Partner Data
  • Press Details
  • Select Transformations tab
  • Select row (00001, Field Mapping)
  • Add field
    Field Mapping Table
     
    Field  |Source Structure |Source Field
    ZSDN_CI |MDG_BS_BP_BP_CENTRL_X     |ZSDN_CI
    
  • Save changes



Defining mapping from Active- to Staging area

ACTIVITY

  • In Customizing for Master Data Governance, choose General Settings -> Data Modeling -> Create and Edit mappings -> Create and Edit mappings
  • From the drop-down select Mapping -> Open
  • In the name input field enter (or use F4 to select) BP_BP_CENTRAL _2STA, Central Data -> Staging
  • The following mapping step is relevant
    • Central Data
  • Select mapping step Central Data
  • Press Details
  • Select Transformations tab
  • Select row (00001, Field Mapping)
  • Add field
    Field Mapping Table
     
    Field  |Source Structure | Source Field
    ZSDN_CI |BUS_EI_EXTERN |CENTRAL_DATA-COMMON_DATA_ ZSDN_CI
    
  • Save changes

    ACTIVITY
  • In Customizing for Master Data Governance, choose General Settings -> Data Modeling -> Create and Edit mappings -> Create and Edit mappings
  • From the drop-down select Mapping -> Open
  • In the name input field enter (or use F4 to select) MDG_BS_BP_MAP_2STA, Mapping Business Partner general data to MDG staging
  • The following mapping step is relevant
    • Central Data
  • Select mapping step Central Data
  • Press Details
  • Select Transformations tab
  • Select row (00001, Field Mapping)
  • Add field
    Field Mapping Table
     
    Field  |Source Structure |Source Field
    ZSDN_CI |BUS_EI_EXTERN |CENTRAL_DATA-COMMON_DATA_ ZSDN_CI
    
  • Save changes



Implement Enhancement Spot CVI_CUSTOM_MAPPER

To map our custom field from business partner to vendor and back you must implement interface IF_EX_CVI_CUSTOM_MAPPER of enhancement spot CVI_CUSTOM_MAPPER. You should at least implement the methods highlighted in the figure below.




Figure 7: BAdI class with relevant mapping methods highlighted



IF_EX_CVI_CUSTOM_MAPPER~MAP_BP_TO_VENDOR
method IF_EX_CVI_CUSTOM_MAPPER~MAP_BP_TO_VENDOR.
 
  c_vendor-central_data-central-data-zsdn_ci = i_partner-central_data-common-data-zsdn_ci .
  c_vendor-central_data-central-datax-zsdn_ci = i_partner-central_data-common-datax-zsdn_ci .
endmethod.
 





IF_EX_CVI_CUSTOM_MAPPER~MAP_VENDOR_TO_BP
method IF_EX_CVI_CUSTOM_MAPPER~MAP_VENDOR_TO_BP.
 
   c_partner-central_data-common-data-zsdn_ci  = i_vendor-central_data-central-data-zsdn_ci .
   c_partner-central_data-common-datax-zsdn_ci  = i_vendor-central_data-central-datax-zsdn_ci .
endmethod.
 



Testing data model changes

To test if our data model changes really work we need to extend the UI by our custom field ZSDN_CI first. This step will be shown in the next part of this blog.

Outlook

The flowing parts will be made available in the future.

Related Content

*Applies to:* ERP 6 EhP5 – Master Data Governance for Supplier h3. Summary This article provides implementation details for a simplified cross system Supplier On-boarding scenario leveraging SAP’s Enterprise Master Data Management portfolio consisting of SAP NetWeaver Master Data Management (available since 2004) and SAP Master Data Governance (currently in Ramp-Up). The overarching process is modeled using SAP NetWeaver Business Process Management. h3. Author(s):   Lars Rueter   *Company :*    SAP AG, Germany    *Created on:*    4. March 2011 *Author(s) Bio* Mr. Rüter works at SAP in the area of SAP Master Data Governance. In the past 11 years at SAP he has held different positions in Asia Pacific and EMEA. He has extensive experience in SAP's Master Data Management product portfolio, Java Development and SAP NetWeaver Portal. Mr Rüter has been involved in a large number of SAP implementations worldwide. h2. Cross system create supplier process In our example we will build a cross-system supplier self-service registration and approval process. A supplier registers via a website and enters some initial data such as company name, street, city and postal code. These global attributes are stored in NetWeaver MDM for further distribution to Non-SAP systems. When the supplier is approved by the master data specialist a change request is automatically generated in SAP Master Data Governance. A workflow in SAP Master Data governance ensures that all ERP specific attributes are maintained. After final approval in SAP Master Data Governance the new supplier is activated and distributed. After activation a notification is send to the original requester. *Figure 1: High-level process overview* In figure 2 below you see which systems are part of the process: 0.1. (A) SAP Master Data Governance – maintenance and distribution of ERP specific attributes 0.2. (B) SAP NetWeaver MDM - maintenance and distribution of global attributes 0.3. (C) NetWeaver CE – process runtime, process specific UIs, process worklist, web service consumption and provisioning 0.4. (D) NetWeaver Developer Studio – process designtime *Figure 2: System Landscape* As mentioned above the process was implemented using NetWeaver BPM for the design and execution of the cross-system process. But we also leverage the out-the-box governance process in Master Data Governance for maintenance of ERP specific attributes. *Figure 3: Technical process overview* The figure above provides a more technical process overview using the Business Process Modeling Notation (BPMN) notation from SAP NetWeaver BPM: 0.1. (1) The initial supplier registration web page triggers the start web-service of the BPM process 0.2. (2) The global attributes from the registration web-page are used to create a new supplier record in SAP NetWeaver MDM 0.3. (3) In this human interaction step a new supplier is being approved 0.4. (4) BPM calls a SAP Master Data Governance Web Service to create a change request with the initial supplier data. This also triggers a SAP Business Workflow in SAP Master Data Governance. 0.5. (5) This step in BPM is called an intermediate message event. The process waits for a message to come in from Master Data Governance before the flow commences. Early in the SAP Business Workflow process we have inserted a task to call BPM. In this call we transmit the ID of the change request. 0.6. (6) BPM uses the change request ID from SAP Master Data Governance to send an e-mail to the original requestor. The e-mail contains a link to the SAP Business Workflow log. Using this link the original requestor can monitor the status of the change request in MDG. 0.7. (7) After sending an e-mail the BPM process waits again for a message from SAP Master Data Governance. This time SAP Master Data Governance sends a message at the end of the SAP Business Workflow process and after the Supplier has been finally approved and activated. The message includes the final ID of the Business Partner in the primary persistence. 0.8. (8) The last step in the BPM process informs the original requestor that the new Business Partner has been created and activated. h2. Implementation Steps Integration between NetWeaver MDM and BPM has already been sufficiently documented on SDN. In this section the focus is on the integration between SAP Master Data Governance and NetWeaver BPM. Therefore we look specifically at the three integration points numbered step 4, step 5 and step 7 in figure 3 above. In step 4 we show how the inbound communication to SAP Master Data Governance was realized using a standard Web Service. The steps 5 and 7 are technically very similar in the sense that they both use a web service client proxy to transmit process status information from the SAP Business Workflow back to SAP NetWeaver BPM. h3. Using the inbound Business Partner Web Service The ESR Web Service used to create a Business Partner in our scenario is called +BusinessPartnerSUITEBulkReplicateRequest_In+. In order to leverage this Web Service to automatically create a change request and key-mapping in SAP Master Data Governance , the method INBOUND_PROCESSING of BAdI MDG_SE_BP_BULK_REPLRQ_IN in Enhancement Sport MDG_SE_SPOT_BPBUPA has to be implemented. *IF_MDG_SE_BP_BULK_REPLRQ_IN~INBOUND_PROCESSING*
METHOD if_mdg_se_bp_bulk_replrq_in~inbound_processing. DATA ls_user_setting TYPE mdg_user_proxy_setting. DATA lt_user_setting TYPE mdg_user_proxy_setting_t. DATA lv_crtype TYPE mdg_sup_change_req. if in-message_header-business_scope-id-content = 'BPM'. ls_user_setting-field_name = 'PROXY_PERSISTANCE'. ls_user_setting-field_value = '1'. APPEND ls_user_setting TO lt_user_setting. ls_user_setting-field_name = 'SUPPLIER_CHANGE'. SELECT SINGLE usmd_creq_type INTO lv_crtype FROM usmd1601 WHERE usmd_process = 'SUP1'. * ls_user_setting-field_value = lv_crtype. APPEND ls_user_setting TO lt_user_setting. CALL METHOD cl_mdg_bp_bupa_si_in=>if_mdg_upload_proxy~setup_for_file_upload EXPORTING iv_instance = 1 * IO_UPLOAD_DIALOG = it_user_setting = lt_user_setting. endif. ENDMETHOD. The code first checks the +scope-id+-element in the message header. The SAP Master Data Governance load will only continue if the +scope-id+-element is set to +BPM+. The proxy implementation of the inbound service uses the context of the SAP Master Data Governance-file-upload-framework to determine how the incoming data has to be processed. We use the enhancement spot to set the file upload framework context in such a way that the incoming data is stored in the SAP Master Data Governance staging area and a change request of type SUPPL01 (Create Supplier) is being created. If key-mapping information was send as part of the Web Service call, the key-mapping for the new supplier will automatically be updated. The ABAP code in the Enhancement Sport looks for the first process type +SUP1+ in table USMD1601 and takes the change request type from that line. In our example LRDEMO will be selected as change request type when the web service is called (refer to table USMD1601 in figure 4 below). You may have to adapt the ABAP code to ensure your custom change request type (as defined in the following section _ Customizing the governance process_) is correctly assigned in the Enhancement Spot.  *Figure 4: Table USMD1601* An example XML document to test the web service is attached to this wiki. | !http://wiki.sdn.sap.com/wiki/images/icons/emoticons/information.gif|height=16|alt=|align=absMiddle|width=16|src=http://wiki.sdn.sap.com/wiki/images/icons/emoticons/information.gif|border=0! | *Test your scenario – Inbound Web Service* You should now test if the implementation is working. Using a Web Service test tool such as the SAP Web Service Navigator you can call the Web Service. After successful execution you should find a new change request in the POWER -List (Personal Object Work Entity Repository). You can access the POWER-List via the supplier role in SAP Master Data Governance. | h3. Customizing the governance process Your Web Service is working? Good! Your inbound connection to SAP Master Data Governance is now ready. Next we need to establish the outbound connection to NetWeaver BPM. In our example we extend the governance process for create supplier by two additional SAP Business Workflow tasks. Each of the two tasks sends a message to NetWeaver BPM. Since we do not want to modify the SAP delivered workflow template and change request type, we first create a copies. Look up the id of the workflow template for +Create Supplier+: Open MDG IMG activity +Create Change Request Type+ and find the row with change request type SUPPL01 (Create Supplier). In the same row you find the workflow template id for this change request type. 0.1. Open the +Workflow Builder+ (transaction swdd) and create a copy of the SAP delivered workflow template for +Create Supplier+ (use the workflow template id from the previous step). Do not forget to save and activate you new workflow template. 0.1. In MDG IMG activity +Create Change Request Type+ create a copy of the SAP delivered change request type SUPPL01 (Create Supplier). Assign the new workflow template id from the previous step to the new change request. In our example we have created a custom change request type LRDEMO which is linked to workflow template WS99900008 (Firgure 5 below). 

SAP Master Data Governance provides a flexible framework for extending and enhancing the predelivered solution components. The following guides provide supplementary documentation on selected extensibility topics.

 

The  following article was jointly written by Jochen Rundholz and Lars Rueter from the NetWeaver Regional Implementation Group APJ.

A SAP Tutor Demo can be downloaded from the URL mentioned above or directly from here. You need the SAP Tutor to view the demo. The SAP Tutor can be downloaded from Service Marketpalce.

1 Introduction


In every SAP NetWeaver Portal implementation project you have to setup processes to create PCD content, to validate and approve it. Most implementation teams do manual checks which of course might lead to errors, so these processes and checks should be automated as much as possible. Most people don’t see how SAP supports this task automation, but in fact there are toolsets available to achieve exactly this. In this blog Jochen Rundholz and Lars Rueter from the NetWeaver Regional Implementation Group APJ would like to introduce the considerations and corner stones of a successful content creation and governance process.

2 The lifecycle of EP content


The lifecycle of EP content has many facets and some people might tend to break up the lifecycle into smaller pieces and consider them separately. We believe that it is necessary to view the lifecycle has a holistic process. This process spans from requesting content to the deletion of obsolete content. In this part of our blog we’d like to introduce the different parts of this lifecycle and point out important considerations.

2.1 Content Request


Content might be requested by any team, department or individual within a corporation. The requested content might range from a simple update of a news iView to the development of a completely new portal application. The request process has to cater for all these different kinds of content and still should be easy and simple to use. Providing different (paper) forms for different kinds of content is one option and usually the easiest to setup – but certainly not the easiest to use.
A better approach is to have some request application. This can be any kind of application for example a guided procedure, within such an application you are guided through all information necessary to define what content you might want to have. There won’t be any question about an application you might want to integrate if on the first screen was specified that a news iView has to be updated. Tools like theses – which have to be developed for each customer project – ensure that the (usually expensive) EP experts don’t have to cope with incomplete or wrong request and concentrate on their work. For example:

Select the project or department you need new content for:
Select the project or department you need new content for.

Select the project or department you need new content for 

Choose what type of content you need:

Choose what type of content you need
 

And give the details appropriate for the above selected content:

Give the details appropriate for the above selected content

One important feature necessary for the content request is the approval of the content before it gets implemented. Depending on your user role and the content you request there might be some pre-approval to speed up the process (You don’t want to wait 2 weeks until a news iView gets updated). For other content it might be necessary to get the approval of several people.

2.2 Content Creation


2.2.1 Enforcing Standards


The content creation is the central part to be automated. Consider an iView to be created and all the properties which have to be set according to some project specific standards, e.g. PCD folder, naming standards, etc. Reviewing that all these standards are met can take a considerable amount of time since an enforcement using the object creation wizards are not possible. Nevertheless it is possible to enforce standards – and dramatically lower the error rate – using tools around the generic creator. The generic creator is a tool ship with the NetWeaver portal to create content based on an XML description. It is necessary to develop these tools specifically for the project, though that’s fairly simple. See the next chapter for an extensive coding example how such a tool could look like. Imagine a situation where you want to copy a BI iView, looking for a template manually you typically find many different templates which look suitable. Every consultant helping out will most likely choose a different one. Using a tool as described above will end such a situation since in the tool’s standards is described which is the template to be used.
Of course such a tool could take the basic input already from the content creation request to even lower manual work. Documentation could be attached as well, etc. The possibilities to integrate all the necessary features for the content lifecycle are endless.

2.2.2 Global Organizations


Globally distributed organizations should put a special attention on the structure used in the PCD. Though there is no compulsory structure for the PCD, there are different approaches to support an organizational setup. The PCD structure could for example be structured like the regions where the business operates or by subsidiaries. Important is that a delegated content administration can be easily set up and that the content teams can find themselves in the PCD structure in one way or another.

2.3 Transport


Once the content is created it has to be transported into the test environment and later into the production system. In a portal environment it is very common to have all kinds of different objects belonging logically together, but they are spread across different systems. In addition to that for some objects there might not be the technical possibility to include them into a transport request. On a technical level most issues can be solved when CTS+ is used, on an organizational level other tools like Solution Manager ChaRM can be used.

2.4 Testing


Of course the newly created content has to be tested. The amount of testing depends heavily on the type of content created. When testing the new content test not only the features which are implemented but also all other aspects. Involve the security team to check if there are security flaws. Involve the basis team to check that the new content doesn’t have a major performance impact.

2.5 Content go-live


You’re done! Now your content can be set live. Stop, you’re not done. The content lifecycle doesn’t end here. Imagine how large the pile of your content objects will grow if you never clean it up.

2.6 Finding and deleting obsolete content


The last – and recurring – step in our content lifecycle is to find out if your content is used and what to do with it if it is not used. SAP provides a tool to support you in such a task: Activity Data Collector (ADC). This tools writes very detailed statistical records about the used content, you even can find single KM documents you can delete because they are not access anymore.

3 Tool based Content Creation


This section introduces a prototype for the semi-automatic creation of portal objects (iViews, pages, roles, etc). The main aim of this prototype is to enforce certain governance standards when new objects are created and to add an approval and tracking capabilities for object creation. The requesting user can still define certain properties like object name and description, however most settings are predefined in project settings. All portal objects have to be assigned to a project at the time the request is created out.

Main improvements for portal content creation
• enforce governance standards
• approval process and tracking enhances auditability

3.1 Implementation


The prototype was implemented fully leveraging the capabilities of the SAP NetWeaver platform. The core components are Java EE 5 beans providing the project configuration and generation PCD content from project settings. The process layer is based on NW BPEM. Human interaction steps are realized in WebDynpro.

Used ccomponents
• WebDynpro for UI
• NW BPEM for process integration
• Java EE 5 Beans running on SAP NetWeaver AS
• SAP NetWeaver Portal Generic Creator API to create PCD content

The figure below shows the different components of the prototype and how they relate to each other.

Implementation details

3.2 Process Details


In the prototype only a simple one step approval has been implemented. But since NetWeaver BPEM was used, the scenario could be a lot more complex including runtime process configuration options using the integrated rules engine.
In the first step a user creates a request for a new portal object (URL iView in the SAP Tutor example). The request is submitted and needs to be approved by an assigned project manager. Once approved the object is automatically created in the PCD. The PCD folder structure and access permissions are generated as defined in the project settings.

Process details
The following images show the different steps of the process. In the first screen you see the form used to request a new portal object. In this form you have to select a project for the portal object. Governance standards are enforced because the object inherits settings from the projcets. These settings include namespace, permissions and PCD location. 

Portal Object Request 

In this screen the object type is selected.

Select Object Type

Next a confirmation screen is displayed and the request has entered an approval workflow.

Confirmation

The approval request is displayed in the Universal Worklist of the project manager.

 Universal Worklist

Once approved the portal object is created in the PCD and is ready to be used.

 Portal Content Directory

Contents

Reasons for Geographically Distributed Portals
SAP NetWeaver Portal Deployment Options
Portal Flavors
Information Portal Deployment Considerations
Conclusion
References

https://weblogs.sdn.sap.com/cs/blank/edit/wlg/Reasons for Geographically Distributed Portals

In complex environments there could be the need to operate more than one portal for different reasons. In the TechEd 2007 session "Best Practices for Building a Portal Infrastructure" Thomas Hensel and Sven Kannengiesser distinguish business driven and technology driven reasons.

Business driven

  • Business Autonomy
    • Organizational units want to have their own portal (e.g. for testing, sensitivity)
    • Organizational / legal requirements (e.g. portal per org unit, department, project)
    • Sharing a portal across multiple customers (service providers)
  • Geographical Distribution
  • Service Level Agreements
    • Performance: expected response times
    • Availability: 24x7
    • Risk: critical vs. non-critical applications
    • Tracking and Reporting
  • Corporate Governance and Guidelines

Technology Driven

  • Platform & Release
  • Release version & lifecycle (SP Update)
  • Hardware, operating system
  • System landscape (dev, test, prod)
  • Connections between systems
  • Security & Policies
    • Storage of data and user information
    • Access permissions
    • Administration: Configuration, Operations, Monitoring
  • Technical dependencies Release dependencies between applications and portal (e.g. BI, xApps, CE, XRPM, Collaboration Portal, etc.)

https://weblogs.sdn.sap.com/cs/blank/edit/wlg/SAP NetWeaver Portal Deployment Options

Depending on your specific requirements there are several ways you can go about deploying a geographically distributed portal.

https://weblogs.sdn.sap.com/cs/blank/edit/wlg/Single Central Portal

 

Single Central Portal

Approach
Integrating all applications, services and information into one central portal

Benefit

  • Centrally governed and administrated portal
  • Simple landscape setup

 

Federated Portal Network

 

Federated Portal Network

Approach
Using FPN mechanism for sharing certain content between multiple portals

Benefit

  • Central access to content via consumer portal
  • Autonomous sub-portals
  • Independent administration (e.g. release version)

 

Separate Portals

 

Separate Portals

Approach
Installation of autonomous portals for dedicated scenarios

Benefit

  • Full flexibility in administration (e.g. release version)
  • Avoid any dependencies or impacts (security aspects)

 

https://weblogs.sdn.sap.com/cs/blank/edit/wlg/Portal Flavors

The deployment option you choose for your SAP NetWeaver portal will be influenced by a number of constraints such as business demands, technology constrains and also the main intended usage type for your portal.

The SAP NetWeaver Portal has evolved over the years from a plain information and application portal to a real process portal. Some of the key aspects of the different portal flavors are pointed out below:

  • Information Portal (Managed / Collaborative)
    Supports governed content management and publication of information
    Empowers team work, collaborative content authoring & communities

  • Application Portal
    Provides a central and secure access point to business applications

  • Process Portal
    Increases people productivity through contextual information and services

https://weblogs.sdn.sap.com/cs/blank/edit/wlg/Information Portal Deployment Considerations

Even though portals have evolved to process portals, most portals today are still also being used as information portals.

For an information portal that heavily relies on the Knowledge Management and Collaboration components of the SAP NetWeaver Portal it has significant advantages to implement it as a Single Central Portal. Main advantage of the central portal approach over federated or separated portals being the fact that content distribution is not required (since everything is located centrally).

Usually performance is a concern in geographically distributed Portal installations. From a performance point of view SAP Application Delivery over WAN (ADoW) or third party services such as Akamai, CacheFly, etc can be used to improve application performance in a central portal deployment.

If you are not implementing a central portal ICE or with SPS13 CTS+ can help you distributing Knowledge Management Content between the different portal nodes.

https://weblogs.sdn.sap.com/cs/blank/edit/wlg/Conclusion

For geographically distributed Portals that make a lot of use of the Knowledge Management and Collaboration components of the SAP NetWeaver Portal the effort for content synchronization can be minimized by choosing a central deployment option. Performance can be enhanced by using external content distribution network services or deploying caching services like SAP Application Delivery over WAN (ADoW).

https://weblogs.sdn.sap.com/cs/blank/edit/wlg/References

Problem Description

You are trying to install the UWL connector for SAP Office messages and run into a problem that you believe is related to authorizations.When a user tries to see the notifications in the UWL, the user gets an error. The log file shows the following messages.
Workflow SomProviderConnector 31.07.2007 16:43:11 Exception occured Exception type:com.sap.netweaver.bc.uwl.connect.ConnectorException Message:Tue Jul 31 16:43:11 CEST 2007
(Connector) :com.sap.uwl.som.provider.SomInboxProviderException:Exception on FOLDER:com.sapportals.connector.ConnectorException: Nested Exception. Failure to execute native function. Nested Exception. OPERATION_NO_AUTHORIZATION, Nested Exception. Failure to execute native function. Nested Exception. OPERATION_NO_AUTHORIZATION
When you run the function modules used by the connector directly in SE37 you don't get any error messages.

Problem Solution

Implement note Note 1020669 - Portal user retrieves connection with wrong backend user. 

Thank's to Rui Goncalves who pointed out the problem and pointed me to the solution.

Encryption can take place in any layer of the storage stack. In a SAP NetWeaver Portal environment the storage architecture is extended by an extra layer in form of the Repository Framework.

 

Storage Stack Layers

 

  • Physical Disk - full disk encryption (FDE)

  • Logical disk – encryption of logical disks
  • Filesystem - encryption of files
  • Application  - application based encryption (for example by the text editor)

SAP NetWeaver Specific Storage Stack Layers

 

  • SAP NetWeaver Portal KM Repository Manager
  • SAP NetWeaver Portal KM Content Filter


At which layer you implement encryption depends on your customer requirements. Third party solutions for encryption are readily available for the non-SAP NetWeaver storage stack layers listed above.


The advantages of a SAP NetWeaver based content encryption over encryption at lower layers would be better application integration and the possibility to leverage the SAP NetWeaver user management and security infrastructure.


An encryption at lower layers has the advantage of application transparency and lower implementation costs (due to existing third party solutions).


SAP NetWeaver based content encryption can be implemented in the Repository Manager or as a content filter using the Repository Framework Java API’s. Depending on user interaction and key handling requirements, an implementation can take anything from a week to several months.


Since encryption / decryption happen on the server side additional measures need to be taken to securely transmit content from the server to the client. Typically setting up SSL would address this requirement.

 

If you decide to implement encryption yourself either as part of a KM Repository Manager or as a KM Content filter the following links might be useful to you:

 

 

Description

You want to use the matching capabillities of the Referencing the MDM Java API during development and runtime. The application presented here demonstrates how easy it is to select and execute matching strategies from your own applications using the MDM Java API 2. The included Java source code can be used as an example for further customer developments. Please use the link above to download the application and the source code.

NOTE: You need SAP NetWeaver MDM 5.5 SP05 for this application. SAP NetWeaver MDM 5.5 SP05 Patch 0 is available for customers and partners under the terms specified in SAP Note 1025897.

Disclaimer

SAP code or applications samples and tutorials are NOT FOR PRODUCTION USE unless specifically noted. You may not demonstrate, test, examine, evaluate or otherwise use them in a live operating environment or with data that has not been sufficiently backed up. You may not rent, lease, lend, or resell SAP code or application samples and tutorials.

Prerequisites

  • SAP NetWeaver 2004s
  • MDM Server 5.5 SP5
  • MDMJAVAAPI05_0.sca (MDM Java API, download from Service Marketplace)

Configuration

Only some basic steps are required to deploy and run the application:

  • Unarchive and mount the MDM repository Vendor_Matching_Example.a2a
  • Deploy MDMJAVAAPI05_0.sca (MDM Java API) with SDM
  • Deploy the Web Dynpro application sap.com~sap.mdm.matching.example.ear with SDM
  • Optional: Define additional MDM Matching Strategies for Master Data Consolidation.

The application can be configured to run with any MDM repository. Repository specific connection properties are defined in the Visual Administrator. The configuration entries Field_* have to match a main table field-code in your MDM repository. The entries Field_*_lbl are speaking names for these fields.

For example, your main table has a field with the field-code Name. If you want to use this field for matching set Field_1 to Name in the configuration. Also choose a display name for this field that will be shown above the input field in the Web Dynpro application. Set Field_1_lbl to Company Name.


image

Run the application

http://localhost:53000/webdynpro/dispatcher/sap.com/sap.mdm.matching.example/Test

For example, enter Vishay Siliconix in the name field, shelton in the City field and execute the strategy to find matching entries in the repository.


image

Summary

You want to keep your repository free of duplicate documents? This small application can help you with the task. The application detects duplicate documents when they are uploaded and moves them to a duplicate folder. Using standard KM subscription on the duplicate folder a user can get notifications whenever a duplicate has been uploaded. The duplicate detection is based on comparing the hash values of documents.

Disclaimer

SAP code or applications samples and tutorials are NOT FOR PRODUCTION USE unless specifically noted. You may not demonstrate, test, examine, evaluate or otherwise use them in a live operating environment or with data that has not been sufficiently backed up. You may not rent, lease, lend, or resell SAP code or application samples and tutorials.

Download

The SDN Article can be downloaded as PDF from the link above.

There is a Portal Archive (PAR) attached to the PDF document. Please use a recent version of Adobe Acrobat Reader to access the attachment according to the screenshot below. The PAR file also contains the source code.



image

Since NW04s SPS09 there is also an off-line way to transport the xml configuration to the UWL via UWL Deployment Hook. Here are the steps to be performed.


    Create the zip file for your xml configuration (see help.sap.com ).  For example, uwl_sample.zip.  If no internationalization is needed then instead of uwl_sample.zip an xml file itself can be used, but it also has to start with uwl_, for example uwl_sample.xml.


    Put your zip file in a SDA file (in this example the configuration is sample, and the project is com.sap.xyz.sample). The SDA file will also contain

     

    <font face="courier, bookman" size=1> META-INFMANIFEST.MF<br> META-INFSAP_MANIFEST.MF<br> META-INFcom.sap.xyz.sample-dd.xml<br></FONT></p><p> <b>MANIFEST.MF:</b><br><br> <font face="courier, bookman" size=1> Manifest-Version: 1.0
    Specification-Version: 1.0



    SAP_MANIFEST.MF:

    <font face="courier, bookman" size=1> Manifest-Version: 1.0<br> softwaretype: FS<br> deployfile: com.sap.xyz.sample-dd.xml<br> keyname: com.sap.xyz<br> keyvendor: sap.com<br> keylocation: SAP AG<br> keycounter: 7.0009.20061707180224.0000<br></FONT></p><p> <b>com.sap.xyz.sample-dd.xml:</b><br><br> <font face="courier, bookman" size=1> A sample SDA file can be downloaded here</p>

     


      You may have seen the article    Create Master Data Centrally Using Guided Procedures  that was recently published here on SDN. In this weblog I will keep you up to date with the latest    information regarding this scenario. This includes new screen recordings and the latest source code.


      Prerequisites 
     
     

        The    following software has to be installed in order to follow the instructions in     the article.  

     

        - MDM Server,     MDM Console and MDM Data Manager (all components MDM 5.5 SP4)  

     

        - NetWeaver Portal 7.0 (NW2004s SPS8)  

     

        - SAP CAF 7.00 (SPS8)  

        

        - CAF EU 7.00 (SPS8)  

     

        - MDM Business Package (for MDM 5.5 SP4)  


      image  download article as PDF 
      [20.09.2006] Download the updated main article here. In the guide you will learn how to implement a central master data management scenario using guided procedures in a short timeframe using SAP NetWeaver as a platform. The focus is on the central creation of business partner master data.

      image  watch recordings now     
      [20.09.2006] Previously the screen recordings where only available for download. You can now watch detailed screen recordings online for each step in the guide.

      image  application       source code      
      [20.09.2006] Use this link to download the source code and deployable files if you are using SAP NetWeaver 2004s SPS8 and above.

       

      image  Hints for Changing the Source Code

    The setup described in the article was tested only with the product releases mentioned     above. You may choose to use different versions. But the source code will not work      without modifications with NW04s releases before SPS7 and MDM Server releases before 5.5 SP4

    The CAF GP public API has changed in NW04s SPS07 as compared to SPS06  (see SAP note 924776 for details). As a result the Guided Procedure from the guide  will not work with releases before SPS07.

    If you experience difficulties     (in particular connection problems to the MDM server) you may need to make     changes to the source code. Follow the instructions in section      Extending the application.   

     

    It is recommended that you     update the file      MDM4J.jar    in the library DC libmdm1 to the version that matches the MDM Server     version that you have installed.


    Actions

    Filter Blog

    By date:
    By tag: