Professional Documents
Culture Documents
REPORT zfak_hr_income_tax_details.
TABLES: ztax_details.
START-OF-SELECTION.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
*&---------------------------------------------------------------------*
*& Module UPDATE_TAX_DETAILS_TABLE OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE update_tax_details_table OUTPUT.
REFRESH tax_details.
CLEAR tax_details.
CLEAR table_lines.
LOOP AT tax_details.
table_lines = table_lines + 1.
ENDLOOP.
tabctrl-lines = table_lines.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN 'CREATE'.
create_check = 'X'.
CLEAR: display_check, copy_check, change_check.
CLEAR ok_code.
CLEAR textmsg.
CLEAR wa_details.
WHEN 'COPY'.
IF sy-subrc = 0.
copy_check = 'X'.
CLEAR: display_check, create_check, change_check.
CLEAR ok_code.
CLEAR textmsg.
CALL SCREEN '200'.
ELSE.
CLEAR ok_code.
CLEAR textmsg.
ENDIF.
WHEN 'EDIT'.
WHEN 'DISPLAY'.
IF sy-subrc = 0.
display_check = 'X'.
CLEAR: copy_check, create_check, change_check.
CLEAR ok_code.
CLEAR textmsg.
CALL SCREEN '200'.
ELSE.
CLEAR ok_code.
CLEAR textmsg.
ENDIF.
WHEN 'DELETE'.
ENDLOOP.
WHEN 'BACK'.
IF answer = '1'.
LEAVE PROGRAM.
ELSE.
CLEAR ok_code.
CLEAR answer.
ENDIF.
WHEN 'EXIT'.
IF answer = '1'.
LEAVE PROGRAM.
ELSE.
CLEAR ok_code.
CLEAR answer.
ENDIF.
WHEN 'CANCEL'.
IF answer = '1'.
LEAVE PROGRAM.
ELSE.
CLEAR ok_code.
CLEAR answer.
ENDIF.
WHEN OTHERS.
CLEAR ok_code.
ENDCASE.
*&---------------------------------------------------------------------*
*& Module MODIFY_TABLE_CONTROL INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE modify_table_control INPUT.
*&---------------------------------------------------------------------*
*& Module STATUS_0200 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0200 OUTPUT.
IF display_check NE 'X'.
ELSE.
ENDIF.
*&---------------------------------------------------------------------*
*& Module SET_FIELD_STATUS OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE set_field_status OUTPUT.
IF display_check = 'X'.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-MOLGA' OR
screen-name = 'WA_DETAILS-BEGDA' OR
screen-name = 'WA_DETAILS-TAXWT' OR
screen-name = 'WA_DETAILS-EPFWT' OR
screen-name = 'WA_DETAILS-PRORT' OR
screen-name = 'WA_DETAILS-PROMD' OR
screen-name = 'WA_DETAILS-PRODT' OR
screen-name = 'WA_DETAILS-CHEK1' OR
screen-name = 'WA_DETAILS-CHEK2' OR
screen-name = 'WA_DETAILS-CHEK3' OR
screen-name = 'WA_DETAILS-CHEK4' OR
screen-name = 'WA_DETAILS-BOTAX' OR
screen-name = 'WA_DETAILS-BOAMT' OR
screen-name = 'WA_DETAILS-EPFBT' OR
screen-name = 'WA_DETAILS-AGERL' OR
screen-name = 'WA_DETAILS-AGELT' OR
screen-name = 'WA_DETAILS-AGEPR' OR
screen-name = 'WA_DETAILS-DONPR' OR
screen-name = 'WA_DETAILS-DONFV' OR
screen-name = 'WA_DETAILS-DTCPR' OR
screen-name = 'WA_DETAILS-DTCFV' OR
screen-name = 'WA_DETAILS-IISPR' OR
screen-name = 'WA_DETAILS-IISFV' OR
screen-name = 'WA_DETAILS-HIPPR' OR
screen-name = 'WA_DETAILS-HIPFV' OR
screen-name = 'WA_DETAILS-PFCPR' OR
screen-name = 'WA_DETAILS-PFCFV' OR
screen-name = 'WA_DETAILS-PODPR' OR
screen-name = 'WA_DETAILS-PODFV'.
screen-input = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-MOLGA' OR
screen-name = 'WA_DETAILS-BEGDA' OR
screen-name = 'WA_DETAILS-TAXWT' OR
screen-name = 'WA_DETAILS-EPFWT' OR
screen-name = 'WA_DETAILS-PRORT' OR
screen-name = 'WA_DETAILS-PROMD' OR
screen-name = 'WA_DETAILS-PRODT' OR
screen-name = 'WA_DETAILS-CHEK1' OR
screen-name = 'WA_DETAILS-CHEK2' OR
screen-name = 'WA_DETAILS-CHEK3' OR
screen-name = 'WA_DETAILS-CHEK4' OR
screen-name = 'WA_DETAILS-BOTAX' OR
screen-name = 'WA_DETAILS-BOAMT' OR
screen-name = 'WA_DETAILS-EPFBT' OR
screen-name = 'WA_DETAILS-AGERL' OR
screen-name = 'WA_DETAILS-AGELT' OR
screen-name = 'WA_DETAILS-AGEPR' OR
screen-name = 'WA_DETAILS-DONPR' OR
screen-name = 'WA_DETAILS-DONFV' OR
screen-name = 'WA_DETAILS-DTCPR' OR
screen-name = 'WA_DETAILS-DTCFV' OR
screen-name = 'WA_DETAILS-IISPR' OR
screen-name = 'WA_DETAILS-IISFV' OR
screen-name = 'WA_DETAILS-HIPPR' OR
screen-name = 'WA_DETAILS-HIPFV' OR
screen-name = 'WA_DETAILS-PFCPR' OR
screen-name = 'WA_DETAILS-PFCFV' OR
screen-name = 'WA_DETAILS-PODPR' OR
screen-name = 'WA_DETAILS-PODFV'.
screen-input = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-MOLGA' OR
screen-name = 'WA_DETAILS-BEGDA'.
screen-input = 0.
ELSEIF screen-name = 'WA_DETAILS-TAXWT' OR
screen-name = 'WA_DETAILS-EPFWT' OR
screen-name = 'WA_DETAILS-PRORT' OR
screen-name = 'WA_DETAILS-PROMD' OR
screen-name = 'WA_DETAILS-PRODT' OR
screen-name = 'WA_DETAILS-CHEK1' OR
screen-name = 'WA_DETAILS-CHEK2' OR
screen-name = 'WA_DETAILS-CHEK3' OR
screen-name = 'WA_DETAILS-CHEK4' OR
screen-name = 'WA_DETAILS-BOTAX' OR
screen-name = 'WA_DETAILS-BOAMT' OR
screen-name = 'WA_DETAILS-EPFBT' OR
screen-name = 'WA_DETAILS-AGERL' OR
screen-name = 'WA_DETAILS-AGELT' OR
screen-name = 'WA_DETAILS-AGEPR' OR
screen-name = 'WA_DETAILS-DONPR' OR
screen-name = 'WA_DETAILS-DONFV' OR
screen-name = 'WA_DETAILS-DTCPR' OR
screen-name = 'WA_DETAILS-DTCFV' OR
screen-name = 'WA_DETAILS-IISPR' OR
screen-name = 'WA_DETAILS-IISFV' OR
screen-name = 'WA_DETAILS-HIPPR' OR
screen-name = 'WA_DETAILS-HIPFV' OR
screen-name = 'WA_DETAILS-PFCPR' OR
screen-name = 'WA_DETAILS-PFCFV' OR
screen-name = 'WA_DETAILS-PODPR' OR
screen-name = 'WA_DETAILS-PODFV'.
screen-input = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-MOLGA' OR
screen-name = 'WA_DETAILS-BEGDA' OR
screen-name = 'WA_DETAILS-TAXWT' OR
screen-name = 'WA_DETAILS-EPFWT' OR
screen-name = 'WA_DETAILS-PRORT' OR
screen-name = 'WA_DETAILS-PROMD' OR
screen-name = 'WA_DETAILS-PRODT' OR
screen-name = 'WA_DETAILS-CHEK1' OR
screen-name = 'WA_DETAILS-CHEK2' OR
screen-name = 'WA_DETAILS-CHEK3' OR
screen-name = 'WA_DETAILS-CHEK4' OR
screen-name = 'WA_DETAILS-BOTAX' OR
screen-name = 'WA_DETAILS-BOAMT' OR
screen-name = 'WA_DETAILS-EPFBT' OR
screen-name = 'WA_DETAILS-AGERL' OR
screen-name = 'WA_DETAILS-AGELT' OR
screen-name = 'WA_DETAILS-AGEPR' OR
screen-name = 'WA_DETAILS-DONPR' OR
screen-name = 'WA_DETAILS-DONFV' OR
screen-name = 'WA_DETAILS-DTCPR' OR
screen-name = 'WA_DETAILS-DTCFV' OR
screen-name = 'WA_DETAILS-IISPR' OR
screen-name = 'WA_DETAILS-IISFV' OR
screen-name = 'WA_DETAILS-HIPPR' OR
screen-name = 'WA_DETAILS-HIPFV' OR
screen-name = 'WA_DETAILS-PFCPR' OR
screen-name = 'WA_DETAILS-PFCFV' OR
screen-name = 'WA_DETAILS-PODPR' OR
screen-name = 'WA_DETAILS-PODFV'.
screen-input = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
IF create_check = 'X' OR
copy_check = 'X' OR
change_check = 'X'.
IF wa_details-epfwt IS INITIAL.
CLEAR wa_details-chek2.
CLEAR wa_details-epfbt.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-CHEK2' OR
screen-name = 'WA_DETAILS-EPFBT'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-CHEK2' OR
screen-name = 'WA_DETAILS-EPFBT'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF wa_details-chek1 IS INITIAL.
CLEAR wa_details-agerl.
CLEAR wa_details-agelt.
CLEAR wa_details-agepr.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-AGERL' OR
screen-name = 'WA_DETAILS-AGELT' OR
screen-name = 'WA_DETAILS-AGEPR'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-AGERL' OR
screen-name = 'WA_DETAILS-AGELT' OR
screen-name = 'WA_DETAILS-AGEPR'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF wa_details-chek2 IS INITIAL.
CLEAR wa_details-epfbt.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-EPFBT'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-EPFBT'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF wa_details-chek3 IS INITIAL.
CLEAR wa_details-botax.
CLEAR wa_details-boamt.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-BOTAX' OR
screen-name = 'WA_DETAILS-BOAMT'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-BOTAX' OR
screen-name = 'WA_DETAILS-BOAMT'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF wa_details-chek4 IS INITIAL.
CLEAR wa_details-prodt.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-PRODT'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name = 'WA_DETAILS-PRODT'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0200 INPUT.
CASE ok_code.
WHEN 'SAVE'.
CLEAR ok_code.
delimate_date = wa_details-begda - 1.
wa_details-endda = '99991231'.
WHEN 'BACK'.
CLEAR wa_details.
CLEAR ok_code.
CLEAR answer.
CLEAR: display_check, change_check, copy_check, create_check.
WHEN 'EXIT'.
IF answer = '1'.
LEAVE PROGRAM.
ELSE.
CLEAR ok_code.
CLEAR answer.
ENDIF.
WHEN 'CANCEL'.
IF answer = '1'.
LEAVE PROGRAM.
ELSE.
CLEAR ok_code.
CLEAR answer.
ENDIF.
WHEN OTHERS.
CLEAR ok_code.
ENDCASE.