Abstract:
A method of controlling transactions includes segmenting master data into separate process control data for a particular business process of a business organization, such as for example, materials to be the subject of transactions. A status may be set for each process control data. The method includes controlling storing of the process control data into the master data as a function of the status. Transactions may be processed using process control data as a function of the status of the corresponding process control data status.

Description:
BACKGROUND 
       [0001]    Software used to run businesses may include data that corresponds to both materials to be sold, and process controls defining business processes corresponding to the materials. Master data is a collection of all of the process controls associated with a business. Due to the complexity of master data, it is often not possible to maintain all the data of all the process controls for one master datum correctly at any given time. Failed consistency checks in one process control may prevent other process controls from being used. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0002]      FIG. 1  is a block diagram illustrating a process control architecture according to an example embodiment. 
           [0003]      FIG. 2  is a screen shot of a user interface to a process control having a status of in preparation according to an example embodiment. 
           [0004]      FIG. 3  is a screen shot of a user interface to a process control having a status of active according to an example embodiment. 
           [0005]      FIG. 4  is a block diagram of an example computer system for implementing various embodiments described. 
       
    
    
     DETAILED DESCRIPTION 
       [0006]    In the following description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments which may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the scope of the present invention. The following description of example embodiments is, therefore, not to be taken in a limited sense, and the scope of the present invention is defined by the appended claims. 
         [0007]    The functions or algorithms described herein are implemented in software or a combination of software and human implemented procedures in one embodiment. The software may consist of computer executable instructions stored on computer readable media such as memory or other type of storage devices. The term “computer readable media” is also used to represent any means by which the computer readable instructions may be received by the computer, such as by different forms of wireless transmissions. Further, such functions correspond to modules, which are software, hardware, firmware or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples. The software is executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system. 
         [0008]    Master data processing enables a business organization to manage all master data that describes for example its tangible and intangible products and that is relevant to control its business processes, such as sales, purchasing, planning, production, and accounting processes. 
         [0009]    Process controls are groups of attributes that execute software that automates a specific process involving a fundamental entity of a master data database. Fundamental entities are real world elements such as a bank, a terminal, a company, or a personal computer. Process controls are groups of attributes that are used to control a specific process step, and each process control offers a different view into an object. Process controls are used to model the master database, i.e., process controls define which attributes are relevant for a specific process step; the process control defines the set of attributes necessary to run a process. The process controls are defined to make the complexity of the database, which itself contains hundreds of attributes and in an embodiment many tables, more manageable. At a high level, process controls are defined according to an outside-in design approach along the lines of the processes it supports. That is, the process control is not concerned with what is in the database, but what the process control wants to retrieve for the outside world. In other words, a process control is designed for business reasons (what data a business organization wants to review) and not technical reasons (how should that data be retrieved from the database). In an embodiment, the process controls are defined at design time, and hence can be shipped to one or more customers. The process controls represent the process controlling business logic of a business system. 
         [0010]    In one embodiment, some process controls are related to a material, such as a product to be sold, and a particular sales organization or distribution chain. If a process control is not usable, it is termed inactive. However, other process controls of the master data may be used, allowing business to continue. It should be noted that the terms material and product are just one form of master data used for illustration, and that master data relates to data for many different business processes. Further, references to a sales organization or distribution chain are also used as an example, and are not meant to be limiting. 
         [0011]    In one embodiment, a status management module or process is used to manage the status of process controls. The status may be set by a user, or may be set by the a business system. 
         [0012]      FIG. 1  is a block diagram representation  100  of the segmentation of process controls within a business management system. Master data is indicated at  110 , and in one example used for illustration, may be divided into product master data for business to business products  115  and for non business to business products  120 . Process control master data is maintained at  125 . In one example, a product may be a developer laptop device, and the data includes all data sufficient to identify the device. 
         [0013]    Process control mast data  125  may include relevant data for use in selling or transporting goods. It may include external dimensions of products, such as length, width, height, weight that are useful for transport of the products. Further, data used to execute a sale or replenishment durations, codes, material sold, planning information, grouping of materials supply planning, warranty information and other terms and conditions of sale may be included among other information. The information may be different for different countries or sales organizations as indicated at  130 . 
         [0014]    Thus, each sales organization has a different instance of a process control for the sale of each product  135  or service  140 . For instance, a sales organization may have different internal material identification numbers, different value added propositions, such as rebates, or different terms and conditions depending on jurisdictional differences, which may be based on country, state, or local regulations or preferences. In one embodiment, the process controls are represented by software objects. 
         [0015]    Once a process control  135 ,  140  is finalized or otherwise ready for use, it may be used by product data processing  150  to actually sell products and services for the corresponding materials and service products for the corresponding organization. 
         [0016]    In one embodiment, each process control is an object that has a current status. The status determines the actions that can be performed. The status may be set by a user or by the system. Various lifecycle statuses are one example. A status of “in preparation” means that the object is a preliminary version, for example, embodying the plans for a distribution channel to distribute material, such as a product or service. The object data may be incomplete and/or inconsistent. It would thus fail a consistency check. It is not possible to execute transactions on an object have an in preparation status. 
         [0017]    A further status of a process control object is “active”. This status means that an object is currently usable, object data is complete and consistent, and it is possible to execute transactions. In other words, where master data is related to the example of a product or material, the sales organization may sell the material or service product corresponding to the control object. An object having a status of active may have a validity period, but the status may not be set on core level. 
         [0018]    A further status include a “blocked status”. For the product or material example, this may be used for seasonal materials, or for materials currently experiencing a technical problem or for any other business reason where sales may not currently be desired. The status blocked means that an object is currently blocked and not usable, but may be used at a later time. It is not possible to execute new transactions on an object with a blocked status, but already existing transactions may be finalized. To have a blocked status, in one embodiment, all object data should be complete and consistent. This status may not be set on core level. 
         [0019]    A still further status may include a “to be archived” status. This is meant to indicate that the object has been marked for archiving. It is not possible to execute new transactions on an object to be archived, but already existing transactions may be finalized. Once related business transactions are completed, the object may be archived. This status may only be set on core level. 
         [0020]    When modifying process control objects with a status of in preparation, inconsistencies in the process control data may be presented as warnings. Using the limited example of master data related to a product, product master data may also be saved. When the status is not equal to in preparation, which may itself be referred to as a status, inconsistencies in process control data are presented as errors. Master may not be saved and the status may not be set to in preparation if this status has already been saved, as data can be already used in transactions. 
         [0021]    An example is provided where a material has an ID of MCF-0002 that is assigned to two different distribution chains. A first process control object is exists for a US Southern Region. In this example, the first process control object is still in preparation as illustrated in an example user interface screen shot shown in  FIG. 2 . Multiple fields are provided for entering data, such as pricing, commissions, rebates, etc. An entry for the US Southern Region is shown at  210  and includes the status at  215 . Data may be inconsistent as indicated at  220 , where a minimum order quantity is negative. Inconsistencies are displayed as warning messages as indicated at  225 . The process control object in this status may not be used in a process, so the US Southern Region may not conduct transactions for material MCF-0002. 
         [0022]    The user interface of  FIG. 2  also illustrates that the example process controls for sales may be part of a larger business process system that includes purchasing, inventory, planning, production, delivery, financials, etc. It may also be a stand alone system in further embodiments. 
         [0023]    In a US Northern Region, a second process control is already active as illustrated in an example user interface screen shot shown in  FIG. 3 . This means that the data in it must be consistent. An entry for the US Northern Region is shown at  310  and includes the status at  315 . Any inconsistencies, such as in a minimum order field  320  showing a negative value for minimum order quantity, that are created by attempting to change the second process control object may be displayed as an error message  325 , preventing saving of the object. 
         [0024]    A block diagram of a computer system that executes programming for performing the above algorithm is shown in  FIG. 2 . A general computing device in the form of a computer  410 , may include a processing unit  402 , memory  404 , removable storage  412 , and non-removable storage  414 . Memory  404  may include volatile memory  406  and non-volatile memory  408 . Computer  410  may include—or have access to a computing environment that includes—a variety of computer-readable media, such as volatile memory  406  and non-volatile memory  408 , removable storage  412  and non-removable storage  414 . Computer storage includes random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM) &amp; electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing computer-readable instructions. Computer  410  may include or have access to a computing environment that includes input  416 , output  418 , and a communication connection  420 . The computer may operate in a networked environment using a communication connection to connect to one or more remote computers. The remote computer may include a personal computer (PC), server, router, network PC, a peer device or other common network node, or the like. The communication connection may include a Local Area Network (LAN), a Wide Area Network (WAN) or other networks. 
         [0025]    Computer-readable instructions stored on a computer-readable medium are executable by the processing unit  402  of the computer  410 . A hard drive, CD-ROM, and RAM are some examples of articles including a computer-readable medium. 
         [0026]    The Abstract is provided to comply with 37 C.F.R. §1.72(b) to allow the reader to quickly ascertain the nature and gist of the technical disclosure. The Abstract is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.