开发基础 报表教程 数据字典 对话编程 表单打印 增强出口 SAP接口 S/4 HANA
实战案例 实战笔记 资料下载 CRM
问答互助 会员分享 俱乐部 广告区
论坛指南、建议和投诉
Twilight发表于 2015-06-04 10:18吉他辉 最后回复于 2017-09-11 10:52 [复制链接] 11412 3
使用道具 举报
Twilight
管理员
发表回复 回帖后跳转到最后一页
最通常的用法是通过SE11中建立STRUCTURE ZXXX,在REPORT程序中申明此结构的数据类型,在SMARTFORMS中的FORM接口申明同样的结构后就可以传值了(itabTYPE ZXXX)。
方法二:通过指针方式
1、程序中申明一个结构
2、SMARTFORMS中相应的三处操作
全局定义->类型 申明结构
PS:1和2,这两个结构是要一样的,因为在传值时会把相同字段的进行传递。
全局定义->全局数据 申明变量,申明的类型是在全局定义-类型中已申明的结构,若是申明一个内表,则TYPE改成TYPE TABLE OF
全局定义->初始化 进行数据的传递操作,也就是把REPORT程序中的值传到SMARTFORMS中。
传递STRUCTURE
传递内表
这样,SMARTFORM就取得了ZXXXXX这个程序,OUTPUT这个内表的值,并将之赋给了GT_TABLE。特别注意 程序中的表定义和smartform类型里表定义 必须一致,否则 GT_TABLE[] =<f>.错误。
方法三:通过SAP内存的方式
SAP内存语句含义:
若是传递一两个很单一的变量,比较简单的做法是在REPORT程序中用EXPORT,在SMARTFORMS中用IMPORT。
IMPORT和EXPORT我们一般能不用就不用,后续维护难以跟踪。
方法四:通过数据库中的簇数据库方式
SAP数据库中的簇数据库语句含义:
SMARTFORMS中 TYPES与方法2相同要定义与程序中内表相同;但在INITIALIZATION中不同
INITIALIZATION中执行RESTORE_BUFFER
FROM ROUTINES中要定义RESTORE_BUFFER