SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

List of all the infotypes with details



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> HR
View previous topic :: View next topic  
Author Message
admin
Администратор
Администратор



Joined: 01 Sep 2007
Posts: 1639

PostPosted: Tue Nov 18, 2008 10:44 pm    Post subject: List of all the infotypes with details Reply with quote

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
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> HR All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
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.