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. 使用 C# 编写简易 ASP.NET Web 服务器 ---- 模拟IIS的处理过程

    如果你想获得更好的阅读体验,可以前往我在 github 上的博客进行阅读,http://lcomplete.github.io/blog/2013/07/16/use-csharp-write-asp ...

  2. PHP中数组的各种用法

    $a = 'false';if($a){ echo '好坑';}输出好坑,得转换成布尔值才行哦. in_array $people = array("Bill", "St ...

  3. mySQL 教程 第3章 数据类型和数据完整性

    准备数据库 创建练习数据库,以下实验都是在这个数据库中完成. 练习1:比较各种数值型 create table tmp1 ( id INT, name VARCHAR(25), deptId deci ...

  4. Dynamics CRM 2011 快速查找 出现异常 QuickFindQueryRecordLimit exceeded. Cannot perform this operation 的解决方法

    一.CRM 2011 快速查找,输入编号的签名几个字母发现查询很慢. 图 1 当然在图1 上右边的出入框输入编号的部分的时候,有时候会发现数据在加载中..,非常慢,通过Crm Trace Log Vi ...

  5. android 开源项目列表【持续整理中。。。】

    Android完整的开源项目,不包括各种组件的项目 社区客户端 oschina客户端:oschina网站的客户端,wp版,iOS版都有开源,一个社区型客户端,包括登录刷新各类视线 四次元新浪微博客户端 ...

  6. CentOS 7安装和配置ssh

      1. 安装openssh-server yum install -y openssl openssh-server 2. 修改配置文件 用vim打开配置文件/etc/ssh/sshd_config ...

  7. BASIC-20_蓝桥杯_数的读法

    示例代码: #include <stdio.h>#include <string.h>#define N 10 char num[N] = {0} ; void yuyin(i ...

  8. bzoj1085 骑士精神

    Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2, ...

  9. centos 安装卸载软件命令 & yum安装LAMP环境

    安装一个软件时 yum -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软件时 yum -y install httpd php p ...

  10. sklearn.externals import joblib模块保存和下载使用模型的用法实例

    #加载模块 from sklearn import datasets from sklearn.externals import joblib from sklearn.linear_model im ...