Reading Payroll Data in SAP

Reading Payroll Data in SAP

Bordro kümesi, bir çalışan için bordro ile ilgili tüm bilgileri tek bir yerde görüntülemenizi sağlar. Maaş bordrosu kümesine veya bordro sonuçlarını görüntülemek için PC00_M08_CLSTR işlem kodu kullanılır.

SAP’de bordro verilerini okumak için ise aşağıdaki kodu kullanabilirsiniz.

DATA: LT_RGDIR  TYPE STANDARD TABLE OF PC261 WITH HEADER LINE,
      LS_RESULT TYPE PAY99_RESULT,
      GT_MSG    TYPE TABLE OF BAPIRET2 WITH HEADER LINE.
   
 REFRESH: LT_RGDIR.
    "Personele ait bordro dönemlerini çekiyoruz.
    CALL FUNCTION 'CA_CU_READ_RGDIR_NEW'
      EXPORTING
        PERSNR                   = GS_ITAB-PERNR
      TABLES
        CU_CA_RGDIR              = LT_RGDIR
      EXCEPTIONS
        IMPORT_MISMATCH_ERROR_CU = 1
        IMPORT_MISMATCH_ERROR_CA = 2
        NO_READ_AUTHORITY_CA     = 3
        NO_READ_AUTHORITY_CU     = 4
        ERROR_READING_CU         = 5
        ERROR_READING_CA         = 6
        NO_RECORD_FOUND          = 7
        OTHERS                   = 8.

    IF SY-SUBRC NE 0.
      CALL FUNCTION 'AIPB_BAPIRET2_FILL'
        EXPORTING
          TYPE   = SY-MSGTY
          CL     = SY-MSGID
          NUMBER = SY-MSGNO
          PAR1   = SY-MSGV1
          PAR2   = SY-MSGV2
          PAR3   = SY-MSGV3
          PAR4   = SY-MSGV4
        IMPORTING
          RETURN = GT_MSG.
      APPEND GT_MSG.
    ENDIF.

    "Seçim ekranındaki döneme ait SEQNR’yi alıyoruz
    READ TABLE LT_RGDIR WITH KEY FPPER = P_DONEM.

    IF SY-SUBRC EQ 0.

      "Personele ait bordro detaylarını alıyoruz.
      CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
        EXPORTING
          EMPLOYEENUMBER               = GS_ITAB-PERNR
          SEQUENCENUMBER               = LT_RGDIR-SEQNR
        CHANGING
          PAYROLL_RESULT               = LS_RESULT
        EXCEPTIONS
          ILLEGAL_ISOCODE_OR_CLUSTERID = 1
          ERROR_GENERATING_IMPORT      = 2
          IMPORT_MISMATCH_ERROR        = 3
          SUBPOOL_DIR_FULL             = 4
          NO_READ_AUTHORITY            = 5
          NO_RECORD_FOUND              = 6
          VERSIONS_DO_NOT_MATCH        = 7
          ERROR_READING_ARCHIVE        = 8
          ERROR_READING_RELID          = 9
          OTHERS                       = 10.

      IF SY-SUBRC NE 0.
        CALL FUNCTION 'AIPB_BAPIRET2_FILL'
          EXPORTING
            TYPE   = SY-MSGTY
            CL     = SY-MSGID
            NUMBER = SY-MSGNO
            PAR1   = SY-MSGV1
            PAR2   = SY-MSGV2
            PAR3   = SY-MSGV3
            PAR4   = SY-MSGV4
          IMPORTING
            RETURN = GT_MSG.
        APPEND GT_MSG.
      ENDIF.
        LS_RESULT-INTER-WPBP,     "İşyeri/ temel ödemeler
        LS_RESULT-INTER-CRT,      "Kümüle sonuç tablosu
        LS_RESULT-INTER-BT,       "Ödeme bilgileri
        LS_RESULT-INTER-RT,       "Mali tablolar
        LS_RESULT-INTER-GRT,      "Brüt bölümden çıktı tablosu
        LS_RESULT-INTER-MODIF,    "Değiştiriciler
        LS_RESULT-INTER-VERSION,  "Yaratma bilgileri
        LS_RESULT-INTER-VERSC.    "Bordroya ilişkin durum bilgileri

ABAP POPUP Function Modules örneklerini inceleyebilirsiniz.

Kaynak 1 Kaynak 2

Emrullah Demirhan

Emrullah Demirhan

SAP ERP yazılımı ve ABAP programlama dili uzmanıyım. Ayrıca Python programlama dili ve veri bilimi ile de ilgilenmekteyim. Yeni teknolojiler öğrenmeyi, öğrendiklerimi uygulayarak sonuçlarını paylaşmayı ve öğretmeyi seviyorum.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Son Yazılar

Popüler Yazılar

Tavsiye Edilen Yazılar

Sitemizde en iyi deneyimi yaşamanızı sağlamak için çerezler kullanmaktadır.