ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:941.01KB ,
资源ID:19443108      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19443108.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Smartforms 例子文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Smartforms 例子文档格式.docx

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

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

3、元格,而拖动竖向分割线还可以调整单元格的宽度。行类型细节编辑也可以点击表绘制器右上方的细节按钮,切换到细节编辑界面直接输入行类型及列数,并可以精确指定单元格宽度,如下图。表宽度不得大于窗口属性中设定的宽度,各行类型的单元格宽度之和必须等于表宽度。总共创建四个行类型,分别划出若干单元格,其详细信息如下:行类型表格线单元格数单元格宽度(CM)LTYPE_TITLE无119LTYPE_HERDER2415LTYPE_DATA有62,803,233,253,462,26LTYPE_BOTTOM910表格框线的设置点击表绘制器按钮,可以切换回图形编辑界面,单击工具栏上行列绘制按钮,将鼠标切换到选择状态;

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

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

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

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

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

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

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

11、完成打印调用2、定义自定义工具条并绑定到ALV控件中在程序中创建状态条对象:STANDARD点击工具条上按钮打开左侧对象清单列表,选中报表程序名称根节点,然后单击鼠标右键,选择创建GUI STATUS,在弹出窗口中状态名称输入STANDARD,短文本描述输入工具条,然后确定即可打开状态条编辑界面。状态条编辑界面如下图 展开应用工具条,可以看到全是空白的,选其中一个单元格,输入字符串PRT,并双击该字符串,弹出如下窗口:默认为静态文本,无需改动,直接点击确认创建函数文本完成以下输入,函数文本:打印,图标:ICON_PRINT,信息文本:打印当前报表;然后点击确认,在下图中分配一个功能键给当前按钮

12、确定功能键分配后在后续弹出的窗口,可以输入快捷键P然后点击确认,即完成自定义工具条和打印按钮的创建,如下图我们通常采用相同的方法将ALV控件内置的系统功能按钮分别创建到自定义工具条中,如下图,最后会附上其相应的功能码一览表供开发时候参考。 状态条中应用工具条的自定义已经创建完成,接下来需要对系统工具条的默认功能键创建到自定义的状态条中;展开功能键列表,可以看到标准工具条中有所有图标,但功能码均为空,所以,在相应的图标上填入对应的预置功能码即可。 至此,自定义状态条的设计完成,保存并激活,然后在程序运行中的最终结果即如下图: ALV控件内置功能码一览表功能代码:函数文本:图标名称:&ETA细节I

13、CON_SELECT_DETAILEB9调用报告.ICON_TABLE_SETTINGSREFRESH刷新ICON_REFRESHALL全部选择ICON_SELECT_ALLSAL取消全选ICON_DESELECT_ALLOUP按升序排列ICON_SORT_UPODN按降序排列ICON_SORT_DOWNILT设置过滤器ICON_FILTERUMC总计ICON_SUMSUM小计.ICON_INTERMEDIATE_SUMRNT_PREV打印预览ICON_LAYOUT_CONTROLVEXCELMicrosoft ExcelICON_XLSAQW字处理.ICON_WORD_PROCESSING%

14、PC本地文件 .ICON_EXPORT%SL邮件收件人ICON_MAILABCABC 分析ICON_ABCGRAPH图形ICON_GRAPHICSOL0更改布局.ICON_ALV_VARIANTSOAD选择格式.ICON_ALV_VARIANT_CHOOSEAVE保存格式.ICON_ALV_VARIANT_SAVEINFO信息ICON_INFORMATION在报表程序中定义菜单处理子程序FRM_SET_MENU在报表程序中增加如下代码段,完成菜单处理子程序的创建*&-* Form frm_set_menu* 实现ALV自定义状态条的绑定处理*-*form FRM_SET_MENU using

15、rt_extab type slis_t_extab. set pf-status STANDARD. 引号内字符串为状态条对象的名称endform. FRM_SET_MENU在调用函数模块进行ALV报表显示时增加相应参数调用 修改报表程序中关于ALV报表显示的原有代码段,增加菜单处理参数 call function REUSE_ALV_GRID_DISPLAY exporting i_callback_program = g_repid it_fieldcat = it_field is_layout = gs_layout it_events = e03_lt_events i_callb

16、ack_pf_status_set = FRM_SET_MENU 参数内容必须为大写 3、定义用户命令处理子程序并绑定到ALV事件响应处理中定义用户命令处理子程序FRM_USER_COMMAND在报表程序中增加如下代码段,完成用户命令处理子程序的创建-* Form frm_user_command* 实现对用户命令的响应*-* -R_UCOMM textRS_SELFIELD slis_selfieldform FRM_USER_COMMAND using p_ucomm like sy-ucomm selfield type slis_selfield. case p_ucomm. when

17、 PRT.响应自定义工具条中的自定义按钮事件 if not gt_out is initial. perform frm_print_selected. 调用打印输出子程序 else. message e888 with 没有可打印的数据!. endif.BACK返回 leave program. endcase.frm_user_command修改报表程序中关于ALV报表显示的原有代码段,增加用户命令处理参数 i_callback_user_command = FRM_USER_COMMAND 4、定义打印输出子程序在报表程序中增加如下代码段,完成打印处理子程序的创建-* Form frm_

18、print_selected* 实现对SmartForm的调用*-* p1 text* - p2 textform frm_print_selected . data: fm_name type rs38l_fnam.SSF_FUNCTION_MODULE_NAME formname = ZTESTFM_DHW_001 参数传值为要调用的Form名称 importing fm_name = fm_name. if sy-subrc 0. message id sy-msgid type sy-msgty number sy-msgno with sy-msgv1 sy-msgv2 sy-msg

19、v3 sy-msgv4. call function fm_name 参数列表与Form中定义的接口对象需完全一致 g_title = g_title g_audat = g_audat exceptions formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 others = 5. 4. frm_print_selected五、打印预览效果图:-* Report ZTEST_DHW_ALV_001REPORT ZTEST_DHW_ALV_001.TABLES:SFLIGHT.TYPE-POOLS:S

20、LIS.TYPES: BEGIN OF TYP_OUT, CARRID LIKE SFLIGHT-CARRID, CONNID LIKE SFLIGHT-CONNID, FLDATE LIKE SFLIGHT-FLDATE, PLANETYPE LIKE SFLIGHT-PLANETYPE, PRICE LIKE SFLIGHT-PRICE, SEATSMAX LIKE SFLIGHT-SEATSMAX, END OF TYP_OUT.DATA: G_AUDAT TYPE STRING, G_TITLE TYPE STRING, TD_FIELDCAT TYPE SLIS_T_FIELDCAT

21、_ALV, TH_FIELDCAT TYPE SLIS_FIELDCAT_ALV, TD_SFLIGHT TYPE TABLE OF TYP_OUT, TH_SFLIGHT TYPE TYP_OUT.PARAMETERS: P_PRICE TYPE SFLIGHT-PRICE DEFAULT 500SELECT-OPTIONS: S_FLDATE FOR SFLIGHT-FLDATE.INITIALIZATION. S_FLDATE-SIGN = I S_FLDATE-OPTION = BT S_FLDATE-LOW = 20070601 S_FLDATE-HIGH = 20070630 APPEND S_FLDATE.START-OF-SELECTION. PERFORM FRM_GET_HEAD_RTN. PERFORM FRM_GET_DATA. IF TD_SFLIGHT IS INITIAL. MESSAGE S888(SABAPDOCU) DISPLAY LIKE E WITH 没有符合条件数据! LEAVE LIST-PROCESSING. ELSE. PERFORM FRM_DISPLAY_A

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1