Friday 5 July 2024

2589424 - FAQ: Backorder Processing (BOP) with aATP

 SAP Knowledge Base Article, Version: 111, Released On: 25.06.2024


  1. BOP does NOT select/process any requirements or specific order items. Any hints?
    • recheck material master data - MRP3 view -> field "checking group". Make sure that the AATP has been activated for that checking group in customizing transaction OVZ2.
    • the order item needs to be either PAC, PAL or ARUN relevant. Verify the SD-customizing e.g. via report SDRQCHCK.
    • the order number has to have an entry in table VBBE (requirements table) - otherwise verify report SDRQCHCK and/or ATP_VBBE_CONSISTENCY.
    • the order item has to have a requirement type in table VBAP (field BEDAE).
    • [till 2021] the order item does have product selection active in table VBAP (field UEPVW = "A"). Transaction VB11/VB12 is active for the material.
    • recheck the BOP segment definition -> working with selection option "... is equal to..." requires the exact value from the database (incl. leading zeros)! Use the F4 - value help if possible!

For example: Your ship-to party/order number is 1234 -> you have to enter '0000001234' as filter value.

  1. How to select requirements for BOP which does not have a confirmation - unconfirmed schedule line(s)?

Unfortunately, that is a missing functionality which will probably be delivered some day in one of the future releases.

  1. Which specific fields (besides material and plant) are available to select STO (purchasing) documents via a BOP segment?

The definition of a BOP segment can have the following specific STO related fields: Purchasing organization, purchase order type, purchase order item category and stock transfer delivery priority.

  1. No BOP update/change happens - an Alert is displayed e.g. "Alert – strategy Win or Gain" - Why?  

Please have a look at the BOP confirmation strategy explanation in the SAP help documentation. If you have defined a Winner and/or Gainer segment you have to make sure that you have enough available quantity to (re-)confirm the orders! Otherwise if one of the orders can not be confirmed completely (for Winner Segment) on time or not being reconfirmed (Gainer) - all orders with the same material/plant will be skipped by BOP! It is recommended to use a BOP fallback variant (>release 1809) for such cases.

  1. BOP run is getting canceled with error message "The remote function call failed and some of your orders were not updated." (Message no. ATP_BOP_LOGIC012). Why?

This happens just during the update of BOP (not for a simulation run). An error during update task of BOP is not handled correctly: implement notes 27515792762822 to resolve the BOP error handling issue. Afterwards activate the BOP log with option "force log" in BOP app "Schedule BOP run" to get detailed error message.

  1. Can we extend the BOP Filter/Sorter with custom fields?
    • The AATP BOP catalog is based on the Sales Document VDM. Please check here how to enhance the VDM for sales documents via Custom fields and logic APP - once this is done, the BOP catalog (APP "Configure Characteristic Catalog") is automatically updated. Further details in KBA 3086331 - How to use/add custom fields to the field catalog for PAL / ABC / BOP / SUP / IRP / BPS.
  1. Updating the BOP field catalogue with new fields results in error "artifact generation failed"?

After changes in the characteristic catalogue for BOP, a runtime artifact (CDS view) needs to be generated. This is done automatically during the next BOP run, but requires authorization to generate dev object in $TMP directory. If not all BOP users have the appropriate authorizations, make sure to have an authorized user run the report ATP_BOP_SOT_GENERATION once after each catalogue change. If generation errors occur during the bop run, this can be repaired in the same way by an authorized user.

(Note  3027012 - should help to find the generation error in the BOP Log)

  1. How to identify the BOP job in the backend system (SM37) - scheduled/executed by the APP "Schedule BOP run"?

The APP "Schedule BOP run" creates a background job with a generated job name in the backend system. The CDS view APJ_V_JOB_RUN_OV (SE16) provides the necessary mapping information; e.g. the field "JOB TEXT" contains has the BOP description from the APP and "JOB CATALOG ENTRY NAME" is always "SAP_SCM_ATP_BOP_RUN".

  1. What about CO06 functionality - interactive BOP - in AATP?

Right now, there is no equivalent tool available for AATP. It is planned for one of the future releases. The R4D (release for delivery) APP should not be used as a CO06 replacement. The R4D APP is limited with the scope of check/checking rule to "B" and you might run into trouble if you are not completing the worklist (hanging TQAs resulting in underconfirmations for other ATP processes).  

  1. The BOP monitor shows: "no log can be displayed".

The ODATA service " APL_LOG_MANAGEMENT_SRV " is not activated or even created on the front end server. Please goto SPRO->SAP Netweaver ->Gateway->OData Channel->Administration->General Settings->Activate and Maintain Services OR use transaction "/IWFND/MAINT_SERVICE" on the front end system. Make sure to activate (or create, if missing) the service and maintain the system alias! Find below a example screenshot.

  1. In "Monitor BOP run" you click on "show log" and the following error appears: "Unable to retrieve log data". Why?

The BOP log has already been deleted (log validity was e.g. just one day). When you schedule a BOP run, increase the validity of the BOP log.

  1. Opening or Creating a new BOP variant in Fiori APP "Configure BOP variant" results in an error message "RFC-Error: the current application has intentionally triggered a termination with a short dump" or "HTTP request failed". You find a short dump in the back end system with exception "CX_SADL_SHORTDUMP". How to resolve this error?

Re-activating the CDS view C_ABOPVariantTP in backend system is known to fix this issue. Goto SE11 and choose "View", enter C_ABOPVariantTP and click on "activate".

Update: Note 2928119 has been released to solve exactly this issue.

  1. Do we need to implement HRF (Hana Rule Framework) or report ATP_BOP_SYSTEM_CONFIG for BOP in >1909 release?

SAP Help: The method used previously to configure segments (for automated backorder processing) and order fulfillment responsibilities (for manual backorder processing in Release for Delivery) in advanced Available-to-Promise (aATP), SAP HANA Rules Framework (HRF), has been replaced by Select Option Tool (SOT). Any data configured previously with HRF must be migrated to SOT before it can be used productively. Appropriate messages indicating that data may require migration are displayed for the user in the relevant apps. Additional information for the BOP filter migration can be found in note 2800374.

The HRF or report ATP_BOP_SYSTEM_CONFIG are no longer required for BOP with S4HANA >1909 release.

  1. The system returns error message "No default virus profile active or found. Please check the official guide." (/IWFND/CM_COS/226) or "no attribute has been maintained." when using "Configure BOP Segment" - APP. How to resolve this error?

Start transaction "VSCANPROFILE" on your backend system and assign a default profile (e.g. "/UI5/UI5_INFRA_APP/REP_DT_PUT" - it should have status "active" and "default"). Further details in KBA 2437892. Make sure that the "virus scan provider" has been configured and is active: for this please check KBA 3052386 - FAQ | Virus Scan Interface (VSI) -> question 1 - A!

Alternatively you may simply deactivate the virus scan via flag ‘Virus Scan Switched Off’ check KBA 3052386 questions 1 - B.

  1. The BOP runtime is quite slow...what can we do?
    • Please verify that the latest notes around BOP/ATP check/Scheduling/Performance are implemented (e.g. notes 281430729173842926165 ; 2966983).
    • The bottleneck is usually the sales order update process. Activate the parallel sales order update processing in the S4Hana customizing: SPRO -> SAP Customizing Implementation Guide -> Cross-Application Components -> Advanced Available-to-Promise (aATP) -> Backorder Processing (BOP) -> Define Profile for Parallel Processing of Sales Orders After BOP.
    • The block size for the parallel update processing is very system dependent. We can not provide a general recommendation at this point. The system will use the half of the available processes in case you entered a blocksize of "zero".
    • Check recommendations in KBA 3124941.
  1. The BOP Monitor APP is quite slow or unresponsive (time out). Why?

There is a hugh amount of data - BOP result tables -> verify number of entries in table ATP_RESULT_ITEM (till 1809) or table IATPSELDREQMT (>1909) to be process.

Run report ATP_RESULT_DEL_DISPLAY to delete results from old BOP runs (e.g. older than 10 days). Please verify that the latest notes for this APP are implemented (e.g.  3028589 & 3048269 & 3107505).

  1. The BOP APP (e.g. Configure BOP Variant or BOP Segment) does not respond/open anymore or one of following error messages appear:
    • error message "sap/i2d/atp/lib/selectoptiontool/library.js" or
    • "Failed to load UI5 component for navigation intent "#ABOPRun-monitor" is displayed or
    • just three dot's/bubble's (as loading indicator) appear and nothing is happening.

Mostlikely the system cache needs to be refreshed  - an error message can be found in TCode: IWBEP/ERROR_LOG. Check also KBA 2319491 - How to clean up the cache after applying changes that affect SAP Fiori apps.

a. verify the ICF services - they have to be active (transaction SICF in frontend system -> enter service name and search for the service in UI5_UI5 path - use right mouse button - click "activate" - if needed):

    • ATP_ABOPSEGS1
    • ATP_ABOPVARS1
    • ATP_MONBOPRUNS1

 b. the following OData services must be activated on the front-end server - create if missing - transaction /IWFND/MAINT_SERVICE:

(to add a missing ODATA service in your system - kindly investigate the details in the Fiori Apps Library for your product version: e.g. APP F2158 -> browse to tab "Implementation Information" > Configuration > Section "ODATA Services)

    • ATP_BOP_SEGMENT_SETUP
    • ATP_BOP_VARIANT_SETUP
    • ATP_BOP_CUSTOMSORT_SETUP
    • UI_ATPSELECTOPTIONTOOL
    • VOCABULARY_SRV
    • APL_LOG_MANAGEMENT_SRV
    • APJ_JOB_MANAGEMENT_SRV
    • ATP_MONITOR_BOP_RUN

c. execute the following transactions/reports to refresh the system cache in your front and backend system (further details in note 2319491).

execute transactions:

    • /IWFND/CACHE_CLEANUP
    • /IWBEP/CACHE_CLEANUP

Reports:   

    • /UI2/DELETE_CACHE_AFTER_IMP
    • /UI2/DELETE_CACHE
    • /UI2/INVALIDATE_GLOBAL_CACHES
    • /UIF/CHECK_LOAD_4_CONS_BG
    • /UI2/CHIP_SYNCHRONIZE_CACHE
    • /UI5/APP_INDEX_CALCULATE
    • /UI5/UPD_ODATA_METADATA_CACHE
  1. BOP creates always a second schedule line for STOs - even if BOP confirmed the requested delivery date (manual ATP check in ME22n does not create a second schedule line). Why?

This behaviour has been discussed internally several times and it has been decided that this behavior will not be fixed. AATP BOP will (continue to) confirm STO requirements on a separate schedule line.

  1. Can we modify the ATP/BOP result (confirmation quantities, dates) somehow?

At this point there are no userexits or BADIs available to modify the system behaviour. We do not recommend to modify the ATP results/logic as it will most-likely lead to inconsistencies in the system.

  1. We would like to download the BOP result. What are the options?

Currently there is no way in the SAP standard to download the BOP result data (e.g. excel download). As a workaround use an ODATA service to get the desired information. The external servicename is - ATP_MONITOR_BOP_RUN. (Further information about ODATA services and how to use it can be found here: https://www.odata.org/getting-started/).

  1. Is it possible to have a display access only for the BOP apps?

This is a missing functionality. The user can display, change, edit the BOP settings, results, etc. if the user has the appropriate AATP user roles assigned.

  1. BOP APP "Schedule a BOP run" (F2665) reports error "Error Resource for JobRunApplLogCount not found." What does this mean?

The reason for this error is mostlikely because of the different versions between AS ABAP and UIBAS in the affected systems (frontend and backend). As stated in note 2436567, different versions between AS ABAP and UIBAS causes that not all features of the newest release are available in older ones. Please verify the supported combinations (e.g. UIBAS 600 is released for S/4HANA 2020, S/4HANA 1709 and S/4HANA 1610).

  1. BOP APP "Schedule a BOP run" (F2665) does not show a job template, why?

Please check note 2278049 - Issues when using "Schedule" Fiori Apps:

"The user needs authorization to schedule batch jobs in the given authorization group. Therefore the user needs authorization object S_PROGRAM with field name P_ACTION and activity BTCSUBMIT, SUBMIT and VARIANT. See below table to find the relevant entries for field name P_GROUP (Authorization group)."

  1. Inquiries, contracts and/or quotations are somehow not being selected/processed by BOP. Why?

Non-delivery relevant requirements are selected in BOP only when these orders generating a requirement (in table VBBE) and when the system has been set up to use the supply assignment functionality. In order to use the supply assignment and the related functionalities in SAP S/4HANA, the business functions SUPPLY_ASSIGNMENT_01 and SUPPLY_ASSIGNMENT_RETAIL_01 has to be active. Enter t-code SFW5 and activate the necessary business functions. Afterwards, please recreate or regenerate your BOP variant(s) - otherwise this activation change has no effect.

  1. The BOP monitor APP shows a technical error for a BOP run, but no further information about the error. 

Please activate the BOP log in APP - "Schedule BOP run" (find below a screenshot of the customizing) and run/schedule the BOP again. The BOP log will then be accessible in the BOP monitor APP.

  1. Is it possible to transport BOP segments between different systems?

The transport of BOP segments is simply not possible. The system dynamically reads and creates necessary data in the system (coding will be generated). The BOP segments have to be created in the system manually.

  1. BOP is not confirming STOs like the ATP check in ME22n. What can be the reason?

The checking rule for BOP and ME21n/ME22n could be different. A different scope of check - can lead to different ATP check results. Please verify your customizing:

BOP: When creating a new BOP variant - there is an option (header) to define the checking rule e.g. "A". Define the BOP variant for STOs only to get other checking rule options - depending on the STO order type. In case of a mixed BOP variant with sales orders and STOs -> The checking rule can be "A" or "B" only!

ME21n/ME22n: The checking rule for STOs can be customized differently in SPRO: Cross-Application Components -> Advanced Available-to-Promise (aATP) -> Configuration Activities for Specific Document Types -> Stock Transport Orders -> Configure Delivery Type & Availability Check Procedure by Plant.

(The checking rule - which can be maintained in AATP customizing - is not relevant for AATP BOP! SPRO -> Cross-Application Components -> Advanced Available-to-Promise (aATP) -> Backorder Processing (BOP) -> "Configure Business Scenario for Updating Backorders")

  1. The sales order item or stock transport order item has no confirmed quantity after BOP. Why?

This can have several reasons:

    • verify the BOP log for check and or update errors for the order item -> find below a screenshot on how to activate the BOP log.
    • credit limit check exceeded for the order -> please check the credit status of the sales order header and/or the credit limit of the sold-to party/business partner.
    • [Sales Orders] the delivery block with the confirmation block flag is set on the header level. This deletes the confirmation while saving the sales order. Please check it in transaction OVZ7 or remove the delivery block.
    • [Sales Orders] the BOP result mode (TVTA-REVFP) requires full confirmation -> please check the result mode settings for batch process in transaction OVZJ and note 2604756 ATP confirmation behaviour - result mode explanation (Remark: for fashion industry related materials the result mode is being customized differently -> check table VBAP-REVFP, if not empty -> BOP is using VBAP-REVFP instead of TVTA-REVFP).
    • [Stock Transport Orders] - The BOP result mode for STOs (161V-REVFE) is not "E" - thus BOP only accepts complete or one-time delivery. Find the customizing for the STO result mode in transaction "SPRO" -> SAP Customizing Implementation Guide -> Materials Management -> Purchasing -> Purchase Order -> Set up Stock Transport Order -> Configure Delivery Type & Availability Check Procedure by Plant (Rule for Adoption of ATP Results in Purchasing) or via SM30 -> "V_161V".
  1. The S4Hana - AATP BOP is doing a pricing update - which was not happening via the old "V_V2"-BOP run (SDV03V02) in ERP system. Is there a way to prevent the pricing update by AATP BOP?

We do not recommend to prevent the pricing update by AATP BOP - to avoid inconsistencies. There is no option to deactivate the pricing update in SAP standard.

  1. BOP selects sales order items which are not part of the filter selection criteria(s). Why?

The additional sales order item(s) are probably part of a delivery group or the "complete delivery"-flag has been set. Recheck the "shipping tab" -> column "delivery group" and verify the settings.

  1. The BOP segment/filter does not work correctly with a date selection (e.g. select all order items with MBDAT +1/-1 Day). Why?

BOP is using the system timezone for the selection of order items. Depending on the involved timezone of the order items - it might appear that BOP selects wrong/less order items.

  1. Is a dynamic date range selection of orders e.g. via "current" month, year - in the BOP segment/filter possible?

This is missing functionality - which is planned for one of the future product releases.

  1. How can we issue an event when a BOP run has been finished?

The report "BTC_EVENT_RAISE" can be triggered to raise an event after BOP. Please verify note 919458 - Program 'BTC_EVENT_RAISE' - for additional details and example description.

  1. A locking error message appears: e.g. "Sales document 12345 is currently being processed by ..." (Message No. V1042) - via transaction VA02 or ME22n. The BOP user might locking the orders for a long time. Why?

This is SAP standard behaviour. A BOP run locks all orders which are part of the selection until the BOP update process has been finished. This locking may last for quite long time - depending on the overall BOP size/run time. The locking is necessary to avoid data inconsistencies/update errors.

  1. Is it possible to display the sales unit of measure rather than base unit of measure (BUOM) in "Monitor BOP run" - APP?

The requested functionality is currently not supported or planned for any future release. Please review note 11 to shape and influence future releases of SAP products with joining either an SAP user groups or the SAP community.

  1. How can we achieve an order selection/filter via confirmation status in BOP (similar to flag "P_UNCONF" in V_V2)?

There is a selection field available "Delivery confirmation status (item)" (VBAP-BESTA) for sales order items - which can be used for this purpose. Possible values are:

A - Order item has no confirmation, a partial confirmation or a full confirmation (not on the requested delivery date (later)).

C - Order item has a full confirmation on the requested delivery date (no 2nd schedule line exists).

  1. A technical error happens in BOP - What can we do?
    • activate/verify the BOP log for detailed error messages
    • verify the SLG1 transaction with (Object = *; Subobject = *; External ID = BOP)
    • implement latest notes for BOP performance/updates -> review KBA 3124941 - Recommendations - AATP BOP performance/update
  1. Is it possible to upload mass data for BOP selection/filter criteria via API? 

This option is a missing functionality. As workaround - starting with OP2023 - an ODATA API is available to recheck a certain set of material/plant combination (please recheck the SAP help). Please notice the limitation for single execution mode and sorting.

  1. Can we limit/restrict the access to the BOP APPs?

This is a missing functionality (please consider note 11). The BOP APPs and its functions are fully available when the user role "SAP_BR_ORDER_FULFILLMNT_MNGR" has been assigned.