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/Global->Root-Status-LifeCycleStatusCode
这个LifeCycleStatusCode字段的事件onValueChanged有个事件处理函数SetIPointParams:
我们可以把这个事件处理函数的逻辑看成一个switch case语句:
当IPointStatus的值为1时,执行名为InPrep的操作。
操作的明细就是把X(true)赋给字段Can_Add_Remove
要获取更多Jerry的原创文章,请关注公众号"汪子熙":