Service Order的状态字段里的这些字段从哪里带出来的?我们可能会想当然的认为是从后台配的Status profile里带出来的。事实并非如此。
这个transaction type根本没有分配任何Status profile,但是仍然可以在UI上看到三个可选的状态值。
Status状态字段里的值并不是我们想象的那样,完全来自system status profile和user status profile,后者只是数据源之一。
这个下拉菜单里的值通过下面这个方法取出:可以看到方法执行的结果就是UI上看到的三条记录。
这个GET_STATUS_INFO的具体逻辑:
先从crmc_status_proc里取出全部47个状态,
这47个状态会根据其RANGE字段,和CRNC_BO_RANGES的RANGE字段做一个join,过滤掉那些Join结果里OBJECT_TYPE字段不等于BUS2000116的状态,最后就只剩Open, In Process和Completed三条记录。