zalv dropdowns

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               
*****************************************************************************Simple code for creating dropdown lists for columns in ALV grid output*Author : Swarna.S.* Published at SAPTechnical.COM****************************************************************************
REPORT zalv_dropdowns.
*Type pools declarations for ALVTYPE-POOLS : slis.
*data declarations for ALV container,ALV grid, Fieldcatalogues & layoutDATA: g_grid  TYPE REF TO cl_gui_alv_grid,      g_custom_container TYPE REF TO cl_gui_custom_container,      gt_fieldcat TYPE lvc_t_fcat,      gs_layout TYPE lvc_s_layo.
*INTERNAL TABLE AND WA DECLARATIONS FOR t517 A tableDATA: gt_outtab TYPE STANDARD TABLE OF t517a INITIAL SIZE 0,      wa_outtab TYPE t517a.
*initialisation eventINITIALIZATION.
*Start of selection eventSTART-OF-SELECTION.
*Call to ALV  CALL SCREEN 600.
*On this statement double click  it takes you to the screen painter SE51.*Create a Custom container and name it CCONT and OK code as OK_CODE.*Save check and Activate the screen painter.*Now a normal screen with number 600 is created which holds the ALV grid.* PBO of the actual screen , Here we can give a title and customized menus* Here we also call the subroutine for ALV output.*---------------------------------------------------------------------**       MODULE PBO OUTPUT                                             **---------------------------------------------------------------------*MODULE pbo OUTPUT.*  set pf-status 'xxx'.*  set titlebar 'MAIN100'.* Subroutine to display the output in alv  PERFORM alv_output.
ENDMODULE.                    "pbo OUTPUT
* PAI module of the screen created. In case we use an interactive ALV or*for additional functionalities we can create OK codes and* based on the user command we can do the coding.
*---------------------------------------------------------------------**       MODULE PAI INPUT                                              **---------------------------------------------------------------------*MODULE pai INPUT.
ENDMODULE.                    "pai INPUT*&---------------------------------------------------------------------**&      Form  BUILD_FIELDCAT*&---------------------------------------------------------------------*
FORM build_fieldcat.
  DATA ls_fcat TYPE lvc_s_fcat.
*Build the field catalogue  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'    EXPORTING      i_structure_name = 'T517A'    CHANGING      ct_fieldcat      = gt_fieldcat.
* To assign dropdown in the fieldcataogue  LOOP AT gt_fieldcat INTO ls_fcat.
    CASE ls_fcat-fieldname.
      WHEN 'SLART'.*drdn-hndl = '1' is the first list box        ls_fcat-drdn_hndl = '1'.        ls_fcat-outputlen = 15.        MODIFY gt_fieldcat FROM ls_fcat.
*drdn-hndl = '2' is the second list box
      WHEN 'ABART'.
        ls_fcat-drdn_hndl = '2'.        ls_fcat-outputlen = 15.        MODIFY gt_fieldcat FROM ls_fcat.
    ENDCASE.
  ENDLOOP.
ENDFORM.                    "build_fieldcat*&---------------------------------------------------------------------**&      Form  ALV_OUTPUT*&---------------------------------------------------------------------*FORM alv_output .
*Create object for container  CREATE OBJECT g_custom_container         EXPORTING container_name = 'CCONT'.
*create object for grid  CREATE OBJECT g_grid         EXPORTING i_parent = g_custom_container.
* Build fieldcat and set column*Assign a handle for the dropdown listbox.  PERFORM build_fieldcat.
*Build layout  PERFORM build_layout.
* Define a drop down table.  PERFORM dropdown_table.
*fetch values from the T517A table  SELECT * FROM t517a INTO TABLE gt_outtab.
*Display ALV output  CALL METHOD g_grid->set_table_for_first_display    EXPORTING      is_layout       = gs_layout    CHANGING      it_fieldcatalog = gt_fieldcat      it_outtab       = gt_outtab.
ENDFORM.                               "ALV_OUTPUT
*&---------------------------------------------------------------------**&      Form  dropdown_table*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM dropdown_table.
*Declarations for drop down lists in ALV.  DATA: lt_dropdown TYPE lvc_t_drop,        ls_dropdown TYPE lvc_s_drop.
* First SLART listbox (handle '1').  ls_dropdown-handle = '1'.  ls_dropdown-value = '01 Primary school'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '1'.  ls_dropdown-value = '02 Lower Secondary'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '1'.  ls_dropdown-value = '03 Upper Secondary'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '1'.  ls_dropdown-value = '04 Professional School'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '1'.  ls_dropdown-value = '05 College'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '1'.  ls_dropdown-value = '06 University'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '1'.  ls_dropdown-value = '09 Other Establishment'.  APPEND ls_dropdown TO lt_dropdown.
* Second ABART listbox (handle '2').
  ls_dropdown-handle = '2'.  ls_dropdown-value = '10 Primary School certificate'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '20 Lower secondary/Junior high'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '30 High school diploma(B-levels)'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '31 Vocational'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '32 Matriculation'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '40 Specialist vocational certificate'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '50 College degree Level1'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '51 College degree Level2'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '52 Masters degree'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '60 Univ Degree level1'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '61 Bachelors degree'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '62 Masters degree'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '63 Licenciate'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '64 Doctors Degree Ph.D'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '89 None'.  APPEND ls_dropdown TO lt_dropdown.
  ls_dropdown-handle = '2'.  ls_dropdown-value = '90 Unknown'.  APPEND ls_dropdown TO lt_dropdown.
*method to display the dropdown in ALV  CALL METHOD g_grid->set_drop_down_table    EXPORTING      it_drop_down = lt_dropdown.
ENDFORM.                               " dropdown_table*&---------------------------------------------------------------------**&      Form  build_layout*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**layout for ALV outputFORM build_layout .
  gs_layout-cwidth_opt = 'X'.  gs_layout-grid_title = 'ALV DROPDOWN LISTS'.  gs_layout-no_toolbar = 'X'.
ENDFORM.                    " build_layout

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值