SAP ABAP 中的智能表单

SAP Smart Forms 用于在 SAP 系统中创建和维护用于批量打印的表单。作为输出介质,SAP Smart Forms 支持打印机、传真、电子邮件或互联网(通过使用生成的 XML 输出)。

SAP 于 1998 年引入 SmartForms,以克服 SAP 脚本的局限性。SmartForms 比 SAP 脚本更容易开发、维护和传输。

Smart Forms 和 SapScripts 比较

  • SmartForms 中可以有多种页面格式,而 SAP 脚本则不能
  • SmartForm 可以没有主窗口。
  • 可以在 SmartForms 工具中编写例程。
  • SmartForms 在激活时会生成一个函数模块。
  • SmartForms 中无法创建标签。

Smart Forms 的优势

  • 由于完全图形化的用户界面,它们有助于在没有任何编程知识的情况下调整表单
  • 激活智能表单时,系统会自动生成函数模块并在运行时执行。
  • 要进行任何更改,我们必须使用拖放、剪切和粘贴。这些操作不包括编写代码行或使用脚本语言。
  • 我们可以插入静态和动态表格。这包括单个表格单元格中的换行符、触发表格标题和小计的事件以及在输出前对数据进行排序。
  • 智能表单允许用户包含图形,这些图形可以作为表单的一部分或作为背景图形显示。在打印时,用户可以根据需要抑制背景图形。
  • 使用生成的 XML 输出可以进行网络发布

SAP Smart Form 的架构

Architecture of SAP Smart Form

Smartforms 指南

让我们在 SAP 系统中了解一下——

  1. 在事务代码框中输入事务 SMARTFORMS
  2. 在下一个屏幕中,输入表单名称并单击创建

Smartforms Guide

下一个屏幕分为三个部分:

Smartforms Guide

导航窗口由节点和子节点组成。它们包含所有属于 SAP 表单的元素(文本、窗口等)

  • 维护窗口显示元素的属性
  • 表单打印机窗口显示页面的布局

每当我们创建智能表单时,SAP 都会创建/生成一个函数模块。与 SAP 脚本不同,SAP 表单允许您更改语言。

在导航窗口中,您会找到

全局数据声明:此处定义的数据可在整个 Smartform 中用于编码目的。

表单接口:此处定义了将从打印程序传递到 Smartform 的所有数据。

Smartforms Guide

右键单击页面将允许创建新页面、窗口、图形或地址。

Smartforms Guide

打印将根据“下一页”字段进行。

但处理将按照导航窗口中的顺序进行!

Smartforms Guide

对于背景图片和图形,您可以选择黑白或彩色位图图像,并以标准文本的形式存储。您可以从智能表单屏幕绕道,打开表单图形屏幕。事务代码:Se78

Smartforms Guide

Smart Form 窗口中图形的设置 -

Smartforms Guide

Smart Forms 中的窗口

Windows in Smart Forms

有两种类型的窗口

  1. 主要
  2. 次要

要点

  • 一个页面中不能有多个主窗口。您可以有多个辅助窗口
  • 无论您在辅助窗口中打印什么……它必须是静态的。(如果 PO 中有 20 行,并且存在页面限制,则这些行会延续到主窗口中的下一页。即,在内容的前驱和后继类型中,它们将按顺序打印在主窗口中。这在辅助窗口中是不允许的。

Windows in Smart Forms

在主窗口中,我们可以添加文本作为介绍,以自定义表单输出。

Windows in Smart Forms

每个窗口上的输出选项决定了要设置的行大小、宽度、颜色和背景。

Windows in Smart Forms

Smartforms 提供了输入在中央地址管理中维护的地址编号的选项。地址将直接从 ADRC 表中获取并填充到表单中。

Windows in Smart Forms

Smartforms 中有两种不同的编辑器,即普通编辑器

Windows in Smart Forms

和图形编辑器。

Windows in Smart Forms

此设置可以使用“实用程序”中的“配置编辑器”进行更改。

在表格绘制器中,您可以根据客户要求绘制格式(例如,标题、副标题、项目、小计、总计等)

您可以使用表格布局来确定

  • 行数和单元格数
  • 每行的高度
  • 每个单元格的宽度
  • 表格在窗口中的对齐方式

Windows in Smart Forms

表格显示了将在表格中使用的不同行类型。行类型定义了每个单元格的大小和每行中的单元格数量。

Windows in Smart Forms

Smart Forms 编程流程

创建 SAP Smart Form 模板时,用户使用 Smart Form Builder 创建表单布局,定义所需字段、条件和特殊编程指令。

表单设计完成后,需要激活表单才能进行测试或由打印程序访问。激活表单会启动一个函数模块的生成,该模块处理表单的所有处理。

此函数模块与应用程序程序/打印程序交互,为指定设备创建用户定义的输出介质中的输出。

在智能表单的情况下,我们使用 2 个函数模块来处理智能表单。对于第一个函数模块,我们将智能表单的名称作为导入参数传递。然后,它返回实际调用智能表单的动态生成的函数模块的名称。

智能表单名称可以传递给函数模块 – ‘SSF_FUNCTION_MODULE_NAME’

Smart Forms Programming Flow

这将返回所引用智能表单的函数模块名称。

Smart Forms Programming Flow

打印程序将调用 FM ‘SSF_FUNCTION_MODULE_NAME’ 以在运行时获取函数模块名称。然后它将调用由此获得的函数模块来执行智能表单。

Smart Forms Programming Flow

模板

当您知道输出的确切大小或输出为固定格式时,可以使用模板。

例如:税表/支票/航空公司表格/火车票:所有这些都使用模板。

表格和模板之间的主要区别在于,表格的高度是动态变化的。我们称模板中的行为“行”。

Templates in SAP ABAP

智能样式包含

  • 包含智能样式默认值的页眉数据
  • 段落格式,包括缩进和间距、字体属性、制表符以及轮廓和编号
  • 字符格式,包括效果(上标、下标)、条形码和字体属性
  • 段落或字符格式的颜色和下划线

您可以使用事务“smartforms”/“smartstyles”来创建智能样式。

Templates in SAP ABAP

本教程到此为止