Posted: Tue Nov 18, 2008 10:44 pm Post subject: List of all the infotypes with details
Code:
*AS : User selects infotypes from a pop up alv .The details of
*infotypes selected are displayed in a ALV dialog box.
*author : Swarna.S.
report zalv_popdialog.
*Type pools for ALV declarations
TYPE-POOLS : slis.
*Internal table and wa declarations for T582A.
DATA: it_t582a TYPE STANDARD TABLE OF t582a INITIAL SIZE 0,
wa_t582a TYPE t582a.
*Internal table and wa declarations for T582S.
DATA: it_text TYPE STANDARD TABLE OF t582s,
wa_text TYPE t582s.
*Structure declaration for output
TYPES: BEGIN OF ty_output,
infty TYPE infty,
zeitb TYPE dzeitb,
itext TYPE intxt,
pnnnn TYPE pnnnn_d,
dname TYPE dianm,
namst TYPE namst,
edynr TYPE edynp,
ldynr TYPE ldynp,
stypt TYPE stypt,
sytxt TYPE sytxt,
zbtab TYPE dzbtab,
checkbox(1),
END OF ty_output.
*Internal table and work area declaration for output in pop up
DATA: it_output TYPE STANDARD TABLE OF ty_output INITIAL SIZE 0,
wa_output TYPE ty_output.
*Internal table and workarea declaration for alv dialog display
DATA: it_display TYPE STANDARD TABLE OF ty_output INITIAL SIZE 0,
wa_display TYPE ty_output.
*data declarations for ALV
DATA: ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv,
ls_fieldcatlog TYPE slis_fieldcat_alv,
lt_fieldcatlog TYPE slis_t_fieldcat_alv,
lt_layout TYPE slis_layout_alv.
*Initialization event
INITIALIZATION.
*start of selection event
START-OF-SELECTION.
*select to fetch all the infotypes and details in sap system
select *
from t582a
into corresponding fields of table it_t582a.
*Select to fetch the infotypes text
IF it_t582a[] IS NOT INITIAL.
SELECT * FROM t582s INTO CORRESPONDING FIELDS OF TABLE it_text
FOR ALL ENTRIES IN it_t582a WHERE infty = it_t582a-infty
AND sprsl = 'E'.
ENDIF.
*Appending the selected values to the output table
LOOP AT it_t582a INTO wa_t582a.
wa_output-infty = wa_t582a-infty.
wa_output-zeitb = wa_t582a-zeitb.
wa_output-pnnnn = wa_t582a-pnnnn.
wa_output-dname = wa_t582a-dname.
wa_output-namst = wa_t582a-namst.
wa_output-edynr = wa_t582a-edynr.
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
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM alv_output .
*fieldcatalogue for ALV dialog
PERFORM build_fieldcat.
*Layout for ALV dialog
PERFORM build_layout.
**ALV dialog output
PERFORM alv.
ENDFORM. " alv_output
*&---------------------------------------------------------------------*
*& Form build_fieldcat
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM build_fieldcat .
*fieldcatalogue for alv dialog
CLEAR ls_fieldcatlog.
ls_fieldcatlog-row_pos = '1'.
ls_fieldcatlog-col_pos = '1'.
ls_fieldcatlog-fieldname = 'INFTY'.
ls_fieldcatlog-tabname = 'IT_DISPLAY'.
ls_fieldcatlog-seltext_m = 'Infotype'.
APPEND ls_fieldcatlog TO lt_fieldcatlog.
CLEAR ls_fieldcatlog.
ls_fieldcatlog-row_pos = '1'.
ls_fieldcatlog-col_pos = '2'.
ls_fieldcatlog-fieldname = 'ITEXT'.
ls_fieldcatlog-tabname = 'IT_DISPLAY'.
ls_fieldcatlog-seltext_m = 'Description'.
APPEND ls_fieldcatlog TO lt_fieldcatlog.
CLEAR ls_fieldcatlog.
ls_fieldcatlog-row_pos = '1'.
ls_fieldcatlog-col_pos = '3'.
ls_fieldcatlog-fieldname = 'ZEITB'.
ls_fieldcatlog-tabname = 'IT_DISPLAY'.
ls_fieldcatlog-seltext_m = 'TimeConstraint'.
APPEND ls_fieldcatlog TO lt_fieldcatlog.
clear ls_fieldcatlog.
ls_fieldcatlog-row_pos = '1'.
ls_fieldcatlog-col_pos = '4'.
ls_fieldcatlog-fieldname = 'PNNNN'.
ls_fieldcatlog-tabname = 'IT_DISPLAY'.
ls_fieldcatlog-seltext_m = 'Structure'.
APPEND ls_fieldcatlog TO lt_fieldcatlog.
CLEAR ls_fieldcatlog.
ls_fieldcatlog-row_pos = '1'.
ls_fieldcatlog-col_pos = '5'.
ls_fieldcatlog-fieldname = 'DNAME'.
ls_fieldcatlog-tabname = 'IT_DISPLAY'.
ls_fieldcatlog-seltext_m = 'DialogModule'.
APPEND ls_fieldcatlog TO lt_fieldcatlog.
CLEAR ls_fieldcatlog.
ls_fieldcatlog-row_pos = '1'.
ls_fieldcatlog-col_pos = '6'.
ls_fieldcatlog-fieldname = 'NAMST'.
ls_fieldcatlog-tabname = 'IT_DISPLAY'.
ls_fieldcatlog-seltext_m = 'Subtypefield'.
APPEND ls_fieldcatlog TO lt_fieldcatlog.
CLEAR ls_fieldcatlog.
ls_fieldcatlog-row_pos = '1'.
ls_fieldcatlog-col_pos = '7'.
ls_fieldcatlog-fieldname = 'EDYNR'.
ls_fieldcatlog-tabname = 'IT_DISPLAY'.
ls_fieldcatlog-seltext_m = 'Singlescreenno'.
APPEND ls_fieldcatlog TO lt_fieldcatlog.
CLEAR ls_fieldcatlog.
ls_fieldcatlog-row_pos = '1'.
ls_fieldcatlog-col_pos = '8'.
ls_fieldcatlog-fieldname = 'LDYNR'.
ls_fieldcatlog-tabname = 'IT_DISPLAY'.
ls_fieldcatlog-seltext_m = 'Listscreenno'.
APPEND ls_fieldcatlog TO lt_fieldcatlog.
CLEAR ls_fieldcatlog.
ls_fieldcatlog-row_pos = '1'.
ls_fieldcatlog-col_pos = '9'.
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
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
*Layout for ALV dialog
FORM build_layout .
lt_layout-zebra = 'X'.
lt_layout-colwidth_optimize = 'X'.
ENDFORM. " build_layout
*&---------------------------------------------------------------------*
*& Form alv
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
*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
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.