BOPF中增强一个动作并增加动作控制

在做银行支付单审批时的FIORI功能时,当用户选择一行时,用户点击“审批”来作审批操作,并且在选择需审批的行时,“审批”按钮使能可依据行的审批状态设置,不能操作,或者不能操作。

标准文档,可参考这里。

1.创建BOPF

先需要用CDS创建一人BOPF,可参看这里。这里可依据需要生成对应的BOPF对象,

2.创建一个Actions

打开BOPF后,增加一人动作,比如我这里的SET_APPROVE,我在创建时在HANA STUDIO,及ECLIPS中发现都不能创建成功,我是在SAP GUI中创建的,可能是与我SAP的版本有关,可能是需要ECC752及以上版本才成,

BOPF中增强一个动作并增加动作控制 - 第1张  | 优通SAP
BOPF中增强一个动作并增加动作控制 - 第2张  | 优通SAP

3.创建Determinations

我同样在Eclips里不能创建,我是在SAP GUI里使用事务码BOBX创建的,并且发现ECLIPS里的功能好像没有SAP GUI里的全,所以当发现有不一样时,还是使用SAP GUI查看一下。

创建完成后,有两点要特别注意,不然可能不会触发定义的Determinations.以一是我测试成功的设置以供参考。

  • Determinations Cat 需要选择为:T Transient
  • Trigger Conditions 需要选择Request Nodes for Determination,下的带根节点一的****_PROPERTY这项目的Determine这项,
  • Evaluation Timepoints,需要选择Before Retrieve .
BOPF中增强一个动作并增加动作控制 - 第3张  | 优通SAP
BOPF中增强一个动作并增加动作控制 - 第4张  | 优通SAP
BOPF中增强一个动作并增加动作控制 - 第5张  | 优通SAP

4.代码

实现Actions的代码,代码在类ZCL_PAYMENT_A_SET_APPROVE-》/BOBF/IF_FRW_ACTION~EXECUTE中实现

实现 Determination 代码 ,在ZCL_PAYMENT_D_ACTION_FIELD_CON-》/BOBF/IF_FRW_DETERMINATION~EXECUTE

5.最后

到这,用这人BOPF对应的CDS创建一个新的消费CDS后,并用之生成FIORI后,就能自动控制审批按钮的可能性,并进行审批了。

BOPF中增强一个动作并增加动作控制 - 第6张  | 优通SAP