Pages

Sunday, April 4, 2010

Do Varying usage

DATA: lv_subty TYPE subty,
lv_lgaxx TYPE lgart,
lv_betxx TYPE pad_amt7s.

* Extract PERNR Wage-type details from IT9027
**********************************************
lv_subty = '0'."Read SUBTYPE 0 only as it hold the valid record
"Read Infotype Table
SELECT * FROM pa9027
INTO TABLE it_9027
WHERE pernr EQ p0008-pernr
AND subty EQ lv_subty. "#EC CI_SGLSELECT
"If data found in IT9027
IF sy-subrc EQ 0.
"Delete all other reason code entries from Table
DELETE it_9027 WHERE preas NE c_prog_reason.
"Bring the latest record at top
SORT it_9027 BY endda DESCENDING.
"Read latest record
READ TABLE it_9027 INTO wa_9027 INDEX 1.
"If data found
IF sy-subrc EQ 0.
"Read work area row for all Wage type values
DO 40 TIMES VARYING lv_lgaxx FROM wa_9027-lga01 NEXT wa_9027-lga02
VARYING lv_betxx FROM wa_9027-bet01 NEXT wa_9027-bet02.
"Read only Annual Salary Wage types (Refer view V_T539J)
"NOTE: As of now 1000,2NPY and 1NPY make up the Annual Salary
wa_wage_tab-pernr = p0008-pernr.
CASE lv_lgaxx.
WHEN c_wage_type_1.
gv_1000 = lv_betxx. "Store Amount per Wage-Type
WHEN c_wage_type_2.
gv_2npy = lv_betxx."Store Amount per Wage-Type
WHEN c_wage_type_3.
gv_1100 = lv_betxx."Store Amount per Wage-Type
WHEN c_wage_type_4.
gv_1npy = lv_betxx."Store Amount per Wage-Type
WHEN c_wage_type_5.
gv_1005 = lv_betxx."Store Amount per Wage-Type
WHEN c_wage_type_6.
gv_mf02 = lv_betxx."Store Amount per Wage-Type
WHEN c_wage_type_7.
gv_mf04 = lv_betxx."Store Amount per Wage-Type
WHEN OTHERS.
"do nothing as only previous Wate-Type should be considered
ENDCASE.
ENDDO.
ENDIF.

* Calculate share of Annual Salary Amount per Wage-Type
*******************************************************

PERFORM get_wagetype_share USING p_oldsal p_newsal c_wage_type_1
CHANGING gv_1000.
PERFORM get_wagetype_share USING p_oldsal p_newsal c_wage_type_2
CHANGING gv_2npy.

No comments:

Post a Comment