System and method for providing collaborative master data processes

A system and method for providing collaborative master data process management. A master data store comprises data for at least one data domain. A master data management module is configured to provide access to the data to one or more applications. A master data management service module provides at least one service providing access to the data based on a service-oriented architecture. A business process management module is configured to generate, execute and manage at least one business process related to the data domain. The at least one business process uses at least one of the at least one service provided by the master data management service module. A master data process module is configured to generate at least one data process comprising a business process involving an operation on the data.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The disclosure set forth herein pertains to the field of computer systems. More particularly, but not by way of limitation, one or more embodiments of the systems and methods described herein are configured to provide collaborative master data processes.

2. Description of the Related Art

Master data management systems provide comprehensive data storage, maintenance and promote data integrity. For example, SAP's Master Data Management Environment system is an integrated system for master data management that uses a Structured Query Language (SQL) database management system, but does not require designers to use SQL for searching, sorting, and retrieving of information. SAP NetWeaver Master Data Management (MDM) is a component is used as a platform to consolidate, cleanse and synchronize master data within a heterogeneous application landscape. It has the ability to distribute internally and externally to SAP and non-SAP applications.

Master data management systems also provide advanced functionality and efficiency. A standard SQL database management system does not support the types of advanced structures necessary for efficiently managing databases of master data. Generally speaking, master data systems provide a thick shell of functionality on top of a SQL-based DBMS to provide a scalable database where data is fully accessible to other SQL-based applications and tools.

Business process management refers to describing, organizing and managing business operations in terms of business processes. Technology is used to enhance business process management and to implement business processes. Although master data is an integral part of business operation, the current integration of master data management systems and business process management systems is limited.

Increasingly, companies and other organizations use multiple enterprise systems to handle business operations, including business operations which require access to master data. Furthermore, individual components of software and hardware within an organization are frequently changed, modified and upgraded. Because of the use of heterogeneous IT landscapes, organizations need a pervasive master data management strategy to avoid the rampant spread of inconsistent or redundant data across their systems. Flexible, well-governed processes for managing and maintaining master data are desirable.

To overcome the problems and limitations described above there is a need for systems and methods that provide collaborative master data processes.

BRIEF SUMMARY OF THE INVENTION

Flexible, well-governed systems and methods are described for providing collaborative master data management processes for managing and maintaining master data. These systems and methods are capable of providing a multi-domain solution for collaborative master data management. These systems and methods may be configured to take advantage of a fully service oriented architecture enable communication based on web services. Furthermore, these systems and methods may be configured to allow an authorized user to generate, modify and manage collaborative master data processes with almost no coding or configuration, or minimal technical expertise required.

In one or more embodiments of the systems and methods set forth in this disclosure, a master data management system functionality is exposed as web services and web-based data governance user interfaces which are wrapped workflow steps and combined within a logical process flow to provide collaborative master data management processes. These systems and methods extend the native capabilities of SAP NetWeaver MDM and the modeling capabilities of SAP NetWeaver BPM.

One or more of the embodiments described enable a system for providing collaborative master data process management. The system for providing collaborative master data process management includes at least one processor.

The system for providing collaborative master data process management further includes a master data store comprising data for at least one data domain.

The system for providing collaborative master data process management further includes a master data management module configured to provide access to the data for the at least one data domain to one or more applications through an application programming interface.

The system for providing collaborative master data process management further includes a master data management service module. The at least one service provides access to the data for the at least one data domain based on a service-oriented architecture.

The system for providing collaborative master data process management further includes a business process management module configured to generate, execute and manage at least one business process related to the data domain. The at least one business process uses at least one of the services provided by the master data management service module.

The system for providing collaborative master data process management further includes a master data process module configured to generate at least one data process. The at least one data process involves an operation on the data for the at least one data domain. For example, the operation may include verifying selected data belonging to the at least one data domain, modifying selected data belonging to the at least one data domain, and/or adding data belonging to the at least one data domain, or any other operation on data for the at least one data domain.

In one or more embodiments of the system for providing collaborative master data process management, the at least one data process includes at least one request to a data steward user. The request may include an action to be performed by the data steward user. A next action of the at least one data process is based on an input provided by the data steward user in response to the at least one request to the data steward user.

In one or more embodiments of the system for providing collaborative master data process management, the at least one data process includes at least one request to a business user. The request may include an action to be performed by the business user. A next action of the at least one data process is based on an input provided by the business user in response to the at least one request to the business user.

In one or more embodiments of the system for providing collaborative master data process management, the master data process module is further configured to generate at least one follow-up business process in response to an exception error state reached in the at least one data process. The at least one follow-up business process may include a proposed change to the at least one data process in response to the exception error state reached in the at least one data process.

One or more embodiments of the system for providing collaborative master data process management further include a master data process display module configured to display a graphical representation of the at least one data process.

One or more embodiments of the system for providing collaborative master data process management further include process step user interface module configured to generate one or more user interfaces corresponding to one or more data process steps.

The master data process display module may be configured to display a graphical representation of at least one follow-up business process in response to an exception error state reached in the at least one data process.

The master data process display module may also be configured to display a graphical representation of a proposed change to the at least one data process in response to an exception error state reached in the at least one data process.

In one or more embodiments, the master data process module is further configured to provide a data process design user interface to an authorized user. The data process design user interface allows the authorized user to generate a custom data process template. The custom data process template includes a custom business process involving a custom operation on data belonging to the at least one data domain.

One or more embodiments described enable a computer-readable medium having computer-readable instructions for providing collaborative master data process management. Execution of the computer-readable instructions by one or more processors causes the one or more processors to carry out process steps detailed herein.

The process steps include generating a data process template. The data process template includes a business process to be invoked upon a triggering event type. The business process involves at least one operation on data belonging to at least one data domain. In one or more embodiments of the computer-readable medium computer-readable medium having computer-readable instructions for providing collaborative master data process management, the process steps further include displaying a graphical representation of the data process template.

In one or more embodiments of the computer-readable medium computer-readable medium having computer-readable instructions for providing collaborative master data process management, the at least one operation includes a verification operation for verifying data against the stored data based on the selected data.

In one or more embodiments of the computer-readable medium computer-readable medium having computer-readable instructions for providing collaborative master data process management, the at least one operation includes a modification operation for modifying the stored data based on the selected data.

In one or more embodiments of the computer-readable medium computer-readable medium having computer-readable instructions for providing collaborative master data process management, the at least one operation includes an addition operation for adding data based on the selected data to the stored data.

The process steps further include initiating a data process in accordance with the data process template based on selected data in response to a triggering event of the triggering event type.

The process steps further include requesting a business action to be performed by a business user involving the selected data, receiving a response from the business user regarding the business action, and determining a next action following the business action based on the response from the business user.

The process steps further include requesting a data action to be performed by a data steward user, receiving a response from the data steward user regarding the data action, and determining a next action following the data action based on the response from the data steward user.

The process steps further include using at least one service provided by a master data management system comprising stored data belonging to the at least one data domain to perform the at least one operation on the selected data. The service is provided by the master data management system based on a service-oriented architecture.

In one or more embodiments of the computer-readable medium computer-readable medium having computer-readable instructions for providing collaborative master data process management, the process steps further include generating at least one follow-up business process in response to an exception error state reached in the data process.

The at least one follow-up business process may include a proposed change to the data process template in response to the reaching of the exception error state in the at least one data process.

In one or more embodiments of the computer-readable medium computer-readable medium having computer-readable instructions for providing collaborative master data process management, the process steps further include displaying a graphical representation of the data process template including the proposed change to the data process template.

DETAILED DESCRIPTION

A system and method for providing collaborative master data process management will now be described. In the following exemplary description numerous specific details are set forth in order to provide a more thorough understanding of embodiments described in this disclosure. It will be apparent, however, to an artisan of ordinary skill that the present invention may be practiced without incorporating all aspects of the specific details described herein. In other instances, specific features, quantities, or measurements well known to those of ordinary skill in the art have not been described in detail so as not to obscure the invention. Readers should note that although examples of the invention are set forth herein, the claims, and the full scope of any equivalents, are what define the invention.

FIG. 1is a diagram of a system100comprising a general-purpose computer and peripherals that, when programmed as described herein, may operate as a specially programmed computer capable of implementing one or more methods, apparatus and/or systems of the solution described in this disclosure. Processor107may be coupled to bi-directional communication infrastructure102such as communication infrastructure system bus102. Communication infrastructure102may generally be a system bus that provides an interface to the other components in the general-purpose computer system such as processor107, main memory106, display interface108, secondary memory112and/or communication interface124.

Main memory106may provide a computer readable medium for accessing and executed stored data and applications. Display interface108may communicate with display unit110that may be utilized to display outputs to the user of the specially-programmed computer system. Display unit110may comprise one or more monitors that may visually depict aspects of the computer program to the user. Main memory106and display interface108may be coupled to communication infrastructure102, which may serve as the interface point to secondary memory112and communication interface124. Secondary memory112may provide additional memory resources beyond main memory106, and may generally function as a storage location for computer programs to be executed by processor107. Either fixed or removable computer-readable media may serve as Secondary memory112. Secondary memory112may comprise, for example, hard disk114and removable storage drive116that may have an associated removable storage unit118. There may be multiple sources of secondary memory112and systems implementing the solutions described in this disclosure may be configured as needed to support the data storage requirements of the user and the methods described herein. Secondary memory112may also comprise interface120that serves as an interface point to additional storage such as removable storage unit122. Numerous types of data storage devices may serve as repositories for data utilized by the specially programmed computer system. For example, magnetic, optical or magnetic-optical storage systems, or any other available mass storage technology that provides a repository for digital information may be used.

Communication interface124may be coupled to communication infrastructure102and may serve as a conduit for data destined for or received from communication path126. A network interface card (NIC) is an example of the type of device that once coupled to communication infrastructure102may provide a mechanism for transporting data to communication path126. Computer networks such Local Area Networks (LAN), Wide Area Networks (WAN), Wireless networks, optical networks, distributed networks, the Internet or any combination thereof are some examples of the type of communication paths that may be utilized by the specially program computer system. Communication path126may comprise any type of telecommunication network or interconnection fabric that can transport data to and from communication interface124.

To facilitate user interaction with the specially programmed computer system, one or more human interface devices (HID)130may be provided. Some examples of HIDs that enable users to input commands or data to the specially programmed computer may comprise a keyboard, mouse, touch screen devices, microphones or other audio interface devices, motion sensors or the like, as well as any other device able to accept any kind of human input and in turn communicate that input to processor107to trigger one or more responses from the specially programmed computer are within the scope of the system disclosed herein.

WhileFIG. 1depicts a physical device, the scope of the system may also encompass a virtual device, virtual machine or simulator embodied in one or more computer programs executing on a computer or computer system and acting or providing a computer system environment compatible with the methods and processes of this disclosure. In one or more embodiments, the system may also encompass a cloud computing system or any other system where shared resources, such as hardware, applications, data, or any other resource are made available on demand over the Internet or any other network. Where a virtual machine, process, hardware, device or otherwise performs substantially similarly to that of a physical computer system, such a platform will also fall within the scope of disclosure provided herein, notwithstanding the description herein of a physical system such as that inFIG. 1.

One or more embodiments are configured to enable the specially programmed computer to take the input data given and transform it into a web-based UI by applying one or more of the methods and/or processes described herein. Thus the methods described herein are able to transform a stored component into a web UI, using the solution disclosed here to result in an output of the system as a web UI design support tool, using the specially programmed computer as described herein.

FIG. 2illustrates a system diagram in accordance with one or more systems and methods for providing collaborative master data process management. System200includes one or more applications implementing the features shown on one or more computers. One of ordinary skill in the art would recognize that the features of system200are shown in logical modules that may operate independently or with some degree of integration without departing from the spirit or the scope of the invention. System200includes master data management system202. Master data management system202is configured to manage and provide access to master data.

Master data management system202includes master data management module204, master data store206and master data management service module208. Master data management module204, master data store206and master data management service module208reside in at least one computer memory component on one or more computer systems.

Master data management module204, master data store206and master data management service module208may be configured to communicate directly via a communication interface, such as communication infrastructure102. Master data management module204, master data store206and master data management service module208may also be configured to communicate over one or more networks, such as communication path250. Communication path250may include one or more networks, such as Local Area Networks (LAN), Wide Area Networks (WAN), wireless networks, optical networks, distributed networks, the Internet or any combination thereof.

Master data store206is configured to store data, such as master data. Master data store206resides in at least one module of computer memory. Master data stored in master data store206may be stored using a database schema associated with master data management system202.

Master data store206may be configured to store data belonging to at least one data domain. As used herein, the term “data domain” refers to possible values for a set of data that may be stored in master data store206using at least one attribute. For example, data domains may include Customers, Products, Accounts, Assets, Materials, Vendors, Suppliers, or any other set of data that may be described and stored in master data store206using at least one attribute. One or more embodiments of master data management module204provide a multi-domain data solution for enterprise data, thereby supporting multi-domain collaborative master data process management.

Master data management module204includes one or more programs or applications configured to access to master data store206. Master data management module204may access the master data stored in master data store206using a database schema associated with master data management system202.

Master data management module204may be further configured to provide access to master data store206to one or more applications210. Applications210include any executing computer program code configured to access master data store206, such as through an application programming interface (API) provided by master data management module204. In one or more embodiments, applications210include one or more legacy applications integrated with master data management module204to synchronize legacy systems with current data, thereby achieving continued usability of legacy applications. Applications210may access master data management system202by communicating with master data management module204. For example, read and write access as well as database operations may be requested by applications210through the API via master data management module204in order to access master data in master data store206.

Master data management service module208also provides access to master data through services, such as web-based services. Master data management service module208provides at least one service based on a service-oriented architecture. The at least one service may be made available for access over a communication path250. Communication path250may include one or more networks, such as Local Area Networks (LAN), Wide Area Networks (WAN), wireless networks, optical networks, distributed networks, the Internet or any combination thereof. Communication path250may also include a communication infrastructure within a computer system, such as communication infrastructure102.

System200further includes business process management module212. Business process management module212is configured to generate, execute and manage at least one business process. As used herein, the term “business process” refers to any sequence of one or more tasks or activities to achieve a business purpose. The business process may include fully automated tasks, partially automated tasks, and fully manual tasks to be performed or supervised by a user.

A business process may be invoked upon the occurrence of a triggering event. A triggering event made include any event requiring action within the scope of business operation, such as order placement, customer acquisition, marketing events, audit events, business changes, customer contact, receipt of information from an external source, transfer of information within an organization, system updates, staffing changes, or any other event requiring at least one action within the scope of business operation.

In one or more embodiments, business process management module212manages at least one business process related to at least one data domain stored in master data store206. Business process management module212may be configured to manage at least one business process related to multi-domain data. At least one business process managed by business process management module212may use at least one service provided by master data management service module206.

Master data management module204, master data store206and master data management service module208may be configured to communicate over one or more networks, such as communication path126. Business process management module212and master data management system202may also be configured to communicate directly via a communication interface, such as communication infrastructure102. One of ordinary skill in the art would appreciate that when business process management module212communicates with master data management system202, many methods for connection are available which are within the scope and spirit of the invention. For example, business process management module212may access services provided by master data management service module208through a service-oriented architecture. Business process management module212may also access master data management system202through an application programming interface (API) via master data management module204in order to access master data in master data store206.

Business process management module212includes master data process module214. One of ordinary skill in the art would recognize that master data process module214may be implemented as an independent software module within business process management module212, an integrated feature of general business process management implemented in business process management module212, or any other degree of integration without departing from the spirit or the scope of the invention. Master data process module214is configured to generate at least one data process involving an operation on data for at least one data domain managed by master data management system202. As used herein, the term “data process” refers to a business process involving an operation on data belonging to at least one data domain. The operation may be any operation related to the at least one data domain, such as verifying selected data, modifying selected data and adding additional data. One or more embodiments of master data process module214are configured to generate business processes involving operations on multi-domain data.

Business process management module212is configured to manage data processes generated by master data process module214. One or more embodiments of business process management module212are configured to manage business processes involving operations on multi-domain data.

The data process may be generated in accordance with a data process template. As used herein, the term “data process template” refers to any set of information usable to describe a business process to be invoked upon a triggering event type specified by the data process template.

In one or more embodiments, master data process module214is configured to provide a data process design user interface to a user authorized to generate data process template. The data process design user interface allows the authorized user to generate a custom data process template. The custom data process template includes a custom business process involving a custom operation on data for at least one data domain.

A data process generated by master data process module214may include at least one request to a user. The request may include an action to be performed by the user, where a next action of the data process is based on an input provided by the user in response to the request. The requests are further detailed below with respect to two user types: a data steward user and a business user. However, a person of ordinary skill in the art would recognize that data processes may request actions from multiple users of any user type without departing from the spirit and the scope of the invention.

A data process generated by master data process module214may include at least one request to a data steward user. As used herein, the term “data steward user” is broadly defined to include any user with some level of authorization to access master data management system202. The request may include an action to be performed by the data steward user, where a next action of the data process is based on an input provided by the data steward user in response to the request.

For example, a data steward user may be requested to perform an action involving data, such as verifying new or modified data with an internal data source or an external data source, checking data integrity, checking data accuracy, checking data relationships before the removal or modification of data, or any other action that the data steward user has authority to perform within the scope of his employment.

A data process generated by master data process module214may include at least one request to a business user. In one or more embodiments, the term “business user” may be broadly defined to include any user without administrative privileges in master data management system202. Alternatively, the term “business user” may be broadly defined to include any user with authority to approve an action related to the master data, without excluding users with administrative privilege in master data management system202. The request may include an action to be performed by the business user, where a next action of the data process is based on an input provided by the business user in response to the request.

For example, a business user may be requested to perform an action involving reviewing an action of another user, confirming proposed changes, acknowledgment of a notification, initiating a business process in response to an error state, or any other action that the business user has authority to perform within the scope of his employment.

In one or more embodiments, master data process module214is further configured to generate at least one follow-up business process in response to an error state reached in a data process. In one or more embodiments, master data process module214is configured to recognize an error state when a type of error occurs for which follow-up action is desirable. Follow-up action may include verification of data with an internal data source or an external data source, auditing data, auditing software and hardware systems, auditing employee actions, auditing existing business processes and data processes, or any other follow-up action in response to an error of a type for which follow-up action is desirable. For example, the error state may be reached based on input from a business user in response to a request, input from a data steward user in response to a request, an error indicated by a hardware or software element of master data management system202or business process management module212, or any other occurrence resulting in arrival at an error state. In one or more embodiments, the error state is an exception error state that potentially requires a change of the data process. The follow-up business process may include a proposed change to the data process template for the data process associated with the exception error state.

In one or more embodiments, business process management module212optionally includes master data process display module216. Master data process display module216is configured to display a graphical representation of one or more data processes generated by master data process module214. In one or more embodiments, the graphical representation includes a flowchart view of at least a portion of one or more data processes. Master data process display module216may be further configured to display a graphical representation of at least one follow-up business process in response to an exception error state associated with a data process that potentially requires a change of the data process. Master data process display module216may be further configured to display a graphic or presentation of a proposed change to the data process template for the data process associated the exception error state.

In one or more embodiments, business process management module212optionally includes process step user interface module218. Process step user interface module218is configured to generate one or more user interfaces corresponding to one or more data process steps. The generation of the one or more user interfaces may be fully or partially automated and/or fully or partially customizable. During execution of a data process step, the corresponding user interface is provided to one or more users, such as a business user and/or a data steward user.

FIG. 3is a diagram outlining an exemplary two-user data process in accordance with one or more systems and methods for providing collaborative master data process management. One of ordinary skill in the art would appreciate that although a two-user data process is shown, a data process may involve any number of users. Furthermore, a data process may involve one or more partially or fully automated steps, and user action may only be required when certain conditions are met. Process300starts at step302.

Processing continues to step304, where a data process is initiated. The data process may be initiated by a user, a web service, a request form, a user interface, or any other triggering event for the data process. The data process may require the performance of an operation involving any addition, modification, or deletion of master data related to one or more data domains managed by a master data management system in accordance with systems and methods for providing collaborative master data process management.

Processing continues to step306, where a request to perform a data operation is made to the data steward user. For example, the data operation may include verifying selected data in the at least one data domain, modifying selected data from the at least one data domain, adding additional data to the at least one data domain, and/or any other operation on data for the at least one data domain.

Processing continues to decision step308, where the data steward user provides input indicating whether or not the data steward user successfully performed the data operation. If the data steward user indicates that the operation is successful, processing continues to step310. Otherwise, processing continues to step320, where an error state is determined. From the determination of the error state at step320, processing continues to step322.

Returning step310, a request is made to the business user to review the previous action of the data steward user at step306. In one or more embodiments, the request at step310may be made to either a different business user or the same business user who initiated the data request of step304.

Processing continues to decision step312, where the business user provides input indicating whether or not the business user confirms the action as previously requested in step310. If the business user indicates confirmation, processing continues to step314. Otherwise, if the business user does not confirm the activity, processing continues to step318, where a roll back to the initial state is performed. From the roll back at step318, processing then continues to step322.

At step314, a request is made to the data steward user to review the operation and to give final approval. In one or more embodiments, the request at step314may be made to either a different data steward user or the same data steward user requested to perform the data operation at step306. In one or more embodiments, step314is an automated activity that occurs under the supervision of the data steward user, such as a service call.

Processing continues to decision step316, where the data steward user provides input indicating whether or not the data steward user gives final approval. If the data steward user gives final approval, processing continues to step322. Otherwise, if the data steward user does not give final approval, processing continues back to step306, and the data process is repeated.

At step322, notifications of the actions, results, and any errors are sent. For example, notifications may be sent to participant users, such as the business user and data steward user, nonparticipant users, and/or applications. Different notifications may be sent based on the actual result of the data process. Notifications may be provided through a custom application or by any traditional method of notification, including electronic messaging systems such as e-mail, SMS message, MMS message, system notifications, or any other electronic messaging service.

Processing continues to step324, where process300terminates.

FIG. 4is a diagram outlining an exemplary multi-user data process in accordance with one or more systems and methods for providing collaborative master data process management. One of ordinary skill in the art would appreciate that a data process may involve any number of users. Furthermore, a data process may involve one or more partially or fully automated steps, and user action may only be required when certain conditions are met. Process400starts at step402.

Processing continues to step404, where a first user initiates a data request. The data request may include any addition, modification, or deletion of data related to one or more data domains managed by a master data management system in accordance with systems and methods for providing collaborative master data process management.

Processing continues to step406, where a request to perform a data operation is made to a second user. For example, the data operation may include verifying selected data in the at least one data domain, modifying selected data from the at least one data domain, adding additional data to the at least one data domain, and/or any other operation on data for the at least one data domain.

Processing continues to step408, where the second user provides input indicating whether or not the second user has successfully performed the data operation. If the second user indicates that the operation is successful, processing continues to step410. Otherwise, processing continues to step420, where an error state is determined.

At step410, a request is made to the first user to review the previous action of the second user at step406. In one or more embodiments, the request at step410is made to a third user.

Processing continues to decision step412, where the first user provides input indicating whether or not the first user has confirmed the action as previously requested in step410. If the first user indicates confirmation, processing continues to step414. Otherwise, if the first user does not confirm the activity, processing continues to step420, where an error state is determined.

Processing continues to step414, where the request is sent to an n-th user to give final confirmation. Processing continues to decision step416, where the n-th user provides input indicating whether or not the paste n-th user gives final approval. If the n-th user gives final approval, processing continues to step424. In one or more embodiments, steps414-416are an automated activity that occurs under the supervision of the data steward user, such as a service call.

Returning to step420, where an error state is determined. Processing continues to step422, where any changes made to the master data management system are rolled back such that the master data management system is in the initial state prior to the initiation of process400. Processing continues to step424.

At step424, notification of the actions, results, and any errors are sent. For example, notifications may be sent to participant users, nonparticipant users, and/or applications. Different notifications may be sent based on the actual result of the data process. Notifications may be provided through a custom application or by any traditional method of notification, including electronic messaging systems such as e-mail, SMS message, MMS message, system notifications, or any other electronic messaging service.

Processing continues to step426, where process400terminates.

FIG. 5is a flowchart of a process for generating and handling a data process in accordance with one or more systems and methods for providing collaborative master data process management. Process500begins at step502.

Processing continues to step504, where a data process template for a triggering event type is generated. For example, a data process template may be generated for triggering event types such as order placement, customer acquisition, marketing events, audit events, business changes, customer contact, system updates, staffing changes, or any other event type requiring action within the scope of business operation.

In one or more embodiments, a data process design user interface is provided to allow an authorized user to generate a custom data process template. The custom data process template includes a custom business process involving custom operation on data for at least one data domain. In one or more embodiments, the custom business process involves a custom operation on multi-domain data.

Processing continues to step506, where a data process for selected data is initiated upon a triggering event of the triggering event type. The data process is initiated in accordance with the data process template associated with the triggering event type. For example, the triggering event types may be order placement, customer acquisition, marketing events, audit events, business changes, customer contact, system updates, staffing changes, or any other event type requiring action within the scope of operation for an organization.

Processing continues to step508, where a business action is requested from a business user. For example, the business action may include at least one of verifying data with an external source, approving a previous action by another user, approving an automated action by a computer application, coordinating with another user, contacting another individual or company, making a business decision, or any other action the business user has authority to perform within the scope of his employment.

Processing continues to step510, where a response is received from the business user. The response includes input from the business user regarding the performance of the requested business action by the business user.

Processing continues to step512, where the next action of the data process is determined based on the response from the business user.

Processing continues to step514, where a data action is requested from a data steward user. For example, the data action may include at least one of verifying data with an external source, approving a previous action by another user, approving an automated action by a computer application, interacting with a master data management system, interacting with another software application, modifying a master data management system, modifying another software application, modifying one or more hardware or software configurations, coordinating with another user, contacting another individual or company, or any other action the data steward user has authority to perform within the scope of his employment.

Processing continues to step516, where a response is received from the data steward user. The response includes input from the data steward user regarding the performance of the requested data action by the data steward user.

Processing continues to step518, where the next action of the data process is determined based on the response from the data steward user.

Processing continues to step520, where process500terminates.

FIG. 6is a flowchart of a process for generating and handling an error state in a data process in accordance with one or more systems and methods for providing collaborative master data process management. Process600begins at step602.

Processing continues to step604, where a data process template for triggering event type is generated. For example, the triggering event types may be order placement, customer acquisition, marketing events, audit events, business changes, customer contact, system updates, staffing changes, or any other event type requiring action within the scope of operation for an organization.

In one or more embodiments, a data process design user interface is provided to allow an authorized user to generate a custom data process template. The custom data process template includes a custom business process involving a custom operation on data for at least one data domain. In one or more embodiments, the custom business process involves a custom operation on multi-domain data.

Processing continues to step606, where a data process for selected data is initiated upon a triggering event of the triggering event type. The data process is initiated in accordance with the data process template associated with the triggering event type.

Processing continues to step608, where an action is requested from a user.

Processing continues to step610, where a response is received from the user. The response includes input from the user regarding the performance of the requested action by the user.

Processing continues to step612, where it is determined whether an exception error state has been reached based on the response received from the user. In one or more embodiments, master data process module214is configured to reach an exception error state when a type of error occurs that potentially requires a change of the data process. Multiple error types may be considered, in which case step612differentiates between an error type which the data process is designed to handle and an exception error state that potentially requires a change of the data process. The exception error state may be reached when a sitation arises that the data process is not designed to handle. In one or more embodiments, when a frequency of occurrence of errors of a type the data process is designed to handle becomes high, is determined that an exception error state is reached, and to be appropriate to consider a change in the data process. One or more embodiments include multiple types of exception error states.

Processing continues to step614, where a business process is generated in response to the exception error state. In one or more embodiments, the business process generated in response to the exception error state is directed to changing the data process template that the data process generating the exception error state is based on. For example, the business process may involve a review of the data process template in view of the triggering event and selected data.

Processing continues to step616, where an action is requested from an authorized user. The authorized user includes any user with authority to approve changes to a data process template.

Processing continues to step618, where the data process template for the triggering event type is successfully changed through the business process generated in response to the exception error state reached in the data process.

Processing continues to step620, where process600terminates.

One of ordinary skill in the art would appreciate that systems and methods for providing collaborative master data process management may include steps to be performed in parallel without departing from the spirit and scope of the invention.FIG. 7is a diagram outlining a parallel data process in accordance with one or more systems and methods for providing collaborative master data process management.

Process700begins at step702and continues to step704, where a data operation is initiated. Processing continues to steps708-710, where requests are sent to multiple users to perform multiple actions associated with the data operation initiated in step704. Processing continues to step712, where the process awaits input from the multiple users in response to the multiple actions.

Processing continues to decision step714, where it is determined whether or not all required input is received. If the required input is not yet received, processing continues to step716, where reminder notifications are sent regarding the missing input. In one or more embodiments, reminder notifications are sent to users who have not provided input within a predetermined period of time. A reminder notification may be sent to an administrative user after a prolonged period, such as after multiple reminders (not shown). Notifications may be provided through a custom application or by any traditional method of notification, including electronic messaging systems such as e-mail, SMS message, MMS message, system notifications, or any other electronic messaging service.

Returning to decision step714, after the required input is received, processing continues to step718, where a next action is determined based on input received. For example, if all users indicate the successful performance of their assigned actions, the next action may include review and confirmation steps. If any user indicates failure, the next action may include a rollback, error handling, reevaluating a data process template associated with the data process, an action by another user to address a condition causing the failure, or any other appropriate action based on the input received from the multiple users.

Processing continues to step720, where process700terminates.