SAP 讲解史上最牛smartforms


Smart Forms. 1
文本模块... 2
节点元素... 3
Page节点... 3
窗口元素... 4
文本节点... 4
图形节点SE78. 5
模板节点... 6
地址节点... 7
样式... 7
小技巧:查看Form生成的函数... 9
SmartForm强制分页(抬头、项目表都显示)... 9
打印参数控制... 14
一次性输出多张报表... 15
SmartForm转PDF乱码问题... 15
定义打印机纸张类型... 16
Table节点循环问题... 19
ScriptForm转PDF并发送邮件... 19
SmartForm转PDF. 20
Smartform中多套页面之间的跳转(强制分页)... 22
smartform输出格式(输入类型)设置... 24
修改Smartform对象所在的包... 26
ScriptForm导出与导入、拷贝... 26
ScriptForm中调用Form.. 27
在程序中改变ScriptForm的起始页... 27
为ScriptForm增加后继页面... 28
Script\SmartForms使用禁用Word编辑器
Smart Forms
Smart Forms是在SAPScript的基础上产生的一种新的表单制作方式,它完全兼容SAPScript。但Smart Forms 更独立,且使用起来更加方便,可以创建FORM的同时,生成该表单对应的功能块(Function Module),从而为FORM和ABAP程序的交互提供参数接口
在中文环境下创建的Form,一般只在中文环境下打开来编辑,在英文环境中中文文本节点可能显示不出
事务码:SMARTFORMS

Form:表单版式            
Style:文本样式            
Text Module:文本模块
一个FORM往往是由页面(PAGES)、输出区域(OUTPUT AREAS即WINDOWS)、地址栏(ADRESS)、图形(GRAPHICS,比如公司LOGO)、数据(DATA)、以及文本内容(TEXT)组成
文本模块
Text Module:文本模块,主要用于设置一段固定的文本信息,如报表头名称,或者是报表附加条款说明等信息。
 

像下面这此使用:

节点元素
FORM中元素的输出顺序由Pages and Windows中的后继节点结构和顺序来决定,导航树中的第一个页节点是FORM处理的起始页,该节点在FORM创建过程中被自动创建。
节点类型决定了节点可能的处理过程,如打印节点内容(文本、地址、图片等)、执行节点中的语句或根据规则执行当前节点的后继循环节点。
导航树中的所有节点,按照从上到下的顺序依次进行处理(包括“Pages and Windows”节点之间)
除开“Pages and Windows”外,其它所有节点都是可以加上执行条件属性设置的,也就是说,只要满足设置条件时,该节点及子节点才被处理
Page节点
每一个Form至少包含一个页(Page)节点
Page节点为“Pages and Windows”的子节点,如果某个Page内容超出一页,则会将其他内容输出到Pages节点的Next Page属性所指定页面,即多出一页的内容会产生分页,一般Next Page分页默认为自己,因为一般报表的主体内容会使用分页,并且这些分页排版相同,所以此种Page的Next Page不会设置成其他Page。如果报表需要有封面与封底,则需要另外添加Page这样的节点元素
注:要注意的是,这里的Page不是一页的概念,它是指定页面的一种统称,具体输出内容由它下面子节点元素来决定,且输出内容可能会产生多页

每Page页面除了通过Next Pag静态属性来设置下一页外,还可以在通过COMMAND节点的Go to New Page属性来设置,当然,这种页面跳转是有条件的,所以COMMAND一般放在CONDITION条件节点里使用:

窗口元素
页面中的包含主窗口(Main Windows)和子窗口(Secondary Windows),其中,主窗口中的数据可以在多个打印页面中可连续输出,即可跨页面(分页显示)。每个页面(PAGE)中只能包含一个主窗口,但可以有多个子窗口(分页情况下,子窗口应该在每页上都会显示,就是页眉页脚一样)。
一个FORM中只能定义一个主窗体;
不同PAGE上的主窗体必须宽度相同,但是高度可以不同;
一个没有主窗体的PAGE指向的下一个页面不能为它自己。
窗口中的模板的宽度与高度不要超过了窗口的高度与宽度,否则显示不出
另外,表格式的宽度也不能比窗口的宽,否则编译时出错:
 

文本节点
一般使用文本节点在已经定义的窗口中添加各种类型的文本元素,唯一的例外是地址类型的文本元素也可以通过Address节点来添加。SAP Smart Form中含下列类型的文本:
①文本元素:使用Smart Form中的PC Editor在Form创建过程中编辑的新文本。
②文本模块:独立于Smart Form,可以直接添加至Form,或参照文本模块生成Form文本元素。
③包含文本:已经插入设计好的SAPScript标准文本(在SO10中创建,可通过SE75查找),体现了二者之间的兼容性。
可以把一个文本节点直接添加到下列各种类型的节点下:
1、 主窗口(Main Window):文本可能在多页中连续输出
2、 子窗口(Secondary Window):将文本确切定义在指定页中
3、 表格节点(Table):用于显示表格的内容
4、 模板节点(Template):把文本定义在静态表格的单元格中
5、 标题(Header)和脚注(Footer):用于显示表格中总计数据等
6、 事件(Event)节点:用于显示表格的小计数据

有以下系统字段可以直接引用
 

&SFSY-FORMPAGES&:返回Form中的总页数,在一些报表中可能会出现总页数为“*”号的问题,可以考虑使用参数压缩输出字符串,例如:&SFSY-FORMPAGES(3CZ)&
&SFSY-WINDOWNAME&:返回当前窗口的名称 

&SFSY-PAGENAME&:返回当前页的名称

&SFSY-PAGEBREAK&:触发分页后该字段被赋值为 X
图形节点SE78
图开节点中的图片可以直接使用服务器上已有的图片,或者通过事务代码SE78先将本地图片上传到SAP服务器后再使用:

模板节点
模板节点比表格节点要灵活,模板单元格中可以存储图片节点,可以显示图片,而不是只文本节点,另外,模板节点设置出的表格的行高是可以设置的,但表格节点是不能进行设置的。

所有单元格的总宽度一定要等于事个模板的宽度,否则编辑出错

行定义中的“From”和“To”选项用于指定当前的设置应用于哪些行,行号的起始值为1,且行号不能出现间隔与重复。可以通过指定“Reference”的值将其他行的设置应用到当前行,指定引用号后,系统将自动拷贝该行的行高和列宽等设置到当前行
将文本等节点输出到模板指定的单元格位置:

注意边框线的宽度:默认为15TW。在实际工作中建议设置为20TW,用来适应针式打印机,激光打印机,喷墨打印机等。
边框宽度:因为在实际工作中所使用的打印机不一样,导致有的边框线条打印不出来,所以建议设计成20TW(为临界值)。

地址节点
地址是经常出现在各种信函中的文本,在SAPScript中,它是文本元素的一部分。通过地址的好处是保证地址是根据发信人国家的书写规范输出,使用地址节点有一个前提条件,即该用户必须具有SAP CAA的管理员权限,否则只有通过文本节点进行地址添加
样式<

你可能感兴趣的:(人工智能,操作系统)