About ZEKKN /ZEBKN – service account assignment reference key in MM-SRV
This field – ZEKKN or ZEBKN – uniquely defines the account assignment sequence.
When procuring external services, you specify via the account assignment category in the purchasing document item level the account assignment objects (for example, cost center – K, project – P, order – F, etc.) to which postings are to be made.
In purchasing documents, you maintain the account assignment category at item level. In the service entry sheet you maintain it at header level
Account assignments are specified for services at the service line and value limit levels.
To connect the service level information to the purchasing level information, the sequential number of account assignment is used.
To become acquainted with this serial number, please check the following information:
1) In transaction SE11 check the structure (data type) BAPIESKL:
There are 2 fields: SERNO_LINE and SERIAL_NO which are important to get to know when working with external services.
SERNO_LINE = Serial number of account coding assignment, service line (Data element NUMKN)
SERIAL_NO = Sequential number of account assignment (Data element DZEKKN)
2) Now create for example a service PO with item category D in ME21N with a single account assignment:
Please check in transaction SE16 the table EKKN.
You will see that the field ZEKKN = 01. EKKN-ZEKKN = 01 means that the PO item has single account assignment, there is just 1 unique account assignment combination for the PO item.
In the second step check the table EKPO to get the package number for your PO item, then go to ESLL, get the SUB_PACKNO and copy it. Then with this sub_packno check the data in table ESKL (put the esll-sub_packno into the packno field in eskl).
You will notice in the table ESKL the columns NUMKN and ZEKKN.
NUMKN = Seq. Number of Acc. Assignment Specification in each Service Line
ZEKKN = Sequential Number of Account Assignment in ESKN, EKKN, EBKN
To find out which account assignment objects belong to the specific service line, check ESKL-ZEKKN and look with this ZEKKN for the same ZEKKN in table EKKN.
The link between EKKN and ESKL is established via the pointer stored in field EKKN-ZEKKN and ESKL-ZEKKN.
WPROZ = Percentage for Account Assignment Value Distribution is in this case 100% as we used single account assignment in our PO item.
3) Create as next step a service PO with item category D in ME21N with a multiple account assignment, please create the service line 10 with for example account assignment information cost centre 1000, the service line 20 with account assignment information cost centre 2000:
In the table EKKN you will find now 2 lines, because we have a multiple account assignment case (2 different cost centers): the line with EKKN-ZEKKN = 01 holds the cost center 1000, the other line with EKKN-ZEKKN = 02 holds the cost center 2000.
In the table ESKL there are also 2 lines.
ESKL-NUMKN is 01 for both lines, as for both service lines we have the distribution 100% (WPROZ = 100%). It means that pro service line we have a single account assignment.
But ESKL-ZEKKN is different, it has the values 01 and 02. This means that the service line 10 was assigned to the cost center 1000 (match to EKKN-ZEKKN = 01) and the service line 20 was assigned to the cost center 2000 (match to EKKN-ZEKKN = 02).
Services have single account assignment, but different accounting objects.
4) Now create for example a service PO with item category D in ME21N with multiple account assignment, create the service line 10 with multiple account assignment information to cost centre 1000 (60%) and 2000 (40%), and the service line 20 with multiple account assignment information to cost centre A (50%) and B (50%)
When you check the table EKKN, you will have there 4 lines for the 4 account assignment combinations (cost centers 1000, 2000, A and B). EKKN-ZEKKN 01-04.
EKKN-WPROZ is calculated by the system according to the net values of each account assignment combination.
When you check the table ESKL, you will find 4 lines here:
NUMKN ZEKKN WPROZ
01 01 60
02 02 40
01 03 50
02 04 50
ESKL-NUMKN 01-02 to the same ESKL-INTROW means, that this service line (10) has a multiple account assignment to 2 different cost centers with the distribution of 60% – 40%. It is the same situation with service line 20, but the distribution of costs is 50% – 50 % to the different cost centers.
ESKL-ZEKKN 01-04 means that we have here 4 different account assignment combinations:
ESKL-ZEKKN 01 matches to EKKN-ZEKKN 01, which belongs to cost center 1000,
ESKL-ZEKKN 02 matches to EKKN-ZEKKN 02, which belongs to cost center 2000,
ESKL-ZEKKN 03 matches to EKKN-ZEKKN 03, which belongs to cost center A,
ESKL-ZEKKN 04 matches to EKKN-ZEKKN 04, which belongs to cost center B.
5) Create now a service PO with item category D in ME21N with a multiple account assignment, please create the service line 10 with multiple account assignment information to cost centre 1000 (60%) and 2000 (40%), and the service line 20 with multiple account assignment information to cost centre 1000 (50%) and 2000 (50%) and the service line 30 with single account assignment to cost center A
The table EKKN has now 3 lines, because we used 3 different kind of account assignment combinations (cost center 1000, 2000 and A, EKKN-ZEKKN 01-03).
The table ESKL has 5 entries:
NUMKN ZEKKN WPROZ
01 01 60
02 02 40
01 01 50
02 02 50
01 03 100
Now hopefuly you can also understand also how to fill the accounting data to the BAPI structures, for example in BAPI_PO_CREATE the structures POACCOUNT and POSRVACCESSVALUES. Please check additionally the notes 420332 – BAPI_PO_CREATE: Specimen for services and 452608 – BAPI: Service specifications with outline.
In services it is not necessary to have ZEBKN or ZEKKN starting from ’01’. It is possible that some of them are missing if some accounts were changed to already existing ones (see the note 796973).
If you have PO history data, the fields EKBE-ZEKKN and EKBE-BEKKN should be also checked: EKKN-ZEKKN should be not different from EKBE-ZEKKN.
The value of ESKN-BEKKN points to which account assignment the commitment update will occur. This field value can be seen in the multiple account assignment screen of the service entry sheet (SES): In the SES account assignment screen, in the forth column after the “Account assignment block” (coding block), you can find the value of “PO account assignment” (ESKN-BEKKN).
Available user exit:
SRVESKN – EXIT_SAPLMLSK_001 (Set Account Assignment in Service Line)
For technical details, refer to the documentation of the function module EXIT_SAPLMLSK_001.