Chinaunix首页 | 论坛 | 博客
  • 博客访问: 688275
  • 博文数量: 194
  • 博客积分: 7067
  • 博客等级: 少将
  • 技术积分: 2008
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-09 14:48
个人简介

我很好

文章分类

全部博文(194)

文章存档

2019年(1)

2018年(1)

2017年(3)

2015年(2)

2012年(2)

2011年(1)

2010年(27)

2009年(15)

2008年(142)

分类: WINDOWS

2008-12-15 13:27:22

 一般我们在使用smartforms做打印程序的时候都要自己建一个结构,以方便使用,但是有时候多建个结构很麻烦,我们在程序里都建了内表的结构了,而且如果内表格式改变还得跑到数据字典去改.其实我们可以不建这个结构。    在smartforms的 global settings->global definitions 里有个 types 我们可以在这里定义一个和程序里内表一样的结构.但是,在form interface 里定义参数的时候不能使用刚才定义的那个结构,激活的时候会报错。所以我们不要在这里定义参数,内表内容不通过该接口传过来,而是动态读取过来。我们在smartforms里直接读程序里的内表。global settings->global definitions 里有个 initialization 可以在定义一个指针
DATA: field(50).
FIELD-SYMBOLS: type any.
field = '(Z_TEST)ITAB[]'.
ASSIGN (field) TO .
GT_LABEL[] = .
    这样就可以把程序里的内表的值取出来了,并赋给了smartforms里的内表,然后就当GT_LABEL 就是你通过参数传进来的一样用就行了。通过这个方法就不用再需要在SAP Dictionary 里面定义结构了,调smartforms的时候也不用传参数了。
阅读(1521) | 评论(2) | 转发(0) |
0

上一篇:DWG简图抓取

下一篇:ALV 表头HTML控制

给主人留下些什么吧!~~

chinaunix网友2010-05-12 16:25:27

你得自己定义GT_LABEL. DATA:GT_LABEL TYPE (你之前在TYPES里定义的结构) 这样就可以了

chinaunix网友2009-04-14 11:40:44

可是这样会提示以下错误:Field "GT_LABEL" is unknown. It is neither in one of the specified tables nor defined by a "DATA" statement. 请问要怎么解决?