2010 Dec 27 12:53 PM
This in this program when ever fields enter in the cats .this mode has to work. but its not working ...
Start of Change RD6K909098
* for Former Millercoors Salary Non-Exempt employee
* determine amount from Anaual salary
IF r4 IS NOT INITIAL.
DATA: lv_ansal TYPE p0008-ansal.
* Get Annual Salary
CALL FUNCTION 'RP_ANSAL_FROM_PERNR'
EXPORTING
f_date = pn-begda
f_tclas = 'A'
f_pernr = p0001-pernr
IMPORTING
f_ansal = lv_ansal
EXCEPTIONS
internal_error = 1
error_read_0001 = 2
error_read_0008 = 3
error_at_indirect_evaluation = 4
currency_conversion_error = 5
OTHERS = 6.
*Start of Change kannan - RD6K911847
*Whenever override rate is applicable. choose CATSB rate as hourly rate instead of Annual salary / 2010 rate.
IF pi_wa_catsdb-bwgrl IS NOT INITIAL.
lv_hrly_rate = pi_wa_catsdb-bwgrl.
ELSE.
*End of Change Kannan - RD6K911847
*Hourly rate from Annaul salary
lv_hrly_rate = lv_ansal / 2080.
*Start of Change kannan - RD6K911847
ENDIF.
*End of Change Kannan - RD6K911847
2010 Dec 27 12:57 PM
selection screen code . r4 for override mode
FORM f_screen .
** * Disable Former Coors Salary non-Exempt Radio button.
*
* LOOP AT SCREEN.
* IF screen-name = 'R4'.
* screen-active = '0'.
* MODIFY SCREEN.
* ENDIF.
* ENDLOOP.
LOOP AT SCREEN.
IF screen-name = 'P_MSFIL' . " p_msfil
screen-input = 0.
MODIFY SCREEN.
ENDIF.
*Start RD6K909098
IF r3 = 'X' OR r4 = 'X'.
*End RD6K909098
IF screen-group1 = 'C1' OR screen-group1 = 'C2' .
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
*disable reversal date
* IF r1 EQ gc_x OR r3 EQ gc_x.
* LOOP AT SCREEN.
* IF screen-group1 = 'F2' OR screen-name = 'P_RDATE'.
* screen-input = '0'.
* ENDIF.
* IF screen-group1 = 'F1' OR screen-name = 'P_PDATE'.
* screen-input = '1'.
* ENDIF.
* MODIFY SCREEN.
* ENDLOOP.
* ENDIF. " r1 & r3
*Start Comment RD6K909098
* IF r2 EQ gc_x OR r4 EQ gc_x.
*RD6K909098 End comment
IF r4 EQ gc_x. " RD6K909269
LOOP AT SCREEN.
IF screen-group1 = 'F2'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF. " r1 & r3
IF r1 EQ gc_x ." OR r2 EQ gc_x. "RD6K909098
LOOP AT SCREEN.
IF screen-group1 = 'C1' OR screen-group1 = 'C2'.
screen-invisible = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
* IF r3 EQ gc_x.
* LOOP AT SCREEN.
* IF screen-group1 = 'F1'.
* screen-input = '0'.
* MODIFY SCREEN.
* ENDIF.
* IF screen-group1 = 'F2'.
* screen-input = '0'.
* MODIFY SCREEN.
* ENDIF.
* ENDLOOP.
* ENDIF.
IF r3 EQ gc_x. " OR *RD6K909098
* r4 EQ gc_x. *RD6K909098
LOOP AT SCREEN.
IF screen-group1 = 'F4'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. " F_SCREEN