SAP - ABAP - Poplist & Radiobutton
SAP - ABAP - Poplist & Radiobutton
INCLUDE Z_APRE_DEC.
INCLUDE Z_APRE_BOT.
INCLUDE Z_APRE_IMP.
INITIALIZATION.
Z_APRE_DEC=>GET_DADOS( ).
Z_APRE_DEC=>POP_LIST( ).
AT SELECTION-SCREEN.
IF SY-UCOMM = 'CLICK1'
OR SY-UCOMM = 'CLICK2'
OR SY-UCOMM = 'CLICK3'
OR SY-UCOMM = 'CLICK4'.
LO_Z_APRE_DEC->TRATA_DADOS( ).
LO_Z_APRE_DEC->F_ALV( ).
ENDIF.
AT SELECTION-SCREEN OUTPUT.
PERFORM CHANGE_SCREEN.
*&---------------------------------------------------------------------*
*& Include Z_APRE_DEC
*&---------------------------------------------------------------------*
CLASS z_apre_dec DEFINITION.
PUBLIC SECTION.
CLASS-METHODS: pop_list,
get_dados.
METHODS: trata_dados,
f_alv.
ENDCLASS.
*&---------------------------------------------------------------------*
*& Include Z_APRE_BOT
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
*&---------------------------------------------------------------------*
*& Include Z_APRE_IMP
*&---------------------------------------------------------------------*
CLASS z_apre_dec IMPLEMENTATION.
METHOD get_dados.
ENDMETHOD.
METHOD pop_list.
CLEAR wa_valueabc.
LOOP AT t_zabc INTO wa_zabc.
wa_valueabc-key = wa_zabc-inicio.
wa_valueabc-text = wa_zabc-inicio.
APPEND wa_valueabc TO it_valueabc.
ENDLOOP.
id_abc = 'P_ABC'.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = id_abc
values = it_valueabc.
IF sy-subrc <> 0.
ENDIF.
CLEAR wa_valuemno.
LOOP AT t_zmno INTO wa_zmno.
wa_valuemno-key = wa_zmno-comeco.
wa_valuemno-text = wa_zmno-comeco.
APPEND wa_valuemno TO it_valuemno.
ENDLOOP.
id_mno = 'P_MNO'.
IF sy-subrc <> 0.
ENDIF.
CLEAR wa_valuekjx.
LOOP AT t_zkjx INTO wa_zkjx.
wa_valuekjx-key = wa_zkjx-meio.
wa_valuekjx-text = wa_zkjx-meio.
APPEND wa_valuekjx TO it_valuekjx.
ENDLOOP.
id_kjx = 'P_KJX'.
IF sy-subrc <> 0.
ENDIF.
CLEAR wa_valuedtp.
LOOP AT t_zdtp INTO wa_zdtp.
wa_valuedtp-key = wa_zdtp-partir.
wa_valuedtp-text = wa_zdtp-partir.
APPEND wa_valuedtp TO it_valuedtp.
ENDLOOP.
id_dtp = 'P_DTP'.
IF sy-subrc <> 0.
ENDIF.
ENDMETHOD.
METHOD trata_dados.
ENDMETHOD.
METHOD f_alv.
IF rb_abc = 'X'.
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = alv
CHANGING
t_table = it_ty_zabc.
CATCH cx_salv_msg.
ENDTRY.
alv->display( ).
ENDIF.
IF rb_mno = 'X'.
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = alv
CHANGING
t_table = it_ty_zmno.
CATCH cx_salv_msg.
ENDTRY.
alv->display( ).
ENDIF.
IF rb_kjx = 'X'.
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = alv
CHANGING
t_table = it_ty_zkjx.
CATCH cx_salv_msg.
ENDTRY.
alv->display( ).
ENDIF.
IF rb_dtp = 'X'.
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = alv
CHANGING
t_table = it_ty_zdtp.
CATCH cx_salv_msg.
ENDTRY.
alv->display( ).
ENDIF.
ENDMETHOD.
ENDCLASS.
FORM change_screen.
LOOP AT SCREEN.
IF rb_abc = 'X'.
IF screen-group1 = '1'.
screen-invisible = 0.
screen-input = 1.
screen-active = 1.
ENDIF.
IF screen-group1 = '2'.
screen-invisible = '1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
IF screen-group1 = '3'.
screen-invisible = '1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
IF screen-group1 = '4'.
screen-invisible = '1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
IF screen-group1 = '2'.
screen-invisible = 0.
screen-input = 1.
screen-active = 1.
ENDIF.
IF screen-group1 = '3'.
screen-invisible = '1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
IF screen-group1 = '4'.
screen-invisible = '1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
IF screen-group1 = '1'.
screen-invisible = '1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
IF screen-group1 = '2'.
screen-invisible = '1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
IF screen-group1 = '4'.
screen-invisible = '1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
IF screen-group1 = '1'.
screen-invisible = '1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
IF screen-group1 = '2'.
screen-invisible = '1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
IF screen-group1 = '3'.
screen-invisible = '1'.
screen-input = '0'.
screen-active = '0'.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDFORM.