Problem with additional actions and HR_MAINTAIN_MASTERDATA
I'm using HR_MAINTAIN_MASTERDATA to enter personnel actions into infotype 0000. Additional actions is on, when entering actions for the same date in PA30 this works fine. All actions are entered in IT0302 (i.e. all have P0302 = 'X' in table T529A).
HR_MAINTAIN_MASTERDATA is used in a report that receives data (actions) from an external interface. Assume I receive two actions for the same date (call them ZA and ZB). When I try to enter both actions in one run (by two sequential calls to HR_MAINTAIN_MASTERDATA) the first action ZA is overwritten by the second ZB and does not appear in IT0302. For the first call the MODIFIED_KEYS table has 2 entries (0000 and 0001) whereas for the second call MODIFIED_KEYS contains only an entry for infotype 0001.
When I run the interface again, it detects the missing action ZA and tries to enter the action again. In the second run this works, IT0302 then contains ZB with SEQNR 000 and ZA with SEQNR 001 (which is now the wrong order, of course).
Do you have any ideas, why the first action is overwritten and not properly moved to IT0302 in the first run?
I've tried LUW_MODE 1 and 0 with COMMIT WORK AND WAIT after each call, but no success. Could this be related to any kind of buffering?
Thanks in advance!
Harshita Nersu replied
Are both your action's ZA nad ZB type of opertaion same? ie. INS?
You said if you do from PA30, actually you shld be running actions from PA40, ok however the point is
the way PA40 works is based on infogroups, you must try to mimic that thru your FM.
for ex: if u look at this [link|http://cid-59a30bdab5c23882.skydrive.live.com/self.aspx/Public/hire.jpg?#comments] its a Hire action where all operations are INS meaning Create.
and if you look at this [link|http://cid-59a30bdab5c23882.skydrive.live.com/self.aspx/Public/change%20in%20pay.jpg] its a change in pay action where you are editing only the Infotype that changes because of that action with operation COP.
i wld like to know is this how you are executing both the actions. I wld assume both your actions have same set of infotypes with INS for all in both cases. hence getting over written.
Try doing additional actions with above scenario and see if it works. by Updating not creating Infotypes, in your second action.
also please ensure you are commiting data after ZA and again after ZB.