表单
Form:表单版式 ,一般由页面(PAGES)、输出区域(OUTPUT AREAS即WINDOWS)、地址栏(ADRESS)、图形(GRAPHICS,比如公司LOGO)、数据(DATA)、以及文本内容(TEXT)组成。
Page节点
每一个Form至少包含一个页(Page)节点
Page节点为“Pages and Windows”的子节点,如果某个Page内容超出一页,则会将其他内容输出到Pages节点的Next Page属性所指定页面,即多出一页的内容会产生分页,一般Next Page分页默认为自己,因为一般报表的主体内容会使用分页,并且这些分页排版相同,所以此种Page的Next Page不会设置成其他Page。如果报表需要有封面与封底,则需要另外添加Page这样的节点元素
注:要注意的是,这里的Page不是一页的概念,它是指定页面的一种统称,具体输出内容由它下面子节点元素来决定,且输出内容可能会产生多页
窗口元素
页面中的包含主窗口(Main Windows)和子窗口(Secondary Windows),其中,主窗口中的数据可以在多个打印页面中可连续输出,即可跨页面(分页显示)。每个页面(PAGE)中只能包含一个主窗口,但可以有多个子窗口(分页情况下,子窗口应该在每页上都会显示,就是页眉页脚一样)。
1、一个FORM中只能定义一个主窗体;
2、不同PAGE上的主窗体必须宽度相同,但是高度可以不同;
3、一个没有主窗体的PAGE指向的下一个页面不能为它自己。
4、窗口中的模板的宽度与高度不要超过了窗口的高度与宽度,否则显示不出
5、表格式的宽度也不能比窗口的宽,否则编译时出错:
文本节点
可以把一个文本节点直接添加到下列各种类型的节点下:
1、 主窗口(Main Window):文本可能在多页中连续输出
2、 子窗口(Secondary Window):将文本确切定义在指定页中
3、 表格节点(Table):用于显示表格的内容
4、 模板节点(Template):把文本定义在静态表格的单元格中
5、 标题(Header)和脚注(Footer):用于显示表格中总计数据等
一般使用文本节点在已经定义的窗口中添加各种类型的文本元素,唯一的例外是地址类型的文本元素也可以通过Address节点来添加。SAP Smart Form中含下列类型的文本:
① 文本元素:使用Smart Form中的PC Editor在Form创建过程中编辑的新文本。
② 文本模块:独立于Smart Form,可以直接添加至Form,或参照文本模块生成Form文本元素。
③ 包含文本:已经插入设计好的SAPScript标准文本(在SO10中创建,可通过SE75查找),体现了二者之间的兼容性。
文本元素中可以直接引用系统字段:
一些常用参数:
&SFSY-FORMPAGES&:返回Form中的总页数,在一些报表中可能会出现总页数为“*”号的问题,可以考虑使用参数压缩输出字符串,例如:&SFSY-FORMPAGES(3CZ)&
&SFSY-WINDOWNAME&:返回当前窗口的名称
&SFSY-PAGENAME&:返回当前页的名称
&SFSY-PAGE&:页号/页数
图形节点
图形节点中的图片可以直接使用服务器上已有的图片,或者通过事务代码SE78先将本地图片上传到SAP服务器后再使用:
上传图片:
在表单中调用服务器中的图片:
模板节点
模板节点比表格节点要灵活,模板单元格中可以存储图片节点,可以显示图片,而不是只文本节点,另外,模板节点设置出的表格的行高是可以设置的,但表格节点是不能进行设置的。所有单元格的总宽度一定要等于事个模板的宽度,否则编辑出错
行定义中的“From”和“To”选项用于指定当前的设置应用于哪些行,行号的起始值为1,且行号不能出现间隔与重复。可以通过指定“Reference”的值将其他行的设置应用到当前行,指定引用号后,系统将自动拷贝该行的行高和列宽等设置到当前行
将文本等节点输出到模板指定的单元格位置:
注意边框线的宽度:默认为15TW。在实际工作中建议设置为20TW,用来适应针式打印机,激光打印机,喷墨打印机等。
边框宽度:因为在实际工作中所使用的打印机不一样,导致有的边框线条打印不出来,所以建议设计成20TW(为临界值)。
地址节点
地址是经常出现在各种信函中的文本,在SAPScript中,它是文本元素的一部分。通过地址的好处是保证地址是根据发信人国家的书写规范输出,使用地址节点有一个前提条件,即该用户必须具有SAP CAA的管理员权限,否则只有通过文本节点进行地址添加
效果如下:
样式
表头数据
“表头数据” 是用来设置默认的字体及段落格式,其主要属性包括如下内容:
段落及字符
创建新的“段落格式”与“字符格式”时,名称最长不能超过两位
在表单里使用样式方法如下:
SAP中的字体并非从当前操作系统的字体库所取,除了一些默认的字体外,其他类型的主题还需要在SAP中额外安装,通过SE73可以实现对字段基本属性的维护
条形码
通过“字符格式”还可以指定字段样式外,还可以定义成条形码:
先创建字符格式C3(条形码或二维码创建方法详见文章SMARTFORMS提高知识点)
在表单的文本节点中,字符格式选择C3,文本处写上需要编码的文本文本会以条形码显示:
文本模块
Text Module:文本模块,主要用于设置一段固定的文本信息,如报表头名称,或者是报表附加条款说明等信息。
创建文本模块:
在表单中调用: