ABAP 中的 SAP 智能表单

发布于 2024-08-23  172 次阅读


什么是 SAP Smart Forms?

SAP Smart Forms 是一款表单创建工具,与 SAP Script 相比,它具有更好的表单开发 GUI。 简而言之,SAP Smart Form 是一款表单处理工具。

SAP 中的许多业务应用程序需要以表单格式(也称为业务文档)显示其数据,而 SAP Smart Form 是创建这些表单的理想工具。然后可以打印、传真或通过电子邮件发送这些业务文档。

借助 SAP Smart Forms,企业可以实现所有业务文档的一致设计。Smart Forms 与业务应用程序集成后可作为数据输出的媒介。SAP 解决方案为其大多数核心业务流程提供了许多预先创建的表单。

SAP 智能表单的 Tcode

SAP Smart Forms tcode 是SMARTFORMS。此工具有助于设计表单以及定义表单界面。

SAP 智能表单架构

智能表单旨在以表单格式输出应用程序数据。智能表单的架构将应用程序数据检索与表单定义分开。

当智能表单被激活时,它会生成一个类似于常规功能模块的功能模块,可以从应用程序(也称为驱动程序)调用。

此生成的功能模块的接口将应用程序要输出的数据传递给表单。在定义智能表单时,我们定义了表单接口,将应用程序数据传递给表单定义。生成的功能模块的接口是表单接口的复制。

SAP ABAP 中的智能表单 SAP 智能表单架构
SAP ABAP 中的智能表单 SAP 智能表单架构

SAP SmartForms 表单生成器

设计和编辑 SmartForms 的工具称为 Form Builder,可使用 tcode SMARTFORMS 访问。Form Builder 有三个主要区域:左侧的导航树、中间的维护屏幕和右侧的表单绘制器。

SAP 智能表单生成器
SAP SmartForms 表单生成器

智能表单导航区域:Sap 智能表单导航树在智能表单中导航时非常方便。它由层次结构格式的各种节点组成。页面、窗口、文本元素或任何其他表单元素称为节点,导航树有助于快速导航这些节点。

智能表单维护区:中间区域,也称为维护屏幕,显示所选节点的属性。

智能表单表单绘制器:RHS 表单绘制器可帮助快速调整智能表单的布局。在表单绘制器中,您可以通过定位输出区域(窗口)来设计页面布局。可以通过实用程序 -> 表单绘制器开/关隐藏此部分,以提供更多工作空间。

在表单节点下,您有全局设置节点和页面和窗口节点。

SAP Smartform 全局设置

全局设置节点由三个子节点组成:表单属性、表单接口和全局定义。

表单属性

您可以在此节点中检查基本格式设置和管理信息。
在表单属性的常规属性选项卡中,您可以控制智能表单到其他语言的翻译。

SAP SmartForm 表单属性
SAP SmartForm 表单属性


在“表单属性”、“输出选项”选项卡中更改智能表单的页面格式。此外,您还可以在“表单属性”、“输出选项”选项卡中检查附加到表单的智能样式。

SAP SmartForm 表单属性
SAP SmartForm 表单属性

表单接口

SAP SmartForm 表单界面
SAP SmartForm 表单界面

SAP Smartform 表单接口用于定义表单的接口,包括导入导出参数,表格和异常等。smartform 的驱动程序使用表单接口将数据传递给表单,以及从 smartform 返回数据。

请记住,当激活智能表单时,它会根据表单界面中定义的参数生成一个具有界面的功能模块。使用此功能模块与智能表单交换数据。

全局定义

SAP SmartForm 全球定义
SAP SmartForm 全球定义

Smartform 全局定义节点用于声明全局数据、类型、字段符号、初始化、表单例程以及定义货币/数量字段。此处声明的变量和字段是全局的,并且在整个 Smartform 中都可用。

SAP 智能表单页面和窗口

SAP SmartForm 页面和窗口
SAP SmartForm 页面和窗口

全局设置后的主要节点是页面和窗口节点。此节点将包含页面,每个智能表单至少有一个页面。不用说,您可以在智能表单中拥有多个具有不同布局的页面。上图显示了一个页面,其中有一个主窗口。

页面有三个选项卡,在常规属性选项卡中,我们指定了当前页面执行后要执行的下一页,它也可以称为下一页。在输出选项中,我们可以定义页面格式,纵向或横向,在背景图片选项卡中,我们可以选择放置背景图像。

SAP SmartForm 页面
SAP SmartForm 页面

在一个页面内,我们可以有窗口、图形或地址节点。

我们可以在一个页面内创建多个窗口。窗口放置在页面上以创建表单的布局。它还用于将需要在表单上显示的节点放在一起。

SAP SmartForm 窗口
SAP SmartForm 窗口

窗口内可以有以下节点:图形、地址、文本、表格、模板、流程逻辑和文件夹。这些也称为表单元素。文本节点将用于显示文本或变量数据。

SAP Smart Forms 详细步骤

此步骤旨在帮助初学者快速开始创建智能表单。在这里,我们将了解如何从头开始逐步创建 SAP 智能表单。

转到 Tcode SMRTFORMS 并提供表单名称。单击创建。

SAP ABAP 中的智能表单 如何在 SAP ABAP 中创建智能表单
SAP ABAP 中的智能表单 如何在 SAP ABAP 中创建智能表单

双击表单属性。对表单进行描述。

SAP ABAP 中的智能表单 如何在 SAP ABAP 中创建智能表单
SAP ABAP 中的智能表单 如何在 SAP ABAP 中创建智能表单

双击“表单接口”。在“导入”选项卡中,输入如图所示的内容。稍后激活表单后,将生成一个功能模块,该模块将具有表单接口中定义的接口。我们将从驱动程序中调用生成的功能模块。

SAP ABAP 中的智能表单 如何在 SAP ABAP 中创建智能表单
SAP ABAP 中的智能表单如何在 SAP ABAP 中创建智能表单

接下来,展开页面和窗口。展开页面。右键单击主页面并选择文本。我们正在插入一个文本节点。

SAP ABAP 中的智能表单 如何在 SAP ABAP 中创建智能表单
SAP ABAP 中的智能表单 如何在 SAP ABAP 中创建智能表单

双击创建的文本节点。给出描述。此外,在框中提供一些有意义的文本。

SAP ABAP 中的智能表单
SAP ABAP 中的智能表单

单击 + 图标。这用于插入变量。这些变量的数据将显示在文本节点上。变量必须以 & 作为前缀和后缀。完成后单击继续。

SAP ABAP 中的智能表单
SAP ABAP 中的智能表单

我们已经完成了智能表单的定义。单击“保存、检查和激活”以保存并激活智能表单。

点击菜单中的“环境-功能模块”,就可以看到生成的功能模块。

SAP ABAP 中的智能表单
SAP ABAP 中的智能表单

在记事本中记下生成的功能模块。您的功能模块会有所不同,所以不用担心。每个智能表单都会生成一个唯一的功能模块。

SAP ABAP 中的智能表单
SAP ABAP 中的智能表单

这样就完成了表单的定义。接下来我们开发一个驱动程序来将数据传递给表单并显示表单。

智能表单驱动程序

我们创建一个驱动程序来调用智能表单以及将应用程序数据传递给智能表单。

进入tcode SE38,输入程序名,点击Create,创建一个应用程序。

SAP ABAP 中的智能表单
SAP ABAP 中的智能表单

按照如下所示编写程序。使用模式调用您在之前步骤中记下的函数模块。

SAP ABAP 中的智能表单
SAP ABAP 中的智能表单

如您所见,我们正在检索工作区 is_scustom 中的数据并将其传递给函数模块。这使 is_custom 数据可用于表单,并最终显示为输出。

完成后,保存并激活驱动程序。填写参数并执行程序。

SAP ABAP 中的智能表单
SAP ABAP 中的智能表单

单击打印预览以显示输出。

SAP ABAP 中的智能表单
SAP ABAP 中的智能表单

表单输出。工作区的值显示在表单上。如果您添加了任何文本,那么它也将显示在输出中。

SAP ABAP 中的智能表单
SAP ABAP 中的智能表单

本文讲授什么是sap智能表单,如何创建sap智能表单以及如何为智能表单编写驱动程序。

SAP 智能表单相对于 SAP 脚本的优势

  • 用于表单维护和开发的更好的 GUI 减少了开发工作量。
  • SAP Smart Forms 具有 Table Painter 和 Template 等功能,可以轻松自定义 Smart Forms
  • 与 SAPScript 不同,SAP Smart Forms 不需要特殊的脚本语言命令
  • SAP 智能表单允许轻松插入普通 ABAP 代码
  • SAP Script 没有语法检查,而智能表单有语法检查器。

SAP Smart Forms 标准示例

SAP IDES 有许多 SAP 智能表单示例供您参考,您可以参考它们来了解有关智能表单的更多信息。这些是 SF_EXAMPLE_01、SF_EXAMPLE_02、SF_EXAMPLE_03 等。