Filtering Inactive employees in Employee replication from EC to SAP on prem/ S4/HANA
In Many Scenarios , there is a demand for filtering out the existing Employees who already are inactive in the system and should not be part of Employee replication unless you make them a rehire case.
This scenario is for cases where we have data migrated from On Prem system to EC and then the Same Data with delta changes is replicated back to ECC or S/4HANA systems where the backend system still stays on the landscape for any reasons like existing outbound interfaces.
There is one option where in the SPRO you can filter the employees status wise , but this will only exclude the Actions and Org assignment infotypes.
[V_ECPAO_QRY_CFG] this table can be utilized -> field ->NO_ORGAS_EMPLMNT_STATUS ( here you maintain the employment status as “T” or “R” like T stands for Terminated or R stands for Retired or other wise to mention that these cases are currently inactive [Maintain it with commas like “T,R” . This approach will prevent any updates to the IT0 , IT1 but all other infotypes will be delimited.
There is another option where the system goes to a existing Class and method which you can enhance using an implicit enhancement.
Below class can be utilized
In the above method there are parameters as mentioned below
In the above parameters you will need to write condition as per the logic required and use the EC_PAYLOAD , if there is need to read the EC_PAYLOAD
Use the parameter IS_PERNR_FILTERED to “X” in the code and then the Parameter IS_OK as False
Then Put an error passing mechanism
CALL METHOD CL_ECPAO_IN_SERVICE_LIB=>ADD_MESSAGE
MESSAGE_HANDLER_REF = MESSAGE_HANDLER_REF
MSGTY = IF_ECPAO_IN_MESSAGE_CONSTANTS~C_MSGTY_WARNING
MSGID = IF_ECPAO_IN_MESSAGE_CONSTANTS~C_MSGID_IN_PROCESSING
MSGNO = ‘999’
MSGV1 = LV_PERNR
* MSGV2 =
* MSGV3 =
* MSGV4 =
IS_OK = ‘ ‘ .
Post this the system does not process the selected employee for replication.