二维码

[ooalv] 在选择界面中显示alv输出结果

Twilight发表于 2014-08-12 11:36Twilight 最后回复于 2014-08-12 11:36 [复制链接] 3304 0

ALV显示代码写在AT SELECTION-SCREEN OUTPUT事件下

程序代码:
  1. TABLES: mara.
  2. DATA: BEGIN OF i_alv OCCURS 0,
  3.       matnr TYPE mara-matnr,
  4.       mtart TYPE mara-mtart,
  5.       matkl TYPE mara-matkl,
  6.       groes TYPE mara-groes,
  7.       maktx TYPE makt-maktx,
  8.       END OF i_alv.
  9. DATA: alv_container  TYPE REF TO cl_gui_docking_container.
  10. DATA: alv_grid       TYPE REF TO cl_gui_alv_grid.
  11. DATA: layout    TYPE lvc_s_layo.
  12. DATA: fieldcat  TYPE lvc_t_fcat.
  13. PARAMETERS: p_check.

  14. INITIALIZATION.
  15.   PERFORM get_data.

  16. AT SELECTION-SCREEN OUTPUT.
  17.   DATA: variant TYPE  disvariant.
  18.   DATA: repid TYPE sy-repid.
  19.   repid = sy-repid.
  20.   variant-report = sy-repid.
  21.   variant-username = sy-uname.
  22.   layout-zebra = 'X'.
  23.   layout-edit_mode = 'X'.
  24.   CHECK alv_container IS INITIAL.
  25.   CREATE OBJECT alv_container
  26.               EXPORTING repid     = repid
  27.                         dynnr     = sy-dynnr
  28.                         side      = alv_container->dock_at_right
  29.                         extension = 1100.
  30.   CREATE OBJECT alv_grid
  31.          EXPORTING
  32.                i_parent          =  alv_container.
  33. *  ALV Specific. Data selection.
  34. *  Populate Field Catalog
  35.   PERFORM get_fieldcatalog.
  36.   CALL METHOD alv_grid->set_table_for_first_display
  37.     EXPORTING
  38.       is_layout        = layout
  39.       is_variant       = variant
  40.       i_save           = 'U'
  41.       i_structure_name = 'I_ALV'
  42.     CHANGING
  43.       it_outtab        = i_alv[]
  44.       it_fieldcatalog  = fieldcat[].

  45. START-OF-SELECTION.

  46. *************************************************************
  47. * FORM GET_DATA
  48. *************************************************************
  49. FORM get_data.
  50.   SELECT * INTO CORRESPONDING FIELDS OF TABLE i_alv
  51.         FROM mara
  52.           INNER JOIN makt
  53.             ON mara~matnr = makt~matnr
  54.                    UP TO 100 ROWS
  55.                WHERE makt~spras = sy-langu.
  56.   SORT i_alv ASCENDING BY matnr.
  57. ENDFORM.                    "get_data
  58. ***************************************************************
  59. *      Form  Get_Fieldcatalog - Set Up Columns/Headers
  60. ****************************************************************
  61. FORM get_fieldcatalog.
  62.   DATA: ls_fcat TYPE lvc_s_fcat.
  63.   REFRESH: fieldcat.
  64.   CLEAR: ls_fcat.
  65.   ls_fcat-reptext    = 'Material Number'.
  66.   ls_fcat-fieldname  = 'MATNR'.
  67.   ls_fcat-ref_table  = 'I_ALV'.
  68.   ls_fcat-outputlen  = '18'.
  69.   ls_fcat-fix_column = 'X'.
  70.   ls_fcat-key        = 'X'.
  71.   ls_fcat-col_pos    = '1'.
  72.   APPEND ls_fcat TO fieldcat.
  73.   CLEAR: ls_fcat.
  74.   ls_fcat-reptext    = 'Material Type'.
  75.   ls_fcat-fieldname  = 'MTART'.
  76.   ls_fcat-ref_table  = 'I_ALV'.
  77.   ls_fcat-outputlen  = '10'.
  78.   ls_fcat-fix_column = 'X'.
  79.   ls_fcat-key        = 'X'.
  80.   ls_fcat-col_pos    = '2'.
  81.   APPEND ls_fcat TO fieldcat.
  82.   CLEAR: ls_fcat.
  83.   ls_fcat-reptext    = 'Material Group'.
  84.   ls_fcat-fieldname  = 'MATKL'.
  85.   ls_fcat-ref_table  = 'I_ALV'.
  86.   ls_fcat-outputlen  = '12'.
  87.   ls_fcat-col_pos    = '3'.
  88.   APPEND ls_fcat TO fieldcat.
  89.   CLEAR: ls_fcat.
  90.   ls_fcat-reptext    = 'Size'.
  91.   ls_fcat-fieldname  = 'GROES'.
  92.   ls_fcat-ref_table  = 'I_ALV'.
  93.   ls_fcat-outputlen  = '30'.
  94.   ls_fcat-col_pos    = '4'.
  95.   APPEND ls_fcat TO fieldcat.
  96.   CLEAR: ls_fcat.
  97.   ls_fcat-reptext    = 'Material Description'.
  98.   ls_fcat-fieldname  = 'MAKTX'.
  99.   ls_fcat-ref_table  = 'I_ALV'.
  100.   ls_fcat-outputlen  = '40'.
  101.   ls_fcat-col_pos    = '5'.
  102.   APPEND ls_fcat TO fieldcat.
  103. ENDFORM.                    "get_fieldcatalog
复制代码


执行效果:
display ALV in select screen.png
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表