Skip to end of metadata
Go to start of metadata


General Introduction

The services performed by a vendor are entered in the service entry sheet with reference to the PO. A service entry sheet can be accepted (immediately or later), or the acceptance is connected to an approval procedure. In general, you can enter an invoice for a PO only after the service entry sheet has also been accepted.
Planned services can be adopted directly into the service entry sheet, you can enter planned services up to the quantities listed in the PO service item (otherwise you must allow overdelivery).
When you enter planned services into service entry sheets, prices and quantities are defaulted from the purchase order.
When you enter unplanned services, the SAP system checks all of the limits defined in the PO. If a limit is exceeded, it issues a warning or error message.
If you enter a service from a contract that has a limit set in the PO item, the system will:

  •  copy the price from the contract,
  • check the adherence to the target quantity of the contract and check the adherence to the contract limit.

You can permit that prices can be modified at the time of entering the services. This is done at item level in the purchasing documents. When procuring external services, you must ensure that the relevant account assignments are specified not later the time at service entry sheet creation. At the time the entry sheet is accepted, a material document (goods receipt document) is generated.

Service Entry Sheet: Old Design


Function group: MLSR - Program: RM11RL00


  • ESSR (service entry sheet header data)
  • ESLH (service package header data)
  • ESLL (lines of service package)
  • ESKL (account assignment spec.: service line)
  • ESKN (total account assignment in service package)

Service Entry Sheet: new design

Separation of business and user interface

  • Main program: SAPLMLSR
  • Tables:  ESSR (service entry sheet header data)
                 ESLH (service package header data)
                 ESLL (lines of service package)
                 ESKL (account assignment spec.: service line)
                 ESKN (total account assignment in service package)
  • Important internal tables: XESSR, IX_ESLL, XESKL, XESKN

Technical Design


Accelerated Process: From PM Order to SES

Maintenance plans provide details on the scheduling of regularly recurring maintenance services. Framework orders are set up for the period for which you commission a supplier to carry out maintenance work. On this basis, one can directly generate service entry sheets in accordance with the dates set out in the maintenance plan and streamline the procurement process by eliminating a number of otherwise necessary steps. (These steps are: generation of a maintenance order from the maintenance plan, creation of a requisition referencing the maintenance order, and conversion of the requisition into a purchase order.) The service provider obtains all the necessary information first hand. At the same time, the data maintenance effort will be reduced to a minimum.

  • Create PM order via transaction IW31 (order type PM03)
  • Assign a framework order to this  PM order
  • After releasing the order a service purchase requisition is created via function module ME_REQUISITION_EXT; the framework order will be automatically entered in requisition item as source of supply
  • Create service entry sheet directly from purchase requisition via transaction ME58

Service Entry Sheets via BAPI

  • Function module: BAPI_ENTRYSHEET_CREATE
  • Service entry sheet is created via function module MS_CREATE_SERVICE_ENTRY_MULTI
  • BAPI-Test can be done via transaction SE37 using test data directory
  • An example how to fill the BAPI structures is described in consulting note 420334


Debugging and Message Processing Hints

Authority Check Problems
  • How to find out which authority is missing in trans. ML81 ?
    • breakpoint in program RM11RL00 in form BERECHTIGUNGEN_KOPF and form BERECHTIGUNGEN_POS
    • Check step by step which authority-check delivers a wrong sy-subrc
  • How to find out which authority is missing in trans. ML81N ?
    • Breakpoint in program LMLSRF5A (form PO_AUTHORITY_CHECK)
    • Check step by step which function module MS_AUTHORITY_CHECK delivers a sy-subrc > 0
    • In function module MS_AUTHORITY_CHECK is visible which authority is missing (purchasing organization,  purchasing group, document type, plant)

Message Determination Problems

  • First check in customizing whether the correct schema RMBES1 is assigned (transaction OMQV)
  • Check in customizing the correct assignment of the message (NEU) to the above schema (transaction M/77)
  • For change messages check (transaction OMQQ) whether the operation ‚2' is assigned to the corresponding message type (NEU)
  • Check if there is a master record created (transaction MN15)
  • Breakpoint in program LMLSRF1Q (form MESSAGE_CREATE)
  • At call function ‚MESSAGING' can be checked whether the system is searching messages with the correct partner (check entries in internal table PART)
  • At call function ‚RV_MESSAGES_GET' can be checked whether the message is correctly created (check entries in table XNAST)
  • The messages are stored in data base table NAST
Release Strategy Problems
  • Release strategy is setup in customizing (transaction ML60) and similar to purchase requisitions in MM-PUR
  • Breakpoint in program LMLSRF3L:
    • Call function ‚ME_REL_STRATEGIE_ESSR'
    • Release information is stored in:
           ESSR-FRGGR - release group
           ESSR-FRGSX - release strategy
           ESSR-FRGZU - release status
           ESSR-FRGKL - release indicator
           ESSR-FRGRL - release not yet completely effected
File Importing Problems
  • Import of service entry sheets via transaction ML87
  • Import from text file or mail
  • Import in background is done via function module BAPI_ENTRYSHEET_CREATE
  • Import in foreground is done via batch input
  • Data model is described in SAP Note 77272
  • Function group: MLSX
  • Function module: MS_UPLOAD_ENTRY_SHEET
  • Subroutine in case of foreground processing:
    • Form BI_HELL for transaction ML81
    • Form BI_HELL_N for transaction ML81N
  • Subroutine in case of background processing: