ATP system communication interface

Information

  • Patent Application
  • 20060011717
  • Publication Number
    20060011717
  • Date Filed
    July 13, 2005
    20 years ago
  • Date Published
    January 19, 2006
    20 years ago
Abstract
The invention provides a system for available-to-promise checks comprising: calculation means for evaluating queries concerning available-to-promise checks; an interface means which is adapted for receiving queries concerning available-to-promise checks from an external calling system, for transferring queries to the calculation means, for storing results of the available-to-promise checks, for outputting the results of the available-to-promise checks to the external calling system; the queries having the form of input tables comprising keys for handing over parameters from the external calling system to be used in the calculation means; and the results having the form of output tables comprising the results according to the query; whereby the input tables and the output tables being separated from each other in order to divide the result of the available-to-promise checks from the query data itself and so to provide one-to-one identification of input table and output table.
Description
BACKGROUND OF THE INVENTION

1. Field


This application relates to the planning and control of material and information flows, and more particularly to systems planning and optimizing material and information flows.


2. Background


The flow of goods and services from a point of origin to a point of consumption is known as supply chain, and the management of interconnected entities involving one or more supply chains is known as supply chain management (SCM). A system for supply chain management may be computer-implemented and may often include one or more databases representing the supply chains which are to be managed.


A fundamental activity of a supply chain management system may be concerned with matching demand of goods and services to supply of goods and services. This process is known as demand-supply matching. Demand-supply matching involves the assessment of the availability of intermediate and/or final goods or services in a supply chain.


In a supply chain management system an assessment of availability, also called an availability check, may be carried out by querying one or more databases which represent the supply chains to be managed. An availability check is also called Available-to-Promise (ATP). Available-to-Promise (ATP) investigates whether a promised delivery can in fact be made, and if so when.


Typically, ATP systems are embedded into complex planning and organizing systems, such as Advanced Planner and Optimizer (APO) delivered by SAP Aktiengesellschaft, Walldorf, Germany. Such systems may deal with high amounts of data originating from several internal and/or external sources. On the other hand, an APO/ATP system may deliver its results to another part of the complex system for processing the actual ATP check. As long as that system is from the same vendor, complete knowledge to interface that system with the ATP system should always be available. If, however, that system comes from a third party, there is a problem to interface the third-party system with the ATP of the other vendor.


SUMMARY OF THE INVENTION

A system is provided to provide available-to-promise checks, the system includes:


calculation means for evaluating queries concerning available-to-promise checks;


storing means for the results of the available-to-promise checks;


an interface means which is adapted for receiving queries concerning available-to-promise checks from an external calling system, for transferring the queries to the calculation means, and for outputting results of the available-to-promise checks to the external calling system;


the queries having the form of input tables comprising keys for handing over parameters from the external calling system to be used in the calculation means; and


the results having the form of output tables comprising the results according to the query; whereby the input tables and the output tables are separated from each other in order to divide the results of the available-to-promise checks from the query data itself and to provide one-to-one identification of respective input table and output table.


The interface means may be further adapted for handling confirmation of predecessor documents by reference. The tables transferred from/to the interface may comprise keys referring to identify current and predecessor queries of the calling system. Further, profile data may be provided to the external system for adapting the interface means to the external system.


To provide for further standardization the interface means can be adapted for communication on the basis of a remote function call (RFC). In a particular advantageous embodiment of the invention the communication transmitted via the interface means is free from proprietary information of the APO system. In the context of a special embodiment, the interface means is adapted for receiving a set of data fields specifying a business process to be evaluated. To provide an enhanced adaptability, a part of customizing profile associated with the calling system is managed in the APO system, the part being read upon call by the external system.


It is an advantage of some of the embodiments of the present invention that an interface is provided via which communication with an arbitrary third-party system is easily enabled. Complex adaptations to data structures of the APO systems are not needed.




BRIEF DESCRIPTION OF DRAWINGS

The invention is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.



FIG. 1 shows a preferred embodiment of the present invention.




DETAILED DESCRIPTION

An embodiment of the present invention according to FIG. 1 is used within a global Advanced Planner and Optimizer (APO) system 10, which supports supply chain management (SCM). The APO can be thought as a planning engine coordinating planning and optimizing activities of a plurality of various external enterprise resource planning (ERP) systems 300, 310, 320.


For a planning or optimizing task to be carried out, the APO system 10 is fed with queries from the various external enterprise resource planning (ERP) systems 300, 310, 320 which are provided by the same vendor, or by any other vendor. These queries are passed by the interface 100 comprised in the APO system 10 to the ATP component 150 comprised in the APO system 10. The interface 100 is adapted for performing the communication between the APO system and the calling external systems 300, 310, 320. Such calls originating from one of the external systems 300, 310, 320, for instance the system 300, may comprise queries as to available-to promise (ATP) calculations which are to be performed by the ATR component 150 of the APO system 10. The results according to the calculations are transferred via the interface 100 back to the calling external system 300. The communication between the interface 100 and the external system 300 is performed on the basis of a standard RFC link 400.


The communication between the interface 100 and the external system 300 is done by exchanging tables which comprise relevant parameter and result data, respectively. The tables are separated in input tables and output tables. Furthermore, no data proprietary to the APO system are transmitted to the external system 300. This simplifies considerably the adaptation of external calling systems 300.


The communication via the interface 100 is divided in input and output fields, such that the structures have the following fields.


First, the global parameters, which are received by the interface 100 are described.

BAPIGLOBPAR_IN (Input):NameDatatypeShort textTRANSACTION_GUIDSYSUUID_CATP: Transaction GUIDUSER_NAMESYUNAMESAP System, User Logon NameCALLING_LOGICAL_SYSTEMLOGSYSLogical system of BAPI callerAPPLICATION/SAPAPO/BAPI_ANWDGATP: Calling applicationINIT_INDICATOR/SAPAPO/INITINDATP: Initialization Indicator for theCheckENQUEUE_MODE/SAPAPO/ENQMODATP: Mode for Locks and DeltaRecords During Check


Only one global parameter is outputted:

BAPIGLOBPAR_OUT (Output)NameDatatypeShort textTRANSACTION_GUIDSYSUUID_CATP: Transaction GUID


All the following structures are tables:


Field Catalogue


The field catalogue has a generic structure, rather than a predefined set of specified parameters. This field catalogue structure contains information which is specific to the processes of the calling system. The data in the field catalogue is used for scheduling purposes and advanced available-to-promise methods.


Requirement Groups


The requirement group table input structure is an optional input table, which should be filled in case of Delivery groups, sales BOMs or components check, only. It has the following fields:

BAPIREQGRP_IN (Input)NameDatatypeShort textREQUIREMENT_GROUP_INDEX_IN/SAPAPO/REQSUBGRPIDXATP requirements groupindexEXTERNAL_NUMBER/SAPAPO/EXT_CGNUMATP: External Number of aCorrelation GroupREQUIREMENT_GROUP_TYPE/SAPAPO/REQSUBGRPTYPATP: Type of RequirementsGroupCORRELATION_MODE/SAPAPO/CCMODCorrelation Calculation Mode(PP)CORRELATION_PROFILE_ID/SAPAPO/ATP_CORRPROFILEATP: Correlation CalculationProfileFORCED_CORRELATION_TYPE/SAPAPO/CORRTYP_FORCEATP: Overriding CorrelationCalculation TypeCORRELATION_TIMESTAMP/SAPAPO/CORRTMSATP: Time Stamp forCorrelationREQUIREMENT_HEADER_TIMESTAMP/SAPAPO/REQTMS_HDATP: Requirements Date(Time Stamp) of FinishedProductREQUIREMENT_HEADER_QUANTITY/SAPAPO/REQQTY_HDATP: Requirement Quantity ofFinished ProductREQUIREMENT_HEADER_UNIT/SAPAPO/MEINSBase Unit of Measure


The requirement group table is a pure output table.

BAPIREQGRP_OUT (Output):NameDatatypeShort textPRED_REQUIREMENT_ITEM_INDEX/SAPAPO/REQITMIDXATP: Index for an ATPRequirements Schedule LineORIG_REQUIREMENT_ITEM_INDEX/SAPAPO/OM_REQIDXATP: Index for an ATPRequirementREQUIREMENT_GROUP_INDEX/SAPAPO/REQGRPIDXATP requirements group indexOUTTOTAL_CONFIRMED_TIMESTAMP/SAPAPO/TCCTMS_HDATP: Total Confirmation Date(Time Stamp) for Finished Prod.CONFIRMED_QUANTITY/SAPAPO/CNFQTY_HDATP: Confirmed Quantity atFinished Product LevelPARTIAL_CONFIRMED_TIMESTAMP/SAPAPO/PCFTMSATP: Partial Confirmation Date(Time Stamp)PARTIAL_CONFIRMED_QUANTITY/SAPAPO/PCFQTYATP: Partial ConfirmationQuantityTOTAL_CONFIRMED_DIFFERENCE/SAPAPO/TCCDIFFATP: Difference of TotalConfirmation in Working TimeCONFIRMATION_FACTOR/SAPAPO/CNFFACATP: Confirmation FactorPARTIAL_CONFIRMED_DIFFERENCE/SAPAPO/PCFDIFFATP: Difference in Working Timeof 1st Partial Confirmation


To make the adaptation to an arbitrary external system as easy as possible, there is in the interface table only one line per requirement.

BAPIREQ_IN (Input) and BAPIREQ_OUT (Output)Input/NameDatatypeShort textOutp.REQUIREMENT_INDEX/SAPAPO/OM_REQIDXATP requirementsI/OindexREQUIREMENT_GROUP_INDEX/SAPAPO/REQGRPIDXATP requirementsI/Ogroup indexPOSITION_IN_SUB_GROUP/SAPAPO/SUBGRPSEQATP: Requirement itemIin a requirementssubgroupPRODUCT/SAPAPO/EXT_MATNRExternal ProductI/OIndicatorLOCATION/SAPAPO/EXT_LOCNOExternal Location IDI/OLOCTYPE/SAPAPO/C_LOCTYPELocation TypeI/OSUB_LOCATION/SAPAPO/SUBLOCSublocationI/OPRODUCT_VERSION/SAPAPO/VERSIONVersionI/OSPEC_STOCK_IND/SAPAPO/SOBKZSpecial Stock IndicatorI/OSPEC_STOCK_KEY/SAPAPO/SSKEYKey for Special StockI/OSegmentSPEC_LOGICAL_SYSTEMLOGSYSLogical system forI/OSpecial Stock SegmentORDER_ITEM_GUIDSYSUUID_CATP: Item GuidI/O(/SAPAPO/POSGUID)LOGICAL_SYSTEMLOGSYSLogical systemIEXT_ORDER_NUMBER/SAPAPO/DELNROrder Number fromIConnected OLTPSystemITEM_NUMBER/SAPAPO/DELPSOrder ItemIORDER_TYPE/SAPAPO/R3TRPERSIST_IDSYSUUID_CInstance NumberI/O(Persistent)CUX_PERSIST_IDACTION_METHOD/SAPAPO/ATP_ACTMETATP: Check, Delete,IUpdateCHECK_PROFILE/SAPAPO/REQPRFATP: RequirementsIprofileSCHEDULING_INDICATOR/SAPAPO/BAPI_SCHINDATP: Indicator: ExecuteISchedulingTRANSACTION_TYPE/SAPAPO/TRTYPTransaction typeIACTIVITY_TYPE/SAPAPO/ACTYPRules-based ATP:IAction TypeRESULT_MODE/SAPAPO/RESMODATP: Results ModeISTRUCTURE_INDICATOR/SAPAPO/STRUCINDATP structure indicatorIFIXED_FLAG/SAPAPO/BAPI_FIXFLGFixed indicator (PP-q &ISD tq)SUBSTITUTION_REASON/SAPAPO/SUREARules-based ATP:OSubstitution reasonERROR_FLAG/SAPAPO/ERRFLGATP: Error occurredOwhile checking arequirementREQUIREMENT PROFILEATP_CATEGORY/SAPAPO/ATPCATCategory ofXStock/Receipt/Requirement/ForecastORDER_CATEGORY/SAPAPO/ATPCATCategory ofNStock/Receipt/Requirement/ForecastBUSINESS_EVENT/SAPAPO/PRREGBusiness eventXCHECK_MODE/SAPAPO/ATP_CHMODCheck ModeXALLOCATION_MODE/SAPAPO/DEM_ALLOCAssignment ModeXTEMP_OBJ_MODE/SAPAPO/DELTAINDATP: Indicator forXwriting temporaryobjectsTECHNICAL_PROCESS/SAPAPO/TPROCRules-based ATP:XTechnical ScenarioBUSINESS_PROCESS/SAPAPO/BPROCRules-based ATP:XBusinesstransactionDURATION_TIMESTAMP/SAPAPO/OM_DURTMSATP: Duration ofNthe lifetime ofnon-persistenttemporary objects


Requirement Item:

BAPIREQITM_IN (Input) and BAPIREQITM_OUT (Output)Input/NameDatatypeShort textOutp.REQUIREMENT_ITEM_INDEX/SAPAPO/REQITMIDXATP: Index for anI/OATPRequirementsSchedule LineREQUIREMENT_INDEX/SAPAPO/OM_REQIDXATP: Index for anI/OATP RequirementREQUIREMENT_TIMESTAMP/SAPAPO/REQTMSATP:I/ORequirementsDate (TimeStamp)REQUIREMENT_QUANTITY/SAPAPO/REQQTYATP: RequirementI/OQuantityWITHDRAWN_QUANTITY/SAPAPO/WITQTYATP: QuantityIWithdrawnREFERENCE_TIMESTAMP/SAPAPO/REFTMSATP: ReferenceIDateREFERENCE_TIME_TYPE/SAPAPO/EV_TYPEScheduling TypeISCHEDULE_LINE/SAPAPO/DELETSchedule LineINumber forOrder/PlanningElementCUMULATION_TYPE/SAPAPO/CUMTYPOnLine versusIbatchUSED_RECEIPTS_IN_PAST/SAPAPO/OM_USEDRIPATP: conf. UsingOreceipt elem. inpastPROD_ALLOC_CUM_QUANTITY/SAPAPO/OM_CUMQTYATP: max availOqnty for prodallocationPROD_AVAIL_CUM_QUANTITY/SAPAPO/OM_CUMQTYATP: max availOqnty for prodavail.FORECAST_CUM_QUANTITY/SAPAPO/OM_CUMQTYATP: max availOqnty for forecast


The available-to-promise results are comprised in an output and an input table. The input table is to enable the update functionality.

BAPIRESULTS_IO (Input & Output)NameDatatypeShorttextREQUIREMENT_ITEM_INDEX/SAPAPO/REQITMIDXATP: Index for an ATP RequirementsSchedule LineRESULT_INDICATOR/SAPAPO/RESINDATP: Indicator for Origin of ResultRESULT_INDEX/SAPAPO/RESIDXATP: Index of an ATP results rowCONFIRMED_TIMESTAMP/SAPAPO/CNFTMSATP: Confirmation date (time stamp)CONFIRMED_QUANTITY/SAPAPO/CNFQTYATP: Confirmed Quantity


The scheduling results are comprised in a pure output table. Only the final result is scheduled.

BAPIRES_SCHED (Output)NameDatatypeShorttextRESULT_INDEX/SAPAPO/RESIDXATP: Index ofan ATP resultsrowTIME_TYPE/SAPAPO/EV_TYPEDate TypeSCHEDULED_TIMESTAMP/SAPAPO/CNFTMSATP:Confirmationdate(time stamp)TIME_ZONETIMEZONETime Zone


REFERENCES

This is a pure input table, containing the references to predecessor processes. Predecessor processes are processes from external systems (300, 310, 320) which have used the ATP-component (150) of the APO system (10) some time before. The results of these former processes have been stored in the APO-system (10) and should now be replaced by the new results of the current process. Instead of specifying the whole key, the identification is done by a reference to the requirement.

BAPIREF_IN (Input)NameDatatypeShort textREQUIREMENT_INDEX/SAPAPO/OM_REQIDXATP requirements indexPRED_EXT_ORDER_NUMBER/SAPAPO/DELNROrder Number from Connected OLTPSystemORDER_TYPE/SAPAPO/R3TRPRED_ATP_CATEGORY/SAPAPO/ATPCATCategory ofStock/Receipt/Requirement/ForecastPRED_ITEM_NUMBER/SAPAPO/DELPSOrder ItemPRED_ORDER_ITEM_GUIDSYSUUID_CATP: Item Guid(/SAPAPO/POSGUID)CONSIDER_QUANTITY_FLAG/SAPAPO/CNSFLGATP: Consider Copied Quantities forReference DocumentsPRED_LOGICAL_SYSTEMLOGSYSLogical system


The APO will not accept references for documents, which do not have requirements. Furthermore, there are seven standard interface tables for configuration and allocation usage data. All configuration tables are input and output tables. The allocation usage table is a pure output table. In addition to that, there are three standard interface tables, namely an output table containing error messages, an output table, which may contain customer specific fields, and an input table, which may contain customer specific fields.


The present techniques can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. System of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor. Method elements according to the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on the basis of input data, and by generating output data. The invention may be implemented in one or several computer programs that are executable in a programmable system, which includes at least one programmable processor coupled to receive data from, and transmit data to, a storage system, at least one input device, and at least one output device, respectively. Computer programs may be implemented in a high-level or object-oriented programming language, and/or in assembly or machine code. The language or code can be a compiled or interpreted language or code. Processors may include general and special purpose microprocessors. A processor receives instructions and data from memories, in particular from read-only memories and/or random access memories. A computer may include one or more mass storage devices for storing data; such devices may include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by or incorporated in ASICs (application-specific integrated circuits).


The computer systems or distributed computer networks as mentioned above may be used, for example, for producing goods, delivering parts for assembling products, controlling technical or economical processes, or implementing telecommunication activities.


To provide for interaction with a user, the invention can be implemented on a computer system having a display device such as a monitor or LCD screen for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer system. The computer system can be programmed to provide a graphical or text user interface through which computer programs interact with users.


A computer may include a processor, memory coupled to the processor, a hard drive controller, a video controller and an input/output controller coupled to the processor by a processor bus. The hard drive controller is coupled to a hard disk drive suitable for storing executable computer programs, including programs embodying the present technique. The I/O controller is coupled by means of an I/O bus to an I/O interface. The I/O interface receives and transmits in analogue or digital form over at least one communication link. Such a communication link may be a serial link, a parallel link, local area network, or wireless link (e.g. an RF communication link). A display is coupled to an interface, which is coupled to an I/O bus. A keyboard and pointing device are also coupled to the I/O bus. Alternatively, separate buses may be used for the keyboard pointing device and I/O interface.


The foregoing descriptions of specific embodiments of the present invention have been presented for the purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in the light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto.


In the foregoing specification, the invention has been described with reference to the specific embodiments thereof. It will, however, be evident that various modifications and changes can be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims
  • 1. A system for providing available-to-promise checks, the system comprising: calculator to evaluate queries concerning available-to-promise checks; an interface to receive queries concerning available-to-promise checks from an external calling system, for transferring queries to the calculator to store results of the available-to-promise checks, to output the results of the available-to-promise checks to the external calling system; the queries having the form of input tables comprising keys to hand over parameters from the external calling system to be used in the calculator; and the results having the form of output tables comprising the results according to the query; the input tables and the output tables being separated from each other to separate the result of the available-to-promise checks from the query data itself and to provide one-to-one identification of respective input tables and output tables.
  • 2. The system according to claim 1, wherein the interface is further adapted for handling confirmation of predecessor processes by reference.
  • 3. The system according to claim 1, wherein the input tables comprise keys referring to identify current and predecessor queries of the calling system.
  • 4. The system of claim 1, wherein profile data is provided to the external system for adapting the interface to the external system.
  • 5. The system of claim 1, wherein the interface is adapted for communication on the basis of a remote function call.
  • 6. The system of claim 1, wherein the communication transmitted via the interface is free from proprietary information of the APO system.
  • 7. The system of claim 1, wherein the interface is adapted for receiving a set of data fields specifying a business process to be evaluated.
  • 8. The system of claim 1, wherein a part of customizing profile associated with the calling system is managed in the APO system, the part being read upon call by the external system.
  • 9. A method for providing available-to-promise checks, the method comprising: evaluating queries concerning available-to-promise checks; receiving queries concerning available-to-promise checks from an external calling system; transferring queries to a calculator; and storing the results of the available-to-promise checks, and outputting results of the available-to-promise checks to the external calling system; wherein the queries having the form of input tables comprising keys for handing over parameters from the external calling system to be used in the calculator; and the results having the form of output tables comprising the results according to the query; the input tables and the output tables being separated from each other to separate the result of the available-to-promise checks from the query data itself and to provide one-to-one identification of respective input table and output table.
  • 10. The method of claim 9, further comprising: handling confirmation of predecessor documents by reference.
  • 11. The method of claim 9, wherein the tables comprise keys to identify current and predecessor queries of the calling system.
  • 12. The method of claim 9, wherein profile data is provided to the external system for adapting the interface to the external system.
  • 13. The method of claim 9, further comprising communicating on the basis of an RFC call.
  • 14. The method of claim 9, wherein the communication transmitted via the interface is free from proprietary information of an APO system.
  • 15. The method of claims 9, further comprising: receiving a set of data fields specifying a business process to be evaluated.
  • 16. The method of claim 9, wherein a part of customizing profile associated with the calling system is managed in an APO system, the part being read upon call by the external system.
  • 17. A machine-accessible medium containing instructions that when executed cause a member to provide available-to-promise checks by: evaluating queries concerning available-to-promise checks; receiving queries concerning available-to-promise checks from an external calling system; transferring queries to a calculator; and storing the results of the available-to-promise checks, and outputting results of the available-to-promise checks to the external calling system; wherein the queries having the form of input tables comprising keys for handing over parameters from the external calling system to be used in the calculator; and the results having the form of output tables comprising the results according to the query; the input tables and the output tables being separated from each other in order to divide the result of the available-to-promise checks from the query data itself and to provide one-to-one identification of respective input table and output table.
  • 18. The machine accessible median of claim 17, wherein instructions further cause the machine to: handled confirmation of predecessor documents by reference.
  • 19. The machine accessible median of claim 17, wherein instructions further cause the machine to: communicate on the basis of a remote function call.
  • 20. The machine accessible median of claim 17, wherein instructions further cause the machine to: receive a set of data fields specifying a business process to be evaluated.
Priority Claims (1)
Number Date Country Kind
04016685.2 Jul 2004 EP regional