SMARTFORM报表程序设计(3)

简介:   本篇文本将以一个小实例来介绍如何创建SMARTFORM并在ABAP代码中调用SMARTFORM。  首先还是先看下要实现的SMARTFORM报表的最终预览效果:  从图中我们可以看出这张报表包含一个表头TITLE,一张LOGO,日期页码及一张TABLE。

  本篇文本将以一个小实例来介绍如何创建SMARTFORM并在ABAP代码中调用SMARTFORM。
  首先还是先看下要实现的SMARTFORM报表的最终预览效果:
  
从图中我们可以看出这张报表包含一个表头TITLE,一张LOGO,日期页码及一张TABLE。
所以,先创建一个STYLE命名为ZS_FLIGHT。创建完后进入页面在左边的树形菜单找到“PARAGRAPH FORMATS”并右击选择“CREATE NODE”,输入节点名称“PT”,然后进行相关设置:

接着在“CHARACTER FORMAT”处右键,选择"CREATE NODE"创建一个节点“CT”,设置字体样式,

相关的设定就做的差不多了。你也可以多定义几种风格样式。这都是没有问题的。最后点击火柴棒激活样式。

  由于本报表程序是由外部程序将内表数据导入,再由FORM逻辑来生成报表。所以先创建一个结构(STRUCT:ZSFLIGHTIN)结构如下表格所示,

Component Component Type Data Type Length DECIMAL PLACES SHORT TEXT REFERENCE TABLE REFERENCE FIELD
CARRID S_CARR_ID CHAR 3 0 航线承运人ID    
CARRNAME S_CARRNAME CHAR 20 0 航班名称    
CARRCODE S_CURRCODE CUKY 5 0 航班的本地货币    
URL S_CARRURL CHAR 255 0      
PRICE S_PRICE CURR 15 2 航空运费 SFLIGHT CURRENCY
PLANETYPE S_PLANETYE CHAR   0 飞机类型    
SEATSMAX SEATSMAX INT4 10 0 最大容量    

       由于PRICE是CURR类型的,所以在创建STRUCT的时候要对其参考表及参考字段进行设置,具体找法如下:
  1.SE11打开SFLIGHT这个数据表
  2.找到PRICE字段,如下图:
  

  3.双击PRICE字段在弹出的窗口中可以找到其引用的表及字段并将其信息写入相应的引用栏内如下:
  

  最后,记得激活你创建的结构,这很重要。

    此时我们返回SMARTFORM创建一个名有“ZS_SFLIGHT”的报表程序,如下图,做相关设置。
  

由于报表数据是从ABAP内表中导入的,所以在"FORM INTERFACE"添加表类型参数引用上面创建的STRUCT,如下。

接着在左边树形菜单“PAGE”处右击,创建一个"WINDOW",如下所示:

并将其命名为“HEADER”,如下所示:

可以打开表格绘制器对窗体进行拖拉到合适的位置,就像.NET WINFORM拖拉控件那样简单。

接着在"PAGE"上右键,在联级菜单中选择CREATE GRAPHIC命令,新增一个图标对象,并在右边属性窗口是将其命名为LOGO及设置图片信息。打开图形编辑器将名为"LOGO"的图片拖动到右上角。

这样就做完了LOGO的设置了,接着在HEADER处右键选择CREATE-->TEMPLATE通过使用SMARTFORM提供的模板工具来设置表格。并将其命名为“HEADER_TEMPLATE”。


TEMPLATE的主要属性如下:
1.WIDTH(宽度):模板宽度,该宽度等于各字段宽度和,必须小于或等于WINDOW的宽度。
2.HORIZONTAL ALIGNMENT(水平对方):水平对齐方式,可设置偏移位置大小。
3.VERTIAL ALIGMENT(垂直对方):设置垂直位置对齐方式。
4.TABLE PAINTER(表绘制工具):通过图形界面绘制表格(在绘图界面可以用等也可以右键操作,右键可操作性强些)。
表格部分即为模板具体字段设置
1.NAME(名称):设置模板格式名,一个模板可以有多个格式,分布在对应表格的不同行。
2.FROM/TO(从/至):设置某模板格式具体行数,即输出表格行数。
3.REFERENCE(参考):参考一个模板格式名称建立新的模板格式。
4.HEIGHT(高度):某模板高度,即表格行高度。
5.1.2...:具体字段名及其宽度,一个模板可以有多栏,单击向“右箭头”图标可按需求增加字段,名字段宽度和必须等于模板宽度。
6.UNIT/UNIT OF MEASURE(单位):用于设置高度及宽度的单位。

目录
相关文章
|
6月前
|
BI C# C++
C#机房重构之报表
C#机房重构之报表
44 0
|
算法 数据可视化 测试技术
【UML】信息系统分析与设计知识点总结(上)
【UML】信息系统分析与设计知识点总结
152 0
|
测试技术 uml
【UML】信息系统分析与设计知识点总结(中)
【UML】信息系统分析与设计知识点总结
125 0
|
存储 测试技术 uml
【UML】信息系统分析与设计知识点总结(下)
【UML】信息系统分析与设计知识点总结
330 0
|
BI 数据库
汇总报表怎么做,如何设计实现汇总报表?
汇总报表怎么做,如何设计实现汇总报表?
|
数据可视化 数据挖掘 大数据
好用的报表工具推荐(报表工具功能)
在这个大数据时代,大数据计算机已成为数据分析人员必备的工具,熟悉数据分析,并从数据快速抽取出经营问题,快速响应市场,才能让数据成为第一生产力。
好用的报表工具推荐(报表工具功能)
|
Go
【升级版学生信息管理系统&员工工资信息管理系统】+文件操作+更多细节(下)
【升级版学生信息管理系统&员工工资信息管理系统】+文件操作+更多细节(下)
74 0
【升级版学生信息管理系统&员工工资信息管理系统】+文件操作+更多细节(下)
|
存储 SQL 架构师
浅析数据模型和数据建模【有图易懂】
通过使用数据模型,开发人员、数据架构师和业务分析师等各种利益相关者可以在构建数据库和仓库之前就他们将捕获的数据以及他们希望如何使用这些数据达成一致。
浅析数据模型和数据建模【有图易懂】
|
SQL BI 数据库连接
【机房收费系统】——报表
【机房收费系统】——报表
111 0
【机房收费系统】——报表
|
SQL BI 数据库
【机房重构】——报表实现
【机房重构】——报表实现
155 0
【机房重构】——报表实现