Pmic PF Program
Pmic PF Program
IF SY-SUBRC = 0.
CLEAR RT.
LOOP AT RT WHERE LGART EQ '0001'. " loop to add 2 basic salaires in zbasic
ZBASIC = ZBASIC + RT-BETRG.
ENDLOOP.
CLEAR RT.
""code added
else.
EMP_CONT = zded.
COM_CONT = EMP_CONT.
TOT_CONT = EMP_CONT + COM_CONT.
zbegda1 = pn-begda.
zendda1 = pn-endda.
zmonth = zbegda1+4(2).
zyear = zendda1+0(4).
CONCATENATE zyear '0630' INTO zendda.
ELSE.
zbegda1+0(4) = zbegda1+0(4) - 1.
zyear = zbegda1+0(4).
CONCATENATE zyear '0701' INTO zbegda.
zyear = pn-begda+0(4).
CONCATENATE zyear '0630' INTO zendda.
ENDIF.
SELECT SINGLE * INTO CORRESPONDING FIELDS OF IT9405 FROM PA9405 WHERE PERNR =
PERNR-PERNR AND
begda = zbegda AND endda = zendda.
* ENDDA = '99991231'.
APPEND IT9405.
CASE PN-BEGDA+4(2).
WHEN '07'.
PERFORM JULY_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
WHEN '08'.
PERFORM AUGUST_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
WHEN '09'.
PERFORM SEPTEMBER_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
WHEN '10'.
PERFORM OCTOBER_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
WHEN '11'.
PERFORM NOVEMBER_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
WHEN '12'.
PERFORM DECEMBER_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
WHEN '01'.
PERFORM JANUARY_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
WHEN '02'.
PERFORM FEBRUARY_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
WHEN '03'.
PERFORM MARCH_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
WHEN '04'.
PERFORM APRIL_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
WHEN '05'.
PERFORM MAY_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
WHEN '06'.
PERFORM JUNE_M
USING PERNR-PERNR EMP_CONT COM_CONT TOT_CONT
CHANGING IT9405.
ENDCASE.
*
PERFORM CALCULATE_TOTALS_9405_M CHANGING IT9405.
IF IT9405-PERNR NE ''.
* ENDIF.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form JULY_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM july_m USING p_pernr_pernr
p_emp_cont
p_com_cont
P_TOT_CONT
CHANGING p_it9405 LIKE PA9405..
P_IT9405-JUL01 = P_EMP_CONT.
P_IT9405-JUL02 = P_COM_CONT.
P_IT9405-JUL05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form AUGUST_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& --> TOT_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM august_m USING p_pernr_pernr
p_emp_cont
p_com_cont
p_tot_cont
CHANGING p_it9405 LIKE PA9405.
P_IT9405-AUG01 = P_EMP_CONT.
P_IT9405-AUG02 = P_COM_CONT.
P_IT9405-AUG05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SEPTEMBER_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& --> TOT_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM september_m USING p_pernr_pernr
p_emp_cont
p_com_cont
p_tot_cont
CHANGING p_it9405 LIKE PA9405.
P_IT9405-SEP01 = P_EMP_CONT.
P_IT9405-SEP02 = P_COM_CONT.
P_IT9405-SEP05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form OCTOBER_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& --> TOT_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM october_m USING p_pernr_pernr
p_emp_cont
p_com_cont
p_tot_cont
CHANGING p_it9405 LIKE PA9405.
P_IT9405-OCT01 = P_EMP_CONT.
P_IT9405-OCT02 = P_COM_CONT.
P_IT9405-OCT05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form NOVEMBER_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& --> TOT_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM november_m USING p_pernr_pernr
p_emp_cont
p_com_cont
p_tot_cont
CHANGING p_it9405 LIKE PA9405.
P_IT9405-NOV01 = P_EMP_CONT.
P_IT9405-NOV02 = P_COM_CONT.
P_IT9405-NOV05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form DECEMBER_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& --> TOT_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM december_m USING p_pernr_pernr
p_emp_cont
p_com_cont
p_tot_cont
CHANGING p_it9405 LIKE PA9405.
P_IT9405-DEC01 = P_EMP_CONT.
P_IT9405-DEC02 = P_COM_CONT.
P_IT9405-DEC05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form JANUARY_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& --> TOT_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM january_m USING p_pernr_pernr
p_emp_cont
p_com_cont
p_tot_cont
CHANGING p_it9405 LIKE PA9405.
P_IT9405-JAN01 = P_EMP_CONT.
P_IT9405-JAN02 = P_COM_CONT.
P_IT9405-JAN05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FEBRUARY_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& --> TOT_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM february_m USING p_pernr_pernr
p_emp_cont
p_com_cont
p_tot_cont
CHANGING p_it9405 LIKE PA9405.
P_IT9405-FEB01 = P_EMP_CONT.
P_IT9405-FEB02 = P_COM_CONT.
P_IT9405-FEB05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form MARCH_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& --> TOT_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM march_m USING p_pernr_pernr
p_emp_cont
p_com_cont
p_tot_cont
CHANGING p_it9405 LIKE PA9405.
P_IT9405-MAR01 = P_EMP_CONT.
P_IT9405-MAR02 = P_COM_CONT.
P_IT9405-MAR05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form APRIL_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& --> TOT_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM april_m USING p_pernr_pernr
p_emp_cont
p_com_cont
p_tot_cont
CHANGING p_it9405 LIKE PA9405.
P_IT9405-APR01 = P_EMP_CONT.
P_IT9405-APR02 = P_COM_CONT.
P_IT9405-APR05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form MAY_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& --> TOT_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM may_m USING p_pernr_pernr
p_emp_cont
p_com_cont
p_tot_cont
CHANGING p_it9405 LIKE PA9405.
P_IT9405-MAY01 = P_EMP_CONT.
P_IT9405-MAY02 = P_COM_CONT.
P_IT9405-MAY05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form JUNE_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> PERNR_PERNR
*& --> EMP_CONT
*& --> COM_CONT
*& --> TOT_CONT
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM june_m USING p_pernr_pernr
p_emp_cont
p_com_cont
p_tot_cont
CHANGING p_it9405 LIKE PA9405.
P_IT9405-JUN01 = P_EMP_CONT.
P_IT9405-JUN02 = P_COM_CONT.
P_IT9405-JUN05 = P_TOT_CONT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CALCULATE_TOTALS_9405_M
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& <-- IT9405
*&---------------------------------------------------------------------*
FORM calculate_totals_9405_m CHANGING p_it9405 LIKE PA9405.
ENDFORM.