在之前的列表展示中,只是粗略地将数据展示出来,但是其中的关系并没有真正理解,而后续无论是字段内容展示效果也好,级联筛选也好,都离不开理解其中关系这一步。
PDManer中的数据模型关系图能很好地帮助理清其中的连接和关系,


介于关系表太多,将有效字段通过多表连接的视图串联起来就能方便很多了,
- -- 地图-区域视图
- select * from fnd_maps_areas_asso_v;
-
- -- 查区域
- SELECT DISTINCT MAP_AREA_X_NAME AS AREA_NAEM,MAP_AREA_X_ID AS AREA_ID
- FROM FND_MAPS_AREAS_ASSO_V
- WHERE TENANT_ID = 2 AND FAB_ID =2
- ORDER BY MAP_AREA_X_ID ASC;
-
- -- 查产线
- SELECT DISTINCT MAP_AREA_Y_NAME AS LINE_NAME ,MAP_AREA_Y_ID AS LINE_ID
- FROM FND_MAPS_AREAS_ASSO_V
- WHERE TENANT_ID = :USERTENANT AND FAB_ID =:FAB_ID
- ORDER BY MAP_AREA_Y_ID ASC;
查到的区域ID和对应NAME

应用到程序中

区别在于FAB_ID是在FND_FAB表上查到的,而AREA_NAEM、AREA_ID、LINE_NAME、 LINE_ID是在视图FND_MAPS_AREAS_ASSO_V上查到的。
查看会话发现是FAB_ID未传参到查询中

我悟了:因为新增还未保存,所以此时通过FAB_ID为条件筛选查区域和产线当然查不到了,但是从已有数据中查为什么还是没有啊???

成功了
同理使事件大小类也适用


但是使用原生新增是出现报错



项“TENANT_ID”→【默认值】→【类型】表达式→ 【PL/SQL表达式】:USERTENANT

这样就可以新增了。
明明在提交后设置了校验,但是完全没发挥作用,编码居然可以重复


效果展示:
