⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zfir0020_alv_class.html

📁 SAP中的金税发票下载程序参考(ABAP) 程序写的比较详细,大家请指正
💻 HTML
📖 第 1 页 / 共 2 页
字号:
  endmethod.                           "lcl_event_receiver
<font color ="#0000FF">*-------------------------------------------------------------------</font>
  method handle_menu_button.
    "××××××××××××××××加子菜单
  endmethod.                    "handle_menu_button
<font color ="#0000FF">*-------------------------------------------------------------------</font>
  method handle_data_changed.   "用于双击和回车
    "×××××××××××××××数据改变时触发

  endmethod.                    "handle_data_changed

  method handle_hotspot_click.
  endmethod.                   "handle_HOTSPOT_CLICK

endclass.               "lcl_ALV_event_receiver

<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*&      Module  STATUS_0100  OUTPUT</font>
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*       text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
MODULE STATUS_0100 OUTPUT.
  SET PF-STATUS '100'.
  SET TITLEBAR '100'.
ENDMODULE.                 " STATUS_0100  OUTPUT
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*&      Module  init_control  OUTPUT</font>
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*       text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
MODULE init_control OUTPUT.
  IF g_container IS INITIAL.
<font color ="#0000FF">*OBJECT</font>
    CREATE OBJECT g_alv_application.
<font color ="#0000FF">*创建容器对象</font>
    CREATE OBJECT g_container
        EXPORTING container_name = 'ALV'.
<font color ="#0000FF">*定义ALV</font>
    PERFORM alv_get.
  ENDIF.
ENDMODULE.                 " init_control  OUTPUT

<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*&      Form  alv_get</font>
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*       text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
<font color ="#0000FF">*  --&gt;  p1        text</font>
<font color ="#0000FF">*  &lt;--  p2        text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
FORM alv_get .
<font color ="#0000FF">*构建ALV</font>
  CREATE OBJECT g_alv_grid
       EXPORTING i_parent = g_container.
<font color ="#0000FF">**构建ALV初始化</font>
  REFRESH:it_fieldcat.
  CLEAR:it_fieldcat.
  is_layout-sel_mode = 'A'.
  is_layout-zebra = 'X'.   "隔开行换颜色
<font color ="#0000FF">*    x_save = 'A'.   "The user may save all types of a layout</font>
<font color ="#0000FF">*    x_save = 'X'. "a layout can only be saved as spanned one ('global')</font>
<font color ="#0000FF">*    x_save = space.           "no saving of a layout possible!</font>
<font color ="#0000FF">*    x_save = 'U'.    "a layout can only be saved as user specific one</font>
  x_save = 'U'.    "保存变式

  CLEAR ls_layout.
  ls_layout-report = sy-repid.

<font color ="#0000FF">**</font>
<font color ="#0000FF">*构造结构</font>
  PERFORM alv_field_tab CHANGING it_fieldcat.
<font color ="#0000FF">***小计设置</font>
<font color ="#0000FF">*  DATA:IT_SORT TYPE  LVC_T_SORT .</font>
<font color ="#0000FF">*  DATA:WA_SORT TYPE LVC_S_SORT.</font>
<font color ="#0000FF">*  WA_SORT-FIELDNAME = 'ZNUMBER' .</font>
<font color ="#0000FF">*  WA_SORT-SUBTOT = 'X'.</font>
<font color ="#0000FF">*  WA_SORT-UP = 'X'.</font>
<font color ="#0000FF">*  APPEND WA_SORT TO IT_SORT.</font>

  CALL METHOD g_alv_grid-&gt;set_table_for_first_display
    EXPORTING
      i_save          = x_save
      is_variant      = ls_layout
      is_layout       = is_layout
    CHANGING
<font color ="#0000FF">*      IT_SORT         = IT_SORT</font>
      it_fieldcatalog = it_fieldcat
      it_outtab       = it_DATA[].

<font color ="#0000FF">**设置TOOLBAR</font>
  SET HANDLER g_alv_application-&gt;handle_toolbar FOR g_alv_grid.
  CALL METHOD g_alv_grid-&gt;set_toolbar_interactive.
<font color ="#0000FF">*单元格双击</font>
  SET HANDLER g_alv_application-&gt;handle_double FOR g_alv_grid.
<font color ="#0000FF">*处理菜单事件</font>
  SET HANDLER g_alv_application-&gt;handle_user_command FOR g_alv_grid.
<font color ="#0000FF">*定义CONTXT菜单</font>
  SET HANDLER g_alv_application-&gt;handle_menu_button FOR g_alv_grid.
  SET HANDLER g_alv_application-&gt;handle_data_changed FOR g_alv_grid.
  SET HANDLER g_alv_application-&gt;handle_hotspot_click FOR g_alv_grid.
<font color ="#0000FF">**</font>
<font color ="#0000FF">*定义事件‘ENTER’  “触发数据改变HANDLE_DATA_CHANGED</font>
  CALL METHOD g_alv_grid-&gt;register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=&gt;mc_evt_enter.

ENDFORM.                    " ALV_GET
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*&      Form  alv_field_tab</font>
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*       text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
<font color ="#0000FF">*      &lt;--P_IT_FIELDCAT  text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
FORM alv_field_tab  CHANGING it_fields TYPE lvc_t_fcat.
<font color ="#0000FF">*LVC_T_FCAT是一个数据库表,可以进去看</font>
  DATA: wa_fields LIKE  lvc_s_fcat.
  REFRESH it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'DL'.
  wa_fields-scrtext_l = '下载'.
  wa_fields-OUTPUTLEN = 5.
  wa_fields-edit = 'X'.
  wa_fields-checkbox = 'X'.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'BSTNK'.
  wa_fields-scrtext_l = '销售合同号'.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'VBELN'.
  wa_fields-scrtext_l = '发票凭证'.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'D_PLACE'.
  wa_fields-scrtext_l = '1正常/2作废'.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'FKART'.
  wa_fields-scrtext_l = '开票类型'.
  wa_fields-OUTPUTLEN = 7.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'VKORG'.
  wa_fields-scrtext_l = '销售组织'.
  wa_fields-OUTPUTLEN = 7.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'VTWEG'.
  wa_fields-scrtext_l = '分销渠道'.
  wa_fields-OUTPUTLEN = 7.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'KUNRG'.
  wa_fields-scrtext_l = '付款方'.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'NAME1'.
  wa_fields-scrtext_l = '付款方名称'.
  wa_fields-OUTPUTLEN = 10.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'FKDAT'.
  wa_fields-OUTPUTLEN = 10.
  wa_fields-scrtext_l = '出具发票日期'.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'FKIMG'.
  wa_fields-scrtext_l = '数量'.
  wa_fields-OUTPUTLEN = 13.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'NETWR'.
  wa_fields-scrtext_l = '金额'.
  wa_fields-OUTPUTLEN = 13.
  APPEND wa_fields TO it_fields.
  CLEAR wa_fields.
  wa_fields-fieldname = 'MWSBP'.
  wa_fields-scrtext_l = '税'.
  wa_fields-OUTPUTLEN = 13.
  APPEND wa_fields TO it_fields.
ENDFORM.                    " alv_get
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*&      Module  USER_COMMAND_0100  INPUT</font>
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*       text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
MODULE user_command_0100 INPUT.
  CASE sy-ucomm.
    WHEN: 'BACK' OR 'EXIT' OR 'CANCEL'.
      LEAVE TO SCREEN 0 .
  ENDCASE.
  CLEAR sy-ucomm.
ENDMODULE.                 " USER_COMMAND_0100  INPUT
</pre>
<hr>
<font size="2" face = "Sans Serif">Extracted by Direct Download Enterprise version 1.3.1 - E.G.Mellodew. 1998-2005 UK. Sap Release 700
</font>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -