Ansicht
Dokumentation

HRGPBS_OSP_OMP_GET_CUSTOMISING - Derive the COVER-MARK for a day's absence (GB)

HRGPBS_OSP_OMP_GET_CUSTOMISING - Derive the COVER-MARK for a day's absence (GB)

General Material Data   General Data in Customer Master  
This documentation is copyright by SAP AG.
SAP E-Book

Functionality

This routine is the main routine. It calls over 3/4 of all the code written for GB Absence Evaluation.

The overall structure is laid out below to provide a simple guide as to how the mark for a day is built up.

Example

Notes

Further information

The Structure of this module is as follows;
*
*======================================================================
* 1) DERIVE STATIC INFORMATION & FILL TABLES
*======================================================================
*
CALL FUNCTION 'HRGPBS_OSP_OMP_T001P_T554S'
PERFORM fill_i5gpbs20.
PERFORM fill_i5gpbs21.
PERFORM fill_i5gpbs22.
PERFORM fill_i5gpbs23.
PERFORM fill_i5gpbs24.
PERFORM fill_i5gpbs29.
PERFORM fill_i5gpbs30.
PERFORM fill_i0572.
*
*======================================================================
* 2) Derive previous submarks (and minutes) for this day and
* derive the CDSEQ (and minutes) for this absence
*======================================================================
*
CALL FUNCTION 'HRGPBS_OSP_OMP_SUBMARK_CDSEQ'
*
PERFORM previous_mark. (passing out previous_minutes)
*
PERFORM ab_minutes. (passing out day_mins)
*
total_day_mins = previous_minutes + day_mins.
*
IF total_day_mins GT 1440.
PERFORM new_error.
EXIT.
ENDIF.
*
*======================================================================
* 3) LOOP through Entitlement Bands. (IN PRIORITY ORDER)
*======================================================================
*
SORT i5gpbs23 BY molga covpa covru endda crmoa crabt crpri.
*
LOOP AT i5gpbs23 WHERE molga = i556g-molga
AND covpa = i556g-covpa
AND covru = i556g-covru
AND endda = i556g-endda
AND crmoa = l_moabw.
*
*======================================================================
* A) Check fo a MATCH on Absence Grouping
*======================================================================
*
CHECK absence_grouping_from_t5gpbs23 = absence_grouping_from_t554s.
*
*======================================================================
* B) QUALIFYING DAYS
*======================================================================
*
CALL FUNCTION 'HRGPBS_OSP_OMP_DAY_QUALIFYING'
*
IF NOT day_rejected IS INITIAL.
PERFORM write_mark.
CONTINUE.
ENDIF.
*
*======================================================================
* C)Derive the Start and End Dates of the Entitlement Check Window
*======================================================================
*
CALL FUNCTION 'HRGPBS_OSP_OMP_GET_CHECKWINDOW'
*
*======================================================================
* D)Process Waiting Days
*======================================================================
*
IF waiting_days GT 0.
*
* derive waiting days left to process
*
IF waiting_days GT 0.
PERFORM write_mark.
ENDIF.
ENDIF.
*
*======================================================================
* E)Check Limit has not been reached.
*======================================================================
*
CALL FUNCTION 'HRGPBS_OSP_OMP_CHECK_LIMIT'
*
IF NOT limit_reached IS INITIAL.
PERFORM issue_warning (i.e. Band Change Limit Reached)
CONTINUE.
ENDIF.
*
*======================================================================
* F)Derive Entitlement
*======================================================================
*
CALL FUNCTION 'HRGPBS_OSP_OMP_GET_ENTITLEMENT'
*
*======================================================================
* G)Part Time Adjustment
*======================================================================
*
CALL FUNCTION 'HRGPBS_OSP_OMP_PART_TIME_ADJ'
*
*======================================================================
* H)Derive Customer Specific Adjustments to the Entitlement
*======================================================================
*
CALL CUSTOMER-FUNCTION 'ENT'
*
*======================================================================
* I)Derive Reduction and Extension
*======================================================================
*
CALL FUNCTION 'HRGPBS_OSP_OMP_GET_EXT_OR_RED'
*
*======================================================================
* J)Reduce Entitlement by Reduction Days
*======================================================================
*
IF reduction GT 0.
entitlement_days = entitlement_days - reduction.
ENDIF.
*
*======================================================================
* K)Process Entitlement Days (less reduction)
*======================================================================
*
IF entitlement GT 0.
*
* derive extension days left to process
*
IF entitlement GT 0.
IF entitlement LE warning_days.
PERFORM issue_warning (i.e. Band Change No Entitlement)
ENDIF.
ENDIF.
*
IF entitlement GT 0.
PERFORM write_mark. (i.e. a submark)
ENDIF.
ENDIF.
*
*======================================================================
* L)Process Entitlement Days (Extension ONLY)
*=====================================================================
*
IF extension GT 0.
*
* derive extension days left to process
*
IF extension GT 0.
IF extension LE warning_days.
PERFORM issue_warning (i.e. Band Change No Entitlement)
ENDIF.
ENDIF.
*
IF extension GT 0.
PERFORM write_mark.
ENDIF.
ENDIF.
*
*======================================================================
* M)Process Entitlement Days (Reduction ONLY)
*======================================================================
*
IF reduction GT 0.
*
* derive reduction days left to process
*
IF reduction GT 0.
PERFORM write_mark.
ENDIF.
ENDIF.
ENDLOOP.
*
*======================================================================
* N)Process Nil Pay
*======================================================================
*
IF day_mins GT 0.
*
* Derive Nil Pay Valuation Rule from T5GPBS29
*
IF NOT nil_pay_evcls IS INITIAL.
PERFORM write_mark.
ENDIF.
ENDIF.





Parameters

P_ERROR_TAB
P_I5GPBS20
P_I5GPBS21
P_I5GPBS22
P_I5GPBS23
P_I5GPBS24
P_I5GPBS25
P_I5GPBS26
P_I5GPBS29
P_I5GPBS30
P_I5GPBS31

Exceptions

Function Group

HRGPBS_OSP_OMP

BAL_S_LOG - Application Log: Log header data   Addresses (Business Address Services)  
This documentation is copyright by SAP AG.

Length: 7489 Date: 20240523 Time: 095617     sap01-206 ( 41 ms )