扩展按钮微件以运行数据操作技术对象

学习目标

  • 在故事中创建数据操作技术对象,并扩展按钮微件以运行。

数据操作和按钮微件

为什么要使用脚本扩展按钮?

按钮微件可以扩展为:

  • 显示自定义对话框和弹出消息。例如,可以扩展按钮,为用户提供个性化消息和对话框,而数据操作启动器仅显示内置系统对话框。

  • 选择另一个微件(例如数据表)的上下文,并自动将其应用于数据操作技术对象。可以扩展按钮,从而无需在提示对话框中手动提供值。

  • 在查看模式下添加按钮,以允许用户快速应用仅在编辑模式下可用的设置。例如,如果计划者没有故事的编辑权限,则可以按按钮更改属性,例如将表设置为只读。

  • 显示数据表的版本列表。

  • 允许轻松访问常用的工具栏选项,例如刷新和还原,使计划人员更容易使用,因为他们不再需要搜索工具栏中的选项。

数据操作

数据操作是一种对模型数据版本进行结构化更改的灵活计划工具,例如将数据从一个模型复制到另一个模型。但是,你可以通过两种方式在故事中使用数据操作:

  1. 使用" 数据操作启动器 "微件。 SAP Analytics Cloud 故事中的数据操作启动器。工具栏打开,并且在生成器面板中打开了“数据操作启动器”设置。 在"利用 SAP Analytics Cloud 中的高级功能进行计划"课程中详细介绍了此主题。

  2. 使用 数据操作技术 对象和相关 API。可执行以下各项:

  • 执行数据操作。

  • 设置数据操作的参数值。

  • 读取数据操作的参数值。 从 SAP Analytics Cloud 故事的左侧面板插入的数据操作技术对象,并在屏幕右侧打开“数据操作配置”面板。

业务场景:创建数据操作按钮

观看此视频,详细了解团队对通过脚本扩展的数据操作按钮的要求。

视频:本节含 SAP 官方视频(视频 ID 1_ecfm3yft),需在 learning.sap.com 在线观看。

Ope

你的团队已经创建了一个由团队中的所有计划人员使用的故事。故事当前具有数据操作,但单击数据操作后,计划人员会收到一条消息,显示*"请等待数据操作运行*"、"忙碌指示器"以及在后台运行作业的选项。

团队倾向于阻止任何更改,直到数据操作完成并自动刷新数据。他们不希望计划员可以使用在后台运行选项。

数据操作对话框

你建议使用数据操作按钮扩展故事。仅当私有版本可用时才会显示此按钮,不允许计划人员在后台运行该数据操作。

在与同事 Christine 合作完全了解扩展数据操作按钮的业务需求后,你将创建一个数据操作按钮,该按钮可以:

  1. 仅当存在私有版本时才会显示。

  2. 复制和刷新数据。

  3. 在繁忙指示器运行时没有对话框。

  4. 指示计划员何时成功运行。

故事设置

在添加脚本编辑之前,必须先创建和配置数据操作,然后向故事中添加数据操作技术对象。

在以下示例中,数据操作技术对象 DataAction_1 已添加到计划故事中,并使用数据操作和数据参数进行配置,如下所示。

故事中的数据操作配置。

向故事页面添加按钮微件。此 BTN_Copy 按钮将用于运行数据操作。

SAP Analytics Cloud 故事,“大纲”面板在左侧打开,BTN_Copy 按钮微件突出显示。相应的按钮会在故事页面上突出显示。

查看时可见性:验证按钮的*"样式设置*"面板,确保将其设置为"隐藏"。这将确保在你计划添加以检查是否有私有版本运行时,该按钮不会暂时显示

按钮的“样式设置”面板打开,“查看时可见性”突出显示,并设置为“隐藏”。

场景中使用的代码

在按钮中添加脚本,以运行数据操作并刷新数据

对于 BTN_Copy 按钮,选择更多操作并向其添加 onClick 脚本。

在选择按钮进行复制,然后刷新表中的数据时,以下脚本用于运行 DataAction_1 数据操作技术对象:

DataAction_1.execute();
TBLPLANNING.getDataSource().refreshData();

为“单击时操作”配置的数据操作。第 1 行和第 2 行。

显示/隐藏数据操作按钮

创建 SO_Planning – updateButtonVisibility 脚本对象并添加以下代码以显示和隐藏 BTN_Copy 按钮,具体取决于私有版本是否存在:

// retrieve all private versions available in the model
var selectedPrivateVersion = TBLPLANNING.getPlanning().getPrivateVersions();

// if private version exists
if (selectedPrivateVersion.length > 0) {
BTN_Copy.setVisible(true);
}
else {
BTN_Copy.setVisible(false);
}

脚本对象中使用的代码,用于显示和隐藏按钮。第 7 行和第 10 行。

在页面加载时检查私有版本

默认情况下,该按钮设置为隐藏,因此将以下代码添加到 Page_1 - onInitialization

//Call Global Script function to populate story with button if private version exists
SO_Planning.updateButtonVisibility();

第 1 页的 onInitialization 脚本。

更改表时检查私有版本

更新表后,检查是否存在私有版本非常重要,因此请将以下代码添加到 TBLPLANNING - onResultChanged

SO_Planning.updateButtonVisibility();

TBLPLANNING 中用于在对表进行更改后更新按钮可见性的代码。第 1 行。

添加忙碌指示器

添加单击"复制并刷新数据"按钮时出现的忙碌指示器,以向用户显示数据操作正在运行:

Application.showBusyIndicator();

数据操作完成运行时隐藏忙碌指示器:

Application.hideBusyIndicator();

BTN_Copy 中使用的代码,用于显示和隐藏忙碌指示器。第 1 行和第 4 行。

添加自定义消息

添加以下代码,以在数据操作成功运行后显示自定义消息:

Application.showMessage(ApplicationMessageType.Success,"The data action has run successfully and the table has refreshed.");

BTN_Copy 中用于显示自定义消息的代码。第五行。

使用脚本编辑创建数据操作”按钮

任务 1: "创建数据操作"按钮,使用脚本编写功能复制和刷新数据

**任务流:**在本练习中,您将:

  • 向故事中添加数据操作技术对象并配置参数。

  • 在 按钮中添加脚本以运行数据操作以复制和刷新数据。

  • 向按钮微件中添加脚本,以便仅在有私有版本时才会显示。

练习开始练习(SAP 官方交互式练习)

任务 2: 在数据操作按钮中添加脚本编写,以显示忙碌指示器和自定义消息

**任务流:**在本练习中,您将:

  • 向按钮添加脚本以显示/隐藏忙碌指示器。

  • 向 按钮添加脚本以添加成功消息。

练习开始练习(SAP 官方交互式练习)