Checking the record out is not the only way to avoid the modification of a record.
SAP- MDM provides an additional functionality associated with the records using that functionality we can avoid unnecessary modification of records. We can interact with MDM either via JAVA / ABAP API’s or via XI. In present blog we will discuss how we can protect and unprotect a record in following two scenarios.
1: Accessing MDM directly via data manager.
2: Accessing MDM via MDM Java API.
The key factor in all the scenarios is Protection. Protection means making the record read only. Even checked out record can also be protected. Protection is not feasible while importing the records via import manager.
The question that jumps in our mind is what is the difference between checked out record and a protected record?
The answer to this question is checked out record can be modified by the person who checked the record out, but a protected record is in read only mode irrespective of the user.
Very important point associated with this concept is:
A protected record can not be checked out, but a checked out record can be protected. Any user having permission to join a checked out record can join a checked out protected record.
Protecting a record via Data Manager is as simple as it appears just right click the record to be protected and choose the option Protect. Similarly an already protected record can be unprotected via selecting Unprotect (this option is disabled for a record which is not protected).
Figure showing Record Protection via Data Manager.
For protecting a record via MDM Java APIâ€™s we need to use ProtectRecordsCommand Command.
How to use this command?
Just pass connectionAccesor to the constructor of this class and set the user session, tableId of the table of which record needs to be protected and array of RecordIds that needs to be protected to the object created.
For Unprotecting a already protected record we need to use UnprotectRecordsCommand and need to set the same parameters as discussed earlier.
Note: Execution of this command throws CommandException .