Hi,
as an example, when you extract payroll data for one month (say march 2014) you're really extracting data for inper 201403 and also for potentially many different forper as calculations are performed at payroll level.
This means that you'll probably want to have different infopackages for the same inper and different forper in order to have more parallelism.
The very basic example would be one infopackage for inper = forper = current month and one for inper <> forper < current month, this means filtering BEGDA and ENDDA with first and last day of current month
First day of current month
*$*$ begin of routine - insert your code only below this line *-*
data: l_idx like sy-tabix.
read table l_t_range with key
fieldname = 'BEGDA'.
l_idx = sy-tabix.
*....
v_start = sy-datum.
v_start+6(2) = '01'.
l_t_range-SIGN = 'I'.
l_t_range-OPTION = 'EQ'.
l_t_range-LOW = v_start.
modify l_t_range index l_idx.
p_subrc = 0.
*$*$ end of routine - insert your code only before this line *-*
Last day of current month
*$*$ begin of routine - insert your code only below this line *-*
DATA: l_idx LIKE sy-tabix.
READ TABLE l_t_range WITH KEY
fieldname = 'ENDDA'.
l_idx = sy-tabix.
*....
CALL FUNCTION 'SLS_MISC_GET_LAST_DAY_OF_MONTH'
EXPORTING
day_in = sy-datum
IMPORTING
last_day_of_month = v_end.
l_t_range-sign = 'I'.
l_t_range-option = 'EQ'.
l_t_range-low = v_end.
MODIFY l_t_range INDEX l_idx.
p_subrc = 0.
*$*$ end of routine - insert your code only before this line
For FPPER you can use standard OLAP variable 0CMONTH