Ansicht
Dokumentation

EXIT_RPUUSSG1_SEL - Customer Exit For USS Salary Changes Interfaces SELECTION

EXIT_RPUUSSG1_SEL - Customer Exit For USS Salary Changes Interfaces SELECTION

Vendor Master (General Section)   PERFORM Short Reference  
This documentation is copyright by SAP AG.
SAP E-Book

Functionality

This Customer Exit allows customer specific selection rules to be applied to each Personnel Number that HAS ALREADY passed the standard selection rules;

1) Employee is Active at the Return Year End.
2) Employee MUST have a Pension Scheme (that is on T5GPBS_USS)
at the Return Year End.
3) Employee MUST be the LAST primary employment at the Return Year End.
This check can be switched on or off using the customising of the
Multiple Employment Report Processing table T5GPBS_SEL.

Example

Certain employees in a specific employee group MUST never be processed. Then this could be coded here as a "catch all", even though PNP Selection could perform the same task, although it must be used correctly.

Notes

IF the value of EMPLOYEE_SELECTED is cleared (set to ' ' or space) then the Personnel Number will NOT be processed through the interface report.

To provide as much information as possible;

IF an ERROR or WARNING is raised and the system fields SY-MSGID, SY-MSGTY, SY-MSGNO, SY-MSGV1, SY-MSGV2, SY-MSGV3 & SY-MSGV4 have been filled, then these will be reported.

If the value of EMPLOYEE_SELECTED is cleared and the system fields SY-MSGID, SY-MSGTY, SY-MSGNO, SY-MSGV1, SY-MSGV2, SY-MSGV3 & SY-MSGV4 have been filled, then these will be reported.

In each of these cases, if the system fields have NOT been filled then following standard messages will be used; E012(HRPSGB_HER) & W013(HRPSGB_HER) respectively.

Further information

If employee's in Employee Subgroup 'Z9' MUST NOT be processed by the interface, then following code could be used.
*
DATA: low_date TYPE begda VALUE '18000101',
high_date TYPE endda VALUE '99991231'.
*
DATA: L_PERNR_C TYPE msgv.
*
DATA: L_P0001 LIKE P0001 OCCURS 0 WITH HEADER LINE.
*
* CHECK P_PERNR
*
LOOP AT P_P0001 WHERE PERSK = 'Z9' AND
BEGDA LE P_ENDDA AND
ENDDA GE P_ENDDA. "NOT P_BEGDA!
EXIT.
ENDLOOP.
IF SY-SUBRC = 0.
CLEAR EMPLOYEE_SELECTED.
REFRESH PERNR_TAB.
ELSE.
*
* Check ALL other PERNRs in PERNR_TAB.
*
LOOP AT PERNR_TAB WHERE PERNR NE P_PERNR.
*
* Derive IT0001 for PERNRs other than P_PERNR.
*
CLEAR l_p0001. REFRESH l_p0001.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
tclas = 'A'
pernr = p_pernr
infty = '0001'
begda = low_date
endda = high_date
TABLES
infty_tab = l_p0001
EXCEPTIONS
infty_not_found = 1
OTHERS = 2.
IF sy-subrc NE 0.
RAISE ERROR.
ELSE.
LOOP AT L_P0001 WHERE PERSK = 'Z9' AND
BEGDA LE P_ENDDA AND
ENDDA GE P_ENDDA. "NOT P_BEGDA!
EXIT.
ENDLOOP.
IF SY-SUBRC = 0.
DELETE PERNR_TAB. "Remove PERNR from PERNR_TAB
*
* The Customer Message Class Z1 has Message 001 with the
* following text.
* "Related employee &1, in Emp Subgrp Z9, was NOT processed."
*
MOVE PERNR_TAB-PERNR TO L_PERNR_C.
MESSAGE W001(Z1) WITH L_PERNR_C RAISING WARNING.
ENDIF.
ENDIF. "Read Infotype ERROR
ENDLOOP. "Check other PERNRs in PERNR_TAB
ENDIF. "P_PERNR is okay
*





Parameters

EMPLOYEE_SELECTED
PERNR_TAB
P_BEGDA
P_ENDDA
P_P0000
P_P0001
P_P0002
P_P0008
P_P0014
P_P0015
P_P0071
P_P0121
P_PERNR

Exceptions

ERROR
WARNING

Function Group

XP08P1USS

ROGBILLS - Synchronize billing plans   General Material Data  
This documentation is copyright by SAP AG.

Length: 4240 Date: 20240523 Time: 061307     sap01-206 ( 58 ms )