您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > SmartForms最全开发手册---最全
1引言1.1目的及范围本文档主要介绍Smarform使用方法。可适用于ABAP开发人员,分析人员使用。--最全1.2参考资料《SAP程序设计》文档结构文档的各章节介绍的内容如下:概述整个form的属性及用法完整案例附注2Smartform应用及概述Smarform主要是SAP针对商业处理中固定格外文件批量打印的一种工具。主要分为Form、Style、Textmodule三个组成部分,此三个组成部分都可以被单独创建和重复利用(T-CODE:SMARTFORMS),下面将分别讲解三种工具的使用方法。3上传背景图片输入TCODE:SE78:选择FormGraphicsStoredonDocumentServerGraphicsGeneralGraphicsBMAPBitmapImages点击按钮导入图片图片属性,导入成功4FORM创建4.1创建界面输入T-CODE:SMARTFORMS,进入以下界面,输入Form名称:ZHZP_SM_TEST,点击Create进入编辑窗口:此窗口分为三个区域:左边区域:包括全部变量,和树形结构的节点导航。当点击相应的节点时,中间区域将会显示该节点的属性,中间区域:维护各个节点的属性等右边区域:图形化窗口绘制,可以手动调节节点分布位置,实现节点在页面的布局点击保存并选择PACKAGE和CR节点全局设置包含表格属性,表格接口,全局定义表格属性Form的基本属性,包括创建信息和输出参数表格接口包含Form的标准参数和自定义参数,用于与调用程序交互全局定义定义用于整个Form的变量,类型,初始化,单位等Field按钮控制Form中参数和系统变量的显示4.2节点介绍Form是由不同类型的节点组成。一个Form包含了一个或者多个Page,第一个Page是Form执行的的开始(当创建Form时,系统默认创建这个Page),下面将讲解每个节点的功能及其包含的子节点,4.2.1输入区域节点类型描述可能包含的下级节点Page(页面)页面Window,graphic,addressWindow(窗口)一个页面的输出区域:包含三种类型:Mainwindow,Secondarywindow,Copieswindow,FinalwindowWindow是所有数据的输出区域。你可以在FormPainter中设置它的大小和位置。MainWindow和SecondaryWindow。一个Form中只有一个MainWindow,且在创建Form时系统默认已创建除page和window以外的所有节点此两种节点创建FORM时,系统默认创建一个PAGE,和一个Mainwindow4.2.2不包含下级节点的节点节点类型描述Text(文本)通过此节点可以打印除过地址外所有文本Graphic(图形)通过此节点可以加入图片Address(地址)通过此节点可以处理地址,当打印时,系统会直接读取地址数据并格式化4.2.3列表输出节点类型描述可能包含的下级节点Template(模板)通过此节点打印固定数据表格除Page、Window、Template、TableTable(表格)通过此节点打印动态数据的表格创建此类型的节点,系统会自动创建三个节点:Header,MainAreaandFooter。LOOP,FOLDER,TABEL节点可以备用Tableline(表行)通过此节点打印Tableh或者Template中的一行TablecellTablecell(单元格)根据行类型打印单元格与Temlate共存OldtablenodeRelease6.10之前的功能,现在不能创建,只能修改已存在的与Temlate共存4.2.4逻辑空控制节点节点类型描述可能包含的下级节点Command(命令)通过此节点执行特殊的命令(下一页、段落、打印机控制)Loop(循环)通过此节点重复处理它包含的子节点除Page和Window所有节点Alterantive(可选的)设置条件,分支选择系统默认两个节点:True和False.他们下面可以包含除Page和Window所有的节点4.2.5其他节点Folder(文件夹)通过此节点可以实现逻辑单元的封装除Page和Window所有节点Programlines(程序行)通过此节点执行ABAP语句所有节点共同的选项GeneralAttributes(一般属性)节点的描述或者内容OutputOptions(输出选项)位置、样式、方框、阴影等属性,还有其他的一些输出属性Conditons(条件)如果条件为真,显示节点4.3创建模板:Template节点用于创建文档中的静态表格,即在打印前已经确认了行数。如果打印的行数不确定,需要用Table节点或者Loop循环Template输出,以下为创建过程:鼠标右键-创建-模板点击创建后出现模板的属性设置界面,有三个页签:页签功能描述Templage(模板)设置阴影、边框和行类型OutputOptions(输出选项)打印时的样式、边框、阴影等Conditons(条件)条件满足则执行此节点及其下级节点这里最重要的是行类型的设置,它代表了表格中一行数据的样式(比如多少个单元格,每个单元格长度宽度,边框等),可以设置设置不同的行类型。点击修改笔可以直接在白色编辑区域直接画,也可以点击细节直接输入数据。点击细节画面.注意字段“参考“是引用另一行样式设置,则不需要再重新设置样式:系统提供了很多打印样式,可以选择,也可以自己设置样式,具体设置详见下一章节介绍。条件页签:此节点执行条件:只有满足了设置了条件,才能执行此节点及它包含下一节点的内容额外属性:设置的事件将会执行4.4创建文件夹鼠标右键-创建-文件夹有两个页签,功能同创建模板的一样4.5创建文本Text输出文本,有四种类型,一般情况下选择E或者M类型即可类型功能描述备注DDynamicType(动态文本)此种类型在Netweaver7.0中没有介绍ETextElement(文本元素)创建新的文本支持静态和动态IIncludeText(包含文本)引用SAPscriptTextsMTextModule(文本模板)引用TextModule鼠标右键-创建-文本有四个页签,其中“输出选项和”条件“同以上两种节点。针对文本节点,在输出选项需要特殊处理:设置行与列的位置,可参考在模板中设置的行类型。详见下图设置文本类型类型为文本元素;可以直接输入要显示/打印的内容,如Airline,也可以动态数据输出,则需要点击“添加“按钮注意:字段前后需要增加符号“&“4.6执行SMARTFORMSForm创建成功并激活后,系统自动生成一个FM.执行FM可以预览结果并打印。手动执行此FM或者程序调用这个FM实现执行Form的功能。程序调用将在案例中讲解,此处讲解执行执行FM.F8或者点击执行按钮生成的FM:执行FM,可以选择打印机,并提供打印预览和直接打印的功能4.7创建smartforms样式Smartforms的样式主要就是定义一些字体,颜色,字体大小一些对齐方式什么的,然后段落的格式,首先输入TCODE:smartforms进入创建smartforms的界面。如图:点击创建之后进入样式创建界面样式中分三部分,表头,段落,字符,我们可以针对自己想要的样式来定义一些,然后用与smartforms中,三部分的解释如下:页签功能描述备注表头数据表头数据,包括标准配置和管理创建时系统默认显示此页签段落格式段落格式,可以段落设置字符格式字符格式,可以字体设置4.7.1创建表头数据创建Style时系统默认显示配置表头数据页签功能描述备注标准设置标准设置,可以针对字体,默认标准段落,及预览效果其中标准字段需要设置下面创建的段落格式,否则不能激活管理管理信息,主要显示谁创建什么时间创建然后创建段落的格式有左对齐,右对齐,居中的完后需要回到表头数据中把标准段落填上,不然无法激活点击保存,激活,这样样式就是初步完成,后面根据samrtforms中的应用情况做想应得调整.5文本模块创建文本模块作为Form中节点文本一个类型,维护了它,则可以多个Form共同使用,提供Form创建的效率。两个页签组成:页签功能描述备注文本输出文本管理样式选择,翻译(国际化)及创建信息同创建文本一样,可以动态和静态类型6案例6.1案例描述以下是客户预订航班清单,要求只有第一页有表头。我们将依次案例创建Form。航空公司航班航班日期客户预定日期票价AA00172011.08.31000037292011.06.09803,58............................................................................输入Tcode:SMARTFORMS,创建Form:zhzp_sm_test系统默认生成Page和Window进入维护界面:6.2设置背景图片在PAGE1中可以设置背景图片6.3创建接口参数I_CARRID,I_CONNID,I_FLDATE,I_FLAG为查询条件:航空公司,航班,日期,输出方式标识如果有要输出的数据可以在EXPORT中定义,如输出或输入有表格则可以通过Tables定义,这里我们只定义四个个查询输入参数,取数逻辑由于简单就放到smartforms中来实现了。6.4创建全局变量全局变量GT_SBOOK用于保存预订的航班清单,GW_SBOOK用于循环处理时工作区。GV_TABIX用于流程控制,后面将讲到。6.5创建节点程序行:此处写代码获取要打印的航班清单。当然,要打印的数据可通过接口传,这里只是为了演示节点的创建过程。输入参数,输出参数,代码段6.6创建节点可选条件这里创建这个节点是用于碰到打印输出是以表格还是模板6.7TURE节点下创建节点循环循环处理航班清单6.8循环下创建节点程序行:用于实现第一页有表头的条件判断。6.9创建节点模板(Template)此节点需要创建在Loop下。并设置每行的样式,可以设置很多不同的,这里我们简单设置一种6.10模板下创建可选择节点条件设置:只有第一行才执行打印表头6.11创建文本在可选的节点的True节点中创建,此处将创建表头False中创建内容另外还有一点比较重要就是行列的设置6.12最终的节点分布6.13创建表格(table)节点这类型的创建,我们讲解的时候再创建.6.14程序调用FormFM:SSF_FUNCTION_MODULE_NAME获取Form生成的FM,动态调用此FM代码如下:REPORTzhzp_call_sm_sbook.DATA:lv_fm_nameTYPErs38l_fnam.DATA:control_parametersTYPEssfctrlop.DATA:output_optionsTYPEssfcompop.PARAMETERS:p_carridTYPEs_carr_id,p_connidTYPEs_conn_id,p_fldateTYPEs_date,p_flagTYPEflagDEFAULT'X'.control_parameters-no_dialog='X'.control_parameters-preview='X'.output_options-tddest='LONP'.*获取Form生成的FMCALLFUNCTION'SSF_FUNCTION_MODULE_NAME'EXPORTINGformname='ZHZP_SM_TEST'Form的名称IMPORTINGfm_name=lv_fm_nameEXCEPTIONSno_form=1no_function_module=2OTHERS=3.IFsy-subrc0.MESSAGE'TheFormisnotexit'TYPE'E'.ENDIF.*执行Form生成的FM进行打印
本文标题:SmartForms最全开发手册---最全
链接地址:https://www.777doc.com/doc-5063066 .html