Smartform 介绍

Smartform是 SAP用来打印单据的一种可视化技术,可以在程序中调用,Smartform中除了可以设计格式之外还可以添加代码。

Smart forms 是 SAP Script form的基础上产生的新的表单制作工具,但是smart forms 使用更加方便,会直接生成功能块( function module),ABAP程序中调用更加方便。

注意:中文环境下创建的 form 一般只能在中文环境下打开,英文环境下的节点可能打不开。

事务:smartforms。

组成:form通常是由 页面( pages ),窗口( windows ),地址栏( Address),图形( graphics,logo等 ),数据(data),文本内容等( text )

文本模块 ( Text Module )

 一段固定的文本信息,表头、或者附加条款说明,可以在form中直接引用。

Smartform Style:设置字体、段落、抬头。(包括定义条形码)

1、 字体 Charactor Formats

设置字体大小、字体族、字体样式( 粗体、斜体、下划线、颜色 )、输出位置、条形码

   

style中的长度单位:

TW ( twip ) 、PT( point)磅、IN( inch )、MM( millimeter )、CM( centimeter )、LN( line )、CH(  character)。 

转换关系: 1IN = 2.54 cm = 25.4mm =  72 PT = 1440TW

sap 的字体不是从当前系统获取字体库,除了默认字体,其他的需要在SAP中额外安装,然后通过SE73实现对字段属性的基本维护。

注:条形码的创建可以参考:条形码管理 SE73 Bar code开发_SAP小白kenny的博客-CSDN博客

2、段落格式 paragraph formats

设置段落格式:左对齐、右对齐、居中对齐,缩进、行间距、字体格式等、

注意:可以通过改变行间距控制 smart forms 的table控件的行高。

  

3、抬头数据 Header Data

设置style的默认类型。

Form 表格:

由 页面( pages ),窗口( windows ),地址栏( Address),图形( graphics,logo等 ),数据(data),文本内容等( text )。

全局设定 global settings:

表格属性 forms attributes :

form 纸张大小、使用的Smart Style

注:如果需要自定义纸张类型,可以参考:SAP 定义打印机纸张类型_SAP小白kenny的博客-CSDN博客_sap打印机纸张设置

如果系统自带纸张类型不满足需要,还可以自定义纸张类型。

表格接口 forms interface :

Smart forms 生成的function module的参数。

全局定义 global definitions

如果需要在smart forms内部添加逻辑,则需要在这里定义全局变量,如果有数字、金额栏位,还需要在这里定义。

核心部分在页和窗口:

节点元素:

form 中元素的输出顺序在page的先后顺序决定,系统会自动创建一个初始页。节点类型决定节点的处理过程:打印节点内容( 文本、图片、地址 ),执行节点的语句,另外所有节点的可以增加条件属性,当满足条件子节点才会处理。

Page 节点:

每个form至少有一个page,当page的内容超过一页,会自动输出到page节点指定的next 所指定的 next page,一般下一页都是自己,除非要有单独的一页封面和封底。

下一页除了可以通过next page来设置,还可以通过 command 命令控件指定。

窗口元素:

页面中包含主窗口 main windows 和 子窗口 secondary windows,主窗口可以连续打印,既可以分页显示,每个页面( page )只可以有一个主窗口, 但可以有多个子窗口。分页情况下子窗口每页都会显示,相当于页眉页脚。

窗口中模版的宽高度不能超过窗口的宽高度,同样表的宽高度也不能超过,否则显示不出。

文本节点:

文本节点一般是在已经定义的窗口中添加各种类型的文本元素,同样地址类型的文本元素可以直接通过Address节点添加,

smart forms包含以下文本类型:

文本元素:form中直接创建的编辑文本,

文本模块:独立于smart forms,可直接添加的文本,

包含文本:可直接插入的script 标准文本,可通过SE75,

动态文本:可绑定全局变量的文本

主窗口 main windows:可在多页连续输出。

子窗口 secondary windows:文本确定在制定页。

表格节点 table :用于显示表格的内容。

模板节点 template :把文本定义在静态表格的单元格中,

标题 header 和 脚注 footer:用于显示表格的总计数据。

事件 event 用于显示表格的小计数据。

table和template等节点可以控制边框,边框的默认宽度是15TW,但是实际工作建议20TW,用来适应针式、激光、喷墨打应机。15TW在某些时候可能打不出来。

table和template的区别:

1、table是动态表格,template是静态表格,template + loop 可以达到动态格式

2、template可控制行高,table不能直接控制行高,需要在smart style的段落中设置行间距,同时将无换页属性打上

3、template是固定长度,超过会截断,table会自动换行。注:table中如果自动换行行数超过一定程度会报错。

TABLE节点的循环问题:

table节点分为表头 header,主要区域 main area,脚标 footer,其中循环只是存在于主要区域,所以表头、脚标是每页会执行一次。

图片节点 graphic :

图片节点经常会用来展现一些Logo,但是必须在SE78中预先上传,可以参考:SE78、SMW0 上传图片_SAP小白kenny的博客-CSDN博客_se78上传图片

地址节点 Address:没用到过。

  • 4
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值