SAP 脚本 - 快速指南


SAP 脚本 - 概述

SAP 脚本用于生成格式化文档并用于外部目的打印和传输业务文档。格式化文档包含徽标、表格和其他格式化对象。您可以以普通 ABAP 代码无法实现的形式打印预格式化文本。

SAP 脚本由以下组件组成 -

  • 用于输入和编辑由应用程序事务自动调用的文本行的编辑器

  • 隐形作曲家,用于从输出设备准备文本并提供不同的打印格式选项。

  • 为了将脚本组件包含到您的应用程序中,它包含一个编程接口

  • 使用维护事务来创建打印布局的样式表单

  • 用于存储文本、表格和其他打印格式样式的中央数据库

当执行打印程序时,它从表单和数据库中检索数据并打印输出。

下图显示了上述 SAP Scripting 的关键组件。

关键部件

要设计脚本,请使用事务代码 - SE71

在 SAP Easy access 中输入事务代码,然后将打开以下屏幕。

SE71

输入程序名称,然后单击“保存”按钮进行保存。

ZTEST_DEMO

创建段落、页面和窗口,并将窗口分配给元素。创建脚本并创建报告来调用该脚本。

SAP 脚本 - 智能表单

SAP 推出 SAP 智能表单,以增强 SAP 脚本的功能和关键特性。在智能表单中,与 SAP 脚本相比,您需要最少的编码。

SAP 建议用智能表单替换 SAP 脚本,因为智能表单比脚本具有多种优势。

以下是 SAP 脚本和智能表单之间的主要区别 -

  • 您可以以智能表单创建多种页面格式,这在 SAP 脚本中是不可能的。SAP 脚本中的所有页面都遵循相同的格式。

  • 您无法以智能形式创建标签。

  • 无需窗口即可创建智能表单。

  • 当您激活智能表单时,它会生成一个功能模块。您还可以使用智能表单创建背景图形。但是,使用 SAP 脚本是不可能的。

  • 智能表单的维护成本较低,而 SAP 脚本的维护成本较高。

  • 与 SAP 脚本相比,生成智能表单所需的时间更少。

  • 智能表单支持 XML 格式的 Web 发布。但是,SAP 脚本不支持它。智能表单生成 XML 输出,可以通过 Web 查看。

SAP 脚本 - 表单绘制器

Form Painter 工具提供SAPscript 表单的图形布局以及操作表单的各种功能。在以下示例中,我们将从标准 SAPscript 表单 RVINVOICE01 复制其布局结构后创建发票表单,并通过访问 Form Painter 工具显示其布局。

打开表单绘制器。您可以通过导航 SAP 菜单或使用SE71 事务代码来请求该屏幕。

步骤 1 - 在 Form Painter 的请求屏幕中,分别在“表单”和“语言”字段中输入 SAPscript 表单的名称和语言。让我们在这些字段中分别输入“RVINVOICE01”和“EN”。

RVINVOICE01

步骤 2 - 选择“子对象”组框中的“页面布局”单选按钮,如上面的屏幕截图所示。

步骤 3 - 选择实用程序 → 从客户端复制以创建 RVINVOICE01 表单的副本。

RVINVOICE01 副本

将出现“在客户端之间复制表格”屏幕。

步骤 4 - 在“在客户端之间复制表单”(如下)屏幕中,在“表单名称”字段中输入表单的原始名称“RVINVOICE01”,在“源客户端”字段中输入源客户端的号码“000”,然后在“目标表单”字段中将目标表单的名称设置为“ZINV_01”。确保其他设置保持不变。

在客户之间复制表格

步骤 5 - 单击“在客户端之间复制表单”屏幕中的执行图标。将出现“创建对象目录条目”对话框。输入包名称以保存对象。单击保存图标。

执行图标

ZINV_01 表单是从 RVINVOICE01 表单复制的,并显示在“在客户之间复制表单”屏幕中。

单击后退图标两次,然后导航回 Form Painter:请求屏幕,其中包含复制的表单 ZINV_01 的名称。

单击“显示”按钮后,将出现“表单 ZINV_01:页面布局”窗口和“表单:更改页面布局:ZINV_01”屏幕,如以下屏幕截图所示。

页面布局

“表单 ZINV_01:页面布局 FIRST”窗口显示表单的初始布局。窗体的布局包含五个窗口:HEADER、ADDRESS、INFO、INFO1 和 MAIN。这些窗口的描述可以在 PC 编辑器中访问。

例如,只需选择主窗口并单击“表单:更改页面布局:ZINV_01”屏幕中的文本图标,您就可以查看所有边距值。

SAP 脚本 - 布局集

布局集是一种使用编程接口输出文档的程序。布局集是 SAP 脚本的一部分,用于定义打印页面的布局,并使用文本元素提供可由打印程序调用的输出块。布局集本身不包含任何数据,文档数据的选择是使用打印程序完成的。

当调用打印程序时,选择数据库中的数据并将其传递到布局集。当执行打印程序时,打印文档。

布局集包含以下元素 -

标头

布局集标题包含管理信息以及其他组件的设置。

段落

段落提供格式化文本段落和字体所需的所有信息。要创建段落,请单击段落格式,如以下屏幕截图所示。

段落格式

页数

当您觉得输出太长并且一页无法容纳时,您可以创建一个新页面来打印剩余部分。您可以使用不同的页面设置来显示剩余部分。

要创建页面,请转到页面选项卡。输入页面名称并提供一些描述。

页数

更改页面

页面窗口

当您有 MAIN 类型的完整窗口时,SAP 脚本会自动触发分页符,并且输出的其余文本将显示在后续页面的主窗口中。MAIN 类型的页面窗口在整个布局集中具有相同的宽度。

页面窗口

字符串

这些用于定义输出文本的字体设置。您可以覆盖段落中特定单词的段落设置。

Windows

可以使用 Windows 将输出文档组织到页面上。在布局集中,您有以下类型的 Windows -

  • Main - 默认情况下仅创建一个主窗口。该窗口可以跨多个页面。

  • 常量- 可以有多个常量窗口,每个常量窗口每页可以使用一次。

  • 变量窗口- 对于窗口出现的每个页面,变量窗口的内容都会被再次处理。

Windows

SAP 脚本 - 打印程序

在 SAP 脚本中,打印程序用于打印实际表单并从数据库表中获取数据,选择表单并以定义的格式打印文本元素。它从数据库中检索数据并将其与用户输入相结合,格式化数据并打印它。

所有打印程序和表格都存储在表TNAPR中。

打印程序中使用了不同的功能模块。要启动打印程序,使用 OPEN_FORM 功能模块,并使用 CLOSE_FORM 功能模块来结束程序。

OPEN_FORM - 在打印程序中,应在进行任何打印之前首先调用此函数。您指定表单的名称和打印语言。

CALL FUNCTION 'OPEN_FORM' 

START_FORM - 调用此函数是为了在单个请求中使用具有相似特征的不同表单。

CALL FUNCTION ’START_FORM’

WRITE_FORM - 此函数用于使用文本元素在表单中写入文本。

CALL FUNCTION ‘WRITE_FORM’

CONTROL_FORM - 此函数用于在 ABAP 程序中插入 SAP 脚本控制命令。

CALL FUNCTION ‘CONTROL_FORM’

END_FORM - 该函数最终被调用,并且没有导出参数。

CALL FUNCTION ‘END_FORM’ 

CLOSE_FORM - 要查看标准表单和标准打印程序,请运行事务代码:NACE

输入应用程序类型并单击顶部的输出类型。

国家ACE

输出类型

在下面的屏幕截图中,您可以看到所选服务的应用程序名称。

合作伙伴职能

打印程序 - 示例

以下是一个示例打印程序,用于创建包含公司相关信息(例如客户数据、日期、航班预订等)的发票。

第 1 部分 - 获取客户数据

TABLES: zcustom, zbook, zpfli.  
DATA: bookings like zbook... 
select * from... 
/In this section, you are reading the data from tables in database./ 

第 2 部分 - 开放表格

CALL FUNCTION 'OPEN_FORM'  
EXPORTING  
DEVICE     = 'PRINTER'  
FORM       = 'EXAMPLE1'  
DIALOG     = 'X'  
OPTIONS    = 
EXCEPTIONS  
CANCELLED  = 1 
DEVICE     = 2 
FORM       = 3 
OTHERS     = 11 
/In this section, you are calling OPEN_FORM function module to initialize print output./

在上述功能模块中,参数 -

  • FORM显示表单的名称。

  • DEVICE可以是 PRINTER(使用假脱机打印)、TELEFAX(传真输出)或 SCREEN(输出到屏幕)

  • OPTIONS显示了 ITCPO 类型的结构来控制各种属性 - 打印预览、份数。

第 3 部分 - 打印表格标题

CALL FUNCTION 'WRITE_FORM' 
EXPORTING 
ELEMENT  = 'textelement’  
TYPE     = 'TOP' 
WINDOW   = 'MAIN' 
FUNCTION = 'SET' 
... 
/In this section, you use WRITE_FORM function to output general text elements and column 
heading/
  • ELEMENT功能模块显示要打印的“textelement”,“WINDOW”显示要打印的表单的哪个窗口。

  • TYPE显示窗口的输出区域,如 TOP、BOTTOM 或 BODY。

  • FUNCTION指示要替换、添加或附加的文本。

第 4 部分 - 打印客户预订

LOOP AT bookings WHERE  
CALL FUNCTION 'WRITE_FORM'  
EXPORTING  
ELEMENT  = 'BOOKING'  
TYPE     = 'BODY'  
WINDOW   = 'MAIN'  
...  
ENDLOOP  
/In this section, text element BOOKING is used to output the bookings of a customer from
the loop from BOOKING table in database./

第 5 节 - 关闭表格

CALL FUNCTION 'CLOSE_FORM'  
IMPORTING 
* RESULT    = 
EXCEPTIONS 
UNOPENED    = 1 
OTHERS      = 5 
/To end the Print Program/ 

你最后调用这个函数模块,它没有导出参数。

SAP 脚本 - 创建窗口

创建页面后,您可以在页面上创建窗口。一个页面可以有多个窗口。要创建窗口,您必须单击“窗口”选项卡。

运行事务 SE71并转到 Windows 按钮。

交易SE71

在下一个窗口中,它将在页面中显示窗口的屏幕列表。

每个窗体都有一个 MAIN 类型的窗口。这样的窗口称为窗体的主窗口。对于 SAPscript 表单,主窗口具有以下功能 -

  • 您可以使用它来控制分页符。

  • 它包含可用于多个页面的文本正文。

  • 它允许将文本元素固定在分配的页面窗口的上下边缘。

  • 主窗口中的文本可以扩展到多个页面。如果文本填满一页,则输出将在下一页和后续页面的窗口中继续。您最多可以创建 99 个主窗口 00-98。

Z样本测试

步骤 1 - 要创建新窗口,请单击菜单栏中的“编辑”选项 → 单击“创建元素”。

编辑

它将生成一个弹出窗口。

步骤 2 - 您必须输入窗口名称和简短描述,然后按 Enter 键。单击勾号以创建窗口。

创建元素

简短的介绍

步骤 3 - 现在要放置窗口,您必须单击页面窗口按钮。系统将提示您知道要将窗口放置在页面中的位置。

步骤 4 - 单击菜单栏上的编辑选项,编辑 → 创建元素。

您还可以从页面布局创建新窗口。如果您在 SE71 Transaction 中看不到“布局”选项,则必须启用表单绘制器。要启用表单绘制器,请转至设置 → 表单绘制器。

设置

您必须选择 Graphical Form Painter 复选框选项。

图形表格画家

步骤 5 - 选择图形表单绘制器后,布局选项将在事务 SE71 下可用。单击布局,将打开页面布局。

布局

使用布局,它提供了一个 GUI 编辑器,可以更轻松地拖动窗口位置。

默认情况下,您可以在布局中看到主窗口。

步骤 6 - 要创建新窗口,您可以右键单击“布局”→“创建窗口”。

单击布局

步骤 7 - 在下一个屏幕中,您必须输入窗口的名称。

  • 输入含义
  • 左边距
  • 右边距
窗口名称

步骤 8 - 要保存此窗口,请选择保存选项节省。将创建一个名为 Window1 的新窗口。

窗口1

要查看与页面窗口链接的文本,请转到顶部的文本元素选项。

文字链接

SAP 脚本 - 输出区域

要在主窗口或页面窗口中输出文本,您可以选择不同的输出区域。

  • 上边距(主窗口的顶部区域)
  • 下边距(主窗口的下部区域)
  • 主窗口主体(顶部区域和下边距之间的区域)

上边距

在页面布局中,顶部区域始终出现在主窗口的开头。顶部区域可用于自动在后续页面上输出标题,以便表格覆盖多个页面。

使用打印程序放置到上边距区域的输出不会立即格式化,而是最初存储在 SAP 脚本内部。仅当打印程序将文本写入正文区域时才会进行格式化。变量也会在那一刻被检索和替换。

在程序到达上边距的定义部分之前,主窗口的主体区域已被填充。该定义用作后续页面的顶部区域。您可以说,在将文本写入正文区域后,无法删除顶部区域中的标题。

下边距

底部边距位于主窗口的末尾。当您完成正文区域的输出时,为当前页面定义底部区域。如果页面上没有足够的空间,则输出的底部区域文本将在页面布局的下一页上生成。

如果打印程序将输出文本生成到主窗口的底部区域,它会为后续页面记住这些行(就像顶部行一样)。同时,作曲家处理这些线条以确定底部区域需要的空间以及为主体区域留下的空间。此时,它会替换当前页面底部区域中设置的变量。

SAP 脚本 - 文本模块

SAPscript 中的文本模块是根据文本标题和实际文本行中的管理信息组件创建的。文本标题包含以下信息 -

  • 文本模块的标题
  • 创建日期和时间
  • 最后更改信息
  • 分配风格
  • 文本格式

您使用文本类型 - 文本节点的文本模块 - 来引用系统中现有的文本模块。这使您可以轻松地以多种形式使用文本模块中的文本。此外,无需加载整个表单描述来维护这些文本。

文本模块可以通过以下两种方式使用 -

参考- 这是指文本模块。然后,该文本在 PC 编辑器中显示为只读,并在您打印表单时包含在内。

复制- 用于复制文本模块。然后系统复制模块的文本并自动将文本节点转换为可编辑的文本元素。

为了管理特定于应用程序的表单文本,应用程序使用事务代码 SE75定义自己的文本对象以及从属文本 ID 。

SE75

要为应用程序创建文本对象和文本 ID,请选择单选按钮并单击更改。

SAP 脚本设置

要创建文本对象,请单击“创建”按钮。系统将提示您输入此信息。您可以使用带有文本 ID 的文本对象来输入一般标准文本。

创建对象

要维护标准文本,请使用事务代码:SO10

SO10

文本模块也可以在智能表单中使用。要创建和更改文本模块,请使用事务智能表单并选择文本模块,如以下屏幕截图所示。单击创建按钮。

智能表格

SAP 脚本 - 文本分组

在 SAP 脚本中,对文本进行分组可以更好地处理文本,并且还有助于控制脚本中的内部流程。文本由文本对象和文本 ID 组成。

文本对象

文本对象可以链接到其他业务应用程序中的对象并定义上下文关系。除此之外,文本对象还用于确定不同的处理参数。保存文本模块时,是否将文本模块直接写入文本数据库取决于对象。

SAP 脚本中的文本对象及其各自的属性在 TTXOB 表中定义。

文本ID

为了区分对象的文本,您需要一个在 SAP 脚本中调用的分组属性,称为文本 Id。文本 ID 用于识别描述同一文本对象的不同文本。文本 ID 及其属性必须在 TTXID 表中定义。

由于对于一个对象来说,一个文本是不够的,要定义一个对象的多个特征,您需要多个文本,这些文本由文本 ID 标识。

为了管理特定于应用程序的表单文本,应用程序使用事务代码 SE75定义自己的文本对象以及从属文本 ID 。

SE75

要为应用程序创建文本对象和文本 ID,请选择单选按钮并单击更改。

SAP 脚本设置

SAP 脚本 - 格式选项

在 SAPscript 中,文本输出格式由段落格式控制,或者您可以将文本与样式结合起来。在输出格式中,您可以使用占位符来创建灵活的数据。在 SAPscript 中,占位符称为符号,它们用于显示稍后才添加到文本中的数据。

这些用于格式化输出,并且文本中的所有符号都被替换为实际的当前值。此替换仅在文本模块的输出中完成,原始文本模块保持不变。

SAPscript 有四种符号 -

  • 系统符号- 可以从表中检索不同类型的系统符号 - SAPSCRIPT、SYST、TTSXY。它们是全局变量,从系统表中检索。

  • 标准符号- 它们在 TTDTG 表中预定义和维护。它们基于脚本的语言设置。

  • 程序符号- 这代表数据库表或内部表中的数据。打印程序用于为这些符号提供必要的数据。

  • 文本符号- 它们在本地定义,用于定义文档中重复出现的术语或文本片段。

占位符/符号结构

每个符号都有一个名称,并且在还包含其他文本的文本行中调用符号。这些符号与普通文本不同,并且执行调用以标识对符号或模块其他部分的调用。

使用符号时应遵循以下规则 -

  • 符号名称中不应使用空白字符。

  • 始终在符号前后使用与号“&”。

  • 您不应该使用编辑器在符号之间出现换行符。

  • 请注意,符号名称不区分大小写,最多包含 130 个字符,并且仅前 32 个字符用于标识符号。

有效符号示例

  • &象征&
  • &MY_符号&
  • &日期&

无效符号的示例

  • &mysymbol - 它不包含结束字符

  • &symbol(Z& - 没有右括号

  • &my symbol& - 在此,符号名称包含空格

  • &mysymbol)& - 在此,名称包含无效字符

SAPScript 中使用的常用符号

当前日期 &日期&
当日号码 &天&
当月编号 &月&
本年度编号 &年&
当前时间的分钟部分 &分钟&
当前时间的秒部分 &秒&
当前页码 &页&
输出长度 &符号(长度)&
省略前导标志 &符号(S)&
引导标志向左 &符号(<)&
向右引导标志 &符号(>)&
省略前导零 &符号(Z)&
空间压缩 &符号(C)&
小数位数 &符号(.N)&
省略“千”的分隔符 &符号(T)&
指定浮点数的指数 &符号(EN)&

SAP 脚本 - 输出类型

使用 SAPscript,您可以配置不同的输出类型,例如内部使用所需的打印表单或通过电子邮件发送的电子邮件消息。您还可以获得 PDF 格式或任何其他所需格式的输出类型。

您可以使用不同的输出类型,例如打印表单,当您选择输出类型“打印输出”时,将打印文档。同样,您可以选择传真、电子邮件、PDF 作为输出类型。当您选择传真作为输出类型时,将发送文档的传真。

所有输出类型都存储在 NAST 表中。要查看配置的输出类型,您可以使用事务代码 – NACE

在新屏幕中,您必须选择应用程序类型:V1 代表销售,V3 代表计费,E1 代表内向交货等。

交易代码 NACE

在以下示例中,选择了采购订单应用程序。现在要查看配置的输出类型,请单击屏幕顶部的输出类型按钮。

采购订单

输出类型

要查看 SAPscript 中的输出类型,请选择任何输出格式,单击屏幕左侧的处理例程,如以下屏幕截图所示。通过查看详细信息,您可以找到 SAP 脚本的确切输出类型。

处理程序

您可以查看配置的输出类型和表单例程的以下详细信息。

表单例程

要检查任何文档的输出类型,请使用事务代码 - VF03

VF03

选择开票凭证编号并按 Enter。

开票凭证

在菜单转到 → 标题下选择输出。

标头

您可以从可用列表中查看所选的输出类型。可用选项有 -

  • 打印输出- 以打印形式发送输出。

  • 传真- 将输出发送到传真机。

  • 外部发送- 将输出发送到外部系统。

  • 电传- 将输出发送到电传打印机。

  • EDI - 通过标准化消息格式将数据从一个计算机系统传输到另一个计算机系统。

  • 简单邮件- 通过电子邮件发送输出。

  • 特殊功能- 执行任何特殊功能,例如发送发票等。

  • 事件- 触发从工作流到消息控制的事件。

  • 分发- 将输出发送到分布式系统中的应用程序以相互通信。

  • 任务- SAP 业务工作流程。

显示输出

SAP 脚本 - 控制打印输出

要控制文档的打印输出,您可以使用功能模块传递不同的参数 - PRINT_TEXTOPEN_FORM。PRINT_TEXT 功能模块用于为输出设备准备参数 HEADER 和 LINES 中指定的文本模块并将其输出。打印的输出格式取自文本标题中的TDSTYLETDFORM字段。

您还可以使用TDPREVIEW字段以打印格式查看屏幕上的显示。您可以使用多个字段来控制打印输出。

TD页SLCT SAPscript:选择打印页面
TDP预览 SAPscript:显示打印视图
TDNOPREV SAPscript:禁用打印视图
TD打印 SAPscript:从打印视图中禁用打印
标题 SAPscript:输出选择屏幕中标题行的文本
TD程序 SAPscript:用于替换符号的程序名称
时差测试 SAPscript:测试打印输出
TDI退出 SAPscript:打印后立即返回
TDGETTOTF SAPscript:返回OTF表,无打印输出
TDSCRNPOS SAPscript:OTF在屏幕上的显示位置
时差测试 Spool:输出设备的名称
印刷技术 Spool:设备类型名称
TD拷贝 假脱机:份数
TDNEWID 假脱机:新请求
TDIMMED 假脱机:立即打印请求
时分删除 假脱机:打印后删除请求
TD寿命 Spool:请求的保留时间
TD数据集 假脱机:请求的标识
TD后缀1 Spool:请求的后缀1
TD后缀2 Spool:请求的后缀2
TDARMD 假脱机:存档模式
时域覆盖 假脱机:打印封面页
TDCOVTLE 假脱机:封面页:标题文本
TD接收器 假脱机: 封面页: 收件人姓名
TD部门 假脱机: 封面页: 部门名称

关键功能模块

以下是可用于控制打印输出的关键功能模块 -

TDP预览

这用于在打印输出之前在屏幕上显示输出。该功能模块始终创建 SPOOL 请求,并且不会在后台处理中进行解释。

  • 'X' - 需要打印视图

  • ' ' - 不需要打印视图

TD页选择

该功能模块可用于选择打印输出中要打印的页面。您可以选择单个页面或一系列页面,也可以选择组合。当您不选择页码字段时,将打印所有页面。

请注意,此处的页码显示 SAPscript 打印输出的物理页,而不是表单中的逻辑页码。

  • 2 - 这将打印单独的页码 2

  • 1-5 - 这将打印所有页面 1 到 5,包括两页

  • 2- - 这将打印从第 2 页到末尾的所有页面

要组合这些值,您可以在这些值之间放置逗号以使用组合。2, 1-5, 2-

标题

该功能模块用于选择打印选择标题行的文本。

时间安排表

该功能模块用于确定是立即发送SPOOL请求还是要在夜间打印。

  • 'IMM' - 立即发送 SPOOL 请求

  • 'NIG' - 在夜间发送请求

当该字段未选择任何值时,系统默认将其视为IMM。

SAP 脚本 - 数据格式

数据格式用于定义样式和形式,也称为交换文本格式 (ITF)。使用 SAPscript 创建的所有文本都具有特定的数据格式。数据格式由两个字段组成 -

  • 格式字段
  • 实际行内容

此 ITF 格式的某些元素是固定的,/ 表示新行。

ITF 元素用于定义样式和形式。即使这些属性也不以 ITF 格式维护。作曲家准备用于输出的 ITF 文本,该文本将转换为表示打印版本的格式,这称为输出文本格式 (OTF)。

原始数据输出格式

为了获得打印输出,可以使用这些技术 -

  • SAP脚本
  • 智能表格
  • 基于 PDF 的打印表格

SAPScript允许您使用原始数据输出格式,其中输出模式在脚本本身或打印程序的运行时定义。这里使用的首选格式是原始数据接口,因为它具有更少的开销和紧凑的假脱机文件。

您必须在 RDI 输出模式中选择 SAPscript 格式。

RDI输出模式

当您将 SAPScript 格式与SmartForms和基于 PDF 的打印表单进行比较时,Smartforms 是 SAPScript 的进步,用于以 XSF 格式获取基于 XML 的原始数据输出。基于 PDF 的打印表单提供称为 XFP 的原始数据输出格式,带或不带上下文评估。

SAP 脚本 - 导出

SAPscript 不提供版本管理,因此建议将脚本的每个版本存储为导出到本地系统的文件。如果您想要将 SAP 脚本从一个客户端复制到另一个客户端,您可以使用导出/导入或复制选项。

导出文件

要将 SAPscript 导出到本地文件,请使用表RSTXSCRP

以下是将 SAPscript 导出到系统上的本地文件的步骤,稍后可以更改该文件以满足要求。

步骤 1 - 运行事务代码 - SE38并执行程序RSTXSCRP

SE38

步骤 2 - 输入程序名称并执行。

RSTXSCRP

现在您必须从列表中选择所需的对象类型 - 表单/样式/标准文本/设备类型。

步骤 3 - 要在本地导出 SAP 脚本,请选择“表单”。

步骤 4 - 选择模式参数。这里我们将选择导出作为模式参数。

  • 导出是指下载到本地文件。
  • 导入是指从本地文件上传。

步骤 5 - 输入要导出的对象名称。

默认导出路径采用以下格式 - C:\temp\********&&&&

默认导出

当您从顶部图标执行报告时,系统将提示您选择在本地系统上保存脚本的位置。

温度

SAP 脚本 - 导入

导入是指从本地文件上传。当您想要从本地文件复制脚本时,可以使用“导入”选项。

导入文件

要从本地计算机导入 SAPscript,请运行事务代码:SE38

步骤 1 - 执行事务代码 SE38 中的程序RSTXSCRP

SE38

步骤 2 - 输入程序并执行。

RSTXSCRP

现在您必须从列表中选择所需的对象类型 - 表单/样式/标准文本/设备类型。

步骤 3 - 要在本地导出 SAP 脚本,请选择“表单”。

步骤 4 - 选择模式参数。导入是指从本地文件上传。在模式参数中选择导入。

步骤 5 - 输入要导出的对象名称。

步骤 6 - 输入导入路径 - C:\temp\********&&&&

导入路径

使用上述方法,您可以使用以下步骤将 SAPscript 从一个客户端 512 复制到客户端 500 -

步骤 1 - 登录客户端 512。

步骤 2 - 运行事务代码 - SE38SA38并执行 ABAP 程序:RSTXSCRP

步骤 3 - 输入模式参数:EXPORT 并将 SAPScript 保存在系统本地。

导入脚本-

步骤 1 - 登录客户端 500。

步骤 2 - 运行事务SE38SA38并执行 ABAP 程序:RSTXSCRP

步骤 3 - 输入模式参数:IMPORT

将脚本从一个客户端复制到另一个客户端的其他选项是使用以下步骤。

步骤 1 - 使用事务代码SE71

步骤 2 - 登录到要执行复制 500 的客户端。

步骤 3 - 运行事务代码:SE71 → 单击“实用程序”→ 从客户端复制

公用事业

步骤 4 - 输入源表单、源客户端和目标客户端。

步骤 5 - 单击执行按钮。

源客户端

SAP 脚本 - 控制表

SAPscript 包含各种控制表,用于定义文本对象的定义、文本 ID 的定义及其描述。

要维护控制表,请使用事务代码:SE75

TTXOB 文本对象的定义
TTXOT 文本对象的描述
TTXID 文本 ID 的定义
TTXIT 文本 ID 的描述
代码SE75

标准符号

控制表 - TTXOB

该表包含 SAPscript 支持的所有文本对象的定义。当您使用 SAPscript 功能模块时,您可以处理其对象存储在该表中的文本。当将对象传递给其定义未在表 TTXOB 中维护的函数时,会触发异常对象。

该表可以使用事务SE75进行维护。

控制表

表中有不同的参数 -

  • 编辑器的线宽- 这显示编辑器中文本允许的最大线宽。

  • 默认样式- 当您创建新的文本模块时,系统会自动分配此字段中指定的样式。

  • 默认表单- 当您创建新的文本模块时,系统会建议其中指定的表单。

  • 文本格式- 用于确定文本的格式,系统根据格式调用适当的编辑器。

更改文本对象

控制表 - TTXOT

该表包含文本对象的简短描述。

控制表 - TTXID

该表包含分配给文本对象并受 SAPscript 支持的所有文本 ID。

该表中使用的不同参数包括 -

  • TDSHOWNAME - 显示文本的名称。

  • TDTEXTTYPE - 确定文本的格式。

  • TDKEYSTRUC - 您可以存储描述文本模块名称字段的关键结构的结构名称。

  • TDOBLIGAT –(保留)

  • TDDELPROT -(保留)

  • TDINCLRES -(保留)

  • TDINCLID - 将第二个文本的内容包含到第一个文本中。

要查看对象测试 ID 的定义,请选择任何对象并单击“文本 ID”。您可以看到每个文本 ID 的所有上述参数。

每个文本ID

文本ID

控制表 - TTXIT

该表包含文本 ID 的简短描述。

SAP 脚本 - 文本和图形

您还可以向 SAPscript 添加图形 - 徽标、图像等。要在脚本中使用图形,您需要将它们导入 R/3 系统。这可以使用事务代码SE78来完成,也可以运行报告RSTXLDMC

您必须输入图形的名称,支持的图像类型是.tmp文件或.bmp文件。您可以直接将.tif格式的图像导入 R/3 系统,因为它们存储为标准文本,并且可以使用“Include”语句包含在 SAPscript 中。

要使用非.tif格式的图像,您需要将其转换为该格式。

将图表添加到 SAPscript

步骤 1 - 运行事务代码SE78

SE78

步骤 2 - 展开树并从左侧选择位图图像。单击导入按钮。

导入按钮

步骤 3 - 要选择.bmp图像,请单击箭头,如以下屏幕截图所示。

BMAP

步骤 4 - 选择文件后,输入图形名称和描述。单击继续按钮。

导入图形

步骤 5 - 单击应用程序工具栏上的预览按钮。

应用程序工具栏

您可以看到一个图片徽标,如下面的屏幕截图所示。

图片标志

这是向 SAP 系统添加徽标、图像的方法。

SAP 脚本 - 控制命令

在 SAPscript 中,您可以使用控制命令来控制 SAPscript 编辑器处理的输出格式。编辑器将文本从编辑器中显示的形式转换为用于打印的形式。

控制命令在文本编辑器中的放置方式与普通文本行相同。以下结构用于控制命令 -

  • 控制命令以段落格式/输入:

  • 您应该在每一行中仅输入一个控制命令。

  • 控制命令以文本形式输入。

  • 您必须确保控制命令及其参数不占用超过一行。

  • 当控制命令包含错误时,包含该控制命令的行被视为注释行并且不被打印。

以下是可在 SAPscript 中使用的常见控制命令 -

显式分页符:NEW-PAGE

您可以使用此控制命令在文本中的任意位置强制分页。

例子

/: 新页 [page_name]

新一页

请注意,空白行中不应出现任何隐式分页符,否则可能会打印意外的空白页。

防止分页:保护

使用此页面保护控制命令,您可以在一页上打印完整的段落。

主窗口:新窗口

当主窗口之一填满时使用此控制命令。然后,将显示该页面上的下一个主窗口。

以下是您可以在 SAPscript 中用于控制输出的一些其他常见控制命令 -

  • SET DATE MASK - 格式化日期字段

  • DEFINE - 为文本符号分配一个值

  • SET TIME MASK - 格式化时间字段

  • SET COUNTRY - 国家/地区相关格式

  • 设置标志- 定位前导标志

  • RESET - 初始化编号段落

  • TOP - 在主窗口中设置标题文本

  • BOTTOM - 在主窗口中设置页脚文本

  • IF - 添加条件文本

  • STYLE - 改变风格

  • INCLUDE - 包含其他文本

例子

包括 MYTEXT 对象文本 ID ST

包含名称 对象名称 ID 名称 段落名称 语言名称

主窗口

SAP 脚本 - 复制脚本

在SAP系统中,您可以将脚本复制到本地系统或从一个客户端复制到另一客户端。由于SAPscript不提供版本管理功能,因此需要将脚本保存在本地。

要将脚本从一个客户端复制到另一客户端,请使用事务代码SE71

第 1 步- 登录到您要执行复制的客户端 500

步骤 2 - 运行 T 代码:SE71 - 单击“实用程序”→“从客户端复制”

从客户处复制

步骤 3 - 输入源表单、源客户端、目标客户端。

步骤 4 - 单击执行。

目标客户

如果源表单在客户端中不可用,您将看到一条消息,如以下屏幕截图所示,说明表单测试在客户端 xxx 中不可用。

客户XXX

SAP 脚本 - 标准文本

您可以使用 SAP 中的标准文本在输出文档上显示数据库存储的值,这可以使用事务代码:SO10来完成

例子

假设您希望在每张发票上打印条款和条件,并且希望每张发票都直接包含这些法律条款和条件。您可以创建标准文本并在发票中使用它。

步骤 1 - 运行事务 SO10

交易 SO10

您有不同的文本选项。可以使用查找选项来检查这一点。

步骤 2 - 选择标准文本,然后通过单击绿色勾号来单击 Enter。

标准文本

步骤 3 - 要选择任何文本,请单击“执行”。您将看到所有标准文本的列表。

查找标准文本

步骤 4 - 从列表中选择以下任意一项。这里我们选择了FI_CASH_SI并单击“显示”选项。

FI_CASH_SI

展示

您可以看到默认出现以下文本。

步骤 5 - 您必须将其添加到您的脚本中。

                    Signed                                        
Enclosures
Prepared           Approved         Confirmed
Receipts    Expenditures 
&uline(130)&  

&rfcash-anzsb(Z)& &Rfcash-anzhb(Z)& 

显示标准

步骤 6 - 选择您要更改的表单。选择并单击底部的更改选项。然后单击转到 → 更改编辑器。

更改编辑器

步骤 7 - 输入文本名称、对象 ID、语言等。

输入详细信息

以类似的方式,您可以使用屏幕顶部的插入选项插入文本符号、系统符号、文档、超文本。

插入符号

使用 SO10 Transaction,您还可以创建自己的标准文本并为其命名,然后可以在脚本中使用它。

使用SO10

您可以编写一些内容并将其另存为标准文本。

保存

您可以直接将其包含在您的表单中。打开表单并单击“更改”按钮。单击转到 → 更改编辑器。

去

使用控制命令,您可以插入之前在脚本中创建的标准文本。

控制命令

系统符号

系统符号由系统维护,其值由系统提供。系统符号的一些示例是时间、日期、小时、分钟、秒、页等。

标准符号

您可以使用事务SM30维护标准符号。标准符号的示例有谢谢、真诚等。它们存储在表 TTDG 中。

程序符号

它们是数据库字段的占位符,也充当打印程序中的全局程序符号。

SAP 脚本 - 文字处理

根据要求,您可以使用不同的编辑器来创建文本。您可以根据系统配置和平台使用 Microsoft Word 编辑器、行编辑器或 PC 编辑器。所有这些编辑器都用于文字处理以及创建和编辑文本。您可以使用这些编辑器打印表单和创建文档。

电脑编辑器

PC编辑器用于创建和编辑文本,并且它们向下兼容。您可以使用使用行编辑器创建的任何文本。

当您安装了 Microsoft 编辑器后,当行编辑器不可用时,您可以切换到 PC 编辑器。如果未安装 MS Word 编辑器,您可以在 PC 编辑器和行编辑器之间切换。使用PC编辑器进行文字处理与文字处理中创建Word文档的常见方法类似。

以下功能可用于 PC 编辑器中的文字处理 -

  • 您可以直接分配段落和文本。

  • 您可以直接剪切/粘贴文本。

  • 使用 PC 编辑器,您可以执行集成错误检查以验证语法。

  • 您可以使用特殊的文本结构和字符格式显示,如粗体、不同的字体大小等。

SAP系统中每个应用程序默认都会调用PC编辑器。要打开行编辑器,请单击转到 → 更改编辑器。

行编辑器

行编辑器用于创建和编辑文本以打印标准表格(例如标准信件)或创建用于打印的文档(例如销售订单、发票等)。

如前所述,当您安装了 Microsoft 编辑器后,当行编辑器不可用时,您可以切换到 PC 编辑器。如果未安装 MS Word 编辑器,您可以在 PC 编辑器和行编辑器之间切换。当您在PC编辑器中创建任何文本时,系统会更改格式和样式,并相应地显示文本。

要从行编辑器切换到任何其他编辑器,请转至 → 更改编辑器。

微软Word编辑器

Microsoft Word 编辑器用于创建和编辑文本以打印标准信件等标准表格或创建用于打印的销售订单、发票等文档。该编辑器仅适用于 Windows 200x 和 Windows XP。

您可以在 Unicode 系统中使用 SAP 支持的所有语言的 Microsoft Word 编辑器。在非 Unicode 系统中,此编辑器仅适用于希伯来语。

MS Word 编辑器可用于打开在其他编辑器中创建的文本并提供向下兼容性。

要选择 MS Word 编辑器的语言,请转至开始 → 控制面板 → 区域和语言选项 → 键盘和语言。

微软Word编辑器

您还可以使用 SAP 系统中未包含的语言,您需要在 MS Office 语言选项中激活这些语言。

转至程序 → Microsoft Office → Microsoft Office 工具 → Microsoft Office → 语言设置。

微软办公软件

选择您要添加的语言。您可以从列表中选择任何语言,然后单击“添加”按钮。

选择语言

要切换到任何其他编辑器,请转至 → 更改编辑器。

将 Microsoft Word 设置为 SAPscript 的编辑器

要将 MS Word 设置为编辑器,您应该拥有 Microsoft Office 2000 或更高版本。应安装并激活它。您可以使用 MS Word 作为 Unicode 和非 Unicode 系统的编辑器。您应该将安全级别设置为中,并且应该安装所有加载项并接受模板。

步骤 1 - 要定义安全级别,请转到工具 → 宏 → 安全。

步骤 2 - 要在系统中启用 Microsoft 编辑器,请调用 Transaction i18N

i18N

步骤 3 - 转到 i18N 自定义选项,然后选择 Microsoft Word 编辑器。

MS Word 编辑器

步骤 4 - 如果 i18N 定制在您的系统中不可用,您可以在事务 SE38 中选择程序RSCPINST将 MS Word 设置为编辑器。

步骤 5 - 调用事务SE38并在以下屏幕中输入程序。

RSCPINST

步骤 6 - 输入程序名称并按 F8 移至新屏幕。单击“转到”→“将 MS Word 设置为编辑器”,如以下屏幕截图所示。

将 MS Word 设置为编辑器

MS Word 默认编辑器

SAP 脚本 - 创建文档

在 SAP 系统中,如果您的 SAP 系统不调用编辑器,您还可以手动创建和更改文档。要创建文档,您必须遵循以下路径 -

工具 → SAP 脚本 → 标准文本或调用事务 SO10

调用交易 SO10

您必须输入以下详细信息才能创建文档 -

文字名称

这显示了文档的名称。您可以使用字母、数字、空格和特殊字符作为名称。但是,不允许使用 * 等特殊字符。

文字名称

文本ID

这定义了文档所属的应用程序。标准文本是不特定于任何 SAP 应用程序的文档,或者系统文本和 SAP 应用程序将其自己的文本 ID 用于特定于应用程序的文档。

语言

这显示了您的文档在系统中存储时应使用的语言。

语言

您可以在文档中设置各种选项。它的工作方式类似于 Word 文档。要定义文档的属性,请转到选项。

文档的属性

SAP 脚本 - 更新文档

在 SAP 脚本中,使用SO10事务,您可以更新 SAP 系统中现有的标准文本。您可以使用“更改”选项来更改现有文档,或使用“显示”选项来显示文档。单击警告窗口中的允许按钮。

标准文本请求

您可以看到文档以更改模式打开。您可以复制以下文本或直接在系统中进行更改。

Report of the ABC Inc. board meeting of the 28.08.95 
---------------------------------------------------------------------- 
Main Topic: Investment in a new production plant in Mexico Participants: 
Mr. Walther Chief (CEO)
Mr. Stephan Glad  (COO)
Mr. Alex Miller   (CFO)
Mr. Burt Sales    (Director Sales)
Mr. Paul Choice   (Director Marketing) 
---------------------------------------------------------------------- 
The plant shall be used for the production of all potato snacks for the American market. 
Cost reduction, compared with American production, will be more than 35%. 
The whole investment will be $ 230m within two years. 
The participants agreed to start plant construction as soon as possible because Japanese 
companies, producing with very low costs in Korea, will enter next year our home market.

字母语言

您可以使用多种文字功能来更改文档。文档更改后,它将保存到默认位置。

文件变更

SAP 脚本 - 查找文档

还可以在SAP系统中搜索文档。您可以根据各种参数(例如文本 ID、文本名称、语言)或根据作者姓名执行搜索。

要执行搜索,请转至工具 → SAPscript → 标准文本或调用事务SO10

输入标准文本并单击查找。它将打开对话框窗口,您可以从以下搜索条件中进行选择。

  • 文字名称
  • 文本ID
  • 语言
  • 作者
单击查找

查找标准

SAP 脚本 - 保存文档

当您在 SAP 系统中保存文档时,它会存储在 SAP 数据库中。使用查找选项,您可以查看数据库中所有文档的列表。您可以查看预定义文档以及系统中创建的自定义文档。

要保存文档,请转到文本 → 保存。

假设我们已打开以下文档进行编辑并对文档进行了更改。

编辑

要保存文档,请导航至顶部的文本选项 → 保存。

导航

您还可以维护文档的不同版本。另请注意,文档不会自动保存,您应该定期保存长文档。如果您从 SAP 系统注销而不保存文档,则该文档将丢失。

要维护文档的版本,请单击“另存为”并输入文本名称、文本 ID 和语言。

将文本另存为

要查看版本,您可以在“查找”选项下的可用文档列表中找到该文档。

SAP 脚本 - 删除文档

SAP系统中可以删除文档。如果要删除文档,请导航至 SAPScript → 标准文本 → 输入文本名称并单击更改。

导航 SAPScript

该文档将在编辑器中打开。要删除文档,请转至文本→删除→是。

删除文档

您将收到一条消息 - 该文档已被删除。您无法在 SAP 系统中恢复已删除的文档。

SAP 脚本 - 文档的打印预览

在 SAP 脚本中,还可以在打印之前预览文档。要执行文档的打印预览,请转至文本 → 打印预览。

打印预览

我们打开了一份包含以下文本的文档 -

               Signed                                        
Enclosures  
Prepared      Approved     Confirmed                                
Receipts   Expenditures 
&uline(130)&  

&rfcash-anzsb(Z)& &Rfcash-anzhb(Z)& 

文档

当您进入文本→打印预览时,它将显示文档的打印格式。您可以选择各种打印预览选项。

格式化文档

您可以选择特定页面进行打印预览或打印。从选项中选择“打印预览”时,您可以看到现有文档的预览,如以下屏幕截图所示。

印刷

SAP 脚本 - 格式转换

SAPscript 以交换文本格式 (ITF) 存储,您可以使用字处理器将它们转换为富文本格式 (RTF) 和 ASCII 格式。要执行格式转换以将 ITF 转换为 RTF 格式,您需要执行从文档模板到 SAP 脚本段落的格式转换。

SAPscript 编辑器允许您执行以下格式转换 -

  • 您可以将 RTF、ASCII、HTML 格式的文本导出到系统上的本地文件。

  • 您还可以导入 RTF、ITF 和 ASCII 格式的本地文件。

导入和导出 RTF 文件

导出 RTF 文件时,一个段落或一种字符格式可以精确映射到一个段落或字符样式。

导入RTF文件时,可以分为两部分——单段格式正好映射到o