SAP Web Dynpro - 创建应用程序


为了创建 Web Dynpro 应用程序,我们将创建一个由一个视图组成的 Web Dynpro 组件。我们将创建一个视图上下文→链接到视图布局上的表元素并包含表中的数据。

该表将在运行时显示在浏览器中。将创建一个针对这个简单 Web Dynpro 组件的 Web Dynpro 应用程序,该应用程序可以在浏览器中运行。

步骤 1 - 转到 T-Code - SE80 并从列表中选择 Web Dynpro 组件/intf。

SAP 菜单

步骤 2 - 创建一个新组件,如下所示。

新组件

步骤 3 - 输入新组件的名称,然后单击显示。

新组件展示

步骤 4 - 在下一个窗口中,输入以下详细信息 -

  • 您可以输入该组件的描述。
  • 在类型中,选择 Web Dynpro 组件。
  • 您还可以保留默认窗口的名称。
组件说明

步骤 5 - 将此组件分配给包 $TMP,然后单击“保存”按钮。

分配包

当您单击“保存”时,您可以在对象树下看到这个新组件,它包含 -

  • 组件控制器
  • 组件接口
  • 看法
  • Windows
对象树

展开组件界面时,可以看到界面控制器和界面视图。

扩展组件接口

如何创建视图并将其分配给窗口?

步骤 1 - 单击 Web Dynpro 组件并转到上下文菜单(右键单击)→ 创建 → 查看

上下文菜单视图

步骤 2 - 创建一个视图 MAINVIEW,如下所示,然后单击勾号。

主视图

这将在 ABAP 工作台中以名称打开视图编辑器 - MAINVIEW

查看编辑器

步骤 3 - 如果您想打开布局选项卡和视图设计器,您可能需要输入应用程序服务器用户名和密码。

步骤 4 - 单击顶部的保存图标。

创建视图

主视图已保存

保存时,它位于对象树下,您可以通过展开视图选项卡进行检查。

扩展视图选项卡

步骤 5 - 要将窗口分配给此视图,请选择窗口选项卡下的窗口 ZZ_00_TEST,然后单击屏幕顶部的更改模式。

改变模式

步骤 6 - 您可以右键单击 → 显示 → 在同一窗口中。

在同一窗口中显示

展示窗

步骤 7 - 现在打开视图结构并通过拖放将视图 MAINVIEW 移动到右侧的窗口结构内。

窗户结构

步骤 8 - 打开右侧的窗口结构,您将看到嵌入的 MAINVIEW。

嵌入式主视图

步骤 9 - 单击屏幕顶部的“保存”图标进行保存。

如何为 MAINVIEW 创建视图上下文?

步骤 1 - 打开视图编辑器以查看 MAINVIEW 并切换到选项卡上下文。通过打开相应的上下文菜单在视图控制器中创建上下文节点。

步骤 2 - 选择对象树中的视图,然后单击显示。

查看上下文主视图

上下文选项卡

步骤 3 - 在下一个窗口中维护属性。选择基数和字典结构(表)。选择从结构添加属性并选择结构的组件。

字典结构

步骤 4 - 要选择所有组件,请单击顶部的“全选”选项,然后单击屏幕底部的勾号。

选择所有组件

测试节点

已经创建了一个上下文节点TEST_NODE,它引用表的数据结构,并且在运行时可以包含0→n个条目。上下文节点已在视图上下文中创建,因为没有计划与其他视图进行数据交换,因此不需要使用组件控制器上下文。

步骤 5 - 通过单击“保存”图标将更改保存到 MAINVIEW。

控制器使用

步骤 6 - 转到 MAINVIEW 的“布局”选项卡。在 ROOTUIELMENT 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 组件 → 右键单击​​并创建一个新应用程序。

Web Dynpro 新应用程序

步骤 2 - 输入应用程序名称并单击继续。

名称 继续

步骤 3 - 保存更改。保存为本地对象。

本地对象

测试已保存

接下来是激活 Web Dynpro 组件中的对象 -

步骤 4 - 双击组件 ZZ_00_TEST 并单击激活。

更改组件

步骤 5 - 选择所有对象并单击继续。

所有对象

步骤 6 - 要运行应用程序,请选择 Web Dynpro 应用程序 → 右键单击​​并测试。

运行应用程序

将启动浏览器并运行 Web Dypro 应用程序。

浏览器启动并运行

调用 Web Dynpro 应用程序

在 Web Dynpro 应用程序中,组件窗口具有入站插件。此入站插件可以具有参数,这些参数必须指定为 URL 参数。

可以在应用程序中为这些参数设置被 URL 参数覆盖的默认值。如果既没有指定默认值,也没有指定 URL 参数,则会触发运行时错误。

要创建新的入站插件,请将插件指定为启动,并且数据类型应为字符串。激活该组件。

接下来是指定要调用的组件、参数、窗口、启动插件。

调用应用程序和URL参数会覆盖应用程序参数。