ALV 动态显示列Demo
来源:互联网 发布:比较好的报刊杂志知乎 编辑:程序博客网 时间:2024/05/02 12:51
开发财务报表或者一些预测数据的报表时,经常会有动态显示列的情况。
这里转摘贴吧上的ALV动态显示列的Demo,可做学习用。
*-------------ALV 相关--------------------------DATA: wa_layo TYPE lvc_s_layo.DATA: wa_fcat TYPE lvc_s_fcat, it_fcat TYPE lvc_t_fcat. DATA it_scol TYPE lvc_t_scol. DATA: g_grid TYPE REF TO cl_gui_alv_grid. FIELD-SYMBOLS: < dyn_table > TYPE STANDARD TABLE, < dyn_wa >, < dyn_field >. DATA: dy_table TYPE REF TO data, dy_line TYPE REF TO data. DATA: colname(10), index(2). * 列数PARAMETERS: col TYPE i. CLEAR: it_fcat. * 根据条件动态生成列DO col TIMES. index = index + 1. CONCATENATE 'COL' index INTO colname. PERFORM frm_add_fcat USING: colname 'C' '描述' '100'.ENDDO. * 根据it_fact生成动态表CALL METHOD cl_alv_table_create=>create_dynamic_table EXPORTING it_fieldcatalog = it_fcat IMPORTING ep_table = dy_table. ASSIGN dy_table->* TO < dyn_table >. CREATE DATA dy_line LIKE LINE OF < dyn_table >. ASSIGN dy_line->* TO < dyn_wa >. * 给表字段赋值CLEAR: index.DO col TIMES. index = index + 1. CONCATENATE 'COL' index INTO colname. ASSIGN COMPONENT colname OF STRUCTURE < dyn_wa> TO < dyn_field >. < dyn_field > = '列数据'.ENDDO.APPEND < dyn_wa > TO < dyn_table >. * 相当于给内表放入两条数据CLEAR: index.DO col TIMES. index = index + 1. CONCATENATE 'COL' index INTO colname. ASSIGN COMPONENT colname OF STRUCTURE < dyn_wa > TO < dyn_field >. < dyn_field > = '列数据'.ENDDO.APPEND < dyn_wa > TO < dyn_table >. CLEAR: wa_layo.wa_layo-zebra = 'X'.wa_layo-cwidth_opt = 'X'. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' EXPORTING i_callback_program = sy-repid is_layout_lvc = wa_layo it_fieldcat_lvc = it_fcat TABLES t_outtab = < dyn_table > 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. *&---------------------------------------------------------------------**& Form frm_add_fcat*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->VALUE1 text* -->VALUE2 text* -->VALUE3 text* -->VALUE4 text*----------------------------------------------------------------------*FORM frm_add_fcat USING value1 value2 value3 value4. wa_fcat-fieldname = value1. wa_fcat-inttype = value2. wa_fcat-reptext = value3. wa_fcat-intlen = value4. APPEND wa_fcat TO it_fcat. CLEAR: wa_fcat.ENDFORM. "frm_add_fcat
阅读全文
1 0
- ALV 动态显示列Demo
- ALV 动态显示列Demo
- ALV 动态显示列Demo
- ALV动态列Demo
- alv动态显示列
- ALV TREE + 动态显示列
- 【转载】alv 动态显示列
- ALV根据显示列动态修改行汇总列数据
- ALV动态列内表实现Demo
- 【SAP ABAP】动态显示ALV
- 动态隐藏ALV的行和列
- 动态隐藏ALV的行和列
- 动态隐藏ALV的行和列
- 动态内表 动态ALV显示
- 转帖 动态内表 动态ALV显示
- 动态内表及动态ALV显示
- 动态内表及动态ALV显示
- 动态内表及动态ALV显示
- AndroidStudio JDK版本过低编译失败
- centos 建立回收站
- BZOJ4873: [Shoi2017]寿司餐厅
- grid表格
- Linux svn 常用命令
- ALV 动态显示列Demo
- 爱旅游app开发策划解决方案
- [Android]一个简单的对象池
- 运行Android项目 Unable to instantiate application, IllegalAccessException
- postgresql基础
- Oracle的Nvl函数用法
- Android Studio使用lambda表达式
- C语言函数随记:fflush()函数
- Ubuntu安装jdk