Ansicht
Dokumentation

OHADOE596 - BAdI: Deactivate Fictitious Runs

OHADOE596 - BAdI: Deactivate Fictitious Runs

ROGBILLS - Synchronize billing plans   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
This documentation is copyright by SAP AG.
SAP E-Book

Business Add-In (BAdI) HRPAYDE_MUSCHG_BV_DEAK allows you to use interface IF_HRPAYDE_MUSCHG_BV_DEAK and method DEAKTIVIEREN_GRUNDLAGE_BV to perform the following checks for personnel who are in a period of prohibited activities or a maternity protection period, and for whom there is a change of pay scale in the period between calculating the average and the period of prohibited activities/maternity protection:

  • pay scale indicator change
  • change of pay scale type or change to the pay scale area during the period of prohibited activities or maternity protection period.

If you want to carry out an individual check for an organizational reassignment, you can create a customer-specific implementation with a class that is inherited from sample class CL_HRPAYDE_MUSCHG_BV_DEAK. In this customer-specific class, you can redefine method PRUEFEN_TARIF_DEAKT and process the logic according to your requirements.

If at least one of the above-mentioned conditions is met, the fictitious run for the calculation basis for prohibited activities MBV1(MuSchG Prohibited Activities Assessment Basis) or fictitious run MBV4(MuSchG Prohib.Act. Adjust.Amt SuppMatPay) can be suppressed. Method SET_DEAKTIVIERT is available for this purpose. In the sample class, export parameter EV_DEAKTIVIERT (deactivation indicator) of this method is active. If, however, you do not want the fictitious runs to be deactivated for all changes to pay scale types, you can redefine this method in a customer-specific class, and set export parameter EV_DEAKTIVIERT to APAB_TRUE for the relevant pay scale types only.

If you do not create or activate any customer-specific implementation, the system does not create a BAdI object or a BAdI reference to this object. The payroll program terminates if there is a change that is not supported automatically. To prevent the payroll program from terminating in the case of the above-mentioned employees, you must manually deactivate the calculation of prohibited activities or the calculation of maternity pay supplements. You can find information on how to do this in Article 1994538 in the SAP knowledge database (Knowledge Base Articles - KBA).

Create customer-specific implementations that are inherited from sample class CL_HRPAYDE_MUSCHG_BV_DEAK and, if necessary, redefine them using method SET_DEAKTIVIERT. By default, the parameter is set to APAB_TRUE.

The method DEAKTIVIEREN_GRUNDLAGE_BV for interface IF_HRPAYDE_MUSCHG_BV_DEAK contains the following parameters:

  • IV_PERNR: Personnel Number
  • IV_DATUM_VORHER: Validity Date Before
  • IV_DATUM_NACHHER: Validity Date After
  • IT_P0001: HR Master Record Infotype 0001 (Org. Assignment)
  • IT_P0008: HR Master Record Infotype 0008 (Basic Pay)
  • IT_P0014: HR Master Record Infotype 0014 (Recurring Payments/ Deductions)
  • IT_P0015: HR Master Record Infotype 0015 (Additional Payments)
  • IO_MESSAGE_HANDLER: Instance of the Message Handler
  • EV_IS_OK: Export Parameter. Indicates whether the method was executed without an error. If this parameter is initial, the system terminates further processing and displays the error messages of the message handler.
  • EV_DEAKTIVIERT: Deactivation indicator

If you create a customer-specific implementation, make sure to set parameter EV_IS_OK to 'X' (ABAP_TRUE). Otherwise, the system assumes there is an error and aborts the processing. You can transfer error messages that occur during customer-specific processing to the calling routine by calling method IF_HRPBS00_MESSAGE_HANDLER~ADD_MESSAGE. In this case, you must set parameter EV_IS_OK to SPACE (ABAP_FALSE).

For information about the implementation of BAdls within the framework of the enhancement concept, see SAP Library for SAP NetWeaver under BAdls Embedded in the Enhancement Framework.

You want to set export parameter EV_DEAKTIVIERT of method SET_DEAKTIVIERT to active only in the case of a change to the pay scale indicator and for certain pay scale types.

Change from pay scale type 41(TV-L) to pay scale type 42(TV-L KR):,,,,allowed

Change from pay scale type 41(TV-L) to pay scale type 45(Salary):,,,,not allowed

To do this, you create a customer-specific implementation with a method based on the following example:

METHOD if_hrpayde_muschg_bv_deak~set_deaktiviert.

  ev_is_ok = abap_true.

  ev_deaktiviert = abap_false.

  IF  iv_trfkz_vorher NE iv_trfkz_nachher.
    ev_deaktiviert = abap_true.
    RETURN.
  ENDIF.

  IF  is_p0008_vorher-trfar  EQ '41'.
  AND is_p0008_nachher-trfar EQ '45'.
      ev_deaktiviert = abap_true.
  ENDIF.

ENDMETHOD.

In this case, the fictitious runs are deactivated if there is a change to the pay scale indicator or a change from pay scale type 41 to pay scale type 45.






Fill RESBD Structure from EBP Component Structure   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
This documentation is copyright by SAP AG.

Length: 7494 Date: 20240607 Time: 190751     sap01-206 ( 104 ms )