US 12,229,113 B2
Managing master data for distributed environments
Karthik Kamath, Bengaluru (IN); Satish Kumar Kara, Bengaluru (IN); Nagendra Manchuri, Bengaluru (IN); Tripati Sahu, Bengaluru (IN); and Parmesh Kumar, Bengaluru (IN)
Assigned to SAP SE, Walldorf (DE)
Filed by SAP SE, Walldorf (DE)
Filed on May 12, 2022, as Appl. No. 17/743,347.
Prior Publication US 2023/0367761 A1, Nov. 16, 2023
Int. Cl. G06F 16/23 (2019.01)
CPC G06F 16/2365 (2019.01) 18 Claims
OG exemplary drawing
 
1. A non-transitory machine-readable medium storing a program executable by at least one processing unit of a device, the program comprising sets of instructions for:
querying a plurality of master data sources to retrieve a plurality of sets of master data from the plurality of master data sources, each set of master data in the plurality of sets of master data comprising a set of master data entities, wherein the plurality of master data sources independently manage master data entities, wherein a schema definition specifies at least one master data entity from at least one master data source has an ancestor relationship to at least one other master data entity from at least one other master data source, and wherein said querying is performed at defined time intervals to retrieve most recently operated on master data entities, based on a time of a last request, from each of the plurality of master data sources, wherein the master data sources having ancestor master data entities are queried before master data sources having independent master data entities that are not ancestors of any master data entities;
for each master data entity in each set of master data entities,
determining whether a master data entity is consistent or inconsistent based on a schema definition associated with the plurality of sets of master data, wherein:
upon determining that the master data entity does not have any ancestor master data entities related to the master data entity or upon determining that the master data entity does have any ancestor master data entities related to the master data entity and that the ancestor master data entities exist in a storage configured to store master data received from the plurality of master data sources, determining that the master data entity is consistent; and
upon determining that the master data entity from a first master data source does have any ancestor master data entities from one or more other master data sources related to the master data entity and that the ancestor entities do not exist in the storage, determining that the master data entity is inconsistent,
wherein the schema definition further defines a particular set of master data entities and a set of relationships among the particular set of master data entities;
receiving, from an application, a request for a certain set of master data entities;
based on the plurality of sets of master data entities, determining a subset of the certain set of master data entities, each master data entity in the subset of the certain set of master data entities determined to be consistent; and
providing the subset of the certain set of master data entities to the application.