There are many functions called during the ATP check. Some of them are:
- AVAILABILITY_CHECK_CONTROLLER
- AVAILABILITY_CHECK_SERVER
- AVAILABILITY_CHECK_EXECUTE
- AVAILABILITY_CHECK
- STOCK_RECEIPT_ISSUE_READ
- ATP_CHECK_BASIS
They are all involved in executing the ATP check. For example, AVAILABILITY_CHECK_CONTROLLER is used to call function AVAILABILITY_CHECK with the appropriate parameters (e.g. in VL01n, P_ATPCSX-PRREG = "B" but in VA01, it = "A").
Function STOCK_RECEIPT_ISSUE_READ is used to collect all the stocks, receipts & requirements into internal tables that can later be used by ATP_CHECK_BASIS to calculate the actual available stock. Function AVAILABILITY_CHECK is used to check your scope of check settings. AVAILABILITY_CHECK_EXECUTE is used to set locks etc. All these functions are pretty much inter-connected and together allow the system to execute the availability check. It is not logical to compare FM AVAILABILITY_CHECK_CONTROLLER with ATP_CHECK_BASIS