Skip to Content
1
Former Member
Nov 21, 2012 at 03:28 PM

Creating Employee

64 Views

Hi, i got some kind of problem creating a Employee in HCM using HR_MAINTAIN_MASTERDATA.

The Goal ist to create the employee with the minimun necesarry data. Currently i am using as mentioned the HR_MAINTAIN_MASTERDATA. The problem ist that i still get to the user-interaction screens although i am using proposed values.

Ist this the best known way to do this or is there another maybe more simple way?

Thanks!

FUNCTION Z_CREATE_PERSNR.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" REFERENCE(IV_PERSNR) TYPE PRELP-PERNR
*" REFERENCE(IT_INFTYP0000) TYPE P0000
*" REFERENCE(IT_INFTYP0001) TYPE P0001
*" REFERENCE(IT_INFTYP0002) TYPE P0002
*" REFERENCE(IV_BEGDA) TYPE PRELP-BEGDA
*" REFERENCE(IV_ENDDA) TYPE PRELP-ENDDA
*" EXPORTING
*" REFERENCE(EV_RETURN) TYPE CHAR255
*"----------------------------------------------------------------------

*******************************************************************************
*
* Erstellt einen neuen Mirarbeiter mit der Übergebenen Personalnummer
* mit den Infotypen 0000, 0001 und 0002.
*
* Company: mindsquare GmbH
* Created: 19.11.2012
* Changed: 19.11.2012
*
*******************************************************************************


*& Variablen zum Debuggen.

data lv_return1 type bapireturn1.
data lv_key type bapipakey.
data hr_return TYPE HRHRMM_MSG.

*& Variablen für den Programmablauf.
DATA lt_proposed_values TYPE TABLE OF PPROP.
DATA ls_proposed_values TYPE PPROP.
DATA lv_return TYPE bapireturn.

*******************************************************************************
*& Fügt die Informationen zum Infotyp 0000 der Tabelle hinzu.
*******************************************************************************

ls_proposed_values-infty = '0000'.
ls_proposed_values-fname = 'P0000-INFTY'.
ls_proposed_values-fval = '0000'.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0000'.
ls_proposed_values-fname = 'P0000-STAT2'.
ls_proposed_values-fval = IT_INFTYP0000-STAT2.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0000'.
ls_proposed_values-fname = 'P0000-MASSG'.
ls_proposed_values-fval = IT_INFTYP0000-massg.
append ls_proposed_values to lt_proposed_values.


*******************************************************************************
*& Fügt die Informationen zum Infotyp 0001 der Tabelle hinzu.
*******************************************************************************

ls_proposed_values-infty = '0001'.
ls_proposed_values-fname = 'P0001-BUKRS'.
ls_proposed_values-fval = IT_INFTYP0001-BUKRS.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0001'.
ls_proposed_values-fname = 'P0001-BTRTL'.
ls_proposed_values-fval = IT_INFTYP0001-BTRTL.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0001'.
ls_proposed_values-fname = 'P0001-KOSTL'.
ls_proposed_values-fval = IT_INFTYP0001-KOSTL.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0001'.
ls_proposed_values-fname = 'P0001-PLANS'.
ls_proposed_values-fval = IT_INFTYP0001-PLANS.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0001'.
ls_proposed_values-fname = 'P0001-MSTBR'.
ls_proposed_values-fval = IT_INFTYP0001-MSTBR.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0001'.
ls_proposed_values-fname = 'P0001-ABKRS'.
ls_proposed_values-fval = IT_INFTYP0001-ABKRS.
append ls_proposed_values to lt_proposed_values.


*******************************************************************************
*& Fügt die Informationen zum Infotyp 0002 der Tabelle hinzu.
*******************************************************************************

ls_proposed_values-infty = '0002'.
ls_proposed_values-fname = 'P0002-NACHN'.
ls_proposed_values-fval = IT_INFTYP0002-NACHN.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0002'.
ls_proposed_values-fname = 'P0002-VORNA'.
ls_proposed_values-fval = IT_INFTYP0002-VORNA.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0002'.
ls_proposed_values-fname = 'P0002-ANRED'.
ls_proposed_values-fval = IT_INFTYP0002-ANRED.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0002'.
ls_proposed_values-fname = 'P0002-INITS'.
ls_proposed_values-fval = IT_INFTYP0002-INITS.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0002'.
ls_proposed_values-fname = 'P0002-GBDAT'.
ls_proposed_values-fval = IT_INFTYP0002-GBDAT.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0002'.
ls_proposed_values-fname = 'P0002-NATIO'.
ls_proposed_values-fval = IT_INFTYP0002-NATIO.
append ls_proposed_values to lt_proposed_values.

ls_proposed_values-infty = '0002'.
ls_proposed_values-fname = 'P0002-FAMST'.
ls_proposed_values-fval = IT_INFTYP0002-FAMST.
append ls_proposed_values to lt_proposed_values.


*&*****************************************************************************
*& Aufruf des Funktionsbausteins zum Erstellen einer neuen Angestellten mit der
*& übergebenen Personalnummer.
*& Das Sperren und Entsperren der Personalnummer wird im FB gemacht.
*******************************************************************************

CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
EXPORTING
PERNR = IV_PERSNR
MASSN = IT_INFTYP0000-MASSN
ACTIO = 'INS'
TCLAS = 'A'
BEGDA = IT_INFTYP0000-BEGDA
ENDDA = IT_INFTYP0000-ENDDA
* OBJPS =
* SEQNR = '000'
* SPRPS =
* SUBTY =
WERKS = IT_INFTYP0001-WERKS
PERSG = IT_INFTYP0001-PERSG
PERSK = IT_INFTYP0001-PERSK
PLANS = IT_INFTYP0001-PLANS
DIALOG_MODE = '1'
LUW_MODE = '1'
NO_EXISTENCE_CHECK = 'X'
IMPORTING
RETURN = lv_return
* RETURN1 = lv_return1
* HR_RETURN = hr_return
TABLES
proposed_values = lt_proposed_values.


*******************************************************************************
*& Setzen des Rückgabe Wertes.
*******************************************************************************

EV_RETURN = lv_return-message.
*
* write lv_return-message.
* write lv_return1-message.
* write /.
* write lv_key.
* write /.
* write: hr_return-MSGV1, hr_return-MSGV2, hr_return-MSGV3, hr_return-MSGV4.

ENDFUNCTION.