2.Annotations定义按钮的对话框功能

这里所说的开发都是基于Fiori Elements来说的SAPUI5开发,这有别于其它的SAPUI5开发,所以需要注意,在看这文章之前,你需要知道Fiori Elements开发与其它的SAPUI5开发有什么不一样的地方,然后再看如下内容。

上一文中,我们通过创建CDS 并使用BOPF创建一个动作,在我们的Fiori Elements APP中实现的收货功能,但在我们点击按钮时,我们还会有一些其它的扩展功能,这里我们学习按钮的对话功能。

简单按钮
2.Annotations定义按钮的对话框功能 - 第1张  | 优通SAP
应答确认按钮2.Annotations定义按钮的对话框功能 - 第2张  | 优通SAP
带输入参数的对话框2.Annotations定义按钮的对话框功能 - 第3张  | 优通SAP
带输入帮助的对话框
带有下拉值列表的对话框
更多方式

1.简单按钮

此按钮的开发方式,可参看这里

2.应答确认按钮

在一些关键动作功能时,为了防止用户错误操作,当用户点击时,需要弹出对话框,让用户确认是否要如此操作。

此操作,当前在后台(CDS注释)中还不被支持,只能在SAPUI5的本地OData注释文件中进行修改,写入如下内容。

2.Annotations定义按钮的对话框功能 - 第4张  | 优通SAP

OData批注的目标属性指向按钮函数,它是BOPF操作的OData表示形式。目标分为三部分,其中包括ODATA服务名称和以点分隔的实体容器,以及函数导入名称以斜杠分隔的函数。在此示例中,服务名称为“ ZFIORI1_SRV”。实体容器通常被命名为服务名称和关键字“ ENTITIES”的组合。因此,在我们的示例中,实体容器的名称为“ ZFIORI1_SRV_ENTITIES”。函数导入名称通常是实体集名称(ZMM_C_POEKPO)和BOPF动作名称(Migo_ok)的串联字符。在我们的示例中,函数导入名称为“ ZMM_C_POEKPOMigo_ok”。在某些情况下,实体集名称和BOPF操作名称的串联对于函数导入名称而言可能太长了。在这种情况下,函数导入名称将以不同的方式生成。此函数名,我们可以在SEGW中看到。

2.Annotations定义按钮的对话框功能 - 第5张  | 优通SAP

3.带输入参数的对话框

在一引起操作时,需要用户决定输入操作的一些信息。比如在前面的收货时,我们使用的过账日期是使用在代码中写的的固定日期,而要用户输入时,我们可以在用户点击确认收货按钮后,弹出对话框让用户来输入。

3.1.先创建一个结构,

用于提供需要输入的字段,可以SE11建立,也可以直接命令建立。

3.2.在ACTIONS中增加使用此结构。

2.Annotations定义按钮的对话框功能 - 第6张  | 优通SAP

激活后前端操作就会出现如图让输入了。

2.Annotations定义按钮的对话框功能 - 第7张  | 优通SAP

3.3.修改代码,取输入参数

在此ACTIONS的ZCL_MM_A_MIGO_OK类方法/BOBF/IF_FRW_ACTION~EXECUTE中就会有传入参数IS_PARAMETERS,此结构就是前面定义的结构参数 了。这样在执行方法时就可以直接使用传入的参数值了。

2.Annotations定义按钮的对话框功能 - 第8张  | 优通SAP

同时在BOPF的对应的CDS生成的ODATA也会增加输入参数结构字段。

2.Annotations定义按钮的对话框功能 - 第9张  | 优通SAP

3.4.问题

1.使用时发现在对话输入框上的文本是字段名,而不是字段名的描述,可在在前端的annotation.xml文件,就可以了。

2.BUDAT我们在SAP定义的是DATUM的日期类型,但UI前端显示的是DATETIEM类型,这是由于ODATA服务生成的类型已变成DATETIME了,网上的解决办法是在前端的 annotation 文件中修改(我觉得应该是metadata.xml文件)才对。但不论在那个文件中修改我都还没成功,待验证

留下一个回复

你的email不会被公开。