Pages

Showing posts with label Get data from different fields but same row. Show all posts
Showing posts with label Get data from different fields but same row. Show all posts

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.