The table ESLL will be used by outlines and services as well, but there are some fields, which are not relevant for both in the same time (for example to check the outline value makes no sense except you define outline conditions or a sub_packno information should be not listed detailed on the outline level).
Also due performance reasons the table ESLH was introduced.
ESLH has 1 entry for the outline and 1 entry for the service package. The field ESLH-HPACKNO groups this information together.
ESLH-PACKNO is used for the service list.
How can you quickly check – also for consistency – your service package data from your purchasing document?
- From SE16 or SE16N take EKPO-PACKNO (in case your purchasing document is a PO, a contract or an RFQ, EBAN-PACKNO in case of PR, or ESSR-PACKNO in case of entry sheets), put it into the table ESLH into the HPACKNO field and check the result.
When you use the view ML_ESLL you can display service lines together with their package header data.
a) Example 1 (for PO):
PACKNO DEL FPACKNO HPACKNO KNUMV EBELN EBELP BSTYP WAERS
0000003274 00000000 00003274 1000016991 4500005790 010 F EUR
This PO item has only limits, because there is in ESLH just 1 line with the package number of the PO item.
You can check your limits in tables ESUH, ESUC, etc. with the ESLH-HPACKNO. Account assignment data of your limits in ESKL are also stored with ESLH-HPACKNO.
b) Example 2 (for PO):
PACKNO DEL FPACKNO HPACKNO KNUMV EBELN EBELP BSTYP WAERS
0003267 00000 0003267 1000017110 4500005785 10 F EUR
0003268 003267 0003267 1000017111 4500005785 10 F EUR
This PO item can have just services, or services and limits. The package number 3268 stands for the subpackage number (ESLL-SUB_PACKNO), which contains the services.
You can find in the tables ESLL and ESKL the details to your service package with the packno from ESLH which is different from the HPACKNO.
You can have different outline levels in your service specification.
You define the assignment of the services to the individual outline levels via the subpackage number.
How to set up BAPI structures: please check the notes 452608, 420331, 420332 and 420334.
- Regarding ZERO packno in ESLH: read the note 443987 which contains REPORT Z_DELETE_ZERO_ESLH.
- Check in ESLH if the fields EBELN and EBELP are correct (document number and document item).
If in the service package header data (table ESLH), for example the item number of the purchasing document (EBELP) is determined incorrectly (for example, item 10, 20, 20, 40 instead of 10, 20, 30, 40), as a consequence, the system subsequently uses an incorrect account assignment during the entry of services performed. In the mentioned example, the account assignment for item 20 is determined instead of the account assignment for item 30.
The correction report ZPNESLHEBELP from note 586740 should be executed for the corresponding purchase orders.
(Take into account that the report corrects ESLH-EBELP only. Subsequent documents will be not corrected.)
You could check your data also with the report RMPRKONT for PM purchase requisitions (requisitions created automatically from a PM order).
Another common error is getting SE500 in ML81N. It can be caused also by missing entry sheet number in ESLH. In this case it is useful to run RMESSRK2: Analysis and reconstruction of service entry sheets (report in note 141870).
- Check also if the currency ESLH-WAERS is correct.
The currency of the purchase requisitions for external services documents has to be always in the currency of the company code.
Moreover you do not specify a vendor in these documents so a document currency is not necessary. It is possible to change the currency in the header of the PO that is created in reference to a purchase requisition (item category ‘D’), if some preconditions are fulfilled.
- ESLH-KNUMV contains in case of time-independent conditions the connection to the table KONV to check the service conditions with the KNUMV of the service line (KNUMV with the service packno, not the outline packno). (KONV-KPOSN must be equal to ESLL-INTROW).
You can display ESLH-KNUMV quickly by using the view V_EWU_ESLH.The view V_EW_ESLH2 reads ESLH from EKPO for KONV conversion.
The outline conditions of time-dependent conditions from the contract are stored in A215, they can be viewed by entering the outline package number . With A215-KNUMH you can find the entries in table KONP.
Regarding package numbers and EDI: create a number range interval in the target system which does not overlap with the source system: SPRO -> Materials Management -> External Services Management -> Number Ranges -> Define Internal Number Range for Service Specifications.
When transferring service lines to SAP ERP (for example from SRM) system usually dummy package numbers will be used to link the service based parameters with each other. It can happen that this dummy package number has been written to the persistency layer (e.g. database tables ESLL, ESUH, …). In that case the BAPI will refer to the information on database and will
ignorethe service data provided at the interface.
Check in table ESLL and ESLH if the package number already exist (transactions SE16 or SE16N). In case it does, please provide a different dummy package number in the BAPI interface. The numbers, dummy packno’s, must be outside the number interval used
for the internal numbering range for service specifications.
In this way you will not get any interferences between the internal
number range and the dummy packno values.
When a model service specification has been deleted, only the entry in table TMP_SPEC is removed. The corresponding entries in ESLH and ESLL remain undeleted in the system and have to be removed manually using report ZMOX_TMP_SPEC included in note 823020.