SAP ABAP 开发 Smartform 实例
2017 年 10 月 09 日 15:01:35
阅读数:565
SmartForm 是 sap 用来设计打印单据的基于可视化的一种技术,设计好后可以在程序里调
用,传参,参数一般是内表。
smartform 总的来说就 3 个主要步骤。1,设置表格接口,就是指定该 form 显示哪个
数据库的数据;2,设计报表头(也可以没有),就是表单的上部分,一般用来放公司 logo、
日期、页数这些信息。 3.设计主窗口,也就是表单显示数据的部分,主要工作就是设计表的
列名和列名下面对应的表的字段。程序调用时会先在数据库中取数,然后填充到 form。
事务代码:smartforms 进入,可以去设计 form 的样式,这里就不讲了,在表格处输
入一个名字创建一个表格。
进入后:
1
点击上方的“表格绘制器”可以显示表单,可视化。在“全局设置“->”表格接口“处定义
参数 ZLT_FLIGHT,关联类型是 ZLT_FLIGHT,这个是自己建立的一个数据库表,这里的 form
就是显示 zlt_flight 的数据。
2
ZLT_FLIGHT 结构如下:
在“实用程序”->“字段列表打开/关闭”可以打开字段列表,这时候可以看到 zlt_flig
ht 表的字段。
3
表头设计就略过了。当我们创建了 ZTEST_HXG_F3 的时候,系统会默认的建立一个页
面“%PAGE 新页面”。然后在 MAIN 主窗口上点击右键,创建一个 TABLE。
4
新建后系统会自动在 table 下创建 3 个项目:表头,主要区域,脚标。
选中 table,点击细节,可以设置表行格式。这里注意表的宽度一定要大于下面行类型的各个
列加起来的宽度。行类型右边的 1,2,3 这些是第一列第二列第三列,还有他们的长度单位。
然后点击“数据”,设计 loop 循环如下。就是说循环的读取表数据填充到每一行里。一般来
说内部表里第一个应该是接口定义的那个变量,第二个应该在全局变量再定义一个。
5
表有多少列这些格式已经设计好了,现在来设计表头,也就是列名。右键表头->新建行。系
统会自动的帮你在行下创建等量的 cell(列)。
然后我们现在要为每一列添加上名字。选中第一个 cell 新列,右键新建“文本”。
6
如上图,画横线处输入列名,这里注意的是第一个列的“开始“一定要选”新行“。因
为第一列一开始要新起一行嘛。
接下来设置第二列的列名,同上新建文本,
7
这里注意的是,“开始“处选择直接添加意思就是接着第一列添加该文本。后面的列同
理设置成直接添加。
做完了列名,接下来要设计每一列下面该显示什么数据了,也就是 table 下的”主要区
域“。
8