Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Update infotypes (HR)

Former Member
0 Kudos

I need to find SAP standard routines to update a registry in an infotype that is being modified. The ones that make changes into BEGDA and ENDDA in other existing records, if necessary if there is overlapping.

I need to see changes in dynpro 3000 without having to get out and enter again.

I am making some modifications in an own infotype but I can not see the changes when I show the summary (dynpro 3000). How can I update a registry with determined BEGDA and ENDDA directly? is a lock problem? I am using ENQUEUE_EPPRELE and DEQUEUE_EPPRELE but I can only see the changes when I get out of PA30 completely and I access the registry again so I do not know what I am doing wrong.

Thanks in advance.

6 REPLIES 6

former_member186746
Active Contributor
0 Kudos

Could you please elaborate a bit more on your problem.

I think your problem is SAP standard. When you change the infotype you should "refresh" the date to see it in the summary, If a refresh button is not present in PA30, your only option would be to start the transaction again /npa30.

Kind regards, Rob Dielemas

0 Kudos

I have been proving this code into a FM but I can not see the results in database. Perhaps it can not be done but it seems to be there is a problem with commit. (I think it is correct that way).

Can anyone help ? Thanks

p9007-pernr = pernr.

p9007-infty = '9007'.

p9007-subty = subty.

p9007-begda = begda.

p9007-endda = endda_n.

p9007-ZZCLSEXP = subty.

p9007-doc_status = 'CD'.

CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'

EXPORTING

NUMBER = pernr

IMPORTING

RETURN = return_enqueue.

IF RETURN_ENQUEUE-NUMBER IS NOT INITIAL.

EXIT.

ENDIF

.

CALL FUNCTION 'HR_INFOTYPE_OPERATION'

EXPORTING

INFTY = '9007'

NUMBER = pernr

SUBTYPE = subty

VALIDITYEND = endda

VALIDITYBEGIN = begda

RECORD = p9007

OPERATION = 'MOD'

IMPORTING

RETURN = return1.

IF RETURN1-NUMBER IS INITIAL.

COMMIT WORK.

ELSE.

ENDIF.

CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'

EXPORTING

NUMBER = pernr

IMPORTING

RETURN = return_dequeue.

0 Kudos

If you don;t see entries in table pa9007 then I guess that the update doesn't work and you should find out why?

Can't your requirement be fulfilled using dynamic actions?

regards, Rob.

rainer_hbenthal
Active Contributor
0 Kudos

Do you test you changes in PA30 or PA20? Both transactions do a data prefetch and caches a bunch of values, you will not be aware of data changes without leaving them.

0 Kudos

So, what do you recommend ? What exactly do you mean ??

Thanks.

0 Kudos

When you are going to PA20 and watch the case you want to modify you have to leave the entire tansaction to see yout changes. A lot of HR Transactions are doing a prefetch of a lot of tables never refreshing them. If you modify tables you cant see the changes without leaving PA20. Many HR-transacztion behave like that.