The ATP Check ES bundle provides a set of services for checking availability of products (ATP stands for "available-to-promise"). For example, in a call center, this ES bundle enables the staff to ascertain in real time the availability, quantity, and location of a product in which a consumer has expressed interest and make that information available to the sales representative. Additionally, ATP Check allows the sales clerk to reserve, order, or cancel a product, in specific amounts and at predetermined times, on behalf of a customer.
In phase two an initial check for availability is performed for the required quantity for the product and location of interest. The check returns details such as the quantity on hand and the earliest date at which the product is available for delivery.
In the latter phases of the ATP Check, the customer chooses how to respond. For exampe, they can reserve the product at another location, or create a transfer and a customer requirement for the respective product. This requirement is then visible in the SAP SCM backend system and all authorized personnel may access this data at any time for further alteration.
In addition a sales order can be updated with the reservation as will be described in the specific use cases.
Implementing the ATP Check ES bundle allows organizations to:
- Improve customer service by extending access to SAP data to a broader end user base
- Use custom user interfaces for performing ATP checks
- Offer ATP check in new scenarios fitting to customer requirements
- Extend the ability to perform ATP checks against SAP SCM or SAP ERP to more users
The ATP Check ES bundle leverages enterprise SOA through reusable enterprise services and business objects. This standards-based approach to integration provides robust interfaces from a variety of user interfaces, including web interfaces, to SAP SCM and SAP ERP backend functionality.
The ATP Check ES bundle can be deployed in virtually all business scenarios involving product availability requests from consumers or shop floor personnel and is not industry-specific. As such, it will greatly benefit any industry that needs to execute real-time queries about product location, quantity, and availability.
The enterprise services in ATP Check are available across the chain of command, from top-end executives to mid-level managers to sales reps and technicians. These advantages will result in decreased customer drift and increased sales. Early beneficiaries include the retail sales, wholesale, Internet sales, and call center sectors.
For details on Service Operations, Business Objects and Process Components, please check the ES Workplace.
Despite the high degree of connectivity available to most businesses today, it is often still the case that a customer's request for information about a specific product is met with an answer of limited scope and accuracy. Frequently, company representatives are unable to provide information about stock in more than a single location. The available data may be from yesterday's printout or a phone call hours earlier. Should the information from one of these sources be insufficient, or if further information is needed to complete the transaction, a representative must phone, email, or fax another location, supplier, or manufacturer. This further complicates the process and increases the chance of errors.
Normally, ATP check processes are hard-coded into the back-end system and not available to information workers who interact with consumers. These solutions are unwieldy at best. At worst, they contribute to loss of consumer confidence, and, ultimately, of brand loyalty, which is crucial given increasingly fierce market competition.
Until now, industry has lacked a conduit for the seamless integration of product availability queries and reservation functionality. The ATP Check ES bundle offers a vital means of providing customers with accurate information, in real time, about the availability, quantity, and cost of products in which they have expressed interest. In addition, products may be reserved, ordered, or canceled at the customer's demand, in a variety of amounts and configurations. For example, a product that is not available at one location can be located at and ordered from another location, and then scheduled for delivery, in part or in whole, on one or more dates.
The ATP Check ES bundle:
- is available from SAP SCM 2005 or EHP4 for SAP ERP 6.0 on upward allows call center staff to access up-to-date system information about the availability of materials which are to be checked for ATP in SAP SCM or SAP ERP and place a requirement for them if requested and thus reserve confirmed quantities.
- enables store staff to tell customers in which (nearby) store they can find the desired product available on hand
- could be set up to allow external applications to call the ATP check functionality in SAP SCM and/or SAP ERP
This section will explore a series of use cases for the ATP Check ES bundle. Each scenario will show how different outcomes can be achieved by using the enterprise services in different combinations. Note that these examples may refer to users directly invoking enterprise services. This illustrates the flow of the service operations; in fact, service operations are invoked by an application, by an application's user interface (UI), or by another service operation. While these examples illustrate a few of the ways that this ES bundle could be used, the intention is to show the flexibility and reusability of these business objects and enterprise service operations so that you will have a clearer understanding of how to best deploy them in your own environment. This wiki is also a space for you to share knowledge and collaborate with others who are implementing the ATP Check ES bundle.
A customer enters a shoe store, sees a pair of boots on display, and queries the sales clerk about cost and availability. The clerk goes into the store room to look for the boots, but discovers that the product is not available in the correct size.
Normally, the clerk would place phone calls to nearby stores to look for one that carried the correct shoe and size. But the parent company that runs this shoe store chain has deployed the ATP Check ES bundle across its retail outlets, enabling sales staff to view availability through a company-developed customized interface. The clerk goes to his computer and logs on, then searches for the boots.
Product queries can be executed using a variety of criteria, including product name, ID number, type, and description. In this case, since the clerk does not know the name of the shoe, she begins by entering its description in the search field. Descriptions do not need to be complete - wildcards can be used. For example, *brown*size 6* would look for all products having those words "brown" and "size 6" in the description. A query can be executed, for example, by using a wildcard in conjunction with a basic set of search parameters, such as the product's color or name brand. The Find Material by ID and Description (SCM) enterprise service operation, which uses the Material (SCM) business object, is triggered when the clerk hits the search button, and the service returns a list, including all data pertinent to this particular product, such as its name and ID number.
Selecting the ID number for the boots triggers the Find Location by ID and Type Code and Description enterprise service operation, which uses the Location (SCM) business object. This enterprise service operation returns a list of stores, warehouses, and distribution centers that are included in the system's supply chain model.
The Read Location enterprise service operation can also gather relevant data, including details about individual locations such as name, ID and physical address. Which kinds of data are returned on the UI screen in a search is determined by a business architect customizing the service for the user interface.
Once the clerk has selected a location, she searches for the availability of the requested boots at this location using the Check Requirement_V1 enterprise service operation. Among the relevant data on the returned list is the current available quantity as well as the available quantity in the future. In this example, the size requested by the customer is not currently available at the present location. When the customer inquires whether the same pair of boots is available at a nearby store, the clerk executes the search again using the Check Requirement_V1 enterprise service operation and sees that the boots are in fact available in the correct size at other locations.
At this point, the clerk can reserve the boots at the nearby store and in the backend system itself using the Create Requirement_V1 enterprise service operation, which uses the business object Product Availability Requirement (SCM). This service only reserves the available quantity and returns an ID for the reservation. This step needs to be followed up by the Create Customer Requirement enterprise service operation, which takes handing over the ID from the reservation and links it to the customer. This service operation uses the Customer Requirement (SCM) business object. The nearby store could additionally be notified of the customer requirement by email (to be developed by customer composite application), or another method designed by the business architect, and a clerk there would place a hold on the specified pair of boots.
Alternatively, the clerk can request that the boots be delivered to her location (this can be achieved using the Create Purchase Order enterprise service) and notify the customer when they arrive. With the Change Purchase Order enterprise service the reservation ID can be provided. The service then processes the order change. The availability is checked according to the ATP functionality in the backend. The reservation that was done via the business object Product Availability Requirement is considered and consumed unless the ATP functionality in the backend forbids this reservation (e.g. due to settings that certain transportation routes are not allowed) / finds a better way to fulfil the wish.
|Step||Enterprise Service Invoked|
|Step 1: The sales clerk triggers the system to search for product-related information||Find Material by ID and Description (SCM)|
|Step 2: The sales clerk searches for the location using the ID information from the search results||Find Location by ID and Type Code and Description|
|Step 3: The sales clerk then selects the location from the search results list||Read Location|
|Step 4: The sales clerk searches for the availability of the requested product at this location||Check Requirement_V1|
|Step 5: If the product isn't available in the present location, the sales clerk can search for the availability of the requested product at another location||Check Requirement_V1|
|Step 6: If the requested product is available at another location, the sales clerk can reserve the requested product||Create Requirement_V1|
|Step 7: The sales clerk takes handing over the ID from the reservation and links it to the customer||Create Customer Requirement|
|Step 8: To get the reserved product delivered to the present location||Create Purchase Order|
|Step 9: With the reservation ID the order can be changed||Change Purchase Order|
The use case is identical to Basic ATP Checks (with SAP SCM). The difference though is that the ATP functionality resides in SAP ERP for the material of interest to the customer, e.g. if the company is not having a SAP SCM system and basic ATP functionality without e.g. product or location substitution is sufficient.
Of course as the business process stays the same for the customer and the sales clerk. Only the services now run against the ERP system. The material query is now executed via Find Material by ID and Description (ERP) when the clerk hits the search button.
After selecting the material he can check for the relevant location which resides in ERP as the business object plant. To help with getting the details like address the service Find Plant Address by Elements can be used.
Once the clerk has selected the material and plant combination he performs the enterprise services against the business object Product Availability Requirement in SAP ERP (structurally identical to the SAP SCM services) identical to use case I:
- Check Requirement (ERP)
- Create Requirement (ERP)
- Cancel Requirement (ERP)
Similarly to use case I these steps of working on a reservation for the customer need to be followed up by linking to an order in case the customer wants to purchase the material. Hence the Create Sales Order_V2 (ERP) service is being called and afterwards followed by a Change Sales Order service. In the Change Sales Order the reservation ID can be provided. The service then processes the sales order change. The availability is checked according to the ATP functionality in the backend. The reservation that was done via the business object Product Availability Requirement is considered and consumed unless the ATP functionality in the backend forbids this reservation for the customer reservation (e.g. due to settings that certain transportation routes are not allowed) / finds a better way to fulfil the wish.
Alternatively, the clerk can request that the boots be delivered to her location (this can be achieved using the Create Purchase Order enterprise service) and notify the customer when they arrive. With the Change Purchase Order enterprise service the reservation ID can be provided exactly like described with the sales order services in the previous paragraph.
|Step||Enterprise Service Invoked|
|Step 1: The sales clerk triggers the system to search for product-related information||Find Material by ID and Description (ERP)|
|Step 2: The sales clerk searches for the location and wants to know the details like the address||Find Plant Address by Elements|
|Step 3: The sales clerk searches for the availability of the requested product at the location||Check Requirement (ERP)|
|Step 4: If the requested product is available at another location, the sales clerk can reserve the requested product||Create Requirement (ERP)|
|Step 5:If the requested product isn't needed anymore, the sales clerk can cancel the requirement||Cancel Requirement (ERP)|
|Step 6: If the customer wants to purchase the requested product, the sales clerk creates an order||Create Sales Order_V2|
|Step 7: With the reservation ID the sales order can be changed||Change Sales Order|
|Step 8: To get the reserved product delivered to the present location||Create Purchase Order|
|Step 9: With the reservation ID the purchase oder can be changed||Change Purchase Order|
As in the first scenario, a large shoe manufacturer with a national chain of retail stores has directed a business architect or engineer to create a user-friendly interface that enables all authorized company personnel to view and manipulate product-related data across the enterprise. This scenario, however, differs in that the order is more complex. The customer has placed an order for several different pairs of shoes and has now returned to retrieve a portion of the order. At this time, moreover, the customer would like to cancel the order for one pair of shoes and modify the order for another pair.
Equipped with the information from the existing order persisted in the customer requirement, the sales clerk recalls the entire order by executing a Change Customer Requirement enterprise service operation. This service operation is tied to the Customer Requirement (SCM) business object, which contains details for each item the customer ordered, including:
- requested quantity (how many does the customer want when)
- confirmed available quantity (how many of the requested quantity could be confirmed for the requested date).
If the customer wants to cancel an item from the list, the clerk might also use the Cancel Customer Requirement External Request Item enterprise service operation.
On the other hand, if the customer would like to order an additional item or increase the quantity for an ordered item, the UI (to be developed by customer composite application) can direct the clerk to a new availability check executed through the service operations Check Requirement_V1 and Create Requirement_V1, which both use the business object Product Availability Requirement (SCM). After the creation of the requirement, a new reservation ID is returned which can be used to update the customer order and ensure that the desired quantity is reserved. Depending on the customer's request, this process could use several of the following enterprise service operations:
- Create Customer Requirement External Request Item
- Change Customer Requirement External Request Item
- Create Customer Requirement Availability Confirmation Item
- Change Customer Requirement Availability Confirmation Item
If the customer wanted to cancel the entire order, the sales clerk invokes the Cancel Customer Requirement enterprise service operation. Similarly also just one confirmation item can be canceled via Cancel Customer Requirement Availability Confirmation Item.
After filling her initial order, the customer learned that one of the pairs of shoes she selected is available in a variety of other colors. Since the Check Requirement_V1 enterprise service operation retrieves information about the availability - both in terms of item quantity and timing of item availability - of products at specific locations, the sales clerk uses it to determine whether the customer's desired color and size is on hand and ready for delivery.
The Check Requirement_V1 service operation is independent of any parallel processes. It provides snapshots of current availability situations but cannot be employed to reserve quantities of product in any configuration, regardless of whether those quantities have been confirmed. For temporary reservations, the clerk can invoke the service operations Create Requirement_V1 and Create Requirement Request Item_V1, which access the Product Availability Requirement (SCM) business object.
Similarly the same operations can be processed against the Product Availability Requirement BO in ERP in case the material is checked for availability in ERP. Without an SCM system there is also not the business object customer requirement in use, but the reservations can be directly linked to sales orders.
The desired color is in fact available in the correct size, so the customer requests that the clerk trade the original pair of shoes for the new pair. To execute this revision, the clerk highlights the record containing the respective pair of shoes and then, through the user interface, enacts the Create Requirement_V1 service operation for a temporary reservation and then executes the Change Customer Requirement External Request Item and Change Customer Requirement Availability Confirmation Item service operations. The clerk chooses the new color and then transfers the temporary reservation to the customer requirement. Again, the status of both pairs of shoes is immediately reflected in the backend through the Product Availability Requirement (SCM) business object; in case of the need to verify that the clerk is working on the right order he can use the Read Customer Requirement service operation or also the query Find Availability Confirmation Item by External Request Item ID. After the trade, the original pair of shoes is available to promise for subsequent customers while the new pair is shown as scheduled for delivery.
The customer is now ready to leave with the three pairs of shoes that have been delivered for pick up. Beforehand, however, the clerk makes a final adjustment to the order so that the customer can leave with a copy of the order that reflects both the current transaction and the modification to the one still pending.
|Step||Enterprise Service Invoked|
|Step 1: If the customer wants to change his order, the sales clerk recalls the entire order||Change Customer Requirement|
|Step 2: If the customer wants to cancel an item from the list, the sales clerk cancels this item||Cancel Customer Requirement External Request Item|
|Step 3: If the customer would like to order an additional item or increase the quantity for an ordered item, the sales clerk checks the availibility for these items|| Check Requirement_V1 and
|Step 4: Depending on the customer's request, the sales clerk takes handing over the ID from the reservation and links it to the customer|| Create Customer Requirement External Request Item or
Change Customer Requirement External Request Item or
Create Customer Requirement Availability Confirmation Item or
Change Customer Requirement Availability Confirmation Item
|Step 5: To cancel the entire order||Cancel Customer Requirement|
|Step 6: To cancel one confirmation item||Cancel Customer Requirement Availability Confirmation Item|
|Step 7: If the customer wants the requested item in another color, the sales clerk checks to determine whether the customer's desired color and size is on hand and ready for delivery||Check Requirement_V1|
|Step 8: The sales clerk can reserve the requested item temporarily|| Create Requirement_V1 and
Create Requirement Request Item_V1
|Step 9: If the requested item is available, the sales clerk trades the oridinal item for the new item|| Change Customer Requirement External Request Item and
Change Customer Requirement Availability Confirmation Item
|Step 10: To verify to work on the right order|| Read Customer Requirement or
Find Availability Confirmation Item By External Request Item ID
In this scenario, the retail stores are the customers, ordering stock from the manufacturer's call center in order to keep hot merchandise in their stores. A recent inventory taken at one of the stores has determined that a variety of styles and brands are in low supply. The brand is so popular that the manager needs an immediate delivery. The manager of the store contacts the call center for the shoe manufacturer to place an order.
In the following we describe the use case for ATP being performed via SAP SCM and a customer requirement being created and worked on.
Similarly the same use case could however be realized in SAP ERP using the enterprise services and the order objects already introduced in use case 2: Basic ATP Checks (with SAP ERP).
The representative there conducts ATP checks for each item on the list, using a variety of service operations, as needed, including Find Material by ID and Description (SCM), Read Location, and Check Requirement_V1. (Each of these operations is integrated with a different business object: Material, Location (SCM), and Product Availability Requirement (SCM), respectively.)
The manager's list includes eighteen different styles of shoes, in a full range of sizes. By executing the Check Requirement_V1 service operation, the representative finds that most but not all of the popular styles and sizes are available at the nearest distribution hub. Using the Create Customer Requirement External Request Item enterprise service operation, which uses the Customer Requirement (SCM) business object, the call-center representative begins to process the order, starting with the styles that are ready for immediate delivery. He temporarily reserves them using the Create Requirement_V1 service operation which uses the Product Availability Requirement (SCM) business object. One shoe style is completely out of stock and has been placed on back order. Ultimately the manager is informed that although the nearest distribution hub has most of the needed stock on hand, it does not have the full range of sizes in the brands that are needed right away.
Rather than wait until the standard distribution hub receives a new shipment from overseas, the manager asks the call center representative to search the subsidiary distribution hubs for the three styles that are in highest demand at his store. Executed via the Check Requirement_V1 service operation, the search returns a list of hubs at which the needed shoes are on hand, as the service operation can also be configured to use ATP rule sets in the backend to allow more complex searches that scan multiple locations.
The ATP check functionality is extremely flexible. The completed order is stored in SAP SCM so that it can be recalled, reviewed, and revised by personnel at any of the three distribution hubs from which the manager will receive his ordered shoes. Regardless of its status in the service line, the most current version of the order is accessible to anyone who needs it, in real time.
For instance, when the call-center representative completes the order, emailed notifications are automatically sent to the three distribution hubs from which the orders will be delivered, directing them to reserve the items immediately, and all three can use any of the bundle's enterprise service operations to process their portions of the order, simultaneously.
|Step||Enterprise Service Invoked|
|Step 1: The representative conducts ATP checks for each item on the list|| Find Material by ID and Description (SCM) and
Read Location and
|Step 2: The representative checks the availibilty of the requested items||Check Requirement_V1|
|Step 3: The representative begins to process the order||Create Customer Requirement External Request Item|
|Step 4: The representative temporarily reserves the requested items||Create Requirement_V1|
|Step 5: If not every requested item is available in the present distribution hub, the representative can search for the availability of the requested items at other distribution hubs||Check Requirement_V1|
|Step 6: To update the order||Change Customer Requirement|
In this scenario, a large shoe manufacturer with a national chain of retail stores has decided to expand its business by making its products available on the Web. Along with implementing a web-based shopping cart, the company also integrates the functionality for users to execute real-time ATP checks before they advance to the final phase of the checkout process. The benefit is clear: consumers will know before completing a purchase whether the product is available for delivery within a specified timeframe.
Another difference between this scenario and those preceding it is that the services are being consumed in a web-based application. Most of the tasks that a store clerk or call-center representative would perform in previous scenarios can be automated. Associated business objects and service operations, then, communicate with the backend by default.
When a customer puts an item in their shopping cart, or prepares to check out, they can be provided with information pertaining to that product's availability. The point at which the services are consumed is up to the business architect or engineer who creates the shopping cart interface.
SCM Master Data Cockpit is available as an Implementation Package based on SOA* on
The SCM Master Data Cockpit solution provides a user friendly portal solution, that allows creation and maintenance of Supply Network Planning (SNP) master data in the context of a vendor managed inventory process.
The Package inculdes the following features:
- Covers functionalities that are currently not covered by standard supply network planning (SNP) applications
- Provides an easy-to-learn User Interface for vendor managed inventory processes
- Each step in the vendor managed inventory process can be started seperately:
- Creation of customer location products
- Maintaining replenishment parameters
- Maintaining transportation lanes
The ATP Check ES bundle is relevant for the Vendor Managed Inventory Process, as the Enterprise Services to create customer location products, maintain the replenishment parameters for the location products and maintain the transportation lanes for the location products are provided. The ATP Check ES Bundle additionally provides the relevant Enterprise Services to read locations.
For detailed information including pricing, visit https://ecohub.sdn.sap.com/irj/ecohub/solutions/scmmasterdatacockpit
Inventory Lookup is available as an Implementation Package based on SOA* on
The Inventory Lookup solution allows real-time inventory lookups for all industries. Additionally it offers an optional retail extension for reservation of merchandise in nearby stores with printout of driving directions as well as ATP (available-to-promise) checks.
The Package inculdes the following features:
- Accuracy: Ability to perform real-time and current inventory of SKUs across neighboring stores
- Mobility: Perform Inventory Lookup at anywhere, at anytime, via different devices including handhelds
- Service: Enhance the process of inventory lookup with further functionality such as reservation of merchandise in nearby stores or printout of driving directions
- Integration: Integrated Inventory Lookup in different processes such as order management
For detailed information including pricing, visit https://ecohub.sdn.sap.com/irj/ecohub/solutions/inventorylookup
An Implementation Package based on SOA is a business process solution. It is provided via the rapid implementation of a tailored application
based on SOA. It helps enterprises differentiate, while lowering the related cost.
The Implementation Package comprises the combination of:
- Business Use Case
- Delivery Type and Methodology
- Technical Foundation and Tool Support
|Best Practices to Share?|
The ATP Check ES bundle achieves connectivity between a client-specified UI and SAP SCM via SAP NetWeaver Process Integration or via a direct web service interaction.
For ATP with SAP SCM:
- SAP SCM Release SCM 5.0 SP07, including the add-on SAP SCM ES SP04 or higher SCM releases.
- Optional: SAP ERP 6.0 (or higher release) or other ERP backend:
For ATP with SAP ERP:
- SAP ERP 6.0 EHP4 (or higher)
- Client-specified UI or application (Visual Composer, Guided Procedures, Composite Application Framework or other SAP NetWeaver 2004s parts may be used, depending upon needs and requirements)
- "Accelerated Business Process Enabling with Enterprise Services Bundles" by Volker Haentjes links to the ES Wiki and also provides a link to a video Volker made where he demonstrates how to, starting from Google, find out information about the ATP Check ES bundle.
- SOA Homepage on SDN
- SAP APO Global Available-to-Promise