cancel
Showing results for 
Search instead for 
Did you mean: 

DELIMIT POSITION strange working on PA0001 infotypes.

Former Member
0 Kudos

Hi Experts!

We have an interface ( a simple function module ), which transfer HR data from an external system, to our SAP HR system. (persons and positions) And unfortunately it dumps every second run. (When PA0001 and HRP1001 have more than 3 records )

I try to debug and I find an interesting thing, I hope you can explain.

When this FM calls ZRH_DELIMIT_POSITION_OF_USER (a copy of RH_DELIMIT_POSITION_OF_USER) following things happens:

I called with the following date: 2008.03.01

Before calling (tables):

PA0001

2008.02.29-2008.01.01

2008.09.30-2008.03.01

2008.12.31-2008.10.01

2009.08.05-2009.01.01

2010.02.17-2009.08.06

2010.03.05-2010.02.18

9999.12.31-2010.03.06

HRP1001

2008.02.29-2008.01.01

2008.09.30-2008.03.01

2008.12.31-2008.10.01

2009.08.05-2009.01.01

2010.02.17-2009.08.06

2010.03.05-2010.02.18

9999.12.31-2010.03.06

After calling DELIMIT POSITION:

PA0001

2008.02.29-2008.01.01

2009.08.05-2008.03.01

2010.02.17-2009.08.06

2010.03.05-2010.02.18

9999.12.31-2010.03.06

HRP1001

2008.01.01-2008.02.29

Why PA0001 has so many records? And I donu2019t understand why it has BEGDA and ENDDA like this?

The differences between ZRH_DELIMIT_POSITION_OF_USER and RH_DELIMIT_POSITION_OF_USER:

IF act_holder_type = $user.

act_realo = act_holder.

ELSE.

  • THIS COMMENT

  • RAISE holder_not_valid.

act_objid = act_holder.

ENDIF.

And 2 placess:

LOOP AT i1001.

IF i1001-sclas EQ $person OR

i1001-otype EQ $person.

*THIS COMMENT

  • RAISE person_related_to_position.

... ENDLOOP.

Please help!

Regards

Peter

Edited by: Peter Bajusz on Apr 12, 2010 7:37 PM

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

I solved:

The FM can't unit the positions after 2009.08.05-2008.03.01 , bacause they has different contract datas.