ABAP CDS 视图:使用参数和 F4 帮助

在使用 CDS Annotations 时,我们需要一些选择参数来限制数据以获得预期的输出。在 UI5 应用程序中用作选择屏幕。此类功能可以通过 ABAP CDS 视图的帮助来实现。

1.场景 1:带参数的 CDS 视图

1.1.方法一

在这里,我们将使用参数创建 CDS 视图。

tcode:RSRT 中执行 CDS 会给我们如下提示:

ABAP CDS 视图:使用参数和 F4 帮助 - 第1张  | 优通SAP

生成输入帮助:

在上面的示例中,我们弹出来提供输入,但我们没有获得 F4 输入帮助。这可以如下实现。

ABAP CDS 视图:使用参数和 F4 帮助 - 第2张  | 优通SAP
使用键和文本输入帮助
ABAP CDS 视图:使用参数和 F4 帮助 - 第3张  | 优通SAP

在参数级别添加了注释@Consumption.valuehelpDefination: 以获取输入帮助。名称和元素帮助我们连接来自 CDS 视图 ZCDS_XXXX_Value_Help 的输入帮助字段。

我们没有在消费/复合/界面视图中添加任何其他关联相关的 ZCDS_XXXX_Value_Help。

示例代码 –

比如银行行号可使用用如下搜索帮助

1.2.方法二:

在这个方法中,我们不是用参数创建 CDS,而是使用注解 @consumption.filter.mandatory : True 。该注释将给我们与参数相同的提示。

输出:

ABAP CDS 视图:使用参数和 F4 帮助 - 第4张  | 优通SAP

在这里我们可以看到 F4 帮助也被启用,并且由于注释 @Consumption.ValueHelp 而发生。

当我们使用这个注释时,我们必须在消费视图中提供与我们的关联的连接。

@Consumption.ValueHelp:’_ValueHelp.aXXXX’

这里“_ValueHelp”是关联名称,“aXXXX”是我们生成值帮助的字段。

让我们看一下复合视图。

在这里,我们创建了与 CDS 视图的关联,我们从中生成价值帮助。除此之外,我们在订单类型上面提到了 3 个注解。如果我们在参数中生成值帮助,我们必须使用这些注释。

@ObjectModel.Foreignkey.association 将与关联中使用的 CDS 视图的主键一起使用。

ABAP CDS 视图:使用参数和 F4 帮助 - 第5张  | 优通SAP

实现这一目标的替代方法如下 –

i) 在复合视图中使用 @ObjectModel.Text.Association 注释并提供到文本视图的直接映射。

ii) 在消耗视图中使用@Consumption.valueHelp: 注释。

优点:使用此方法,生成输入帮助时无需维度视图。

2.场景二:参数多选

如果我们想允许用户选择多个输入,那么在消费级别使用下面的注释。

示例代码 –

这将为我们提供多项选择。用户可以选择并传递多个输入来报告。

ABAP CDS 视图:使用参数和 F4 帮助 - 第6张  | 优通SAP

3.场景 3:带范围选项的参数

如果我们面临需要选择范围选择屏幕的情况,那么我们可以在消费视图中使用下面的注释。

4.编写代码以生成价值帮助-

到目前为止,我们已经看到了多种生成参数和 F4 帮助的选项。现在让我们看一下我们在其中生成了价值帮助的 CDS 视图。突出显示在两个 CDS 视图中都很重要的注释。

用于价值帮助关联的 CDS 视图

CDS view used for Value help association

文本的 CDS 视图

5.重要 说明

如果我们在 CDS 视图中将 txt 字段定义为 Key,那么 F4 帮助中将不会出现文本。

在下面的屏幕截图中,只有键出现。F4 帮助中缺少文本,因为我们已将 txt 字段定义为 Key

ABAP CDS 视图:使用参数和 F4 帮助 - 第7张  | 优通SAP

6.创建一个简单CDS作为搜索帮助

先为搜索创建一个CDS.其中使用@AbapCatalog.compiler.compareFilter: true来标记搜索,并使用@UI.lineItem来标记ALV中显示的列,defaultSearchElement: true来标记可用作搜索。

在需要使用搜索的地方使用此搜索帮助,相当于SAPGUI中的F4功能,注意其中字段名区分大小写,不要写错。additionalBinding用来同时返回选择的其它字段。

结论: ABAP CDS 视图有助于构建用户友好的报告。当用户通过任何 UI5 应用程序执行这些报告时,我们可以允许用户进行单选、多选或范围。

留下一个回复

你的email不会被公开。