• ABAP常用FORM


    DATA: gs_layout   TYPE lvc_s_layo,

          gt_fieldcat TYPE lvc_t_fcat.

    *&---------------------------------------------------------------------*
    
    FORM f_display_data .
      PERFORM f_set_layout.
      PERFORM f_set_fieldcat.
      PERFORM f_alv_display TABLES gt_output.
    ENDFORM.
    FORM f_set_layout.
      CLEAR: gs_layout.
      gs_layout-box_fname = 'SLBOX'.
      gs_layout-zebra = 'X'.
      gs_layout-cwidth_opt = 'X'.
    *  gs_layout-ctab_fname = 'CELLCOLOR'.
    ENDFORM.
    FORM f_set_fieldcat.
      CLEAR: gt_fieldcat[].
      DATA: ls_fieldcat TYPE lvc_s_fcat.
      DEFINE set_fieldcat.
        CLEAR: ls_fieldcat.
        ls_fieldcat-fieldname = &1.
        ls_fieldcat-ref_field = &2.
        ls_fieldcat-ref_table = &3.
        ls_fieldcat-convexit  = &4.
        ls_fieldcat-do_sum    = &5.
        ls_fieldcat-seltext   = &6.
        ls_fieldcat-scrtext_l = &6.
        ls_fieldcat-scrtext_m = &6.
        ls_fieldcat-scrtext_s = &6.
        ls_fieldcat-coltext   = &6.
        APPEND ls_fieldcat TO gt_fieldcat.
      END-OF-DEFINITION.
    *显示内容
      set_fieldcat 'RBUKRS' 'RBUKRS' 'ACDOCA' '' ''  '公司代码'.
      set_fieldcat 'GJAHR'  'GJAHR'  'ACDOCA' '' ''  '会计年度'.
      set_fieldcat 'BUDAT'  'BUDAT'  'ACDOCA' '' ''  '过账日期'.
    ENDFORM.
    FORM f_alv_display TABLES it_table.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
        EXPORTING
          i_callback_program      = sy-repid
    *     i_callback_pf_status_set = 'F_SET_PF_STATUS'
          i_callback_user_command = 'F_USER_COMMAND'
          is_layout_lvc           = gs_layout
          it_fieldcat_lvc         = gt_fieldcat
          i_save                  = 'U'
        TABLES
          t_outtab                = it_table
        EXCEPTIONS
          program_error           = 1
          OTHERS                  = 2.
      IF sy-subrc <> 0.
      ENDIF.
    ENDFORM.
    *-----------------------------------------------------------------------* *
    *-----------------------------------------------------------------------*
    FORM f_set_pf_status USING rt_extab TYPE slis_t_extab.
    *  SET PF-STATUS 'STD'.
    ENDFORM.
    *-----------------------------------------------------------------------* *
    *-----------------------------------------------------------------------*
    FORM f_user_command USING r_ucomm LIKE sy-ucomm
     rs_selfield TYPE slis_selfield.
      PERFORM f_check_change_data.
      CASE r_ucomm.
        WHEN 'LIST'.
    
        WHEN '&IC1'."双击事件
          READ TABLE gt_output INTO gs_output INDEX rs_selfield-tabindex.
          IF sy-subrc EQ 0.
            SET PARAMETER ID 'BLN' FIELD gs_output-BELNR.
            SET PARAMETER ID 'BUK' FIELD gs_output-RBUKRS.
            SET PARAMETER ID 'GJR' FIELD gs_output-GJAHR.
            CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
          ENDIF.
      ENDCASE.
      PERFORM f_refresh_alv.
    ENDFORM.
    *-----------------------------------------------------------------------* *
    *-----------------------------------------------------------------------*
    FORM f_check_change_data.
      DATA: lo_grid TYPE REF TO cl_gui_alv_grid.
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          e_grid = lo_grid.
      lo_grid->check_changed_data( ).
    ENDFORM.
    *-----------------------------------------------------------------------* *
    *-----------------------------------------------------------------------*
    FORM f_refresh_alv.
      DATA: lo_grid      TYPE REF TO cl_gui_alv_grid,
            ls_is_stable TYPE lvc_s_stbl.
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          e_grid = lo_grid.
      ls_is_stable-col = 'X'.
      ls_is_stable-row = 'X'.
      lo_grid->refresh_table_display(
      EXPORTING
      is_stable = ls_is_stable
      EXCEPTIONS
      finished = 1
      OTHERS = 2 ).
      IF sy-subrc <> 0.
      ENDIF.
    ENDFORM.
    *&---------------------------------------------------------------------*
    * 填充单元格颜色数据
    *----------------------------------------------------------------------*
    FORM fill_cellcolor USING num TYPE i CHANGING p_cellcolor TYPE lvc_t_scol.
      DATA wa_cellcolor TYPE lvc_s_scol . " 单元格颜色结构
      DEFINE set_color.
        wa_cellcolor-fname = &1.
        wa_cellcolor-color-col = num.
        wa_cellcolor-color-int = '1'.
        wa_cellcolor-color-inv = '0'.
        APPEND wa_cellcolor TO p_cellcolor.
      END-OF-DEFINITION.
      set_color 'MESSA'.
    ENDFORM. " fill_cellcolor
    View Code
  • 相关阅读:
    [ssh] 通过ssh私钥生成公钥的方法
    [redis] hiredis-vip 简单使用
    [redis] redis cli的学习记录
    [ovs] 编写openflow流表的文档指引
    [iptables] 如何用iptables管理桥接模式下的设备
    [qemu][kvm] 在kvm嵌套kvm的虚拟机里启动kvm加速
    [qemu] 差分盘使用
    [yum] yum加速
    [ovs] openvswitch 从源码编译安装
    [qemu] qemu从源码编译安装
  • 原文地址:https://www.cnblogs.com/chaguoguo/p/14006525.html
Copyright © 2020-2023  润新知