版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
在Product overview UI上编辑product 信息,不保存,直接点其他的workcenter,会触发data loss 处理逻辑:
Data loss的处理逻辑实现如下:
1. 当编辑了product 数据并点击其他workcenter时,该点击动作实际上是一个cross component navigation,会触发line 41的方法:
2. Product view controller实现ON_BEFORE_WA_CONTENT_CHANGE方法,在line 50 ~ 55 定义data loss trigger条件:
如果当前的scenario满足data loss trigger条件,调用框架方法trigger_data_loss_handling, 该方法只是把对应的flag设置成abap_true,此flag会在下一步骤被检查。
3. UI 框架代码会检查step2里设置的flag:
4. 在弹出的data loss popup dialog里选择YES, NO, CANCEL的处理分别实现在下列方法里: