今天在编译pld 文件的时候,发生了一个小问题,编译报错了.identifier 'WMS_YMS_INTEGRATION_PVT.GET_YARD_ORG_ID' must be declared
这个package 是新加的,在pld 文件里面调用了. 由于这个package 是在数据库里面的,没有办法直接拉文件下来,这就比较蛋疼了...
唯一的办法就是打patch. 现在pld 文件里面找到调用这个package 的地方,看看是在哪个bug 里面加的. 找到bug,去看看谁改的代码. 既然他改的,他应该知道打哪个patch,问一下ok.
1. 下载下来patch,我们是Linux x86 平台,语言US,放在/var/tmp/Patch 目录下,unzip.
2. 停掉EBS.
3. 进入到解压好的文件夹下,就是以patch 号为名字的目录.
4. 用adadmin 命令进入管理模式.
5. 输入system 和 apps 的密码,一般是manager 和apps,可能会有改变.
6. 进入maintenance mode,enable maintenance mode
7. 然后连续按 Enter 键回到目录下
8. 用 adpatch driver=uxxx.drv 开始打patch,xxx 是patch号.
9. 再次输入system 和apps 的密码. 然后就是漫长等待... 等patch打完.
10. 完成后,再次进入adadmin,取消maintenance mode.
11. 用sql 查找patch 是不是打成功
SELECT * FROM ad_applied_patches app WHERE app.patch_name = '14570467'; SELECT * FROM ad_bugs ab WHERE ab.bug_number = '14570467';
然后重现编译 pld,就OK 了.
如果报错缺失的package 是pld 文件中的,就把对应的pll 和plx 放在同一个目录下. 这个可以在$AU_TOP/resource 目录下找到.
原文链接:https://www.f2er.com/javaschema/285566.html