Homelab, Linux, JS & ABAP (~˘▾˘)~
 

[HR] Personalisierungsdaten pflegen

Paket: FPB_PERSONALIZATION
Fuba: FPB_PERS_POST_FOR_DIALOG
Tabelle: FPB_PERSPARM

https://launchpad.support.sap.com/#/notes/0001622954

Beispiel: Reisebeauftragter (RBA) für das Travelmanagement via Dialog CO-CCA-TR

Anlegen:
Tcode FPB_MAINTAIN_PERS_S
Dialog DIA_CO-CCA-TR

Löschen:
Tcode FPB_DELETE_PERS_DATA
Dialog CO-CCA-TR

Anzeigen:
Tcode: FPB_SHOW_PERS_DATA

Siehe weitere Transaktionen im Paket.

[ABAP] Get MOLGA for PERNR

" Option 1
TRY.
    cl_hrpa_masterdata_factory=>get_read_molga( IMPORTING read_molga = DATA(lr_molga) ).
    DATA(molga) = lr_molga->read_molga_by_pernr( pernr ).
  CATCH cx_hrpa_violated_assertion.
ENDTRY.

" Option 2
TRY.
    DATA(employee_api) = cl_hcmfab_employee_api=>get_instance( ).
    DATA(molga)        = employee_api->get_molga( pernr ).
  CATCH cx_hcmfab_common.
ENDTRY.

[ABAP] Sachbearbeiter ermitteln

Bisher kenne ich keine “offizielle” Klasse der SAP für die Sachbearbeiterermittlung. Auf jedem System dafür eine neue Helper Klasse/Methode anzulegen finde ich aber auch nervig. Ich nutze daher diese Klasse aus dem Notification Tool Paket P99_NT, nicht optimal, erfüllt aber seinen Zweck.

    cl_hrpay00_nt_read_db=>get_admin_data( EXPORTING iv_pernr = pernr-pernr
                                           IMPORTING es_sacha = DATA(es_sacha)
                                                     ev_usrid = DATA(ev_usrid)
                                                     ev_sbmod = DATA(ev_sbmod)
                                                     es_p0001 = DATA(es_p0001) ).

[ABAP] Ermittle Sachkonto zu symbolischen Konto aus FI System

DATA(service_manager) = NEW cl_hrpp_ws_service_manager( ).

SELECT * INTO TABLE @DATA(lt_t52el) FROM t52el  WHERE molga = '01' AND symko <> @space AND endda >= @pn-begps. " Verknüpfung Lohnart zu symbolischen Konto
SELECT * INTO TABLE @DATA(lt_t52ek) FROM t52ek.                                                                " Symbolische Konten
SELECT * INTO TABLE @DATA(lt_t52ep) FROM t52ep.                                                                " Kontierungsarten

 LOOP AT lt_t52el INTO DATA(ls_t52el). " Ermittle je Lohnart die symbolischen Konten (1:n)

      TRY.
          DATA(ls_t52ek) = lt_t52ek[ symko = ls_t52el-symko ].   " Ermittele Kontierungsart
          DATA(ls_t52ep) = lt_t52ep[ koart = ls_t52ek-koart ].   " Ermittele Typ des symbolischen Kontos
          DATA(process)  = CONV ktosl( 'HR' && ls_t52ep-kttyp ).
        CATCH cx_sy_itab_line_not_found.
          CONTINUE.
      ENDTRY.

      service_manager->hrpp_fi_acct_det_hr( EXPORTING companycode        = pernr-bukrs
                                                      process            = process              " Vorgangsschlüssel
                                                      symb_acct          = ls_t52el-symko
                                                      eg_acct_det        = CONV #( '1' )        " Überleitung FI/CO: Mitarbeitergruppierung Kontenfindung: alle Mitarbeiter
                                            IMPORTING gl_account_debit   = DATA(account_debit)
                                                      gl_account_credit  = DATA(account_credit)
                                                      return_tab         = DATA(return_tab) ).
      IF line_exists( return_tab[ type = 'E' ] ).
        CONTINUE.
      ENDIF.

      " Lese Sachkonto Text
      service_manager->hrpp_gl_acc_getdetail( EXPORTING companycode    = pernr-bukrs
                                                        glacct         = account_debit
                                                        language       = sy-langu
                                                        text_only      = abap_true
                                              IMPORTING account_detail = DATA(account_detail) ).

 ENDLOOP.

[HR] Buchungsbelege anzeigen/analysieren

Hilfreiche Reports:

  • SAPMPCP0 – Buchungsläufe bearbeiten (TCode PCP0)
  • H99CWTR0 – Lohnarten Reporter
  • RPCIP_DOCUMENT_ANALYSE – Buchungsbelege analysieren
  • RPCIPD00_FRAME – Details zu Belegzeilen anzeigen

Einige relevante Tabellen:

  • PPDHD – Überleitung FI/CO: Kopf des Belegs
  • PPDIT – Überleitung FI/CO: Zeilen des HR-Zwischenbelegs
  • PPDIX – Überleitung FI/CO: Indextabelle der HR-Zwischenbelege (Verknüpfung zwischen PPDIT und PPOIX)
  • PPDST – Überleitung FI/CO: Substituierte Kontierungsobjekte
  • PPOIX – Index Abrechnungsergebniszeile -> Buchungszeile
  • PPOPX – Index alte <-> neue Belegzeile für ‘P’-Ergebnisse
  • PEVST – Abrechnungsauswertungsläufe
  • PEVAT – Attribute von Auswertungsläufen
  • PEVSH – Historie von Abrechnungsauswertungsläufen (STATUS = 40 Überleitung an FI)

Die Klasse CL_DOCUMENT_ANALYSE hilft die Verknüpfung der Tabellen zu verstehen