SAP ABAP IMG Activity HR_PBS_01_VG_VA_01 (BAdI: Calculation of Dynamic Pension Value and Logging)
Hierarchy
SAP_HRCDE (Software Component) Sub component SAP_HRCDE of SAP_HR
   PY-DE-PS-VA (Application Component) Pension Administration
     P01PBSVAVG_IMG (Package) HR PAdm: Public Sector Pensions Act (IMG)
IMG Activity
ID HR_PBS_01_VG_VA_01 BAdI: Calculation of Dynamic Pension Value and Logging  
Transaction Code S_ELN_16000016   (empty) 
Created on 20050111    
Customizing Attributes HR_PBS_01_VG_2_2   Pension Calculation (Optional Activity / Non-Critical) 
Customizing Activity HR_PBS_01_VG_VA_01   BAdI: Calculation of Dynamic Pension Value and Logging 
Document
Document Class SIMG   Hypertext: Object Class - Class to which a document belongs.
Document Name HRPBSDE_DYN_RENTE    

Use

When you calculate a pension equalization payment in Pension Administration, you may have to take account of imputations in accordance with Section §55 of the German Public Sector Pensions Act (BeamtVG).

If a pension insurance institution has to impute a fixed pension for a pension equalization payment, the predefined pension amount must be converted into a dynamic pension value.

This conversion is done in accordance with the rules defined by the pension insurance institution. However, a family court may specify alternative conversion rules here.

Due to the large number of variants, it is not possible to provide all possible conversion rules in one general delivery.

Therefore, in this IMG activity, you can use the Business Add-In (BAdI) Calculation Dynamic Pension Value and Logging (HRPBSDE_DYN_RENTE) to convert fixed pension amounts in accordance with the payroll number.

You can also use the BAdI HRPBSDE_DYN_RENTE to:

  • Calculate the dynamic pension amount
  • Provide the information required to create a notification

The interface for the BAdI HRPBSDE_DYN_RENTE looks as follows:

Importing

->    I_PERNR            Personnel number

->    I_DATE            Calculation key date

->    I_CALCTIME            Calculation time

->    IS_P0326            Infotype for imputation §55 (0326)

->    I_CURRENCY        Currency

->    IS_T5D8S            Payroll number

->    I_MSG_HANDLER        Message handler instance

Exporting

<-    E_P0326_BETRG        Dynamic pension amount

<-    ES_DYN_RENTE        Structure for conversion to dynam. pension

<-    E_IS_OK            Message handler switch

Changing

<->    CT_RESULT_ID        Calculation results (for notification)

You call the BAdI HRPBSDE_DYN_RENTE in the method CL_HRDEPBSCA_P55->CALC_ANZURECHENDE_RENTE after the system converts the currency and outputs the payroll number and ID number within the loop through all pensions.

Once the BAdI is implemented, the name of the BAdI implementation called, the old (fixed) pension amount, and the new (dynamic) pension amount are logged.

The log tables (CT_CALC_TIME, CT_RESULT_ID) are transferred as local tables. Note that all of the pensions must be processed before the local tables are attached to the actual tables. This ensures that the correct logging sequence is retained. Any customer-defined logging is output as an attachment after the standard logging.

For customer-specific logging within the BAdI, you can use the standard SAP tables T7PBSCA2A (Calculation Times) and T7PBSCA2B (Calculation Results). To define new calculation times and results, you can use the customer namespaces 9*, X*, and Y*.

To display the calculation, you can create your own customer notification, which you can output as an attachment to the calculation for the pension equalization payment. As described above, the information required for the notification is written to the relevant tables in the NO cluster.

Requirements

Standard settings

The standard delivery does not contain any implementations.

Activities

If a family court requires you to convert a fixed pension value into a dynamic value, you must implement the BAdI HRPBSDE_DYN_RENTE:

After calling up the IMG activity, a dialog box appears, in which you can enter a name for the implementation.

If you have already made other implementations for this BAdI, another dialog box appears, in which the existing implementations are displayed. In this case, choose Create, and proceed as follows:

  1. In the dialog box, enter a name for the BAdI implementation in the Implementation field, and choose Create.

    The screen for creating BAdI implementations is now displayed.

  2. Enter a short text for the implementation in the Short text for implementation field.
  3. From the tab index, choose Interface.

    The Name of implemented class field is already filled on the tab page, as a class name was automatically assigned to the implementation when you named it.

  4. Save your entries, and assign the implementation to a development class.
  5. Place the cursor on the method, and double-click to enter method processing.
  6. Enter the code for the implementation between the statements method <Interface name> ~ <Name of method> and endmethod.
  7. Save and implement your code. Return to the Edit Implementation screen.
  8. Save the entries on the Edit Implementation screen.

    Note: You can also create an implementation, and then activate it at a later time. In such a case, end the processing stage at this point.

  9. Choose Activate

    The code you stored in the method will be run when the application program is executed.

Example

Business Attributes
ASAP Roadmap ID 204   Establish Functions and Processes 
Mandatory / Optional 2   Optional activity 
Critical / Non-Critical 2   Non-critical 
Country-Dependency I   Valid for countries specified 
Maintenance Objects
Maintenance object type E   Business Add-In - Definition 
History
Last changed by/on SAP  20050111 
SAP Release Created in 300