扩展按钮微件以运行数据操作技术对象
学习目标
在故事中创建数据操作技术对象,并扩展按钮微件以运行。
数据操作和按钮微件
为什么要使用脚本扩展按钮?
按钮微件可以扩展为:
显示自定义对话框和弹出消息。例如,可以扩展按钮,为用户提供个性化消息和对话框,而数据操作启动器仅显示内置系统对话框。
选择另一个微件(例如数据表)的上下文,并自动将其应用于数据操作技术对象。可以扩展按钮,从而无需在提示对话框中手动提供值。
在查看模式下添加按钮,以允许用户快速应用仅在编辑模式下可用的设置。例如,如果计划者没有故事的编辑权限,则可以按按钮更改属性,例如将表设置为只读。
显示数据表的版本列表。
允许轻松访问常用的工具栏选项,例如刷新和还原,使计划人员更容易使用,因为他们不再需要搜索工具栏中的选项。
数据操作
数据操作是一种对模型数据版本进行结构化更改的灵活计划工具,例如将数据从一个模型复制到另一个模型。但是,你可以通过两种方式在故事中使用数据操作:
使用" 数据操作启动器 "微件。
在"利用 SAP Analytics Cloud 中的高级功能进行计划"课程中详细介绍了此主题。使用 数据操作技术 对象和相关 API。可执行以下各项:
执行数据操作。
设置数据操作的参数值。
读取数据操作的参数值。

业务场景:创建数据操作按钮
观看此视频,详细了解团队对通过脚本扩展的数据操作按钮的要求。
视频:本节含 SAP 官方视频(视频 ID
1_ecfm3yft),需在 learning.sap.com 在线观看。
Ope
你的团队已经创建了一个由团队中的所有计划人员使用的故事。故事当前具有数据操作,但单击数据操作后,计划人员会收到一条消息,显示*"请等待数据操作运行*"、"忙碌指示器"以及在后台运行作业的选项。
团队倾向于阻止任何更改,直到数据操作完成并自动刷新数据。他们不希望计划员可以使用在后台运行选项。

你建议使用数据操作按钮扩展故事。仅当私有版本可用时才会显示此按钮,不允许计划人员在后台运行该数据操作。
在与同事 Christine 合作完全了解扩展数据操作按钮的业务需求后,你将创建一个数据操作按钮,该按钮可以:
仅当存在私有版本时才会显示。
复制和刷新数据。
在繁忙指示器运行时没有对话框。
指示计划员何时成功运行。
故事设置
在添加脚本编辑之前,必须先创建和配置数据操作,然后向故事中添加数据操作技术对象。
在以下示例中,数据操作技术对象 DataAction_1 已添加到计划故事中,并使用数据操作和数据参数进行配置,如下所示。

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

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

场景中使用的代码
在按钮中添加脚本,以运行数据操作并刷新数据
对于 BTN_Copy 按钮,选择更多操作并向其添加 onClick 脚本。
在选择按钮进行复制,然后刷新表中的数据时,以下脚本用于运行 DataAction_1 数据操作技术对象:
DataAction_1.execute();
TBLPLANNING.getDataSource().refreshData();

显示/隐藏数据操作按钮
创建 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);
}

在页面加载时检查私有版本
默认情况下,该按钮设置为隐藏,因此将以下代码添加到 Page_1 - onInitialization:
//Call Global Script function to populate story with button if private version exists
SO_Planning.updateButtonVisibility();

更改表时检查私有版本
更新表后,检查是否存在私有版本非常重要,因此请将以下代码添加到 TBLPLANNING - onResultChanged:
SO_Planning.updateButtonVisibility();

添加忙碌指示器
添加单击"复制并刷新数据"按钮时出现的忙碌指示器,以向用户显示数据操作正在运行:
Application.showBusyIndicator();
数据操作完成运行时隐藏忙碌指示器:
Application.hideBusyIndicator();

添加自定义消息
添加以下代码,以在数据操作成功运行后显示自定义消息:
Application.showMessage(ApplicationMessageType.Success,"The data action has run successfully and the table has refreshed.");

使用脚本编辑创建数据操作”按钮
任务 1: "创建数据操作"按钮,使用脚本编写功能复制和刷新数据
**任务流:**在本练习中,您将:
向故事中添加数据操作技术对象并配置参数。
在 按钮中添加脚本以运行数据操作以复制和刷新数据。
向按钮微件中添加脚本,以便仅在有私有版本时才会显示。
练习:开始练习(SAP 官方交互式练习)
任务 2: 在数据操作按钮中添加脚本编写,以显示忙碌指示器和自定义消息
**任务流:**在本练习中,您将:
向按钮添加脚本以显示/隐藏忙碌指示器。
向 按钮添加脚本以添加成功消息。
练习:开始练习(SAP 官方交互式练习)