Infotypen ändern, kopieren, löschen, einfügen und abgrenzen.
Mit dem Funktionsbaustein (FUBA) HR_INFOTYPE_OPERATION können Sie Infotypen ändern, kopieren, löschen, einfügen und abgrenzen
Mit dem Funktionsbaustein (FUBA) BAPI_EMPLOYEE_ENQUEUE können Sie die Personalnummer sperren.
Mit dem Funktionsbaustein (FUBA) BAPI_EMPLOYEE_DEQUEUE können Sie die Personalnummer entsperren.
LOOP AT gt_p2012 INTO gs_p2012.
"Sperren der Personalnummer
CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
EXPORTING
number = gs_p2012-pernr
IMPORTING
return = gt_return_e.
.
IF gt_return_e-type = 'E'.
MESSAGE e001(z_message) WITH gs_p2012-pernr gt_return_e-message.
ENDIF.
"Löscht die daten auf der Datenbanktabelle
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = '2012'
number = gs_p2012-pernr
subtype = gs_p2012-subty
* OBJECTID = gs_p2012-objps
* LOCKINDICATOR = gs_p2012-SPRPS
validityend = gs_p2012-endda
validitybegin = gs_p2012-begda
recordnumber = gs_p2012-seqnr
record = gs_p2012
operation = 'DEL' "MOD ändern INS einfügen DEL Löschen COP Kopieren LIS9 Abgrenzen
tclas = 'A'
dialog_mode = '0' " 0 = dunkel Aktion wird abgebrochen, 1 = dunkel, im Fehlerfall Dialog 2=
* NOCOMMIT =
* VIEW_IDENTIFIER =
* SECONDARY_RECORD =
IMPORTING
return = gt_return
key = gt_key.
IF gt_return_e-type = 'E'.
MESSAGE e003(z_message) WITH gt_return-message.
ENDIF.
"Sperren der Personalnummer
CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
EXPORTING
number = gs_p2012-pernr
IMPORTING
return = gt_return_d.
.
IF gt_return_e-type = 'E'.
MESSAGE e002(z_message) WITH gs_p2012-pernr gt_return_e-message.
ENDIF.
ENDLOOP.
Kontaktdaten vom IT0105 lesen
Mit dem Funktionsbaustein (FUBA) HRWPC_READ_CONACT_IT0105 können Sie Kontaktdaten aus dem IT0105 lesen.
"Daten IT0105 Subtyp 0010 + 0020.
DATA: ls_it0105 LIKE hrwpc_s_contact.
CALL FUNCTION 'HRWPC_READ_CONTACT_IT0105'
EXPORTING
pernr = gs_itab-pernr
datum = sy-datum
* AUTHORITY_CHECK = 'X'
* IMPORTING
* USERID =
CHANGING
contact = ls_it0105
* EXCEPTIONS
* NOT_SUPPORTED = 1
* NOTHING_FOUND = 2
* NO_AUTHORIZATION = 3
* INTERNAL_ERROR = 4
* OTHERS = 5
.
IF sy-subrc <> 0.
WRITE: 'Fehler beim füllen der E-Mail'.
ELSE.
gs_itab-mail = ls_it0105-email.
gs_itab-telefon = ls_it0105-office_tel.
ENDIF.
Eintritt und Austrittsdatum lesen
Mit dem Funktionsbaustein (FUBA) RP_HIRE_FIRE können das Eintrittsdatum und Austrittsdatum lesen.
"Datendeklarationen für den Funktionsbaustein RP_HIRE+FIRE
DATA: hiredate LIKE rptxxxxx-datum1, "statt type d.
firedate LIKE rptxxxxx-datum1. "statt type d.
DATA: BEGIN OF phifi OCCURS 5.
INCLUDE STRUCTURE phifi.
DATA: END OF phifi.
DATA: begda LIKE prel-begda,
endda LIKE prel-endda.
begda = pn-begda.
endda = pn-endda.
"Eintritt und
Austrittsdatum lesen
CALL FUNCTION 'RP_HIRE_FIRE'
EXPORTING
beg = begda
end = endda
IMPORTING
hire_date = hiredate
fire_date = firedate
TABLES
pp0000 = p0000 "input
pp0001 = p0001 "input
pphifi = phifi. "output
IF sy-subrc <> 0.
"Mache nichts
ELSE.
" Hinzufügen des Eintritt und Austrittsdatums
gs_itab-eintritt = hiredate.
gs_itab-austritt = firedate.
"Konstanten falls man nur Austritte anzeigen will die ungleich 31.12.9999 sind.
* rp-lowdate-highdate.
* gs_itab-eintritt = hiredate.
* IF firedate NE high-date.
* gs_itab-austritt = firedate.
* ELSE.
* CLEAR gs_itab-austritt.
* ENDIF.
ENDIF.
Lohnarten aus dem IT0008 lesen
"Lese die Lohnarten die im IT0008 eingetragen sind.
CALL FUNCTION 'RP_FILL_WAGE_TYPE_TABLE'
EXPORTING
BEGDA = pn-begda
ENDDA = pn-endda
INFTY = '0008'
pernr = pernr-pernr
tables
ppbwla = lt_pbwla
EXCEPTIONS
ERROR_AT_INDIRECT_EVALUATION = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
Else.
loop at lt_pbwla into ls_pbwla.
"Prüfe ob die Lohnart 0132 vorhanden ist
If ls_pbwla-lgart = '0132'.
lf_0132 = 'X'.
"Schreibe den Betrag der Lohnart 0100 weg
Elseif ls_pbwla-lgart = '0100'.
lf_bet00 = ls_pbwla-betrg.
Else.
"mache nichts
Endif.
Endloop.
ENDIF.