I created implementation for BADI HRECM00_CP2GP.
Also in configuration dynamic action is set to create IT 0758. this dynamic action will be triggered in case of hire, rehire and change in position actions.
Now the problem i am facing is.
I hired a new associate based on some position(say.position 1). Dynamic action is triggered as expected and IT 0758 record also got created with CPGR2 = ABC(ABC is some client specific value which is selected from the logic implemented in my badi. )
So a IT 0758 record is created with CPGR2 = ABC.
Till here everything is fine.
Then i terminated this associate.
Then i run rehire action with some different position( say . position 2).
So as expected my badi implementation got triggered. Logic worked fine. Badi returned CPGR2 = DEF(DEF is again a client specific value based on logic in BADI implementation). IT 0758 record got created.
But here is the problem: When badi returned cpgr2 = DEF than IT 0758 record should have created with CPGR2 = DEF. But instead of this , IT 0758 record got created with CPGR2 = ABC( as it was in previous record. ) .
But if i try to do this in screen mode. Means i go to PA30, create IT 0758 record from there. Here the same badi is invoked with correct parameters and the new record is created with correct value DEF.
I am not able to understand why 758 record is created wrongly in dynamic action mode where as in screen mode it is working fine.
Is it the problem with badi implementation or some configuration problem ?