EBS 开发 怎么解决内部开发环境上Subinventory Form上的有关问题

EBS 开发 如何解决内部开发环境上Subinventory Form上的问题

EBS 开发 如何解决内部开发环境上Subinventory Form上的问题

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)

Subinventory form上的问题好像存在了很久了,但几乎没有人尝试去解决它们,这里问题主要有两个

1.      错误FRM-41051: You cannot create records here.。

EBS 开发 怎么解决内部开发环境上Subinventory Form上的有关问题

2.      第二个错误是FRM-40105: Unable to resolve reference to itemSUBINV.ORAGANIZATION_ID。

EBS 开发 怎么解决内部开发环境上Subinventory Form上的有关问题

第一个问题算是简单,也不算很简单,主要是细心。

默认我们在这个FORM上使用Standard的folder来打开这个form,但在这个环境上却不是,而是提示不能新插入,所以检查一下Standard的folder,发现Open as Default没有被选中,选中保存之后,重新打开form,发现这个问题就解决了。

EBS 开发 怎么解决内部开发环境上Subinventory Form上的有关问题

第二个问题的处理

第二个问题就有点麻烦,仔细看错误SUBINV.ORAGANIZATION_ID,这里明显有个拼写错误,在SUBINVBlock里的字段是Organization_ID. 所以首先的想法是很有可能是谁调试的时候写错了字段名。

1.      有可能是Personalization的问题,查了没有任何个性化。

2.      通常的处理方法是升级/利用备份替换文件,包含fmx和plx文件,结果我试了下,还是不行。

4.      只能祭出终极武器 FRD LOG了,拿到FRD文件很容易找到错误FRM-40105: Unable to resolve reference to itemSUBINV.ORAGANIZATION_ID,看最近的TRIGGER是FORM level上的WHEN-NEW-RECORD-INSTANCE,而form level上的那个WNRItrigger只有下面一句话

APP_STANDARD.EVENT('WHEN-NEW-RECORD-INSTANCE');

这里就感觉到极有可能不是我们代码的问题了,继续看WNRI trigger及上面错误之间的FRD log,可以看到下面的日志,都是处理附件相关的API日志,那就有思路了,很有可能是附件设置问题了,因为实现附件几乎不需要任何代码实现,所以只有可能是附件设置问题了。

EBS 开发 怎么解决内部开发环境上Subinventory Form上的有关问题

5.      查看附件设置,在这个form上的 Block Declaration和Entity Declaration,都被人设错了设成了SUBINV.ORAGANIZATION_ID,全部修改成SUBINV.ORGANIZATION_ID,保存,然后重新打开Subinventory,没有任何问题了。

EBS 开发 怎么解决内部开发环境上Subinventory Form上的有关问题

EBS 开发 怎么解决内部开发环境上Subinventory Form上的有关问题