SAP ERP里的Functional Locations,下载到SAP Cloud for Customer后成为类型为‘Functional Location’的Installation Points:

C4C Installation Point UI: /BYD_COD/ServiceOnDemand/InstallationPoint/UI/COD_IPoint_TI.TI.uicomponent

在C4C里辨认一个installation point是从ERP下载的,还是从C4C直接创建的,只需看external ID字段是否为空即可。如果不为空,说明该installation point是从ERP下载的,该字段维护的是ERP的function location ID。

可以看到控制External ID是否Enabled的字段名称为Can_Add_Remove. 这个字段在UI Designer里为黄色,说明它没有绑到BO node上,而是通过动态计算出来的。

计算逻辑:

InstallationPoint的status字段绑定到BO的字段:

/Root/LifeCycleStatusCode->http://sap.com/xi/AP/FO/IBase...;Root-~Status-~LifeCycleStatusCode

这个LifeCycleStatusCode字段的事件onValueChanged有个事件处理函数SetIPointParams:

我们可以把这个事件处理函数的逻辑看成一个switch case语句:

当IPointStatus的值为1时,执行名为InPrep的操作。

操作的明细就是把X(true)赋给字段Can_Add_Remove

要获取更多Jerry的原创文章,请关注公众号"汪子熙":


注销
1k 声望1.6k 粉丝

invalid