解决内部环境上Subinventory Form的问题的方法技巧
EBS 开发 如何解决内部开发环境上Subinventory Form上的问题
(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)
Subinventory form上的问题好像存在了很久了,但几乎没有人尝试去解决它们,这里问题主要有两个
1.错误FRM-41051: You cannot create records here.。
2.第二个错误是FRM-40105: Unable to resolve reference to itemSUBINV.ORAGANIZATION_ID。
第一个问题算是简单,也不算很简单,主要是细心。
默认我们在这个FORM上使用Standard的folder来打开这个form,但在这个环境上却不是,而是提示不能新插入,所以检查一下Standard的folder,发现Open as Default没有被选中,选中保存之后,重新打开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日志,那就有思路了,很有可能是附件设置问题了,因为实现附件几乎不需要任何代码实现,所以只有可能是附件设置问题了。
5.查看附件设置,在这个form上的 Block Declaration和Entity Declaration,都被人设错了设成了SUBINV.ORAGANIZATION_ID,全部修改成SUBINV.ORGANIZATION_ID,保存,然后重新打开Subinventory,没有任何问题了。
本文地址:http://www.45fan.com/a/question/67311.html