MDG Interview Questions
MDG Interview Questions
3. Not Changeable via MDG, no table is generated. (used wherever there is reference data).
Data element is Mandatory. No Attribute is allowed.
4. Changeable via other entity type, Generates table. Dependent entity type mode.
Data element is not allowed.
Ans: No
- Leading:
From entity will become key attribute of To entity.
- Qualifying:
FROM entity will become the key attribute of To entity, but the value of the from entity should be there in check
table/Value Table.
- Referencing:
The relationship name will become one of the attributes.
There is 1 more relationship type that is FOREIGN KEY relationship. For example, whenever we have 2 or more entities
linked to 1 main entity, we use this relationship.
For this we need to maintain the fields of the check table (FROM FIELDS) against foreign key fields (TO FIELDS) in the
node FIELDS OF FOREIGN KEY in relationship.
[Link] is difference between reuse & flex in SAP MDG ? How you will decide whether to go for flex or reuse ?
Ans: In reuse mode, data is directly updated in ECC tables whereas you need to set up replication model to transfer the data
from flex mode.
Active Areas:
1. Reused Mode.
• This cannot be blank in data model.
• In this mode data will go to staging table to actual tables.
• Data models – MM, BP, AR etc.
2. Flex Mode.
• This can be blank or MDG keyword.
• In this mode, the data will remain in staging tables.
• Data models – 0G.
7. In case of flex, how data will move from staging to active area ?
Ans: BY using or setting up DRF.
The data replication framework (DRF) can be used to replicate data from the Master Data Governance (MDG) hub to target
systems. You can replicate master data changes carried out centrally either manually or automatically in the background
using the data replication framework (DRF)
10. How you will decide to go for SMT Mapping or access class ?
Ans: When there is data model enhancement, we can go for SMT (Service Mapping Tool) e.g. adding the attributes or custom
entity.
Access class are associated with the data model, where we use the reuse mode active area. If the data model as the active
area assign to it, then we can use the access class for the many actives such CRUD operation, Enqueue, Dequeue etc.
12. What is Feeder class ? which is most used method of access class ??
Ans: Feeder class is the link between the GUIBB (Graphical User Interface Building Block) and the application. It provides all the
methods and signature to these links.
14. When get definition, get data & Process event method will get called ??
Ans: Wherever the UIBB feeder class is called all these events in that feeder class will be called at the runtime.
One important method is the SET_ENVIRONMENT method . As change requests might be created implicitly
because there is no explicit method for creating a change request, the change request ID or at least the change
request type needs to be set if you want to change an object for which no change request exists
. For example, the creation of a change request is triggered by locking the main entity of a data model and by
retrieving a temporary number for the main entity. Before an entity can be locked and a change request can be
created, the environment has to be set. If you want to create a new change request, the change request type has
16. Which API you will use to create CR via code & why ?
Ans: Governance/Convenience API we can use for the CR via code.
IF_USMD_GOV_API_CR_DATA, the methods of this interface can be used for change request header data, change request
notes, change request attachments, and target systems.
The methods of the interface IF_USMD_CONV_SOM_GOV_CR handle change request header data as well as change request
notes, attachments, and target systems.
25. What are the Key Functions and Features of SAP MDG?
Ans: • SAP MDG cockpit for Data-quality monitoring
• transparent and direct insight into the current level of data quality
• Integration and Continuous monitoring with processes in SAP MDG to remediate information issues
• Governed quality and Increased of master data in SAP ERP
• Reliability and accuracy of all master data–related analyses
Ans: The process ends when all approval steps are approved
27..Is it possible to define the dropdown values based on other values in the MDG request? For example, a user wants to
create a new material and selects MRP C XXX, so we would like to restrict the values in the dropdown of the loading group.
Is that possible?
Ans: It must be possible with custom feeder class implementation. A similar approach is explained here in the below
document.
[Link]
[Link] it possible to have validation check behind each field using ABAP coding? And how could we implement that?
Ans: Yes, Validation BADI can be used for implementing the checks for each field.
[Link] we create an update change request for material 1234 in MDG, will material 1234 be blocked in SAP?
Ans: No, the material is still available for production use when the change is in progress. The productive data will not have
the changes since it is pending approval. Because the changes on the CR are available only in the staging area. After
CR is approved, the changes will reflect in the material.
[Link] version of MDG you have worked on? Is MDG on TOP of ECC or you have a separate configuration
[Link] is consolidation
Ans: PDF in MM : How to... MDG-M_ Use the Data Import Framework (Name of PDF)
[Link] between
Ans: Parallel change request : No lock on what you are working
Parallel workflow : lock on what you are working, No others can access that data.
43. What is feeder class? Why the feeder class is used in SAP MDG?
Ans: A feeder class provides a link between the application and the generic user interface building block (GUIBB).
Feeder class implementations are based on a predefined interface definition, providing all necessary methods and corresponding
signatures to standardize the communication between the application and the GUIBB.
A feeder class is a class that implements one of the following ABAP interfaces:
Using the GET_DEFINITION method, the class defines the field catalog (the fields that are available for use in the configuration) of
the component and supplies the component at runtime with data from the application using the GET_DATA method.
Integration
Feeder class settings can be accessed in the Floorplan Manager configuration editor, FLUID; see the General Settings panel of the
individual GUIBB component.
A feeder class provides a link between the application and the generic user interface building block (GUIBB). The feeder
class contains the business logic behind an application. Application definition (for example, data definition, structure or table
definition, and their technical aspects)
47. If you add the custom fields to the data model how will you import these fields to the new version?
48. What are the main interfaces in Feeder class and access class?
Ans: IF_USMD_PP_ACCESS this interface then it is called Access class
A feeder class is a class that implements one of the following ABAP interfaces:
• IF_FPM_GUIBB_FORM (for form components)
• IF_FPM_GUIBB_FORM_REPEATER (for form repeater components)
• IF_FPM_GUIBB_LIST (for list components)
• IF_FPM_GUIBB_SEARCH (for search components)
• IF_FPM_GUIBB_TREE (for hierarchical list components)
• IF_FPM_GUIBB_LAUNCHPAD (for launchpad components)
49. What does the GET_DATA method does in the Feeder class?
50. Then what does the GET_DEFINITION method does in the feeder class?
Interface: IF_FPM_GUIBB_LIST
Interview Questions Page 9
Interface: IF_FPM_GUIBB_LIST
Description of methods in the interface implemented by the feeder classes of both List components (List and List ATS).
Method Description
Name
GET_DEF Called once at start up. Tells the List UIBB which columns and actions are available. This is done using
INITION parameters EO_FIELD_CATALOG and ET_ACTION_DEFINITION for columns and toolbar items respectively. The
columns and actions defined here do not automatically appear at runtime. They appear in the FPM configuration editor as a
list of available columns and actions to choose from. Only when they have been configured will they appear at runtime.
It is also possible to provide additional information about columns such as texts, tooltips, F4 helps, and formatting
information. This is done using parameter ET_FIELD_DESCRIPTION
FLUSH Called as part of the FPM event loop. It is the first method of the event loop. Using parameter IT_CHANGE_LOG, it tells the
feeder class what changes have been made by the user. The changes, indicated by IT_CHANGE_LOG, must not be copied
into the source data table (parameter IT_DATA); accessing the source table is not allowed in this FPM event hook.
PROCESS Also part of the FPM event loop; called directly after the FLUSH method. Use this method to check the Event ID and, if
_EVENT necessary, to carry out Event ID-specific processing. Besides the Event ID, the feeder class also gets information about the
currently selected rows, and whether the event has been raised by this List UIBB, or by some other UIBB on the screen. For
more information, use the parameter IO_UI_INFO (interface IF_FPM_LIST_ATS_UI_INFO).
Additionally, this method can be used to pass messages using the parameter ET_MESSAGES.
GET_DAT Also part of the FPM event loop; called directly after method PROCESS_EVENT. It corresponds to the general UIBB
A method PROCESS_BEFORE_OUTPUT. The main purpose of this method is to exchange data between the feeder class and
the List ATS UIBB (for details, refer to the section Data Exchange in this document. It is also used to change attributes of the
table (parameters CS_ADDITIONAL_INFO and CV_FIRST_VISIBLE_ROW), attributes of the columns
(parameterCT_FIELD_USAGE), and attributes of the toolbar elements (parameter CT_ACTION_USAGE).
With CV_FIRST_VISIBLE_ROW, it is possible to set the first visible row of the list.
GET_PAR Called once at startup. It is not mandatory to use this method. It is used to fill the feeder class parameters with values. The
AMETER_ feeder class defines parameters and at design time one can assign values to those parameters in the FPM configuration editor
LIST with this method. This is used, for example, in more complex (generic) feeder classes.
INITIAL Called once at startup. It is not mandatory to use this method. At runtime this method tells what parameters have been
IZE defined by the feeder class (GET_PARAMETER_LIST) and what values have been assigned to them in the configuration.
This is used, for example, in more complex (generic) feeder classes.
GET_DEF Called once at startup. It is not mandatory to use this method. It has two purposes. When creating a new configuration, use
AULT_CO this method to generate a list of columns and toolbar elements that could be configured. This method is also called at runtime
NFIG when no columns at all are configured. In this case, it is used to generate a configuration.
CHECK_C Called at design time only. It is not mandatory to use this method. Use this method to execute application-specific checks on
ONFIG the configuration.
Table 1: Methods of IF_FPM_GUIBB_List Interface
51. What is the use of the SAVE method of the interface IF_USMD_PP_ACCESS?
Ans:
52. Can you name the 3 main access class and what they do in brief?
Ans:
53. What is the Badi used to perform validation and how you have done it?
Ans: BADI: Validation & Derivation
USMD_RULE_SERVICE Cross validations & Validation on same entity with complex conditions
USMD_RULE_SERVICE_CROSS_ET Cross derivation(based on complex conditions deriving another entity)
54. Is filter required during the validation in the Badi and why?
58. What is wiring in UIBB? & What all thing we need to assign during wiring?
Ans:
A wire controls the runtime interdependencies between two user interface building blocks (UIBBs), that is, wires
determine the data content of a target UIBB depending on the user interaction changing the outport of the source
UIBB.
Floorplan Manager (FPM) enables you to define wires between UIBBs as a means of transferring information from
the source to the target. Each user interface building block can only be defined as a target once, otherwise the
system cannot decide at runtime where the user interface building block takes its information from. An application
can use a UIBB as a source multiple times.
Each wire consists of the following parts:
• Source UIBB
The source is always a UIBB and is always specified using its Web Dynpro component name as well as, if
necessary, an assigned configuration.
• Outport Specification
The outport specification of the source UIBB is comprised of the following parts:
• Outport Type
Specifies which information the system transfers across the wire. There are three outport types:
• Collection
Transfers information about all entries in the source UIBB to the connector class.
• Lead Selection
Transfers information about the entry that has been selected in the source UIBB to the connector class.
• Selection
Transfers information about all entries selected in the source UIBB to the connector class.
• Outport Identifier
Allows you to have multiple instances of the outport types.
• Target UIBB
The target is always a UIBB and is always specified using its Web Dynpro component name as well as, if
necessary, an assigned configuration.
• Connector Class
Implements a connector interface between the source and target UIBBs. The connector class controls the
information overall by defining the dependencies between the UIBBs. The connector class can define separate
parameters that the administrator can edit in the wire attributes.
On the tabbed component level, it is also possible to define wires between individual components of a tabbed
component. For tabbed components, a UIBB is determined as a wire plug (WIRE PLUG). This wire plug is used by
the surrounding Web Dynpro component to access the tabbed component. In an FPM application, the surrounding
Web Dynpro component is either the floorplan or another tabbed component. One wire for this plug is then defined
on the level of the surrounding floorplan or tabbed component. This architecture makes it possible to reuse the
tabbed component in other floorplans or tabbed components without having to redefine all of the wires each time.
Integration
Wires are defined in the FPM configuration editor, FLUID, in the Wire Schema panel on the floorplan component
level.
Example
A feeder class is a class that implements one of the following ABAP interfaces:
Using the GET_DEFINITION method, the class defines the field catalog (the fields that are available for use in the configuration) of
the component and supplies the component at runtime with data from the application using the GET_DATA method.
Integration
Feeder class settings can be accessed in the Floorplan Manager configuration editor, FLUID; see the General Settings panel of the
individual GUIBB component.
63. How to check the data module specific structure or staging tables?
Logical actions : create, change, block, delete etc.(These are generic )…. i.e whatever action we perform
on data during run time. These are always system provided. We rarely created any new .
65. What is the relationship between the type 1 and type 4 entity type?
Ans:
Relationship Types
An MDG data model consists of the following relationship types:
Leading Relationships
• Type-1 entity type can lead type-1 entity types and type–4 entity types.
• Type-4 entity types must be linked to a leading type-1 entity type.
• A type-1 entity type can have a leading type-1 entity type.
Qualifying Relationships
• Entity types are qualified using additional key attributes.
• Type-2 and type-3 entity types can enhance the keys of type-1 and type-4 entity types.
The key of an type-4 entity type must be enhanced by at least one type–1, type–2, or type–3 entity type.
Referencing Relationships
• The key of a referenced entity type becomes an attribute of the referencing entity type.
66. When you add custom entity what is the type of that entity and why?
67. If the CR is not completely executed and you are creating the new CR then error will be displayed, where we can configure thi s error?
68. Once you adjust the entity or create the entity what all structure gets created? What is the use for prefix and package in SA P MDG?
Ans: Select the entity and click on attributes and click on new and add these attributes. Then add prefix to Data model BP.
As soon as we activate the DM staging tables will automatically adjust with newly created attributes.
Prefix
EXPORTING
iv_crequest = gv_crequest
IMPORTING
et_message = lt_message1
re_inst_crequest_api = lo_crequest_api1.
2) CALL METHOD LO_CREQUEST_API1->CREATE_CREQUEST
EXPORTING
* IV_EDITION =
IV_CREQUEST_TYPE = 'ZCUSTCRE'
IMPORTING
EV_CREQUEST_ID = crequest_id
ET_MESSAGE = msg
70.