When you run adop phase=fs_clone, this will endup with the error no such files or Directory ADOPValidationUtils.pm in a minute or so, this is due to the patch context file which is not uploaded to the database.
In this blog we’ll see how to fix that issue.
ERROR:
[UNEXPECTED]Error occurred running “perl /u01/app/applmgr/apps/fs1/EBSapps/appl/ad/12.0.0/patch/115/bin/txkADOPValidations.pl -contextfile=/u01/app/applmgr/apps/fs1/inst/apps/apps_testebs/appl/admin/apps_testebs.xml -patchctxfile=/u01/app/applmgr/apps/fs2/inst/apps/apps_testebs/appl/admin/apps_testebs.xml -phase=fs_clone -logloc=/u01/app/applmgr/apps/fs_ne/EBSapps/log/adop/51/20190502_132432/fs_clone/validate/testebs -promptmsg=hide”[UNEXPECTED]Error 1 occurred while Executing txkADOPValidation script on testebs
Checking log further below error is noticed.
Use of uninitialized value $result in split at /u01/app/applmgr/apps/fs1/EBSapps/appl/au/12.0.0/perl/TXK/ADOPValidationUtils.pm line 1294.
No such file or directory at /u01/app/applmgr/apps/fs1/EBSapps/appl/au/12.0.0/perl/TXK/ADOPValidationUtils.pm line 230.
Solution:
1) Run below query to verify the patch context file entry is present or not.
select distinct(PATH) from FND_OAM_CONTEXT_FILES where NAME not in (‘TEMPLATE’,’METADATA’,’config.txt’) and CTX_TYPE=’A’ and (status is null or upper(status) in (‘S’,’F’)) and EXTRACTVALUE(XMLType(TEXT),’//file_edition_type’) = ‘patch’;
no rows selected
2) To fix this issue we need to upload the patch context file
a) Source your PATCH file system
. EBSapps.env patch
patch
Get the value of your patch context file.
[applmgr@testebs ~]$ echo $CONTEXT_FILE/u01/oracle/apps/fs2/inst/apps/apps_testebs/appl/admin/apps_testebs.xml
b) Source the RUN filesystem
and Execute the following command on the run filesystem to upload the patch context file to the database.
$ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer \
action=upload \
contextfile=’Your Patch Context XML File Location from Step 1′ \
logfile=/tmp/patchctxupload.log
This will prompt you to enter your apps user’s password
[applmgr@testebs ~]$ echo $FILE_EDITIONrun [applmgr@testebs ~]$ $ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer \
> action=upload \
> contextfile=/u01/oracle/apps/fs2/inst/apps/apps_testebs/appl/admin/apps_testebs.xml \
> logfile=/tmp/patchctxupload.log
Enter the APPS password:
Note: the context file parameter should point to the physical location of the patch context file in your system.
3) Run the following query and it should return one entry for the recently uploaded context file.
select distinct(PATH) from FND_OAM_CONTEXT_FILES where NAME not in (‘TEMPLATE’,’METADATA’,’config.txt’) and CTX_TYPE=’A’ and (status is null or upper(status) in (‘S’,’F’)) and EXTRACTVALUE(XMLType(TEXT),’//file_edition_type’) = ‘patch’;
PATH
—–
/u01/oracle/apps/fs2/inst/apps/apps_testebs/appl/admin/apps_testebs.xml
4) Run the fs_clone again and it should complete successfully.