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. k最邻近算法——加权kNN

    加权kNN 上篇文章中提到为每个点的距离增加一个权重,使得距离近的点可以得到更大的权重,在此描述如何加权. 反函数 该方法最简单的形式是返回距离的倒数,比如距离d,权重1/d.有时候,完全一样或非常接 ...

  2. dslr control vis usb

    nikon https://sdk.nikonimaging.com/apply/compmail.do Digital-SLR cameras           We are offering L ...

  3. 【转】每天一个linux命令(37):date命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/13/2815687.html 在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常 ...

  4. 【转】每天一个linux命令(27):linux chmod命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/11/29/2794010.html chmod命令用于改变linux系统文件或目录的访问权限.用它控制文 ...

  5. java 方向术语

    缩写 英文 中文意思 POJO Plain Ordinary Java Object 简单的Java对象 slf4j Simple Logging Facade for Java 简单日志门面,跟 C ...

  6. numpy之meshgrid和where

    meshgrid np.meshgrid() np.meshgrid从坐标向量返回坐标矩阵. 这样说可能很抽象.举个例子. x = np.arange(-2,2) y = np.arange(0,3) ...

  7. POJ1742Coins

    题目:http://poj.org/problem?id=1742 可以正常地多重背包.但是看了<算法竞赛入门经典>,收获了贪心的好方法. 因为这里只需知道是否可行,不需更新出最优值之类的 ...

  8. VS2005的depends工具 (分析EXE)

    忙乎了近两个月,程序开始打包供外部调用了,连同其所需的dll文件,这就需要使用VC自带的Depends软件,在VS2005中其路径为:D:\Program Files\Microsoft Visual ...

  9. Linux内核编译:很少有人提及的一些内容

    1. 你可以使用O=参数将编译结果放到其他位置(非源代码目录),例如:make O=~/build ... 这样做的好处是你的源代码目录不会受到任何改变:你甚至可以在不同的体系结构间共享源代码. 注意 ...

  10. pychar入门参考教材

    参考:  http://blog.csdn.net/chenggong2dm/article/category/6137682 让不同py文件运行,直接在文件的标签处右键run即可