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.