Smartforms 例子

上传人:pu****.1 文档编号:560248615 上传时间:2023-11-13 格式:DOC 页数:29 大小:1.21MB
返回 下载 相关 举报
Smartforms 例子_第1页
第1页 / 共29页
Smartforms 例子_第2页
第2页 / 共29页
Smartforms 例子_第3页
第3页 / 共29页
Smartforms 例子_第4页
第4页 / 共29页
Smartforms 例子_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Smartforms 例子》由会员分享,可在线阅读,更多相关《Smartforms 例子(29页珍藏版)》请在金锄头文库上搜索。

1、SAMRTFORMS的设计与调用前提准备:1、 已经有一个开发完成的报表程序ZTEST_XXX_ALV_012、 该报表程序的最终输出结果存储在内表gt_out中3、 内表gt_out的结构类型为报表程序中自定义的类型itab_out课堂练习指导:第一部分:SMARTFORMS设计1、 打开SMARTFORMS设计器在GUI系统工具栏命令行输入框内键入事务代码SmartForms,回车即打开SmartForms设计器初始界面,如下:2、 表格属性设置系统默认类型为表格,在文本框中键入ZTESTtFM_DHW_001,然后单击创建,即打开表格设计器,初始功能为表格属性设置,下图即为主界面,修改描

2、述为“课堂练习-航班计划表”。然后点击保存按钮,在弹出窗口中选择本地对象后即完成保存。表格设计器左侧为导航树,右侧为属性维护区,点击右侧维护区的【输出选项】选项卡,可以看到表格的默认输出页格式为DINA4,即为A4纸张幅面输出,如果需要修改,可单击右侧按钮在弹出框中选择其他幅面格式,本练习中页格式采用默认的DINA4即可;另外,我们看到表格默认样式为System,鼠标点击样式输入框右侧的按钮,在弹出列表中选中ZGQ_STYLE,单击确定选择。3、 表格接口定义鼠标双击左侧导航树中全局设置下表格接口节点,出现如下窗口,可以在这里定义表格的接口参数,以便报表程序调用表格时传递变量。默认的许多系统变

3、量,我们无法进行变动。在这里,我们定义两个参数,参数名称分别为G_TITLE、G_AUDAT,类型分配填入TYPE,参考打印填入STRING。点击保存!4、 全局定义鼠标双击左侧导航树中全局设置下全局定义节点,出现如下窗口,可以在这里完成表格的一些全局类型、变量以及相关初始化设置。点击右侧【类型】选项卡,在文本输入区内输入以下类型定义代码段然后保存,完成结构类型ITAB_OUT的声明。然后单击【全局数据】选项卡,定义全局变量,一个是内表对象GT_OUT,一个是对应的工作区对象GS_OUT。前者用以存放报表程序中待输出的内表数据,后者则用以逐行获得每行数据。两个变量的参考打印类型均为刚刚定义的结

4、构类型:ITAB_OUT。单击【初始化】选项卡,定义表格初始化代码,在本次课堂练习中,我们采用字段符号变量的方式,直接从报表程序的内存区中获取内表地址,并直接把内表数据赋给表格变量。注意:需要在输出参数中键入GT_OUT变量,否则系统会提示GT_OUT没有定义。在设计代码行编辑的节点,如表格初始化和程序行,凡是在代码段中涉及的全局变量,均需要根据情况在输入参数或者输出参数中予以体现。该段代码中,assign语句后以括号围起的字符串变量(field)为动态对象,系统自动将该字符串指定的报表程序内表地址取出并赋给字段符号变量。字符串变量field的取值,需要注意,括号内为要调用当前表格的报表程序名

5、称,后边紧跟着的就是该报表程序中存放待输出数据的内表对象名称,如果该内表带有表投行,那么必须增加显式区别要访问的是内表。比如本练习中“(ZTEST_XXX_ALV_01)GT_OUT” 5、 窗口输出设置单击左侧导航树页面和窗口新页面节点前的小箭头,可以展开页面下级节点,默认已经有一个主窗口节点,双击该节点,单击右侧【输出选项】选项卡,修改左边距为1CM,宽度为19CM.,然后保存。注意:此处的左边距与宽度之和不得大于表格属性中选择的页格式定义的宽度,上边距与高度之和也不能大于表格属性中页格式定义的高度。6、 新建表节点在左侧的导航树中选中主窗口节点后单击鼠标右键,选择创建表,窗口节点下会自动

6、出现一个新表1节点,如图修改表节点名称和描述如下图,表节点下自行创建了表头、主要区域和脚标三个输出区域。7、 表绘制器和行类型在导航树中双击刚刚创建的表节点,单击右侧【表】选项卡,可以看到右侧的表绘制器中已经有一个名称为%LTYPE1的行类型,鼠标移动在表格行上单击右键选择重命名,修改行类型名称为LTYPE_TITLE,点击确定修改。表绘制器的使用鼠标选中表绘制器上按钮,切换鼠标到绘制行列状态,然后按下鼠标后横向移动即可看到绘制区会出现横向分割线,松开鼠标左键后即可创建新的行类型;垂直拖拽鼠标则出现竖向分割线,松开鼠标后即可创建新的单元格,而拖动竖向分割线还可以调整单元格的宽度。行类型细节编辑

7、也可以点击表绘制器右上方的细节按钮,切换到细节编辑界面直接输入行类型及列数,并可以精确指定单元格宽度,如下图。表宽度不得大于窗口属性中设定的宽度,各行类型的单元格宽度之和必须等于表宽度。总共创建四个行类型,分别划出若干单元格,其详细信息如下:行类型表格线单元格数单元格宽度(CM)LTYPE_TITLE无119LTYPE_HERDER无2415LTYPE_DATA有62,803,233,253,4642,26LTYPE_BOTTOM无2910表格框线的设置点击表绘制器按钮,可以切换回图形编辑界面,单击工具栏上行列绘制按钮,将鼠标切换到选择状态;然后按住键盘上SHIFT键的同时,单击鼠标左键选中L

8、TYPE_DATA行,然后先后点击外部框架和内部框架两个按钮,即为LTYPE_DATA行类型增加表格框线。最终效果如下图:8、 在表节点中创建表行在导航树中选中表节点下表头节点,然后单击鼠标右键,选择创建表行,系统自动在表头区节点下增加表行节点,我们修改其名称和描述为ROW_TITLE和“标题”,并在右侧属性区中指定行类型为LTYPE_TITLE后,可以看到系统自动在当前行节点下增加一个单元列节点,同样修改节点名称和描述为CELL_TITLE和“标题”。按照同样方法,在标题行节点后依次创建抬头行ROW_TABLEHEADER和列头行ROW_LISTHEADER,行类型分别为LTYPE_HERD

9、ER和LTYPE_DATA。在主要区域节点下创建表格数据行ROW_DATA,行类型为LTYPE_DATA。在脚标节点下创建页码行ROW_BOTTOM,行类型为LTYPE_BOTTOM,如下图:9、 创建标题文本及抬头文本选中导航树中CELL_TITLE节点,单击鼠标右键选择创建文本,系统自动在选中节点下增加一个文本节点,我们修改节点名称和描述为TEXT_TITLE和“标题”。然后单击表格设计器上方的按钮,打开左下侧的字段列表,展开导入接口,可以看到之前在表格接口中自定义的参数列表,用鼠标左键点击选中G_TITLE并拖拽到右侧的文本输入区中,并选择段落格式为C7,即指定标题显示格式为宋体三号居中

10、。用同样方法,在抬头行ROW_TABLEHEADER的第二个单元格节点下创建文本节点,将导入接口中的变量G_AUDAT拖入文本输入区内,选择段落格式为RB,即指定统计周期显示为宋体五号居右。10、 创建表格列头行文本及相应静态内容设置用同样方法,在表头节点表头行ROW_LISTHEADER的第一个单元格节点下创建文本节点,将其文本输入区内直接输入内容:航线承运人ID,选择段落格式为CB,即指定统计周期显示为宋体五号居中。在表头行ROW_LISTHEADER的第二个单元格节点下创建文本节点,将其文本输入区内直接输入内容:航班连接ID,选择段落格式为CB。在表头行ROW_LISTHEADER的第三

11、个单元格节点下创建文本节点,将其文本输入区内直接输入内容:航班日期,选择段落格式为CB。在表头行ROW_LISTHEADER的第四个单元格节点下创建文本节点,将其文本输入区内直接输入内容:航空运费,选择段落格式为CB。在表头行ROW_LISTHEADER的第五个单元格节点下创建文本节点,将其文本输入区内直接输入内容:飞机类型,选择段落格式为CB。在表头行ROW_LISTHEADER的第六个单元格节点下创建文本节点,将其文本输入区内直接输入内容:最大容量,选择段落格式为CB。11、 创建表格数据行文本及相应动态数据设置采用相同方法,在主要区域节点下表格数据行ROW_DATA的第一个单元格节点下创

12、建文本节点,修改其节点名称和描述为:CELL_CARRID和航班承运人ID;然后在字段列表中展开全局数据后,打开工作区变量GS_OUT,选中CARRID字段拖入右侧文本输入区,然后选择段落格式为。在表头行表格数据行ROW_DATA的第二个单元格节点下创建文本节点,修改相应节点名称和描述,然后从字段列表将GS_OUT-CONNID字段拖入右侧文本输入区,然后选择段落格式为CB。在表头行表格数据行ROW_DATA的第三个单元格节点下创建文本节点,修改相应节点名称和描述,然后从字段列表将GS_OUT-FLDATE字段拖入右侧文本输入区,然后选择段落格式为CB。在表头行表格数据行ROW_DATA的第四

13、个单元格节点下创建文本节点,修改相应节点名称和描述,然后从字段列表将GS_OUT-PLANETYPE字段拖入右侧文本输入区,然后选择段落格式为RB。在表头行表格数据行ROW_DATA的第五个单元格节点下创建文本节点,修改相应节点名称和描述,然后从字段列表将GS_OUT-PRICE字段拖入右侧文本输入区,然后选择段落格式为CB。在表头行表格数据行ROW_DATA的第六个单元格节点下创建文本节点,修改相应节点名称和描述,然后从字段列表将GS_OUT-SEATSMAX字段拖入右侧文本输入区,然后选择段落格式为CB。12、 创建页码文本及系统字段设置依然采用同样方法,在脚标区页码行ROW_PAGE的第

14、二个单元格点下创建文本节点,修改其节点名称和描述为:DATA_PAGE和页码;然后在字段列表中展开系统字段后,打开系统对象SFSY,选中PAGE字段拖入右侧文本输入区,然后选择段落格式为LB,即指定页码显示为宋体五号居左。13、 激活SMARTFORMS保存并激活SMARTFORMS,这个过程中系统会自动进行语法检查,倘若表格设计过程有问题,会给出提示要求进行修改,如果没有问题即完成表格设计。第二部分:集成到报表程序1、 调出原有报表程序打开SE38编辑器,输入原订货明细报表程序名称ZTEST_XXX_ALV_01,然后点击修改按钮,在程序中增加打印事件处理完成打印调用2、 定义自定义工具条并

15、绑定到ALV控件中在程序中创建状态条对象:STANDARD点击工具条上按钮打开左侧对象清单列表,选中报表程序名称根节点,然后单击鼠标右键,选择创建GUI STATUS,在弹出窗口中状态名称输入STANDARD,短文本描述输入工具条,然后确定即可打开状态条编辑界面。状态条编辑界面如下图 展开应用工具条,可以看到全是空白的,选其中一个单元格,输入字符串PRT,并双击该字符串,弹出如下窗口:默认为静态文本,无需改动,直接点击确认创建函数文本完成以下输入,函数文本:打印,图标:ICON_PRINT,信息文本:打印当前报表;然后点击确认,在下图中分配一个功能键给当前按钮确定功能键分配后在后续弹出的窗口,可以输入快捷键P然后点击确认,即完成自定义工具条和打印按钮的创建,如下图我们通常采用相同的方法将ALV控件内置的系统功能按钮分别创建到自定义工具条中,如下图,最后会附上其相应的功能码一览表供开发时候参考。状态条中应用工具条的自定义已经创建完

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号