SAP 脚本教程:SE71、SE78、SCC1、VF03、SO10

SAP Script 是 SAP 系统自带的文本处理系统。它的外观和使用感受与其它主流文本处理系统非常相似。

它用于在预格式化的表单中打印预格式化的文本。

SAPScript 的组件

SAP Scripts 主要由五个组件构成

Components of SAPScript

  1. 一个用于输入和编辑文本行的编辑器
  2. 用于打印布局的样式和布局集。这些样式和布局集是使用相应的维护事务独立于单个文本创建的,并在之后分配给文本
  3. 排版器是一个中央输出模块。SAP Script 排版器对外不可见
  4. 一个编程接口,允许您将 SAP Script 组件包含到您自己的应用程序中,并从程序内部控制布局集的输出
  5. 多个数据库表用于存储文本、样式和布局集

布局集

为了使用编程接口输出文档,R/3 应用程序需要所谓的布局集(一种表单)。在 SAP Script 中,布局集描述了单个打印页面的布局,并使用文本元素提供可定义的输出块,打印程序可以调用这些块。布局集可以定义为文档的页面设计

布局集本身不包含任何数据。文档的数据选择通过打印程序完成。打印程序从数据库表中选择数据并将其提供给布局集。当打印程序执行时,文档将在屏幕、打印机上打印。

通常,SAPScript 布局由以下组件组成

  1. 标题数据:标题数据用于 SAP 打印的信息和控制。标题数据由两部分组成:设备无关部分(存储起始页、默认段落、语言属性等信息)和设备相关部分(存储页面格式、方向、每英寸行数等信息)
  2. 段落和字符格式:段落使用各种属性进行格式化。例如,标准段落属性指定左边距或右边距、对齐方式、行距等。字体属性指定字体系列、字体大小等。字符格式允许在一个段落中格式化整个文本块
  3. 窗口和文本元素: 窗口是页面中的单个文本区域(页眉地址、日期、页脚)。它有助于将文档中包含的信息组合成特定的组,并使每个组以单独的区域显示在打印页面上。您可以为每个窗口定义文本元素(窗口文本)。打印程序通过名称访问文本元素,对其进行格式化并打印到相应的窗口中。使用的段落和字符格式必须在表单中定义。
  4. 页面: 它们是文档的单个页面,并且必须具有唯一的名称。您通常会发现单个页面有不同的布局:发票的第一页与后续页面不同,后续页面不需要重复一般信息,例如地址或客户数据。
  5. 页面窗口: 在定义窗口和页面时,您尚未确定要输出的文本的位置和间距。页面窗口通过指定输出区域的左上角及其宽度和高度来定义输出介质中的矩形输出区域

控制命令

“控制命令”的目的是允许控制输出格式。这些命令不会被 SAP Script 编辑器解释,而是传递给 SAP Script Composer 进行处理。这包括,例如,行和页面格式化,以及根据指定的段落和字符格式进行文本格式化。

语法

Enter /: in the paragraph format

示例

  • NEW-PAGE – 显式分页符
  • PROTECT ………ENDPROTECT – 在一页中打印完整段落。
  • INCLUDE – 将另一个文本的内容包含到当前文本中
  • PERFORM – 调用任何 ABAP 程序的子例程

打印程序

脚本的执行通过一个被称为打印程序的 ABAP 程序完成。每个打印程序都应该有一个 ENTRY 表单,它将从定制中调用。

对于标准配置,我们可以在表 TNAPR 中看到表单名称(脚本名称)、打印程序名称和输出类型。打印程序使用表单控制功能来调用脚本。

打印程序调用全部或部分表单控制功能来执行脚本

  • OPEN_FORM (必需) 打开布局集输出
  • CLOSE_FORM (必需) 结束布局集输出
  • START_FORM (可选) 启动新的布局集
  • WRITE_FORM (必需) 调用布局集元素
  • END_FORM (可选) 结束当前布局集

输出类型

输出类型可以指定您内部使用的打印表单,或者您希望发送给客户或供应商的表单。输出类型也可以是您希望发送给其他部门员工的内部电子邮件消息。

例如,“打印输出”可以被归类为账单文档的一种输出类型,即当执行此输出类型时,账单文档将被打印。类似地,“传真”可以是一种输出类型,即当执行此输出类型时,账单文档的传真将被发送

任何文档(例如账单文档)的所有输出类型都将存储在表 NAST 中。输出类型通过程序 RSNAST00 执行。

示例:账单文档中的输出类型-

  1. 进入 VF03
  2. 输入账单凭证号码并再次按回车
  3. 在菜单 “转到” -> “标题” 下选择 “输出”
  4. 这里 Z101 是打印输出的一种输出类型

Output Types

标准文本和图形

可以使用事务 SO10 创建报告的标准文本

图形和打印机宏通过 报告 RSTXLDMC 上传到单独的标准文本文档中,或通过事务 SE78 上传。图形以“Baseline TIFF 6.0”格式(PC 上的 .tif 文件)上传

SAP Script 和标准文本元素可以在两个系统之间使用 RSTXSCRP 程序进行导出或导入

跨客户端复制脚本:

SAP Script 是一个客户端相关的对象。与程序不同,对一个客户端中的 SAP Script 所做的更改不会反映在其他客户端中。要将脚本从一个客户端复制到另一个客户端,请转到 SE71 并使用“实用工具”菜单下的“从客户端复制”选项,或者使用事务 SCC1 从原始客户端导入保存了脚本的传输请求。

要点

  1. SAP script 不维护任何版本。因此,在修改 SAP script 时,请确保在脚本中充分记录了更改。这也适用于标准文本。
  2. 表单在屏幕上和打印机上的输出会有所不同。因此,请务必在打印机上测试脚本的输出。