Smartform 介绍-程序员宅基地

技术标签: SAP  Smartforms  杂项  

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的博客-程序员宅基地

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的博客-程序员宅基地_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的博客-程序员宅基地_se78上传图片

地址节点 Address:没用到过。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42646630/article/details/113130636

智能推荐

html:(36):间距和对齐_水平间隔对齐、内容间隔对齐html-程序员宅基地

文章浏览阅读551次。段落排版--中文字间距、字母间距中文字间隔、字母间隔设置:如果想在网页排版中设置文字间隔或者字母间隔就可以使用 letter-spacing 来实现,如下面代码:h1{ letter-spacing:50px;}...<h1>了不起的盖茨比</h1>注意:这个样式使用在英文单词时,是设置字母与字母之间的间距。<!DOCTY..._水平间隔对齐、内容间隔对齐html

json_decode中转换大数值问题_json_bigint_as_string-程序员宅基地

文章浏览阅读2.7k次。当json内数值如18446744073709551615 这个数值这么大的时候json解析后会返回float(1.844674407371E+19)这不是我们期望的,好在php5.4+带了一个选项在decode的时候,加上JSON_BIGINT_AS_STRING大数值会转成string类型json_decode($output,true , 512 , JSON_BIGINT_AS_S_json_bigint_as_string

Linux中vim查看文件某内容_linuxvim查找文件内容-程序员宅基地

文章浏览阅读3.3k次。光标会跳转到文件的第n行。例如 66gg 或 66G,光标会跳转到第66行。正常模式下,在文件内直接输入 ngg。_linuxvim查找文件内容

将音频降采样至16k,16bit,立体声(双声道)改为单声道_前端录音功能实现 单声道 16k-程序员宅基地

文章浏览阅读3.1k次。音频处理、采样率,位深度,声道等等修改_前端录音功能实现 单声道 16k

Spring杂谈 | 从桥接方法到JVM方法调用_jvm 桥接方法-程序员宅基地

文章浏览阅读2.1k次,点赞13次,收藏19次。前言之所以写这么一篇文章是因为在Spring中,经常会出现下面这种代码// 判断是否是桥接方法,如果是的话就返回这个方法BridgeMethodResolver.findBridgedMethod(specificMethod);这些代码对我之前也造成了不小疑惑,在彻底弄懂后通过本文分享出来,也能减少大家在阅读代码过程中的障碍!桥接方法什么时候会出现桥接方法?第一种情况:方法重写的时候子父类方法返回值不一致导致public class Parent { public Number _jvm 桥接方法

树莓派4调用CSI相机_树莓派4b buster使用csi3-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏8次。1.根据需要,下载anaconda资源官网下载,我这里下载的是python3.7的2.bash执行一下刚下好的文件bash anaconda-x86.shList item执行过程中遇到问题,可能是缺少一个bunzip2模块,用yum安装一下sudo yum apt-get install bzip2List itemyum使用过程中遇到问题,显示line 30ex..._树莓派4b buster使用csi3

随便推点

【文末送书】如何解决大模型的「幻觉」问题?-程序员宅基地

文章浏览阅读2.8k次,点赞121次,收藏40次。在机器学习领域,大模型「幻觉」指的是对于模型规模与性能之间关系的一种误解或错误认知。这种现象常常出现在对模型大小和性能之间关系的认知上,即认为更大的模型一定能够取得更好的性能。造成大模型「幻觉」的原因大模型「幻觉」产生的原因有几个方面。首先,大型模型通常会在特定任务或数据集上表现出色,这导致人们倾向于认为更大的模型一定意味着更好的性能。其次,一些报道和研究专注于大型模型的突破性性能,这加强了这种认知偏差。另外,缺乏对模型训练和评估过程的深入理解也会导致对模型规模与性能关系的错误认知。解决该问题的方法。

Spring Boot使用JPA多条件查询mysql_crudrepository 条件查询-程序员宅基地

文章浏览阅读1.7w次,点赞3次,收藏12次。我们在上一章节已经学习了Spring Boot中使用mysql数据库的读取功能。 Spring Boot中使用mysql数据库本章节来学习一下使用JPA如何多条件查询mysql。我们一开始继承的CrudRepository接口支持一些简单的查询,以及在Repository接口中增加一些方法,例如:List&amp;lt;Person&amp;gt; findDistinctPeopleByLas..._crudrepository 条件查询

MyBatis介绍及教程-程序员宅基地

文章浏览阅读1.4k次。MyBatis简介MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。MyBatis的优缺点优点:简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习_mybatis

geohash算法原理及实现方式 1 geohash特点_geohash索引的基本思想及其特点。-程序员宅基地

文章浏览阅读520次。geohash算法原理及实现方式 1 geohash特点_geohash索引的基本思想及其特点。

Shader实现瓶内液体效果_liquid shader-程序员宅基地

文章浏览阅读6.3k次,点赞7次,收藏53次。话不多说,先上图…需求:1.液体效果可变色。2.液体透明有折射效果。3.适应各种容器形状。4.随移动幅度进行抖动。实现思路:一、水平面的实现这个是比较简单的,设定一定的高度,有超过此高度的则进行一个片原舍弃。但片元的高度的本地的坐标,真实对比的高度是世界坐标,因此这里需要有一个坐标的转换的操作。设定一个值即当前点的裁剪的世界坐标高度,由外面的脚本传进来。然后每个片元高度转成世..._liquid shader

VsCode编辑器设置自动保存_vscode点击编辑器保存自动刷新vue配置-程序员宅基地

文章浏览阅读750次。VsCode编辑器设置自动保存,便于修改代码后文件在发生改变后进行保存,便于vue项目的热加载vscode编辑器工具栏找到 文件->首选项->设置会出现下面图片中的弹框..._vscode点击编辑器保存自动刷新vue配置

推荐文章

热门文章

相关标签