Two APIs to Retrieve Availability Information
The Product Availability Check in aATP is a functionality with a very high relevance for many customers. To make availability information also accessible for external systems is a valid requirement. In the past, this was done with the API “Basic Product Availability Info” (API_PRODUCT_AVAILY_INFO_BASIC).
However, as some other aATP basic methods have been introduced, the Basic Product Availability Info API does no longer provide the kind of availability data that is requested by many customers.
With SAP S/4HANA 2022 the “Product Availability Info Service” API (API_PRODUCT_AVAILY_INFO) was introduced. With SAP S/4HANA 2023 (SAP S/4HANA Cloud 2308) the first version of the “Advanced ATP Check” API (API_AVAIL_TO_PROMISE_CHECK) was introduced.
Both APIs retrieve availability information, but there are different use cases behind these APIs.
Product Availability Info Service
This API is based on RAP and OData V4. With the scope of SAP S/4HANA 2023, it provides full time series for availability for the following levels:
- Product Availability on MRP Area Level
- Product Availability on Storage Location Level
- Product Availability on Batch Level
- Product Availability on Segment Level
As Supply Protection is also integrated in the Product Availability Check, the API considers restrictions by Supply Protection. This means that the request can contain matching characteristics, and the response provides the dependent result. If customers have set up Supply Protection, for example, for the different channels (eCom, Retail, and Wholesale) they can retrieve availability snapshots for all three channels plus the available quantity without match.
This is a call to receive the product availability and doesn’t have any relation to a demand document. Therefore, other methods such as Product Allocation are not considered here. If the request is done twice, the result will be the same. In other words, there is no reservation, blocking, and so on.
From a use case perspective, this API is used to retrieve realistic availability information. It is possible to get this information for different protection groups but also for different levels, such as storage location, batch, and so on.
In order to use this availability data for external systems this information should be frequently refreshed either event-driven or as a regular job. With SAP S/4HANA 2023, the “Availability Change Log” feature is available to trigger the refresh of the snapshot affected by changes that are relevant for the product availability.
You can explore the “Product Availability Info Service” in your system by using the SAP Gateway client, transaction /IWFND/GW_CLIENT. Select HTTP method “POST”, enter the following request URI:
and the following payload:
The URI contains the “Product” and the “MRP Area” for which the product availability shall be retrieved. In this example, the payload contains two characteristics (Distribution Channel and Ship-to Party – Country/Region Key). Providing the characteristic values for which you have defined supply protection, you can control which supply protection group shall match.
You can retrieve the characteristic names from the SAP Fiori app “Characteristic Catalog”. To find them, please make the field “Characteristic Name” visible in the list of characteristics for a supply protection catalog.
Advanced ATP Check
This API is also based on OData V4. However, the purpose is not to retrieve general availability information, but to simulate a real request. In SAP S/4HANA 2023, basic methods such as Supply Protection and Product Allocation are considered as well as basic scheduling. It is also planned to support other methods such as ABC and BPS. With these methods, the call of the API is a simulation of a request like a sales order.
In the future, it is also intended to write temporary consumptions that can be replaced by real documents to have a real external ATP check. This means, that in future the API should also allow a non-simulative ATP check.
You can explore the “Advanced ATP Check” API in your system by using the SAP Gateway client, transaction /IWFND/GW_CLIENT. You can find examples for the URI and the payload on the SAP Help Portal for the “Advanced ATP Check” API following the path “Advanced ATP Check -> Service Operations for Advanced ATP Check -> Check the Available Quantity Without Reservation”.
SAP Help Portal: Basic Product Availability Info API
SAP Help Portal: Product Availability Info Service API
SAP Help Portal: Advanced ATP Check API
SAP Help Portal: Availability Change Log
Product Availability Info API on the SAP Business Accelerator Hub
Advanced ATP Check API on the SAP Business Accelerator Hub: