Application Development and Automation 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: 
Read only

HR User exit

Former Member
0 Likes
1,885

I need to pre-populate a filed within infotype 0014 as part of the starter action. I normally do this in user exit ZXPADU01 by manipulating the innnn-infty structure. But in this case the field I wish to populate doesn't belong to the P0014 structure, instead it belongs to the Q0014 structure. So my question is how to I populate the Q0014 structure as it is not populate within the user exit.

I need to pre-populate a filed within infotype 0014 as part of the starter action. I normally do this in user exit ZXPADU01 by manipulating the innnn-infty structure. But in this case the field I wish to populate doesn't belong to the P0014 structure, instead it belongs to the Q0014 structure. So my question is how to I populate the Q0014 structure as it is not populate within the user exit.

4 REPLIES 4
Read only

Former Member
0 Likes
1,066

Hi,

This link will be helpful to u

page num 60

<b>http://help.sap.com/printdocu/core/Print46c/de/data/pdf/PYCHNTPF/PYCHNTPF3.pdf</b>

<b>User Exits to Add functionality to the PBO and PAI of HR infotypes</b>

In order to add additional functionality and checks to the PBo & PAI of HR infotypes you need to

implement enhancement 'PBAS0001' using CMOD (See implementing enhancements, step 2+). Once you

have done this you need to go to the function modules EXIT_SAPFP50M_001 & EXIT_SAPFP50M_002

and create the includes within them i.e. ZXPADU01 and ZXPADU02. You can now enhance the

functionality of HR infotype PBO and PAI by simply adding code to these includes.

<b>See example below:</b>

HR Infotype User exits

Include ZXPADU01 for the PBO module

Incldue ZXPADU02 for the PAI module

*Example code.

CASE innnn-infty. "Infotype?

WHEN '0001'. "infotype 0001

  • Processing code

WHEN '0008'. "infotype 0008

  • Processing code.

  • etc.

WHEN OTHERS.

ENDCASE.

Regards,

Kumar.

Read only

Former Member
0 Likes
1,066

I am already using the exit ZXPADU01, and normally I can just use the below method to pre-populate screen fields within infotypes.

CALL METHOD cl_hr_pnnnn_type_cast=>pnnnn_to_prelp

EXPORTING

pnnnn = i0014

IMPORTING

prelp = innnn.

But my problem is that the field znper is not part of the i0014 structure. It belongs to the Q0014 structrue whcih doesn;t update using the above method. I have tredi chaging the global data as per below but it doesn't work either. Has anyone been able to manipulate Q structure fields in the suer exit?

          move '(MP001400)q0014-znper' to field.
          assign (field) to <fs_znper>.
          <fs_znper> = '12'. 

Read only

Former Member
0 Likes
1,066

Check OSS notes for Q0014 - I believe there is one that covers this issue.

Andrew

Read only

Former Member
0 Likes
1,066

Hi Showthousand,

Please use the below code to get the following fields

Q0014-ZNPER

Q0014-ZANZL

Q0014-ZEITX

Q0014-EITXT

If you use the below PERFORMS in user exit ZXPADU01, the above fields are populated automatically.

PERFORM ZLZPT_INPUT(SAPFP50L) USING

P0014-ZDATE P0014-ZFPER P0014-ZANZL P0014-ZEINZ

Q0014-ZNPER Q0014-ZANZL Q0014-ZEITX.

IF P0014-ZEINH <> SPACE.

PERFORM GET_EITXT(SAPFP50L) USING P0014-ZEINH

CHANGING Q0014-EITXT.

ELSE.

CLEAR Q0014-EITXT.

ENDIF.

*Note:-

  • Please refer the standard report MP001400.