第9章 智能表单Smartforms_第1页
第9章 智能表单Smartforms_第2页
第9章 智能表单Smartforms_第3页
第9章 智能表单Smartforms_第4页
第9章 智能表单Smartforms_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章

智能表单Smartforms目录概述Form(表格)SmartStyles(样式)TextModule(文本模块)在程序中调用SmartForms检查与测试Form2概述Smartforms是SAP表单处理的一种工具生成的文档可以是打印机输出,传真或电子邮件格式Smartforms通过SAPWebApplicationServices(WAS)可以生成HTML格式概述-smartforms的优点高效的生成和维护表格图形化界面接口,无需过多编程知识

多语言能力表格中的样式和字体可重用可将输入转换为HTML格式输出,为表格提供网络应用的支持Smartforms的组件

DatabaseApplicationProgramABAPFunctionModuleSmartFormDataRetrievalFormDefinitionOutputgeneratedPrinterEmailRetrieveApplicationData

抽取应用数据CreateanABAPProgramanddothefollowingprocessing:PreparetheDataneededfortheFormProcessing,theseincludesDatamanipulations;andDataRetrievalfromDatabasewhicharethenstoredintoaninternaltableorstructures.DescribeyourForm

定义表格CreateyourFormusingtheSmartformFormBuilder.WithintheSmartformFormBuilder,thefollowingcanbedone:DefinetheinterfacesofyourForm.CreatetheFormPages,Windows,Addresses,Graphics.CreatetheelementswithintheWindowsDefinetheFlowcontrolforprintingpagesPasstheApplicationDatatotheForm

填充数据到表格ExecutethegeneratedFunctionModuleoftheSmartformswithintheABAPProgram(createdinthefirststep),andpassingtheprepareddataintoitsparameters.DatabaseApplicationProgramABAPFunctionModuleApplicationProgramABAPFunctionModuleSmartforms表格生成步骤

概述

SmartForm完全兼容SAPScript,有图形界面来辅助实现。下面是一个简单SmartForm输出结果:7Form(表格)使用事务码:Smartforms进入SAP智能表初始画面,如右图所示:8Form(表格)输入名称Z001,点击“创建”按钮,进入下面的FormBuilder界面:9Form(表格)上面的屏幕分为三个部分:树形导航工具(左边):主要用来显示SmartForm的层次结构。当你在层次结构中选择了一个节点后,在上面截屏的中间部分会显示这个节点的维护屏幕。维护屏幕(中间):根据当前树状结构中选择的不同节点类型,会出现各种标签,对应相关的选项卡,在这些选项卡中可以进行该节点相关属性的设计。窗口绘制器(右边):主要用来设计SmartForm输出页面的格式,可以在页面上包含窗口和图形,还可以指定它们在页面上的位置以及它们的大小等。在图片左上角的工具栏有一个按钮

可以用来显示和隐藏这个窗口。10Form(表格)定义Smartform的全局设置表格属性:设置表格的样式,页面的格式(即页面大小),输出格式等。表格接口:它用来描述这个SmartForm的接口属性,比如IMPORT、EXPORT、TABLES、EXCEPTION。如果从ABAP程序中调用这个FORM的话,就会用到这些接口来传递参数。全局定义:主要用来定义一些全局数据,还有FIELDSYMBOLS,初始化等。11Form(表格)定义Smartform的全局设置12Form(表格)设定全局设置——表格接口用于设置通过CallFunction调用SmartForm时的参数。导入——对应CallFunctionExporting参数,用户也可以增加参数。导出——对应CallFunctionImporting参数,用户也可以增加参数。表——对应CallFunctionTable参数,用户也可以增加参数,参考打印必须是已存在的数据库表或结构。例外——对应CallFunctionExceptions参数,即出错捕捉参数。13Form(表格)设定全局设置——全局定义全局数据:可以定义在Smartform内部使用的全局变量,参考打印内容既可是系统提供的I、C等类型,也可以是已存在的数据库表、结构,还可以是Smartform中定义的类型。注:此处Typeassignment的值必须选择Type或Typerefto(对象分配),用LIKE有时会报错。类型:定义内部使用的类型。此处均使用TYPES语句定义。字段符号:定义Smartform内部使用的FIELD-SYMBOL变量。此处定义的变量必须以“<”开始,以“>”结束,如:“field-symbols:<dbtable>typeany.”。初始化:定义初始化处理内容,相当于定义一个Subroutine,输入参数即Using参数,输出参数即Changing参数。货币/数量字段:定义货币/数量类型的全局变量的参考字段。14Form(表格)设置页和窗口什么是页?Smartform的组成元素。页类似于Dialog中的Screen。Smartform是由页组成,包含至少一页或多页。每一页包含多个节点,节点可以是窗口、地址、图形等。什么是窗口?页的组成元素。窗口分为主窗口、次窗口、拷贝窗口、最终窗口。15Form(表格)设置页和窗口窗口类型——主窗口主窗口一般用于数据的列表显示,用于LOOP循环显示;当然也可显示非列表内容。一个Form中只能包含一个主窗口。主窗口可分页输出,即连续输出到几页。无论输出几页,主窗口的宽度必须一致,高度和位置可以任意指定。窗口类型——次窗口次窗口主要用于非列表显示内容的输出。每一页中能包含多个次窗口。次窗口不可分页输出。16Form(表格)设置页和窗口窗口节点图形节点、地址节点、文本节点、表节点、模板节点、流逻辑、循环节点、程序行、命令节点、文件夹17Form(表格)窗口节点——文本节点建立文本节点输出文本内容,是最后一级节点。可以使用文本编辑器,编辑文本内容,可以直接输出文本,也可动态输出文本。18Form(表格)窗口节点——表列表内容显示,可按一定条件循环显示InternalTable中内容。可自定义表的显示格式、列宽、列数量。可以进行汇总统计。表包含表头、主要区域、脚标三部分。表头,即显示列标题。主要区域,即Loop循环显示区。脚标,即Footer区。19Form(表格)窗口节点——表20Form(表格)窗口节点——表表的属性设置:表选项:可以设置表的宽度,列数,每列列宽。数据选项:设置数据来源,SmartForm内部定义的InternalTable,以及循环的条件。计算选项:用于做汇总统计,可按总计、平均值及数量来统计。输出选项:选择输出样式。条件选项:设置表的执行条件。表头、主要区域、脚标根据表定义的列数,自动添加CELL,每个CELL下又可添加文本节点输出要显示内容。21Form(表格)窗口节点——表点击细节按钮,设置行类型、每列宽度等内容22Form(表格)窗口节点——模板模板用于按一定格式输出一组文本。可自定义模板的显示格式、列宽、列数量。模板通常在次窗口中输出文本。可设置模板的执行条件。可根据模板的列数,增加相同数量的文本节点。23Form(表格)窗口节点——模板24Form(表格)窗口节点——流逻辑可选节点、循环节点、程序行、命令行窗口节点——流逻辑—循环节点此节点用于输出InternalTable内容。循环节点的下级节点一般设置为模板节点。循环节点定义要输出InternalTable的内容,下级的模板节点则定义循环输出的每行格式。25Form(表格)窗口节点——流逻辑—循环节点循环节点的属性设置:数据选项:设置数据来源,SmartForm内部定义的InternalTable,以及循环的条件。计算选项:用于做汇总统计,可按总计、平均值及数量来统计。事件选项:可设置是否输出表头或脚标。输出选项:选择输出样式。条件选项:设置表的执行条件。26Form(表格)窗口节点——流逻辑—循环节点27Form(表格)窗口节点——流逻辑—程序行可在程序行中增加逻辑程序处理。程序行相当于程序中subroutine,需要设置输入和输出参数。28SmartStyles(样式)运行事务代码SmartForms,选择样式(或者直接输入事务代码SmartStyles),输入名称Z001,点击创建,如右图所示:29SmartStyles(样式)Smartform样式——表头数据表头数据定义该样式的默认设置。表头数据中的标准段落必须指定。30SmartStyles(样式)Smartform样式—段落格式创建段落格式,一般有RH(ReportHeader),PD(PageHeader),PB(PageBottom),LD(LineHeaderandDetails),字体:CNSONG,9pt。定义不同段落的格式缩进和空格:设置对齐方式、行间距、段落缩进。字体:设置字体格式。标签:用于设置一个段落中多个标签的位置,并设定对齐方式。即在文本中使用段落时,一个文本可以输出多种不同对齐方式。标签的位置是从0开始计算。在文本中使用,,来分隔标签。编号与框架:按提纲方式设置段落。31SmartStyles(样式)Smartform样式——段落格式32SmartStyles(样式)Smartform样式——字符格式33TextModule(文本模块)Smartform文本模块文本模块用于定义文本模板,以便在Smartform报表中使用。文本模块中只需定义文本内容即可使用。在文本节点中使用文本模块时,文本节点一般属性要选择[文本模块],此时在[名称]处选项定义的文本模块即可。34在程序中调用SmartForm指定Smartform(一)调用smart名字。DATA:

sm_func

TYPE

rs38l_fnam.例:CALLFUNCTION'SSF_FUNCTION_MODULE_NAME'EXPORTINGFORMNAME='Z001'

"smartforms名字

IMPORTINGFM_NAME=sm_funcEXCEPTIONSNO_FORM=1NO_FUNCTION_MODULE=2OTHERS=3.35在程序中调用SmartForm指定Smartform(二)打印控制设置SSFCOMPOP、SSFCTRLOP类型参数,配置打印控制。直接打印——不显示Dialog;显示Dialog——手工打印。DATA:

CONTROL_PARAMETERS

TYPE

SSFCTRLOP,

ERRTAB

TYPETSFERROR.DATA:

JOB_OUTPUT_INFO

TYPE

SSFCRESCL.

control_parameters-preview

=

‘X’.”打印预览

control_parameters-no_open

=

'X'."没有新的假脱机请求

control_parameters-no_close

=

'X'."不关闭假脱机请求36在程序中调用SmartForm指定Smartform(三)调用SSF_OPEN函数设置打印机,打开输出请求,使用用户打印设置必须调用SSF_OPEN。CALLFUNCTION'SSF_OPEN'EXPORTINGOUTPUT_OPTIONS=SSFCOMPOP类型变量CONTROL_PARAMETERS=SSFCTRLOP类型变量USER_SETTINGS='X'EXCEPTIONSFORMATTING_ERROR=1INTERNAL_ERROR=2SEND_ERROR=3USER_CANCELED=4OTHERS=5.37在程序中调用SmartForm指定Smartform(四)调用Smartforms的FunctionModule打印——smart表及变量传递CALLFUNCTIONL_FM_NAMEEXPORTINGCONTROL_PARAMETERS=SSFCTRLOP类型变量OUTPUT_OPTIONS=SSFCOMPOP类型变量USER_SETTINGS='X'Smartform中定义参数…=自定义变量TABLESSmartform中定义Table=自定义Internaltable.38在程序中调用SmartForm指定Smartform(五)关闭打印机设置

CALLFUNCTION'SSF_CLOSE'EXCEPTIONSFORMATTING_ERROR=1INTERNAL_ERROR=2SEND_ERROR=3OTHERS=4.39在程序中调用SmartForm示例——ZMMF013DATA:BEGIN

OF

ITAB13

OCCURS

0.

INCLUDE

STRUCTURE

ZMMF013.DATA:END

OF

ITAB13.DATA:SM_FUNC

TYPE

RS38L_FNAM.DATA:LIST

LIKE

ITAB13

OCCURS

0

WITH

HEADER

LINE.DATA:

GT_DETA

LIKE

ITAB13

OCCURS

0

WITH

HEADER

LINE.DATA:I_NAMELAST

LIKE

USER_ADDR-NAME_LAST.DATA:

CONTROL_PARAMETERS

TYPE

SSFCTRLOP,

ERRTAB

TYPE

TSFERROR.DATA:

JOB_OUTPUT_INFO

TYPE

SSFCRESCL.40在程序中调用SmartForm示例——ZMMF013FORM

DISPLAY

.

CALL

FUNCTION

'SSF_FUNCTION_MODULE_NAME'

EXPORTING

formname

=

'ZMMF013'

"smartforms名字

IMPORTING

fm_name

=

sm_func

EXCEPTIONS

no_form

=

1

no_function_module

=

2

others

=

3.

IF

sy-ucomm

=

‘PRIR'.

control_parameters-preview

=

‘X'.

ELSE.

control_parameters-preview

=

''.

ENDIF.

control_parameters-no_open

=

‘X'.

control_parameters-no_close

=

‘X'.

41在程序中调用SmartForm示例——ZMMF013LOOPATITAB13

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论