Skip to Content

As I see daily on the Manufacturing PP space threads asking for exits or BAdis for specific scenarios, I decided to create this list with the most important user-exits and BAdIs that are available for production and process orders (if you are looking for BAdIs for MRP, check the blog BAdIs for MRP).


Below you can find the main BAdIs for production and process orders and the methods available for each one:


  • WORKORDER_UPDATE: This BAdI is called whenever the order is changed, for example, on transaction CO02 or during capacity leveling
    • ARCHIVE_OBJECTS – Archiving Additional Objects
    • AT_DELETION_FROM_DATABASE – Order is deleted from the database (archiving)
    • AT_SAVE – Save Order Time: Dialog
    • CMTS_CHECK Check Configurable Warehouse Order Allowed
    • INITIALIZE Initialization when Importing/Creating Order
    • IN_UPDATE Save Order Time: Update
    • NUMBER_SWITCH Swap Tempory Order Numbers with Final Order Numbers
    • BEFORE_UPDATE Save Order Time: Before Calling Update
    • AT_RELEASE Release Order Time: After SAP Checks, Before Release
    • REORG_STATUS_ACT_CHECK Reorganization of Order: Status Check
    • REORG_STATUS_ACTIVATE Reorganization of Order: Follow-Up Action After Status Set
    • REORG_STATUS_REVOKE Reorganization of Order: Follow-Up Action After Status Reset


  • WORKORDER_CONFIRM: This BAdI is called during the order confirmation for additional checks.
    • AT_SAVE – Confirm Order, Time: Dialog
    • BEFORE_UPDATE -Confirm Order, Time: Before Update
    • IN_UPDATE – Confirm Order, Time: Update
    • AT_CANCEL_CHECK – Confirm Order, Time: Check if Cancellation is Possible
    • INDIVIDUAL_CAPACITY – Confirm Order: Preassignment Individual Capacity

  • WORKORDER_GOODSMVT: This BAdI can be used to manipulate goods movements that are posted during an order confirmation
    • BACKFLUSH Confirmation: Backflush
    • GOODS_RECEIPT Confirmation: Automatic Goods Receipt
    • MANUAL_GOODS_RECEIPT Manual Goods Receipt for Order
    • IM_CALLED Time after Inventory Management is Called
    • PICKLIST Pick list
    • GM_SCREEN_LINE_CHECK Goods Movement Overview: Line Check
    • GM_SCREEN_OKCODE_CHECK Goods Movement Overview: OK Code Check
    • COGI_AUTHORITY_CHECK Postprocessing: Authorization Check
    • COGI_POST Postprocessing of Incorrect Goods Movements
    • COMPLETE_GOODSMOVEMENT Confirmation: Addition of User Input on Goods Movement
    • GM_WIPBATCH_PROPOSE Goods Movement WIP-Batch: Proposal
    • GM_WIPBATCH_CHECK Goods Movement WIP-Batch: Line Check

 

  • WORKORDER_REWORK: This BAdI is used on a rework scenario, in order to transfer outwards an additional yield when entering a backflush for PP orders. This is added
    • GET_REWORKED_QUANTITY Returns the Reworked Yield


  • WORKORDER_INFOSYSTEM: This Business Add-In can be used to fill additional (customer-specific) fields in the order info system (transactions COOIS, COOISPI, COHV…) for production orders and process orders.
    • ORDER_TABLES_MODIFY Processing of order tables
    • PLANNED_ORDER_TABLES_MODIFY Processing of planned order tables
    • AT_SELECTION_SCREEN Is called in the WBS for the PPIO_ENTRY selection screen
    • AT_OUTPUT_SCREEN Is called for every action on the output list
    • OVERVIEW_MODIFY Processing of the object overview
    • TABLES_MODIFY_LAY Processing of Order and Planned Order Tables
    • DETAIL_LIST_LAY Process Detail Lists
    • OVERVIEW_TREE_LAY Process Layout-Based Object Overview
    • AT_OUTPUT_SCREEN_LAY Call When Action is Carried Out on the Output List
  • WORKORDER_DOCLINKS: This BAdI can be used to manipulate the order document links.
    • MAINTAIN_DOCLINKS Document Link Maintenance

  • WORKORDER_PISHEET: This BAdI enables you to discard browser-based PI sheets directly from  the process order.
    • PI_SHEET_DISCARD – Discard PI Sheet
    • PI_SHEET_DISCARD_DOWN – Discard PI Sheet/Download to External System

  • WORKORDER_CONFIRM_CUST_SUBSCR: This BAdI enables you to change the subscreen for customer-specific fields in the time ticket (single-screen entry CO11N/COR6N and in the order header confirmation CO15/CORK).
    • GET_SUBQTY_LAYOUTS – Determine Name of Existing Quantity Layouts

    • CHECK_SUBQTY_LAYOUT – Check for Layout for Existence of Subdivided Quantities

    • GET_CONF_CUSTOMIZING – Customizing Confirmation Parameters

    • CHECK_SUBQTY_POSTED – Check Whether Subdivided Quantities Confirmed

    • PUT_DATA_TO_QM_SUBSCR – Transfer Data to Screen Enhancement for QM

    • PUT_OK_CODE_TO_SUBSCR – Transfer OK Code to Screen Enhancement

    • PUT_DATA_TO_SUBSCR – Transfer Data to Screen Enhancement

    • GET_DATA_FROM_SUBSCR – Adopt Data from Screen Enhancement

Here are the user-exits available for PP order processing:

  • PPCO0001
    • EXIT_SAPLCOBT_001 – User Exit PP Order Processing (Non-Order-Type-Specific)
  • PPCO0002
    • EXIT_SAPLCORE_001   Set deletion flag
    • EXIT_SAPLCORE_002   Set deletion indicator
    • EXIT_SAPLCORE_003   Technically complete
    • EXIT_SAPLCORO_001   Check exit for function “Set deletion flag”
    • EXIT_SAPLCORO_002   Check exit for function “Set deletion indicator”
  • PPCO0003
    • EXIT_SAPLCOEXT_001 – Check Exit for Production Order Change from Assembly Order
  • PPCO0004
    • EXIT_SAPLCORE_004 – Mass Processing of Production Orders: General Sort Exit
  • PPCO0005
    • EXIT_SAPLCOSD_001 – Storage Location/Backflushing on Order Creation

  • PPCO0006
    • EXIT_SAPLCOZF_003 – Exit for Predefining Fields in the Order Header
  • PPCO0007
    • EXIT_SAPLCOZV_001 – User Exit for Checking or Changing Header Fields During Order-Type-Specific
  • PPCO0008
    • EXIT_SAPLCOMK_006 – Enhancement in the adding and changing of components
  • PPCO0009
    • EXIT_SAPLCOSF_001 – Customer Exit: Goods Receipt for Production Order
  • PPCO0010
    • EXIT_SAPLCOCOM10_001 – Enhancement in make-to-order production – Unit of measure
  • PPCO0012 – Production Order: Display/Change Order Header Data
    • EXIT_SAPLCOKO1_001 – Transfer of Order Data to Customer Enhancement
    • EXIT_SAPLCOKO1_002 – Transfer of Data Changes from Customer Enhancement
  • PPCO0013
    • EXIT_SAPLCOMK_008 – Change Priorities for Selection Criteria for Batch Determination
  • PPCO0014
    • EXIT_SAPLNWDB_001 – Select process orders for external relationships
  • PPCO0015
    • EXIT_SAPLCOSD_002 – Customer Exit: Additional Attributes Document Link
  • PPCO0016
    • EXIT_SAPLCODM_001 – User Exit: Generate Document Links from Master Data
  • PPCO0017
    • EXIT_SAPLCODD_001 – User Exit: Document Links Dialog Processing
  • PPCO0018
    • EXIT_SAPLCOKO1_004 – Check whether changes to order header/item are allowed in th
  • PPCO0019
    • EXIT_SAPLCOVG_001 – User Exit for Checks of Operation Changes in the Production
  • PPCO0020 – Process order: Display/change order header data
    • EXIT_SAPLCOKO_005 – Transfer of Order Data to Customer Enhancement
    • EXIT_SAPLCOKO_006 – Transfer of Data Changes from Customer Enhancement
  • PPCO0021
    • EXIT_SAPLCOZR_003 – Release Control for Automatic Batch Determination: Handling
  • PPCO0022
    • EXIT_SAPLCOTX_001 – Determination of Production Memo


  • PPCO0023
    • EXIT_SAPLCOMK_014 – Checks Changes to Order Components

User-exits called during the process order confirmation:

  • CONF0001  Enhancements in order confirmation
    • EXIT_SAPLCORU_001 – Order Confirmation: Deactivation of Functions
  • CONFPI01
    • EXIT_SAPLCORF_401 – Process order conf.: Calculate cust.specific default values
  • CONFPI02
    • EXIT_SAPLCORF_402 – Process Order Confirmation: Customer-Specific Input Check Wi
  • CONFPI03 
    • EXIT_SAPLCORF_403 – Process Order Conf.: Customer-Specific Checks after Operation
  • CONFPI04 
    • EXIT_SAPLCORF_404 – Process Order Confirmation: Customer-Specific Input Checks
  • CONFPI05
    • EXIT_SAPLCORF_405 – Process order conf.: Cust. spec. enhancements when saving
  • CONFPI06
    • EXIT_SAPLCORF_406 – Process order confirmation: Actual data transfer

User-exits called during the process order confirmation:

  • CONFPP01
    • EXIT_SAPLCORF_101 – PP order conf.: Determine customer specific default values
  • CONFPP02 
    • EXIT_SAPLCORF_102 – PP order conf.: Customer specific input checks 1
  • CONFPP03 
    • EXIT_SAPLCORF_103 – PP order conf.: Cust. specific check after op. selection
  • CONFPP04 
    • EXIT_SAPLCORF_104 – PP order conf.: Customer specific input checks 2
  • CONFPP05 
    • EXIT_SAPLCORF_105 – PP order conf.: Customer specific enhancements when saving
  • CONFPP06 
    • EXIT_SAPLCORF_106 – PP Order Confirmations: Actual Data Transfer

  • CONFPP07 – Single Screen Entry: Inclusion of User-Defined Subscreen
    • EXIT_SAPLCORU_S_100 – Transfer Data from SAPLCORU_S to Customer-Defined Screen
    • EXIT_SAPLCORU_S_101 – Return Data from Customer-Defined Screen to SAPLCORU_S
To report this post you need to login first.

6 Comments

You must be Logged on to comment or reply to a post.

      1. Matthew Huang

        HI Caetano

        Fox example,The BADI WORKORDER_INFOSYSTEM method GET_REWORKED_QUANTITY,there are four parameters,I_ORDER_HEADER、I_OPERATION、I_PREDEC_OPERATION、CH_REWORKED_QUANTITY,the rework order yield how to update the original production order?I don’t know what the fields of original production order should be updated.

        Can u give same advice?

        Thanks

        Matthew

        (0) 
        1. Caetano Almeida Post author

          Hi Matthew

          You can find a detailed documentation about the BAdI on transaction SE18.

          If you have further questions, please open a thread describing the issue.

          BR
          Caetano

          (0) 

Leave a Reply