1.参数定义

"ALV
type-pools:slis,rsds,vrm.
data:gt_fieldcat type lvc_t_fcat with header line,
gt_events type slis_t_event with header line,
gs_layout type lvc_s_layo,
g_repid like sy-repid.
data:wa_sort type slis_sortinfo_alv,
it_sort type lvc_t_sort,
lw_alv_title type lvc_title.
data:l_grid type ref to cl_gui_alv_grid,
ls_stable type lvc_s_stbl. data:struct_type type ref to cl_abap_structdescr,
itab_type type ref to cl_abap_tabledescr,
elem_type type ref to cl_abap_elemdescr,
comp_type type cl_abap_structdescr=>component_table,
comp_field type cl_abap_structdescr=>component,
comp_line like line of comp_type,
dref type ref to data,
dline type ref to data. field-symbols:<ztab> type standard table,
<itab> type any,
<fild> type any,
<frat> type any. "dynamic alv parameters
data:ztab type standard table of tab with header line,
mtab type standard table of tab with header line.

2.结构生成

form structure_data.

  struct_type ?= cl_abap_typedescr=>describe_by_name( 'TAB' ).
comp_type = struct_type->get_components( ). perform zdtb_ms using:
'DATAB' '日期从',
'DATBI' '日期至'. "****** 增加字段 vkorg+fkdat+ekgrp+kunnr+vkbur+ktgrm+matnr+matkl+maabc+kosch+labor+groes perform struc_xz tables s_vkorg using 'VKORG' '销售组织' 'VBRK-VKORG' 'VTEXT' 'TVKOT-VTEXT'.
"perform struc_xz tables s_fkdat using 'FKDAT' '开票日期' 'VBRK-FKDAT' '' ''.
perform struc_xz tables s_fkart using 'FKART' '订单类型' 'VBRK-FKART' 'FKTXT' 'TVFKT-VTEXT'.
perform struc_xz tables s_ekgrp using 'EKGRP' '品牌' 'MARC-EKGRP' 'EKNAM' 'T024-EKNAM'.
perform struc_xz tables s_kunnr using 'KUNAG' '客户编码' 'VBRK-KUNAG' 'NAME1' 'KNA1-NAME1'.
perform struc_xz tables s_vkbur using 'VKBUR' '产品线' 'KNVV-VKBUR' 'BEZEI' 'TVKBT-BEZEI'.
perform struc_xz tables s_ktgrm using 'KTGRM' '科目设置组' 'VBRP-KTGRM' 'KMEXT' 'TVKMT-VTEXT'.
perform struc_xz tables s_matnr using 'MATNR' '物料号' 'VBRP-MATNR' 'MAKTX' 'MAKT-MAKTX'. perform struc_xz tables s_matkl using 'MATKL' '物料组' 'MARA-MATKL' 'WGBEZ' 'T023T-WGBEZ'.
perform struc_xz tables s_maabc using 'MAABC' '等级' 'MARC-MAABC' 'TMABC' 'TMABCT-TMABC'.
perform struc_xz tables s_kosch using 'KOSCH' '产品分配' 'MARA-KOSCH' 'KOTXT' 'T190ST-VTEXT'.
perform struc_xz tables s_labor using 'LABOR' '产品档次' 'MARA-LABOR' 'LBTXT' 'T024X-LBTXT'.
perform struc_xz tables s_groes using 'GROES' '规格' 'MARA-GROES' '' ''. "***************************** perform zdtb_ms using:
'FKIMG' '数量',
'NETWR' '金额',
'VOLUM' '面积',
'NTGEW' '重量',
'VOLTJ' '体积',
'SLRAT' '数量占比(%)',
'JERAT' '金额占比(%)',
'WAVWR' '成本',
'MLNET' '毛利',
'MLRAT' '毛利率(%)'. struct_type = cl_abap_structdescr=>create( comp_type ).
itab_type = cl_abap_tabledescr=>create( struct_type ). create data dref type handle itab_type.
assign dref->* to <ztab>. endform. form field_app using zd zelem.
clear:comp_line,elem_type.
comp_line-name = zd.
elem_type ?= cl_abap_elemdescr=>describe_by_name( zelem ).
comp_line-type = elem_type.
append comp_line to comp_type.
endform. form zdtb_ms using zd zdms.
zdtb-zd = zd.
zdtb-zdms = zdms.
append zdtb.
clear:zdtb.
endform.

3.赋值

 create data dline like line of <ztab>.
assign dline->* to <itab>. loop at mtab.
move-corresponding mtab to <itab>.
append <itab> to <ztab>.
clear:ztab,<itab>.
endloop. clear:mtab. refresh:mtab. loop at <ztab> assigning <itab>.
clear:mtab.
move-corresponding <itab> to mtab.
move-corresponding mtab to <itab>.
clear:mtab.
endloop.

ABAP-动态ALV的更多相关文章

  1. ABAP动态生成经典应用之Dynamic SQL Excute 程序

    [转自http://blog.csdn.net/mysingle/article/details/678598]开发说明:在SAP的系统维护过程中,有时我们需要修改一些Table中的数据,可是很多Ta ...

  2. 【ABAP系列】SAP ABAP 动态指针

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 动态指针   ...

  3. 【ABAP系列】SAP ABAP中ALV使用HTML的例子

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP中ALV使用HT ...

  4. 【ABAP系列】SAP ABAP 控制ALV单元格编辑后获取新的数值

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 控制ALV单元 ...

  5. 【ABAP系列】SAP ABAP 关于ALV布局保存选项的讲解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP ABAP 关于ALV布局保存 ...

  6. 【ABAP系列】SAP ABAP模块-ABAP动态指针写法的精髓部分

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP模块-ABAP动 ...

  7. ABAP 动态内表 动态ALV

    DATA: DY_TABLE TYPE REF TO DATA, DY_WA TYPE REF TO DATA. FIELD-SYMBOLS: <DYN_TABLE> TYPE TABLE ...

  8. ABAP 动态生成内表的几种方法

    最近要写个程序,既有更新的,也有删除的,需要涉及到很多系统表,如果一个表一个表进行更新或者删除太慢了,于是就想通过创建动态内表来实现这些功能,在网上找了一些资料,经过多次尝试,终于测试成功了.网上讲述 ...

  9. ABAP 动态内表添加单元格颜色字段

    *动态内表alv显示时要求某些单元格显示颜色 *wa_fldcat-datatype不能添加LVC_T_SCOL类型,在创建好内表之后,再添加颜色列. DATA: wa_fldcat TYPE lvc ...

  10. ABAP动态自建表维护程序Dynamin Process

    以前经常会遇到批量上传或修改数据到自建表的需求,所以在想是否可以做一个动态的程序,所有的自建表都可以用这个动态程序来维护. 于是就打算试着写动态的程序. 程序的要求:动态显示自建表ALV 动态下载Ex ...

随机推荐

  1. NOSQL之REDIS

    Redis是NoSQL中比较常典型的一个非关系型数据库,在日常工作中也是最为常见的.Redis是一个由C语言编写的开源的.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据 ...

  2. 小米盒子root及sshdroid安装

    1.root 参考屌丝猫的教程 主要原理是通过运行自定义recovery实现root功能 2.安装sshdroid以及幸运破解器 3.使用幸运破解器吧sshdroid编程系统应用,从而实现自启动

  3. pm2 知识点

    pm2:node进程管理工具 pm2 命令: pm2 命令 作用 pm start xxx.js 启动 xxx.js pm stop xxx.js 停止 xxx.js pm2 list 显示所有进程状 ...

  4. centos7 取消自动锁屏

    CentOS7默认短时间会锁屏,这带来了一定的麻烦,比如看电影时,你不得不时不时的动动鼠标,才能防止锁屏.在网上查了一些资料,也没有找到相关的解决办法,不过最终还是找到了. 1.打开 applicat ...

  5. mysql 微信用户昵称emoji 完整保存

    微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情.起先,我总以为MySQL只能保存纯文本数据.但其实mysql(5.7版本)已非常强大,完整保存微信用户昵称(emoji ...

  6. Mono.Cecil 修改目标.NET的IL代码保存时报异常的处理。

    使用Mono.Cecil对目标.NET的DLL程序进行IL修改后保存时报“Failed to resolve assembly: ' xxxxxx, version=xxxxx,Culture=xxx ...

  7. java 中getDeclaredFields() 与getFields() 的区别

    java 中getDeclaredFields() 与getFields() 的区别 getDeclaredFields()返回Class中所有的字段,包括私有字段.例证: package com.t ...

  8. neo4j图数据库入门

    一.安装及启动 1.安装 Java SDK 1)     地址:http://www.oracle.com/technetwork/java/javase/downloads 2)     下载:jd ...

  9. Zabbix二次开发_02获取数据

    最近准备写一个zabbix二次页面的呈现.打算调用zabbix api接口来进行展示. 具体流程以及获取的数据. 1.  获得认证密钥    2.  获取zabbix所有的主机组    3.  获取单 ...

  10. 过度使用DBLINK做系统集成会带来的问题

    过度使用DBLINK做系统集成会带来很多问题,问题主要由以下几点: 1. 大量消耗数据库资源: 本地系统每通过DBLINK链接远端系统一次,都会生成一个本地session,如本地session不退出或 ...