SAP Web Dynpro – 快速指南
SAP Web Dynpro – 快速指南
SAP Web Dynpro – 概述
Web Dynpro 是一种标准的 SAP UI 技术,允许您使用与 ABAP 工作台集成的图形工具和开发环境来开发 Web 应用程序。使用图形工具减少了实现工作,您可以更好地重用和维护 ABAP 工作台中的组件。
要访问 ABAP 工作台中的 Web Dynpro 运行时环境和图形工具,您可以使用事务代码 – SE80
使用 Web Dynpro 的主要好处
以下是在 ABAP 环境中为开发人员使用 Web Dynpro 的主要好处 –
- 您可以轻松地维护和重用组件进行开发。
- 使用图形工具减少实施时间。
- 您可以使用图形工具轻松更改布局和导航。
- 容易的结构变化。
- 通过使用数据绑定,您可以使用自动数据传输。
- 易于在 ABAP 环境中集成。
Web Dynpro ABAP 与 Web Dynpro Java 相同,支持相同的应用程序开发功能集。
配置和集成
安装 ABAP 应用服务器后,需要对其进行适当的配置以进行应用程序开发。
要找到有关 ABAP 配置的详细信息,您可以转到 SAP 参考 IMG → SAP NetWeaver → 应用程序服务器
如果您使用的是 SAP Solman,则可以通过转到 T-Code – SOLAR_LIBRARY 来检查此配置。
要在 ABAP 应用程序开发中使用 Web Dynpro,您必须为 Web Dynpro 编程进行额外配置。
互联网通讯经理
您需要在 ICM 服务中设置 HTTP/HTTPS。服务包含以下不同的组件 –
- 服务/端口
- 服务 HTTP/HTTPS 中使用的协议
- 处理超时
- 保持活动超时
- 服务状态 – 活动/非活动
您可以选择转到 → 服务来创建、删除、激活或停用服务。要显示 ICM 服务器缓存统计信息,请选择 Goto → Statistics
互联网通讯架构
您应该激活 Internet 通信框架 (ICF) 服务。您可以通过转到 SPRO → SAP 参考 IMG → SAP NetWeaver → 应用程序服务器 → Internet 通信框架 → 激活 HTTP 服务来激活此服务
安装应用程序服务器 ABAP 时,所有 ICF 服务都处于非活动状态。您可以使用 ICF 树下的 T-code – SICF 维护 ICF 服务。
您可以通过以下方式激活 ICF 服务 –
- 使用菜单选项,服务/主机 → 激活
- 使用上下文菜单并选择激活服务。
视图设计器中的布局编辑器
您应该激活 SICF for Web Dynpro ABAP 中的所有服务,以使用视图设计器中的布局编辑器。
单点登录
您应该在相关主机上设置 SSO。
FQDN
您应该使用完全限定的域名 FQDN,并应避免使用简短的形式。
SAP Web Dynpro – 架构
Web Dynpro 是用于 Web 开发的 ABAP 环境,基于 UI 编程的模型视图控制器 (MVC) 概念。根据平台,它可用于 Java 和 ABAP,并支持类似的功能。
Web Dynpro 具有以下功能 –
- 显示和业务逻辑分离
- 使用图形工具轻松更改布局
- 接口无平台依赖性
以下是作为 Web Dynpro 架构一部分的关键概念 –
元数据
Web Dynpro 为您提供了开发基于Web 的应用程序的环境,您可以在应用程序开发中使用图形工具以元数据的形式定义Web Dynpro 应用程序。您还可以定义自己的事件;但是,事件处理应该在单独的代码中定义,并且必须在触发事件时执行。
Web Dynpro 应用程序中的用户界面由使用 Web Dynpro 工具定义的小元素组成。您还可以通过在运行时更改这些元素或再次集成这些元素来更改或增强用户界面。
图形工具
有多种图形 Web Dynpro 工具可用于生成基于 Web 的应用程序。您不需要为此创建源代码。以下是 Web Dynpro 应用程序中图形工具的主要功能 –
- 定义用户界面元素的属性
- 数据流
- 用户界面布局
对于所有这些属性,您可以使用图形工具而无需创建源代码。
业务及应用逻辑
Web Dynpro 允许您在前端运行您的应用程序,并且可以使用本地服务或通过远程连接访问后端系统。您的用户界面在 Dynpro 应用程序中维护,持久逻辑在后端系统中运行。
您可以使用自适应 RFC 服务或通过调用 Web 服务将 Web Dynpro 应用程序连接到后端系统。
MVC 编程模型
Web Dynpro 应用程序基于 MVC 模型 –
模型– 这允许访问 Web Dynpro 应用程序中的后端数据。
查看– 这用于确保在 Web 浏览器中表示数据。
控制器– 这用于控制模型和视图之间的通信,它从用户那里获取输入并从模型中获取流程数据并在浏览器中显示数据。
SAP Web Dynpro – 导航
在 Web Dynpro 应用程序中,您可以使用插件从一个视图导航到另一个视图。
运行 T-code – SE 80 并创建一个简单的 Web Dynpro 组件 –
我们已经创建了一个具有两个节点和两个视图的 Web Dynpro 组件。
VIEW_DISPLAY 以表格格式显示输出,VIEW_MAIN 执行搜索参数。在 VIEW_MAIN 中,您已配置搜索布局,而 VIEW_DISPLAY 包含显示布局。
在 VIEW_MAIN 中,您已将入站插头 IN_MAIN 和 OUT_FROM_MAIN 配置为出站插头。同样,为 VIEW_DISPLAY 创建入站和出站插件。
如何创建新视图?
步骤 1 – 单击对象树中的组件并转到上下文菜单,如下面的屏幕截图所示 –
步骤 2 – 输入视图名称并单击刻度线。
SAP Web Dynpro – 组件
Web Dynpro 组件是用于创建 Dynpro 应用程序的实体。这些是可重用的实体,它们组合在一起以创建应用程序块。
每个 Web Dynpro 组件都包含一个窗口、视图和控制器页面。您还可以将 Web Dynpro 组件嵌入到应用程序中的其他 Web Dynrpo 组件中,并使用组件接口进行通信。
组件的生命周期从您在运行时首次调用它开始,并以 Web Dynpro 应用程序结束。
看法
每个 Web Dynpro 应用程序至少包含一个视图,用于定义用户界面的布局。每个视图由多个用户元素以及一个控制器和上下文组成。
控制器用于处理用户请求和数据处理。上下文包含视图元素绑定到的数据。
每个视图还包含一个入站和出站插件,以便您可以将视图相互连接。插头可以使用导航链接相互链接。
导航链接和插件
您可以使用入站和出站插件在不同视图之间导航。入站和出站插件是视图控制器的一部分。入站插件定义了起始点,而出站插件告诉后续要调用的视图。
视图集
视图集被定义为预定义的部分,您可以在其中在 Web Dynpro 应用程序中嵌入不同的视图。视图集允许您在一个屏幕中显示多个视图。
以下是设计应用程序时视图集的一些优点 –
- 您可以在 Web Dynpro 窗口中重复使用视图。
- 您可以在稍后阶段轻松更改布局。
- 使用多个视图是一种更加结构化的方法。
Web Dynpro 窗口
在 Web Dynpro 中,该窗口用于多个视图或视图集。视图只能在嵌入到视图中并且窗口始终包含一个或多个通过导航链接连接的视图时才能显示。
每个窗口都包含一个入站和一个出站插件,它们可以包含在导航链中。窗口内的入站插件从视图的出站插件通向嵌入窗口。就像所有其他入站插件一样,它们代表一个事件,因此调用分配给它们的事件处理程序。
窗口控制器
控制器
控制器用于定义 Dynpro 应用程序如何响应用户交互。每个视图都有一个控制器,负责根据用户的交互执行操作。
SAP Web Dynpro – 映射和数据绑定
在 Dynpro 应用程序中,您可以定义两个全局控制器上下文之间或从视图上下文到全局控制器上下文的映射。
在视图布局中设置 UI 元素属性的数据绑定。为此,您可以使用嵌入 UI 元素的属性表中的 Binding 列。单击该按钮可打开一个对话框,该对话框为元素选择提供相应视图的上下文结构。
上下文元素可以定义为将一个节点链接到上下文的另一个节点。
在上图中,您可以看到 View 1 上下文中的 Node 1 与组件控制器上下文中同名节点之间的映射。它还显示了从节点 2 从视图 2 的上下文到组件控制器上下文中同名节点的映射。
组件控制器的上下文可用于具有对所有属性的读写访问权限的视图控制器。
绑定用户界面元素
要在浏览器中显示上下文数据,您还可以将视图中的 UI 元素属性绑定到视图上下文的属性。您可以将多个属性绑定到一个上下文元素。
在视图上下文中,所有数据类型都可以与视图的不同属性绑定。
内部映射
内部映射定义为单个组件的上下文之间的映射。
外部映射
外部映射定义为使用接口控制器的多个组件之间的映射。
SAP Web Dynpro – 事件和操作
您可以创建事件以启用控制器之间的通信。您可以允许一个控制器触发另一个控制器中的事件。您在组件控制器中创建的所有事件都在组件中可用。
入站插件也可以充当事件,因此当您使用入站插件调用视图时,首先调用事件处理程序。
您还可以使用一些特殊事件(如 Button)来链接用户操作。
像按钮这样的按钮元素可以通过点击相应的按钮来响应用户交互,该按钮可以触发在视图控制器中调用的处理方法。这些 UI 元素包含一个或多个常规事件,这些事件可以与在设计时执行的特定操作相关联。
创建操作时,会自动创建事件处理程序。您可以将 UI 元素与不同的操作相关联。
您还可以通过将操作链接到多个 UI 元素来重用视图中的操作。
示例 1
当用户在字段中按下“Enter”键时,按钮单击的 onAction 事件或输入字段的 onEnter 事件。
可以为 Web Dynpro 框架中的任何 UI 元素创建操作。要设置操作,请转到属性选项卡 → 事件部分。
您还可以从视图控制器的操作选项卡创建操作。使用命名约定 onaction<actionname> 自动创建事件处理程序
示例 2
操作名称为 SET_ATTRIBUTES,操作的事件处理程序为 ON_SET_ATTRIBUTES。
SAP Web Dynpro – 应用程序
用户可以使用带有 Dynpro 组件窗口的 URL 访问 Web Dynpro 应用程序。Web Dynpro 应用程序使用入站插件连接到界面视图,该插件进一步连接到包含模型视图和控制器的 Dynpro 组件,以处理 Web Dynpro 应用程序的数据。
MVC 模型使您能够分离用户界面和应用程序逻辑。模型用于根据应用程序逻辑从后端系统获取数据。
下图描绘了 Web Dynpro 应用程序的高级图 –
您可以为 Web Dynpro 应用程序使用不同的数据源 –
- 使用网络服务
- 使用 BAPI 的 SAP 数据
- 使用工具从外部数据源
要开发 Web Dynpro 应用程序,您可以使用 Web Dynpro explorer,它很容易集成到 ABAP 工作台。
SAP Web Dynpro – 应用程序的 URL
在 Web Dynpro 应用程序中,会自动生成 URL。您可以在“属性”选项卡中找到应用程序的 URL。URL 结构可以有两种类型 –
-
SAP 命名空间–
<schema>://<host>.<domain>.<extension>:<port>/sap/bc/webdynpro/<namespace>/<application name>
- 自定义命名空间–
<schema>://<host>.<domain>.<extension>:<port>/abc/klm/xyz/<namespace>/webdynpro/<application name> <schema>://<host>.<domain>.<extension>:<port>/namespace>/webdynpro/<application name>
在哪里,
< schema > – 定义访问应用程序 http/https 的协议
< host > – 定义应用服务器的名称
<域><扩展名> – 在一个通用名称下定义多个主机
< port > – 如果使用标准端口 80 (http) 或 443 (https),则可以省略
您应该在 Web Dynpro 应用程序 URL 中指定完全限定域名 (FQDN)。
例子
应用 1 http://xyz.sap.corp:1080/sap/bc/webdynpro/sap/myFirstApp/
应用 2 http://xyz.sap.corp:1080/sap/bc/webdynpro/sap/mySecondApp/
要检查完全限定的域名,请转到 ABAP 开发环境中的 Web Dynpro 资源管理器,使用 T-code – SE80 并从导航树中为您的 Web Dynpro 组件/接口选择 Web Dynpro 应用程序,并检查管理数据中的 URL。您还需要检查字段 URL 中的路径详细信息。它应该包含完整的域和主机名。
应使用完整域名的原因如下 –
- 您需要一个域来设置 cookie。
- 在 https 模式下,您应该使用 FQDN 作为证书和 SSL 协议。
- 对于门户集成,使用域关系代码。
SAP Web Dynpro – 创建应用程序
要创建 Web Dynpro 应用程序,我们将创建一个包含一个视图的 Web Dynpro 组件。我们将创建一个视图上下文 → 链接到视图布局上的表格元素,并包含表格中的数据。
该表将在运行时显示在浏览器中。将为这个简单的 Web Dynpro 组件创建一个 Web Dynpro 应用程序,它可以在浏览器中运行。
步骤 1 – 转到 T-Code – SE80 并从列表中选择 Web Dynpro 组件/intf。
步骤 2 – 创建一个新组件,如下所示。
步骤 3 – 输入新组件的名称并单击显示。
步骤 4 – 在下一个窗口中,输入以下详细信息 –
- 您可以输入此组件的描述。
- 在类型中,选择一个 Web Dynpro 组件。
- 您还可以维护默认窗口的名称。
步骤 5 – 将此组件分配给 Package &dollarTMP 并单击“保存”按钮。
当您单击保存时,您可以在对象树下看到这个新组件,它包含 –
- 组件控制器
- 组件接口
- 看法
- 视窗
展开组件界面时,可以看到界面控制器和界面视图。
如何创建视图并将其分配给窗口?
步骤 1 – 单击 Web Dynpro 组件并转到上下文菜单(右键单击)→ 创建 → 查看
步骤 2 – 创建一个视图 MAINVIEW,如下所示,然后单击刻度线。
这将在名称为 – MAINVIEW 的 ABAP 工作台中打开视图编辑器
步骤 3 – 如果要打开布局选项卡和视图设计器,您可能需要输入应用服务器用户名和密码。
步骤 4 – 单击顶部的保存图标。
保存时,它位于对象树下,您可以通过展开视图选项卡进行检查。
步骤 5 – 要将窗口分配给此视图,请在窗口选项卡下选择窗口 ZZ_00_TEST,然后单击屏幕顶部的更改模式。
步骤 6 – 您可以右键单击 → 显示 → 在同一窗口中。
步骤 7 – 现在打开视图结构并通过拖放将视图 MAINVIEW 移动到右侧窗口结构内。
步骤 8 – 打开右侧的窗口结构,您将看到嵌入的 MAINVIEW。
步骤 9 – 单击屏幕顶部的“保存”图标进行保存。
如何为 MAINVIEW 创建视图上下文?
步骤 1 – 打开视图编辑器以查看 MAINVIEW 并切换到选项卡上下文。通过打开相应的上下文菜单,在 View Controller 中创建一个上下文节点。
步骤 2 – 在对象树中选择视图,然后单击显示。
步骤 3 – 在下一个窗口中维护属性。选择基数和字典结构(表)。选择从结构中添加属性并选择结构的组件。
步骤 4 – 要选择所有组件,请单击顶部的全选选项,然后单击屏幕底部的刻度线。
已经创建了一个上下文节点 TEST_NODE,它引用了表的数据结构,并且在运行时可以包含 0 → n 个条目。上下文节点已在视图上下文中创建,因为没有计划与其他视图交换数据,因此不需要使用组件控制器上下文。
步骤 5 – 单击“保存”图标将更改保存到 MAINVIEW。
步骤 6 – 转到 MAINVIEW 的布局选项卡。在 ROOTUIELEMENT CONTAINER 下插入类型表的新 UI 元素,并在给定表中分配属性。
步骤 7 – 输入元素的名称和类型。
步骤 8 – 创建 TEST_TABLE 与上下文节点 TEST_NODE 的绑定。选择文本视图作为标准单元格编辑器并激活所有单元格的绑定。
步骤 9 – 单击上下文按钮。从列表中选择上下文节点作为 TEST_NODE。
步骤 10 – 您可以通过选择它来查看所有属性。
步骤 11 – 通过选择所有上下文属性激活绑定下的所有复选框。按 Enter 键确认输入。
结果应该是这样的 –
步骤 12 – 保存更改。
步骤 13 – 要向 TEST 表提供数据,请转到方法选项卡并双击方法 WDDOINIT。输入以下代码 –
method WDDOINIT . * data declaration data: Node_TEST type REF TO IF_WD_CONTEXT_NODE, Itab_TEST type standard table of TEST. * get data from table TEST select * from TEST into table Itab_TEST. * navigate from <CONTEXT> to <TEST> via lead selection Node_TEST = wd_Context->get_Child_Node( Name = `TEST_NODE` ). * bind internal table to context node <TEST> Node_TEST->Bind_Table( Itab_TEST ). endmethod.
Web Dynpro 应用程序,您不应直接从 Web Dynpro 方法访问数据库表,但是,您应该使用提供函数或 BAPI 调用来访问数据。
步骤 14 – 通过单击屏幕顶部的保存图标来保存更改。
如何创建 Web Dynpro 应用程序?
步骤 1 – 在对象树中选择 ZZ_00_TEST 组件 → 右键单击并创建一个新应用程序。
步骤 2 – 输入应用程序名称并单击继续。
步骤 3 – 保存更改。另存为本地对象。
接下来是在 Web Dynpro 组件中激活对象 –
步骤 4 – 双击组件 ZZ_00_TEST 并单击激活。
步骤 5 – 选择所有对象并单击继续。
步骤 6 – 要运行应用程序,选择 Web Dynpro 应用程序 → 右键单击并测试。
将启动浏览器并运行 Web Dypro 应用程序。
调用 Web Dynpro 应用程序
在 Web Dynpro 应用程序中,组件窗口有一个入站插件。这个入站插件可以有参数,这些参数必须指定为 URL 参数。
可以在应用程序中为这些参数设置被 URL 参数覆盖的默认值。如果既未指定默认值也未指定 URL 参数,则会触发运行时错误。
要创建新的入站插件,请将插件指定为启动项,数据类型应为字符串。激活组件。
接下来是指定要调用的组件、参数、窗口、启动插件。
调用应用程序和 URL 参数覆盖应用程序参数。
SAP Web Dynpro – 组件接口
创建 Web Dynpro 组件时,创建过程会创建一个组件界面。每个组件接口只包含一个接口控制器和一个接口视图。接口视图与接口控制器没有直接联系,是自动创建的。
使用组件接口,您可以定义接口结构,并且可以在不同的应用程序组件中使用。
组件接口定义的接口控制器和组件的接口控制器是不同的。
您可以将多个接口视图添加到组件接口定义中。
创建 Web Dynpro 组件接口定义
考虑与上一章相同的屏幕截图。
步骤 1 – 输入新组件的名称并单击显示。
步骤 2 – 在下一个窗口中,输入以下详细信息 –
- 您可以输入此组件的描述。
- 在类型中,选择一个 Web Dynpro 组件。
- 您还可以维护默认窗口的名称。
步骤 3 – 将此组件分配给 Package &dollarTMP 并单击“保存”按钮。
当您单击保存时,您可以在对象树下看到这个新组件,它包含 –
- 组件控制器
- 组件接口
- 看法
- 视窗
SAP Web Dynpro – Faceless 组件
Web Dynpro 中的 Faceless 组件不包含任何图形组件、没有视图和窗口。它只包含一个组件控制器,您可以添加一个额外的自定义控制器。
Faceless 组件专门用于接收和构建数据。可以使用组件用法将无面组件嵌入到其他组件中,您可以为这些组件提供所需的数据。
如何创建一个无面组件?
步骤 1 – 创建一个新的 Web Dynpro 组件。
步骤 2 – 选择包并单击保存按钮。
步骤 3 – 要创建 Faceless 组件,请删除两个元素 – View 和 Window。
SAP Web Dynpro – 帮助类
在 Web Dynpro 组件中,您可以创建一个从抽象类继承的唯一分配的类。辅助类可以存储组件中所需但不与布局链接的编码。
您可以在辅助类中存储动态文本、在运行时组合的文本或包含可以存储在文本池中的变量。
在 Assistance 类中,您还可以保存与应用程序布局或控制器没有直接联系的代码。
使用方法 _WD_COMPONENT_ASSISTANCE~GET_TEXT( ) 允许您访问组件控制器中辅助类的文本符号。当您调用该方法时,将使用文本符号的 3 位 id –
method MY_CONTROLLER_METHOD . data: my_text type string. my_text = WD_ASSIST->IF_WD_COMPONENT_ASSISTANCE~GET_TEXT( KEY = ‘001’ ). Endmethod
您可以使用每个控制器在辅助类中维护文本符号。单击菜单中的转到 → 文本符号。
注意– 每个 ABAP 类都可以作为辅助类,但与 Web Dynpro 应用程序集成的服务仅在辅助类派生自类时才可用 – CL_WD_COMPONENT_ASSISTANCE。
应用程序中的服务调用
您可以使用服务调用来调用 Web Dynpro 组件中的现有功能模块。要创建服务调用,您可以使用 Web Dynpro 工具中易于使用的向导。
您可以在 ABAP 工作台中启动向导来创建服务调用。
运行 T 代码 – SE80
步骤 1 – 选择 Web Dynpro 组件 → 右键单击以打开上下文菜单。转到创建 → 服务调用。
它将打开 Web Dynpro 向导 – 开始屏幕。
第 2 步– 您可以选择是要将服务调用嵌入到现有控制器中还是要创建新控制器。
注意– 服务调用应该嵌入到全局控制器中,并且不能与 Web Dynpro 中的视图控制器一起使用。
步骤 3 – 在下一个窗口中,选择服务类型。单击继续按钮。
步骤 4 – 在下一个窗口中,选择一个功能模块作为服务。您可以为此使用输入帮助。
如果选择支持远程功能的功能模块,则可以选择指定调用功能模块时要使用的 RFC 目标。如果不指定目的地,功能模块将在本地调用。
注意– 当前系统中必须存在功能模块!向导不支持调用当前系统中不存在的远程功能模块。
步骤 5 – 单击继续。
步骤 6 – 在下一个窗口中,您可以选择使用哪种对象类型来表示 Web Dynpro 控制器中的服务功能参数 –
- 作为控制器方法的参数
- 作为控制器属性
- 作为上下文节点或上下文属性
为此,请从相关行的列表框中选择所需的对象类型。
注意– 只有 UI 相关的数据应该存储在上下文中。
您还可以单独命名要创建的控制器属性和上下文节点。
生成以下提案 –
-
根节点接收服务的名称。
-
根据声明类型对参数进行分组的节点接收适当的名称,例如 IMPORTING、EXPORTING、…
-
参数本身的节点名称和属性名称与参数名称相同。
-
由于节点和属性名称的长度限制为 20 个字符,如有必要,它们会相应地缩写。
在下一个窗口中,所选服务使用类型组中的类型作为参数类型和/或定义隐式表参数。
对于下面列出的所有类型,在数据字典中定义具有相同结构的(表)类型。然后,这些将用于键入由向导创建的控制器属性或方法参数。
步骤 7 – 输入属性类型 – TEST 并单击继续。
步骤 8 – 在下一个窗口中,指定应该执行服务的方法的名称。向导生成用于调用服务和上下文绑定的编码。
该方法不得存在于控制器中。
您现在已经输入了创建面向模型的控制器所需的所有信息。
步骤 9 – 单击“完成”以创建控制器,或分别对其进行增强以生成服务调用。
您也可以在此位置取消向导。但是,之前输入的数据会丢失。
SAP Web Dynpro – 使用服务调用
创建服务调用时,组件可以使用一个功能模块。现在可以选择一个视图以在浏览器中显示数据库表的元素。如果全局控制器不是组件控制器,则必须为所选视图的控制器进入全局控制器的使用页面。之后,应该有节点的映射。
FUNCMODUL1 到视图控制器上下文中具有相同名称的节点上生成。
为了用数据库表的数据填充视图控制器上下文的上下文节点FUNCMODUL1,全局控制器的EXECUTE_FUNCMODULE方法被称为它的供应函数。为此,您必须通过调用方法 EXECUTE_FUNCMODULE1 来创建这样的供应函数。
SAP Web Dynpro – 调试应用程序
ABAP 工作台中有各种工具可用于调试源代码。您可以使用调试器测试 Web Dynpro 应用程序的所有源代码。
步骤 1 – 要启动调试器,您必须在 ABAP 工作台中选择一个新的调试器。
步骤 2 – 转到实用程序 → 设置
现在出现一个对话框,其中包含两个嵌套的标签页区域。
步骤 3 – 选择“父”标签页 ABAP 编辑器。
ABAP 编辑器的设置始终与子标签页编辑器的内容一起打开。
步骤 4 – 选择前端编辑器(新)。
步骤 5 – 现在切换到 ABAP 编辑器设置中的调试选项卡页面,然后选择新建调试器。
步骤 6 – 保存更改并关闭对话框。
如何开始调试过程?
如果要在调试模式下运行应用程序,则需要在 Dynpro 组件中的方法之一中设置外部断点。
建议在 Dynpro 视图的 METHODS 选项卡下的 WDDOMOMODIFYVIEW 方法中设置断点。假设视图控制器的上下文未使用供应方法填充,则此时在阶段模型中完全实例化视图。
注意– 设置断点的方法取决于测试运行的目的,建议在 WDDMODIFYVIEW 中设置。
当您启动 Web Dynpro 应用程序时,调试器会在另一个会话中自动启动。
SAP Web Dynpro – 版本管理
您可以使用版本管理来管理对象的旧版本、比较版本或者您也可以重置它们。在版本管理中,可以存储不同版本的 ABAP 开发对象。
在 ABAP 工作台中,您可以比较不同版本的 –
- 观看次数
- 视窗
- 控制器
您还可以存储一个对象的版本而不释放它。要执行此操作,请在编辑器区域中选择对象并转到实用程序选项卡 → 版本 → 生成版本
在版本生成之前,如果你去版本管理,你可以看到数据库中没有版本。
当您单击生成版本时,您会收到一个版本已创建的确认信息。
如何进行版本比较?
转到实用程序 → 版本 → 版本管理
它显示版本数据库中所选对象的所有存储版本。它包含所有以前发布的或所有活动的版本。
要开始比较对象,请选择对象并单击屏幕顶部的比较按钮。
对于所有版本,都会进行比较,并在表格中突出显示任何差异。
SAP Web Dynpro – 消息
在 ABAP Workbench 中,您还可以创建和显示包含 Dynpro 应用程序最终用户信息的消息。这些消息显示在屏幕上。这些是用户交互消息,显示有关 Web Dynpro 应用程序的重要信息。
为了向用户提供信息、警告或错误详细信息,您可以使用运行时服务在 ABAP 工作台中对这些方法进行编程。
这些消息在 Web Dynpro 应用程序的设置下配置。您可以分配不同的设置来处理 Web Dynpro 应用程序中的消息 –
显示消息组件– 在这种情况下,如果消息存在,它将被显示。
始终显示消息组件– 即使没有消息,消息组件也会显示在顶部。
不带组件显示消息– 在此设置中,显示一条消息并且不存在消息日志。
所有这些用户消息都显示在状态栏中。用户可以导航到 UI 元素以删除错误消息中的错误。
弹出窗口中的消息– 在此配置中,您可以将消息设置为在弹出窗口中显示,而不管 Web Dynpro 应用程序中的配置如何。您可以配置以下弹出消息以显示 –
- 消息属于特定窗口
- 到目前为止的所有消息
- 没有消息
SAP Web Dynpro – 集成消息
您可以使用消息管理器将消息集成到消息日志中。您可以使用 Web Dynpro 代码向导打开消息管理器。
您可以从工具栏中打开 Web Dynpro 代码向导。当您的 ABAP 工作台处于更改模式或编辑视图或控制器时,它可用。
要在更改模式下设置 ABAP 工作台,请选择视图并转到更改的上下文。
您可以使用以下方法来触发消息 –
-
IS_EMPTY – 用于查询是否有任何消息。
-
CLEAR_MESSAGES – 用于删除所有消息。
-
REPORT_ATTRIBUTE_ERROR_MESSAGE – 用于向上下文属性报告 Web Dynpro 异常。
-
REPORT_ATTRIBUTE_EXCEPTION – 用于向上下文属性报告 Web Dynpro 异常。
-
REPORT_ERROR_MESSAGE – 用于报告带有可选参数的 Web Dynpro 消息。
-
REPORT_EXCEPTION – 用于报告可能返回的 Web Dynpro 异常。
-
REPORT_FATAL_ERROR_MESSAGE – 这用于报告带有可选参数的致命 Web Dynpro 消息。
-
REPORT_FATAL_EXCEPTION – 用于报告致命的 Web Dynpro 异常。
-
REPORT_SUCCESS – 用于报告成功消息。
-
REPORT_T100_MESSAGE – 这用于使用 T100 条目报告消息。
-
REPORT_WARNING – 用于报告警告。
个性化和配置
根据业务需求,您可以实现许多标准应用程序,Web Dynpro 应用程序的 UI 可以根据需求而变化。
应用程序配置
要配置 Web Dynpro 应用程序,首先要为各个 Web Dynpro 组件配置数据记录。
使用组件配置,它允许您管理行为。
接下来是配置应用程序。创建的所有组件都需要在特定配置中使用。Web Dynpro 应用程序的配置定义了在应用程序中配置的组件。
如何启动组件配置器?
在 ABAP 对象列表中,选择一个 Web Dynpro 组件 –
右键单击 → 创建/更改配置。
这将打开带有配置器对话窗口的浏览器。Component Configurator 模式处于活动状态,您可以为新的组件配置输入一个名称。
您还可以定义隐式和显式配置。保存配置并关闭窗口。
注意– 只有当新配置实际包含值时,您才能保存新配置。不存储不包含任何数据且具有名称的空配置文件。
由于此配置器不是 ABAP 工作台的一部分并且在浏览器中单独运行,因此您需要在配置中的创建或更改过程完成后更新工作台中对象列表的层次结构。
这允许您为每个对象存储不同的配置。
个性化中的 Delta 处理
保存应用程序配置时,您无法检查管理员和最终用户所做的更改。需要存储允许管理合并数据的定制和个性化数据。
应考虑以下几点 –
-
应用程序用户和管理员应该能够撤销更改。
-
应用程序的自定义更改应该对所有页面的用户可见。
-
应用程序管理员应该有权将报告标记为最终报告,并且这应该对所有用户都有效。当管理员将属性标记为 final 时,不得再允许对作为单个用户个性化值的任何更改。
SAP Web Dynpro – 门户集成
您可以将 ABAP 应用程序集成到企业门户中。您还可以从 Web Dynpro 应用程序管理门户功能。
您可以调用 Web Dynpro 代码向导来访问门户管理器方法。这可用于执行以下功能 –
门户事件– 在门户或门户内容内的 Web Dynpro 应用程序之间导航。
支持以下导航类型 –
- 基于对象的导航
- 绝对导航
- 相对导航
工作保护模式 – 对于门户集成,以下 Web Dynpro 应用程序可在 SWDP_TEST 包中使用 –
-
WDR_TEST_PORTAL_EVENT_FIRE
触发事件
-
WDR_TEST_PORTAL_EVENT_FIRE2
触发免费事件
-
WDR_TEST_PORTAL_NAV_OBN
基于对象的导航
-
WDR_TEST_PORTAL_NAV_PAGE
页面导航
-
WDR_TEST_PORTAL_WORKPROTECT
安全监控
-
WDR_TEST_PORTAL_EVENT_REC
接收门户事件
-
WDR_TEST_PORTAL_EVENT_REC2
接收免费门户活动
SAP Web Dynpro – 在门户中集成 WDA
以下是在门户中集成 Web Dynpro ABAP (WDA) 的步骤。
步骤 1 – 使用 T-code – SE80 转到 ABAP 工作台并创建 Web Dynpro 组件。
步骤 2 – 保存组件并激活它。
步骤 3 – 定义数据绑定和上下文映射。创建一个 Web Dynpro 应用程序并保存它。
第 4 步– 登录 SAP NetWeaver 门户。
步骤 5 – 转到门户内容 → 内容管理选项卡。
步骤 6 – 右键单击门户内容并创建一个新文件夹。
步骤 7 – 输入文件夹名称并单击完成。
步骤 8 – 右键单击创建的文件夹并创建一个新的 iView。
步骤 9 – 选择 iView 模板。从现有 iView 模板创建 iView,然后单击下一步。
步骤 10 – 选择 SAP Web Dynpro iView 作为模板,然后单击下一步。
步骤 11 – 输入 iView 名称、iView ID、iView 前缀 ID,然后单击下一步。输入定义类型为 ABAP,然后单击下一步。
步骤 12 – 输入 Web Dynpro 详细信息并创建 ECC 系统。
步骤 13 – 在同一屏幕中输入应用程序参数,然后单击下一步。系统将提示您查看摘要屏幕。单击完成。
SAP Web Dynpro – 交互式表单
您可以基于 Adobe 软件创建表单,并且可以在 Web Dynpro 用户界面的上下文中使用。您可以将 Adobe 生命周期开发工具与 ABAP 编辑器集成,以简化用户界面的开发。使用 Adobe 软件的交互式表单可让您高效轻松地开发 UI 元素。
以下场景可用于创建交互式表单 –
- 互动场景
- 打印场景
- 线下场景
- 使用数字签名
如何使用表单创建 Web Dynpro 应用程序?
您可以使用表单编辑器独立创建表单。转到T 代码 – SFP
单击“创建”时,系统将提示您输入表单名称、表单描述和界面。
例子
系统中交互式场景的示例组件在包 SWDP_TEST → WDR_TEST_IA_FORMS 中可用。
使用场景插入表单
在 Dynpro 应用程序中,用于插入交互式表单的两种场景 – 打印场景和交互式场景是相似的。包含静态组件的表单可用于使用打印场景在 Dynpro 应用程序中显示数据。
使用交互式表单,您可以将 Web Dynpro 上下文中的条目重用于 Web Dynpro 应用程序。
如何插入交互式表单?
步骤 1 – 创建 Web Dynpro 组件的视图。
Step 2 – 右键单击 View 并创建一个节点。此节点将绑定到窗体。
步骤 3 – 将交互式表单从 Adobe 库拖到设计器窗口。
第 4 步– 设计表单,输入名称并绑定属性。
步骤 5 – 完成表单设计后,进入工作台中的编辑模式并定义表单是静态内容、基于 PDF 的打印表单还是交互式表单。
SAP Web Dynpro – SAP 列表查看器 (ALV)
SAP List Viewer 用于添加 ALV 组件并提供灵活的环境来显示列表和表格结构。标准输出由标题、工具栏和输出表组成。用户可以使用附加对话框调整设置以添加列显示、聚合和排序选项。
以下是 ALV 的主要特点 –
-
它支持表格元素的许多属性,因为它基于 Web Dynpro 表格 UI 元素。
-
ALV 输出可以被过滤、排序,或者你可以应用计算。
-
用户可以使用工具栏中的 UI 元素执行特定于应用程序的功能。
-
允许用户在不同的视图中保存设置。
-
允许在 ALV 输出上方和下方配置特殊区域。
-
允许定义可以编辑 ALV 输出的范围。
如何创建 ALV?
以下是创建 ALV 的步骤。
步骤 1 – 使用 T 代码:SE80。从列表中选择 Web Dynpro comp/intf 并输入名称。点击显示。系统将提示您创建组件。单击是。
步骤 2 – 选择类型作为 Web Dynpro 组件。输入窗口名称和视图名称。
步骤 3 – 单击刻度线。
步骤 4 – 在更改窗口中,输入组件作为 ALV,组件作为 SALV_WD_TABLE 和描述作为 ALV 组件。
步骤 5 – 转到组件控制器并右键单击上下文。然后选择使用字典结构 MAKT 创建节点 MAKT。
步骤 6 – 使用从结构中添加属性从 MAKT 中选择所需的属性。
步骤 7 – 从节点 MAKT 中删除字典结构 MAKT 并设置如下属性(基数、线索选择等)
步骤 8 – 右键单击对象树中的组件使用情况 → 创建控制器使用情况。
步骤 9 – 转到视图 → 上下文选项卡并将 MAKT 节点拖到视图中。
映射后,它将如下面的屏幕截图所示。
步骤 10 – 转到布局并右键单击插入元素。
布局将如下面的屏幕截图所示 –
步骤 11 – 转到“属性”选项卡,单击“创建控制器使用”以将以下内容添加到“查看”。
步骤 12 – 转到方法,使用 WDDOINIT 编写代码。
步骤 13 – 双击该方法以输入代码。输入以下代码,启动使用的组件ALV。
在控制器中使用 GET_MODEL 方法。
步骤 14 – 使用 BIND_TABLE 方法将表绑定到上下文节点,如下所示 –
步骤 15 – 转到对象树中的窗口并右键单击 C1 以将 ALV 表嵌入到视图中。
嵌入 ALV 表后,它将如下所示 –
步骤 16 – 最后一步是在对象树下创建一个 Web Dynpro 应用程序。输入应用程序的名称。
步骤 17 – 要执行应用程序,双击,您将看到输出。
在 ALV 输出中使用过滤器
使用过滤器,您可以限制 ALV 输出中的数据。您可以为每个字段创建多个过滤条件。要创建或删除过滤条件,可以使用接口类IF_SALV_WD_FILTER 的方法。
您可以使用以下方法来创建、获取和删除过滤条件 –
Function | 方法 |
---|---|
Get a specific filter condition | GET_FILTER_RULE |
Get all filter Conditions of a field | GET_FILTER_RULES |
Create filter condition | CREATE_FILTER_RULE |
Delete a specific filter condition | DELETE_FILTER_RULE |
SAP Web Dynpro – 管理
在 Web Dynpro ABAP 管理中,您可以使用不同的工具执行各种管理任务 –
- ICM追踪
- Web Dynpro 跟踪工具
- 浏览器跟踪
- 日志记录
- 安全
跟踪工具
Web Dynpro 跟踪工具可用于检查 Dynpro 应用程序中的错误和问题。您可以为特定用户激活 Web Dynpro 跟踪工具。
步骤 1 – 要在 SAP GUI 客户端激活跟踪工具,请使用 T 代码 – WD_TRACE_TOOL
步骤 2 – 单击此用户的激活。这允许为用户设置跟踪活动。
步骤 3 – 在新窗口中选择 Trace features,然后单击 OK。
第 4 步– 启动要跟踪的 Web Dynpro 应用程序。您可以在 Web 应用程序中看到一个新的区域 Web Dynpro 跟踪工具。
步骤 5 – 执行应用程序。输入问题的详细信息→选择继续。
第 6 步– 您还可以使用“插入”发送并添加屏幕截图,或者插入带有附加信息的文件。转到浏览 → 选择文件,然后单击添加文件。
步骤 7 – 您可以下载 Zip 格式的跟踪文件并通过单击将跟踪另存为 Zip 文件和停止跟踪来结束跟踪。
该文件可以上传到 SAP 门户,并可以发送到 SAP 进行调试。
ICM追踪
要分析问题,您还可以在 SAP Web 应用程序服务器中跟踪数据流。
步骤 1 – 使用 T 代码 – 中芯国际。在下一个窗口中,单击 GOTO → Trace File → Display file 或开始。
您将看到 ICM 跟踪结果,如下面的屏幕截图所示 –
步骤 2 – 您还可以从默认级别 1 增加跟踪级别。要增加跟踪级别,请转到 → 跟踪级别 → 增加。
HTTP 浏览器跟踪
这用于分析代码的动态行为。这可以用作 ICM 跟踪的替代方法。
要使用浏览器跟踪,您需要在本地系统上安装代理工具。
SAP Web Dynpro – 监控应用程序
您可以使用 ABAP 监视器来监视 Web Dynpro 应用程序。存储有关 Web Dynpro 应用程序的信息。您可以使用 T 代码 – RZ20 查看此信息。
您可以在 Web Dynpro ABAP 监视器中查看以下信息 –
- 会话数
- 申请数量
- CPU时间
- 数据
要查看报告,请使用T 代码 – RZ20
步骤 1 – 转到 SAP CCMS 监控模板。
步骤 2 – 单击子节点整个系统。
步骤 3 – 输入安装了要监控的应用程序的当前 SAP 系统的系统 ID。
步骤 4 – 选择应用程序服务器。
步骤 5 – 选择相关应用服务器的名称。例如,选择 Web Dynpro ABAP,如下面的屏幕截图所示 –
调用 Web Dynpro 应用程序时,结果将显示以下信息 –
- 数据
- 申请数量
- 会话数
- 往返
- CPU时间