In HR programming sometimes we need to find out the accounting period and accounting year to update the infotypes like IT0003. We have to either get these info from various tables. This involves lot of steps. Instead, we can use funtion modules as described in the code. Just give the system date, and the function module takes care of calculating the accounting year and the accounting period.
call function 'HR_PAYROLL_PERIOD_GET' exporting payroll_area = period date = sy-datum importing payroll_year = ac_year payroll_period = a_period exceptions no_entry_t549a = 1 no_entry_t549q = 2 others = 3 . * IF sy-subrc <> 0. ** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. * ENDIF.