第9章- 智能表单Smartforms总结
- 格式:ppt
- 大小:1.49 MB
- 文档页数:44
引言目的及范围本文档主要介绍Smarform使用方法。
可适用于ABAP开发人员,分析人员使用。
--最全参考资料《SAP程序设计》文档结构文档的各章节介绍的内容如下:∙概述整个form的属性及用法∙完整案例∙附注Smartform应用及概述Smarform主要是SAP针对商业处理中固定格外文件批量打印的一种工具。
主要分为Form、Style、Textmodule三个组成部分,此三个组成部分都可以被单独创建和重复利用(T-CODE:SMARTFORMS),下面将分别讲解三种工具的使用方法。
上传背景图片输入TCODE:SE78:选择FormGraphicsStoredonDocumentServer GraphicsGeneralGraphicsBMAPBitmapImages点击按钮导入图片图片属性,导入成功FORM创建创建界面输入T-CODE:SMARTFORMS,进入以下界面,输入Form名称:ZHZP_SM_TEST,点击Create进入编辑窗口:此窗口分为三个区域:左边区域:包括全部变量,和树形结构的节点导航。
当点击相应的节点时,中间区域将会显示该节点的属性,中间区域:维护各个节点的属性等右边区域:图形化窗口绘制,可以手动调节节点分布位置,实现节点在页面的布局点击保存并选择PACKAGE和CR节点全局设置包含表格属性,表格接口,全局定义Field按钮控制Form中参数和系统变量的显示节点介绍Form是由不同类型的节点组成。
一个Form包含了一个或者多个Page,第一个Page是Form 执行的的开始(当创建Form时,系统默认创建这个Page),下面将讲解每个节点的功能及其包含的子节点,输入区域此两种节点创建FORM时,系统默认创建一个PAGE,和一个Mainwindow不包含下级节点的节点列表输出逻辑空控制节点其他节点所有节点共同的选项创建模板:T emplate节点用于创建文档中的静态表格,即在打印前已经确认了行数。
SMARTFORMSMARTFORM是在SAPscript的基础之上产生的一种新的FORM制作方式,有一个图形界面。
主要特点:1.循环和判断在FORM中控制。
2.常常需要先在SE11中定义结构/表。
从SAPscript转为SMARTFORMTcode:SMARTFORMS,输入目标form的名称,在菜单中选择实用程序->迁徙SAPscript 表格创建SMARTFORM事务码:SMARTFORMS,选择新建表格表格属性:form的一般属性和输出选项。
包括描述、纸张大小等信息。
此处一般不做更改表格接口:当做好了一个SMARTFORM以后,如果想从ABAP程序中调用这个FORM的话,就会用到这些接口来传递参数。
要注意接口表的定义要适用于程序中的处理和SMARTFORM 的输出。
这些就是程序调用SMARTFORM时用到的参数。
除了灰色的系统定义好的参数外,可以自己添加参数单击这个按钮后,屏幕左下角会显示form接口。
SMARTFORM在接口中定义表时,需要type或like一个数据对象。
如果系统中没有合适的对象,我们可以在数据字典(SE11)中自定义一个结构,来作为表的类型。
选择“数据类型”选择“Structure”输入结构的描述,并定义结构的内容。
Component type可以参照透明表的相应定义。
对货币/数量字段,需要在“货币/数量字段”中定义单位。
定义完后激活就可以在SMARTFORM 中使用。
定义完结构以后,就可以在SMARTFORM中使用。
这里参考表中的参考字段就是前面FKIMG的单位这里ITAB的结构就和刚才定义的结构一致ITAB的结构全局定义:定义一些全局的数据,还有FIELD SYMBOLS 、初始化等。
例子里定义了两个工作区页:类似SAPscript中的页设置,设定下一页、页码格式、纸张方向、背景图片等。
窗口:设置窗口的类型、位置。
窗口类型设置窗口的位置、大小、底纹。
类似SAPscript 的位置设置在条件选项卡可以设定什么情况下输出该窗口。
智能表单系统概述文件智能表单系统概述文件一、前言随着软件应用在各行各业的深入,很多企业的业务越来越依赖IT 系统。
但是传统意义上的软件开发,费时费力,而且风险高,即使是通用的软件也有适用性和扩展性的问题,这极大制约了企业的软件应用。
智能表单系统是一个支持快速开发的软件平台,它能提供简单快捷的软件定制开发,应用它的企业用户可以在无任何编程经验的情况下,随时随意的定制任何复杂的业务模块,支持复杂灵活的业务需求。
二、系统功能简介1.系统模块拓扑图:智能表单系统表单设计器工作流设计器统计报表系统应用支持2.系统功能模块描述:功能模块描述表单设计器表单设计方式为所见即所得方式,提供用户自定义样式设计。
表单存储为XML文件。
可迁移性强。
还可对已保存的表单进行修改,且不影响已经收集的数据。
工作流程设计器采用国际标准的流程引擎。
用户可自定义工作流,通过节点和连线来自定义流程。
可配置流程与动态表单关联。
用户还可根据业务需求的变化来修改流程。
系统应用支持系统提供和集成流程引擎、表单引擎、分析引擎等,来支持完整的业务过程应用。
可驱动业务流程扭转,为用户提供代办任务,为用户分配权限保证过程的安全、业务查询统计应用和移动设备终端使用支持。
报表统计用户可通过选择数据库数据来进行一定函数的统计,提供可视化数据拖拽,并以报表的形式和多图形化来展示,以便数据的分析。
三、系统特色1.控件权限控制。
可以让多用户填写一张表单,以及控制整张表单的填写权限。
2.采用Flex4.5新技术。
摒弃传统表单设计器外观的呆板与粗糙,提供精美的可视化界面,通过使用flex实现可拖拽设计,实现控件自适应网格的布局,及高操作性的仿Excel表格控件,以及Flex强大的表现力与图形化能力以及运算能力,为用户提供视觉上与操作上的享受。
3.表单版本控制:用户可对已设计的表单进行版本控制,针对控件启用禁用,并将禁用的控件集存储在单独可拖拽模块中,使设计或修改过程中通过拖拽模式启用和禁用控件。
SMARTFORM简易手册
一个简单的SMARTFORM的程序逻辑无外是取数和打印两部分,看下面的示例
注意:上面的内表声明是直接参照了SE11里面能看到的表,也可以参照自己定义的结构,这个内表里面的值是最终需要传输到SMARTFORM里面的内表。
下面看一下SMARTFORMS里面的具体的情况。
首先我们需要定义一些基本的变量。
然后我们就要来进行布局的一些操作,
大的布局确定好了后,我们就需要对里面添加数据了
在各个窗口下,我们都可以使用逻辑语言,也可以适当加上一些自己的代码
SMARTFORM中最终输出的值,都是要以文本的形式显示出来的
以上只是阐述了基本的数值输出与大的定位,下面说一下文本上面的字体怎么来调整。
在SMARTFORM的里面上看到第二个选项样式。
下面,就是我们应用格式的时候了,看到先前看到的这个图片
最后,激活,按F8,系统就会自动生成一个FUNCTION,
现在,一个简单的SMARTFORMS就写好了。
本课目标概念及应用Smart Forms 是SAP 新一代报表开发工具,直观的图形设计界面可以使开发人员方便1-1.Smart forms概念及应用快速的完成报表开发,同时它也向下兼容SAPScript 报表.除了应用于ABAP标准的报表输出,Smartforms在WEB开发中,可以输出到HTML中.对于每个应用模块的打印,SAP都带有标准的Smart forms,我们可以通过配置或在标准报表的基础上做二次开发以此来满足实际需表的基础上做二次开发,以此来满足实际需求.1-2.Smart Forms开发示例在实际开发中,往往标准报表需要改更某些字段或完全开发一个全新的Forms,在做开发之前我们需要清楚用户需要打印的数据,打印格式,纸张大小等信息,在此基础上进步分析如何组织需要的数要清楚用户需要打印的数据打印格式纸张大小等信息在此基础上进一步分析如何组织需要的数据并完成开发.1-2-1.创建Smart formT-CODE:SMARTFORMSPATH: Tools -> Form Printout -> SMARTFORMS -Smart Forms在Form栏位输入表单的名称,点击按钮.功能按钮区导航树维护屏幕表单绘制区通过一个树开结构来组织Form上列印的元素在这个区域编辑左边树形导航结构中元素的属性可以对Page上的Window区域排版1-2-2. 表单Global Data设定如左图的树形结构,我们可以分两个部分来理解:表单的全局数据设定:表单的全数据设定1,Form Attributes:主要是这个窗体的一般属性和输出选择。
2,Form Interface:它主要用来描述这个Smart Form的接口属性,如Import、Export、Tables、Exception。
当完成一个SmartForm以后,可通过这些参数来实现同调用的程序数据沟通.以后可通过这些参数来实现同调用的程序数据沟通3,Global Definitions:主要用来定义Form内的一些全局的数据1-2-2-1. Form Attributes设定,在表单属性中要设定张大小,常用标准1,在表单属性中主要设定纸张大小,通常可选用标准的纸张,如需要通过针式打印机列印一些特殊的套打纸张,可以自已定义实际纸张大小的类型.2,设定每英显示的字符或线3,格式化样式设定.4,输出类型设定输出类型设定1-2-2-2. Form Interface1222F I t fForm Interface中设定调用程序同Form传递数据的接口,本例中设定在Import中调用程序需传递两个内表(SO表头及项目行)在Forms的Interface包括以下内容:1,Import:调用程序传输的参数2,Export:返回参数3,Tables:返回内表3Tables:返回内表4,Exceptions:返回异常灰色部分为系统变量(如对打印机参数设定)在此可定义调用程序传到Smart form的自定义参数(可以是内表,工作区或单个值),在本例中我们传输相关的销售单的表头及行项目内表如上例:如何建立在传递数据时用到的表格类型ZT_VABP/ZT_VBAK如上例如何建立在传递数据时用到的表格类型ZT VABP/ZT VBAKT‐CODE:SE11选择Data Type并输入表类型名称选择Table Type选择”Table Type”在此输入Data Structure或表名在声明表格类型时,我们有两种方法:1,在Interface中传递(SAP标准,本例中采用)2,可不用在SE11中定义表格类型,也不用在Interface中定义传输的数据结构(此种方法优于第一种,但代码量相对输大)1-2-2-3. 全局数据定义(Global Definitions)1223全局数据定义(Gl b l D fi iti)在这个部分定义的工作区,内表,过程或字段都是应用在本张Form中,定义全局数据定全局参数用到的数据类型定义字段符号初始化Forms,可以在此对全局参数做一些计算在Form中定义特殊的过程定义Form中用到的货币或数量字段定义Forms用到的工作区本例中只定义两个工作区,用来实现在扫描内表时,通过工作区将数据填放到Smart form中的各个窗体元素中.13建立P 和Wi d1-3.建立Page和Window.右图区域内显示了Smartform 中相关的显示元素图形编辑器标尺同SAPScript 一样,一个Form 可以Pages 图形模式下,可方便的对Window调整大小有多个Pages,每个Page 最多只能有一个Main Window1-4.更改Page的属性.14更改P的属性重要属性:设定当前Page的下页,通常同Form中有设定当前Page的下一页通常同一Form中有多个Page要交互列印时用到此设定列印的方向,及列印模式如果要在页面中加水印效果或在Page的背景中放置图片在此设定参数景中放置图片在此设定参数.1-5.添加Window15添加Wi d(1)(2)() (1).建立两个Window,分别用来填写标题和报表头.(1)建立两个Window分别用来填写标题和报表头(2).可以在图形设计器中改变大小及位置Window的属性:General Attributes:设定Window的类型Output Options:设定Window样式,位置/大小,颜色等Conditions:输出的或换页的条件在Window中放入Text元素,以输出动态或静态的文本在Wi d中放入T t元素以输出动态或静态的文本1),在文本框中输入要显示的静态文本或动态文本(可以工作区字段或变量)同时可以设定显示的格式,在Header Window中放入个Template在Header Window中放入一个Template每个Template作为一个模板,在上面可以方便定义出复杂的显示格式,如:显示表格,文本,图象等资料.编辑模板显示格式(1)(2)()(3)(4)如左图,在模板上输出4们栏位的文本加上标签应是8个单元的文本,加上标签应是8个单元(1),模板上每个单元的外框样式(2),点选Details,可以编辑模板上每个单元格的大小如果有几行的格式完全一样,可以将此行设成相同格式的名称(3),模板编辑,点击可以方便的绘制需要的格式.在模板中放入文本并和单元格关联.在模板中建立文本输出比较重要的参数是Output Options中Line/Column设定,用来定位文本显示在模板上哪个单元格中文本的显示内容点击出现如下可引用的变量标签文本值拖1-7.在Main Window建立一个Loop循环17在M i Wi d建立个L循环在Smart forms中Loop和Table元素的数据属性相近,都有Data/Calculations/Conditions从内表中提取数据并放入工作区中,这些工作区中的数所可放入下层的Loop或Table条件中,也可做为最终的文本输出指定提取内表数据时的条件Field Name:工作区字段名Comparison Value:筛选的值(可以是实际值或变量)指定从内表提取出来的数据排序方式在Calculations中可以指定某些字段在扫描内表时计算总计或平均数并将结果放到一个变量1-8.在Loop循环下放置一个Table在Data部分扫描SO项目行资料,同时条件值来自外层Loop循环的SO#,这样可以做每个SO表头和项目行数据对应.Table属性部分:可能通过画笔绘制出格式复杂不同的表格,并将这些Line分配给Table的Header,Item或Footer等元素.213选择刚刚绘制行类型,系统将自动建立每个单元.每个单元为每个单元格分配显示文本调试结果调试结果为Body指派行类型如下图运行结果:在每单元下建立一个文本,并将对应的字段放到文本中有时我们需要将字符前面的0去掉,或将数字转换成字符串并去空.在第一个Cell中加入程序行.这样每次循环时都会运行到这里在Global Form Routines中加入转换过程,这样中的任何位使用Smartform中的任何位置可以使用它调整后的运行结果加入换页命令在Command的GeneralAttributes中指定换页后的下一Page在一些实际开发中我们需要在Form中放在些实际开发中,我们需要在Form中放入公司Logo或直接提取供应商或客户地址从变量传入地址编号放入图象名称123测试结果,在实际编程应用中可用到这些技术点4直接提取文本内容(如:本例直接在Smartform中提取SO表头资料的长文本)SO的表头长文本SMART FORM设定测试结果110如何在P 中调用S tf1-10.如何在Program中调用Smartform CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'EXPORTING 'ZEXP 1'CALL FUNCTION FORM_NAMEEXPORTING page total page totalformname ='ZEXP_1'IMPORTING fm_name =FORM_NAME EXCEPTIONS no_form =1no_function_module =2page_total =page_total report_type =report_type control_parameters =ctrl_paramoutput_options =output_options user_settings =spaceVBAK =ITAB_VBAK[]12OTHERS =3.VBAP =ITAB_VBAP[].1),通过SSF_FUNTION_MODULE_NAME 调用smartform,会返回一个Funtion Module 名称.2),根据返回的FM 名称,执行打印.相关参数说明:如上图2,VBAK 和VBAP 是在Smartform 的interface 中定义传输打印数据的接口.Control_parameters 和output_options :定义印选项控制的参数设定,如下图中界面中的参数可以通过这两个参数来设定.2-1.配置模块列印参数21配置模块列印参数开实际应用中,我们需要配置模块中标准的列印输出参数,例如更改标准的程或自动列印等,本节以配SO列印为例:T‐CODE:NACE(也可在IMG中单独对每个模块配置)Development‐> SAP Business Workflow ‐> Definition tools ‐> Events ‐> Event creation ‐> NACE ‐Message Control定义输出条件定义应用程序输出处理过程定义输出的类型定义程序访问的条件应用程序区域2-2.定义输出类型22定义输出类型|2-3.添加处理程序23添加处理程序如左图:1,输入程序名称:可以是自定义也可以从标准程序复制以从标准程序复制2,指定程序中处理打印的过程3,输入报表名称并选择报表类型输入报表名称并选择报表类型为Smartform2-4.定义伙伴功能2-5.添加打印处理过程点选NAST主界面上的”Procedures”,添加刚刚新建的输出类型.2-6.输入列印条件记录26输入列印条件记录2-7.测试123测试结果小结通过本课的学习,期望能清楚以下内容:1,Smart form工作模式.1Smart2,Smart form全局参数定义.3,Smart form Text,Address,Inculde Text, Graphic 的用法.4,Smart form Loop,Table的用法.5,Smart form Window,Template的用法.6,如何将上述3,4,5结何开发出复杂的Form.Invoice DateInvoice#练习:请跟据前面所学的内容开发一个列印发票的FormDELIVERY ADRESS INVOICING ADRESS DELIVERY ADRESSINVOICING ADRESSName Name Adress 1Adress 1Adress 2Adress 2Adress 3Adresse 3P t l C d Postal Code Postal Code Postal CodeCountryCityCountryCity Invoice#:xxxxxxxxxxTax Code:Page:NITEM #PRODUCTION DESC InvoicedQuantityUNIT NET PRICE TAX VALUE DISCOUNT NET VALUEDUE DATEPAYMENTTERM INVOICE DATE DISCOUNT AMOUNT TAX AMOUNT PAYMENT AMOUNT。
SAP SmartForms1. 简介SAP SmartForms是SAP系统中用于创立和打印业务文档的工具。
它提供了一种简单且直观的方式来设计和生成表单,例如发票、订单确认和交货单等。
SmartForms允许用户使用图形和文本来自定义表单的外观,并且可以与SAP系统的数据源进行集成,自动填充表单的内容。
2. 特性2.1. 可视化设计工具SAP SmartForms提供了一个可视化的设计工具,允许用户通过拖拽和放置的方式来创立表单。
这个工具非常直观和易于使用,使得用户无需具备编程知识也能够轻松创立自定义的表单。
2.2. 丰富的内容类型支持SmartForms支持多种内容类型,包括文本、图像、表格、条形码和二维码等。
用户可以根据自己的需求选择适宜的内容类型,并自由地调整它们的大小和位置。
2.3. 数据源集成SmartForms可以与SAP系统的数据源进行集成,自动填充表单的内容。
用户可以根据需要选择所需的数据源,并将其与表单中的字段进行映射。
这样,在打印表单时,SmartForms会自动从数据源中获取数据,并填充到表单的相应位置。
2.4. 条件逻辑SmartForms支持条件逻辑,允许用户根据特定条件显示或隐藏表单的某些局部。
这样可以根据不同情况动态地调整表单的内容。
2.5. 多语言支持SmartForms支持多语言,在设计表单时可以为不同语言创立对应的文本和标签。
这样,当打印表单时,系统会根据用户的语言设置自动选择相应的文本和标签。
3. 使用步骤3.1. 创立一个新表单在SAP系统中,翻开SmartForms的设计界面。
选择。