Skip to end of metadata
Go to start of metadata

MM-SRV-ACC Account Assignment


Content

  • Account Assignment in Purchase Requisitions
  • Account Assignment in Purchase Orders
  • Account Assignment in Service Entry Sheets
  • Technical Data
  • G/L Account Determination
  • Debugging and Message Processing Hints



Account Assignment in Purchase Requisitions




Account Assignment in Purchase Requisitions




 

  • Service account assignment lines are stored in table ESKL
  • Table ESKL has no accounting fields (cost center, asset, order, etc.)
  • The accounting objects (cost center, asset, order, etc.) are stored in table EBKN
  • The link between EBKN and ESKL is established via the pointer stored in field EBKN-ZEBKN and ESKL-ZEKKN
  • The limit assignment can also be found in table ESKL with EBAN-PACKNO. ESKL-INTROW = 0 for limit item.



Account Assignment in Purchase Orders


 

Account Assignment in Purchase Orders

 
 

  • Service account assignment lines are stored in table ESKL
  • Table ESKL has no accounting fields (cost center, asset, order, etc.)
  • The accounting objects ( cost center, asset, order, etc.) are stored in table EKKN
  • The link between EKKN and ESKL is established via the pointer stored in field EKKN-ZEKKN and ESKL-ZEKKN
  • The limit assignment can also be found in table ESKL with EKPO-PACKNO . ESKL-INTROW = 0 for limits


 

Account Assignment in Service Entry Sheets

 


    
 

  • Service account assignment lines are stored in table ESKL
  • Table ESKL has no accounting fields (cost center, asset, order, etc.)
  • The accounting objects ( cost center, asset, order, etc.) are stored in table ESKN
  • The link between ESKN and ESKL is established via the pointer stored in field ESKN-ZEKKN and ESKL-ZEKKN
  • ESKN-PACKNO contains the entry sheet number and not the service package number ESKN-PACKNO = ESSR-LBLNI




Technical Data

  • Function group: MLSK (Transaction SE80)
  • Main program: SAPLMLSK
  • Function module: MS_ACCOUNT_ASSIGNMENT_PACKAGE called in order to process the total account assignment
  • Function module: MS_ACCOUNT_ASSIGNMENT_SERVICE called to process the service assignment (called for each service line)
  • Function module: MS_SAVE_ACCOUNT_SERVICE called to save the service account assignment
  • Single account assignment screen: SAPLMLSK 0100
  • The account assignment data entered on single account assignment screen will be processed in program LMLSKF1W (form  ESKL_INPUT_EINZEL)
  • Multiple account assignment screen SAPLMLSK 0200
  • The account assignment data entered on multiple account assignment screen will be processed in program LMLSKF1F (form  ESKL_INPUT_LOOP)

  • Reference account assignment can be found in internal tables REF_ESKL and REF_ESKN
  • The reference tables are filled during runtime in
    • Program LMLSKF0E (form REFERENZ_EBKN) in case of reference to purchase requisitions
    • Program LMLSKF0H (form REFERENZ_EKKN) in case of reference to POs, contracts
    • Program LMLSKF0I (form REFERENZ_ESKN) in case of reference to service entry sheets
    • Program LMLSKF0G (form REFERENZ_ESKL) copies the ESKL entries for each purchasing document
  • program LMLSKF0M (form REFERENZ) includes the overall reference process


  • There is only one customer exit available for service account assignment: SRVESKN
  • Customer function SRVESKN is called in program LMLSKF06 (form CUSTOMER_FUNCTION)
  • This customer function delivers the accounting data in internal table CUST_ESKN


  • In batch input mode the system works automatically with multiple account screen
  • In BAPI mode system always works with percentage distribution
  • Special logic for transaction ME59 in program LMLSKF1Z (form FILL_ESKL_VB)
  • Account assignment is processed in suppress mode (without accounting screen) if accounting relevant data are changed (quantity, net value, taxes). In this case the new values must be distributed on every accounting line. This process runs in background.

G/L Account Determination


  • G/L account determination logic is described in note 96367
  • The automatic account determination is basically done in service documents (the exceptions are described in note 96367)
  • The account determination is based on the valuation class (service master data) and/or material group of services
  • G/L account is determined in program LMLSKF0Q (form SAKTO_VORSCHLAGEN)
  • G/L account is also in case of "auto repeat account assignment" automatically determined

Debugging and Message Processing Hints


  • How to find out if the accounting problem is MM-SRV or MM-PUR
    • Breakpoint at the end of function module MS_SERVICE_PACKAGE
    • Check entries in internal table ACC_TAB
    • Entries in ACC_TAB correct -> MM-PUR problem
    • Entries in ACC_TAB wrong -> MM-SRV problem
  • In case of problems with the total account assignment
    • Breakpoint in function module MS_ACCOUNT_ASSIGNMENT_PACKAGE
    • Check internal table XESKN
    • Check also user exit SRVESKN
  • In case of problems with service line account assignment
    • Breakpoint in function module MS_ACCOUNT_ASSIGNMENT_SERVICE
    • Check entries in table XESKL




  1. First of all, thanks for the very usefull information.

    With regard to table ESKN

    A service entry sheet can only have 99 different entries in this table (99 account assignment lines). Account assignment lines can be used more than once, but I did not get the logic to compare accounting lines evaded me until I found this SAP standard code:

    FORM ESKN_SEARCH in Include LMLSKF13.

    regards,

     J.N.N