This article intends to clarify the usage of message types HRMD_A, HRMD_B and HRMD_ABA.
In order to distribute HR master data, three different message types are available for different scenarios depending on the target system:
- HRMD_A: Data transfer between two SAP HR systems (R/3 systems with SAP_HR* components deployed and in use).
- HRMD_B: Data transfer between an SAP HR system and a non-SAP HR system.
- HRMD_ABA: Data transfer between an SAP HR system and an SAP non-HR system (R/3 systems without SAP_HR*, CRM, SRM, SEM, RPM, E-Recruiting, cProject, etc.).
Each message type has a different set of infotypes associated to it, adapted to the requirements of the scenario it was designed to be used.
What can go wrong
When working with HRMD_ABA, your requirements might dictacte that additional infotypes need to be distributed from the HR master system. In an attempt to cover these requirements, some switch to HRMD_A on unsupported scenarios, as HRMD_A supports a wider range of infotypes, but when testing these scenarios though, they get a message error 5-100 "Error in subroutine read_namtb for structure [structure] of infotype [infotype]".
Transporting data via IDoc is one thing, being able to store it in the target system is another one. The reason why HRMD_ABA has a limited range of infotypes is that most non-HR systems by default don't have the proper coding to handle unnecessary infotypes. So even if you transport them with HRMD_A, your target system will still not be able to receive them.
And even if you do create the appropriate coding for the wrong message type, it's still not supported. See this other wiki article on how to do it properly.