Académique Documents
Professionnel Documents
Culture Documents
wa_output-ldynr = wa_t582a-ldynr.
wa_output-stypt = wa_t582a-stypt.
wa_output-sytxt = wa_t582a-sytxt.
wa_output-zbtab = wa_t582a-zbtab.
READ TABLE it_text INTO wa_text WITH KEY infty = wa_t582a-infty.
wa_output-itext = wa_text-itext.
APPEND wa_output TO it_output.
CLEAR wa_output.
ENDLOOP.
*Subroutine to display the pop up values.
PERFORM popup_display.
*Subroutine to display the ALV dialog display
PERFORM alv_output.
*----------------------------------------------------------------*
*
Form popup_display
*------------------------------------------------------------*
FORM popup_display.
*field catalogue for pop up
CLEAR ls_fieldcat.
ls_fieldcat-row_pos
= '1'.
ls_fieldcat-col_pos
= '1'.
ls_fieldcat-fieldname = 'CHECKBOX'.
ls_fieldcat-tabname
= 'IT_OUTPUT'.
ls_fieldcat-seltext_m = 'SELECT'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-row_pos
= '1'.
ls_fieldcat-col_pos
= '2'.
ls_fieldcat-fieldname = 'ITEXT'.
ls_fieldcat-tabname
= 'IT_OUTPUT'.
ls_fieldcat-seltext_m = 'DESCRIPTION'.
ls_fieldcat-outputlen = 50.
APPEND ls_fieldcat TO lt_fieldcat.
* Display data in a POPUP
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
i_zebra
= 'X'
it_fieldcat
= lt_fieldcat
i_tabname
= 'IT_OUTPUT'
i_checkbox_fieldname = 'CHECKBOX'
TABLES
t_outtab
= it_output.
*Appending the selected infotypes only to internal table
LOOP AT it_output INTO wa_output WHERE checkbox = 'X'.
wa_display-itext = wa_output-itext.
wa_display-infty = wa_output-infty.
wa_display-zeitb = wa_output-zeitb.
wa_display-pnnnn = wa_output-pnnnn.
wa_display-dname = wa_output-dname.
wa_display-namst = wa_output-namst.
wa_display-edynr = wa_output-edynr.
wa_display-ldynr = wa_output-ldynr.
wa_display-sytxt = wa_output-sytxt.
wa_display-stypt = wa_output-stypt.
wa_display-zbtab = wa_output-zbtab.
APPEND wa_display TO it_display.
CLEAR wa_display.
ENDLOOP.
ENDFORM.
" popup_display
*&-------------------------------------------------------------*
*&
Form alv_output
*&-------------------------------------------------------------*
FORM alv_output .
*fieldcatalogue for ALV dialog
PERFORM build_fieldcat.
*Layout for ALV dialog
PERFORM build_layout.
ls_fieldcatlog-fieldname = 'STYPT'.
ls_fieldcatlog-tabname
= 'IT_DISPLAY'.
ls_fieldcatlog-seltext_m = 'SubtypTable'.
APPEND ls_fieldcatlog TO lt_fieldcatlog.
CLEAR ls_fieldcatlog.
ls_fieldcatlog-row_pos
= '1'.
ls_fieldcatlog-col_pos
= '10'.
ls_fieldcatlog-fieldname = 'SYTXT'.
ls_fieldcatlog-tabname
= 'IT_DISPLAY'.
ls_fieldcatlog-seltext_m = 'Subtyptexttable'.
APPEND ls_fieldcatlog TO lt_fieldcatlog.
CLEAR ls_fieldcatlog.
ls_fieldcatlog-row_pos
= '1'.
ls_fieldcatlog-col_pos
= '11'.
ls_fieldcatlog-fieldname = 'ZBTAB'.
ls_fieldcatlog-tabname
= 'IT_DISPLAY'.
ls_fieldcatlog-seltext_m = 'SubtypeTCTable'.
APPEND ls_fieldcatlog TO lt_fieldcatlog.
ENDFORM.
" build_fieldcat
*&----------------------------------------------------------*
*&
Form build_layout
*&----------------------------------------------------------*
*Layout for ALV dialog
FORM build_layout .
lt_layout-zebra = 'X'.
lt_layout-colwidth_optimize = 'X'.
ENDFORM.
" build_layout
*&---------------------------------------------------------------*
*&
Form alv
*&---------------------------------------------------------------*
*Alv dialog output.
FORM alv .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program
= sy-repid
i_grid_title
= 'INFOTYPE DETAILS'
is_layout
= lt_layout
it_fieldcat
= lt_fieldcatlog
i_screen_start_column = 10
i_screen_start_line
= 20
i_screen_end_column
= 100
i_screen_end_line
= 40
TABLES
t_outtab
= it_display
EXCEPTIONS
program_error
= 1
OTHERS
= 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
" alv
Pop up ALV to select infotype