Here I am listing my most commonly used JDR_UTILS api’s. There are some scripts that I can’t live without, and these are some of them.
Note: All these operations can also be done via Functional Administrator responsibility.
JDR_UTILS.LISTDOCUMENTS
Use this API to list of all OA Framework the documents in a path/module. This script is very handy, as it provides a list of all the desired documents/extensions/personalizations in one go.
DECLARE
BEGIN
jdr_utils.listdocuments('/oracle/apps/per', TRUE);
END;
The script above will produce a list of all the MDS Documents in HRMS plus all the BC4J extensions done to HRMS module will be listed here too. Surely you can run this for whatever module/application you desire.
Notes on jdr_utils.listdocuments
-
First parameter of this API can take the full path or partial path of the MDS** Page. Second parameter being TRUE will direct the API to list all Child Documents underneath that tree path
-
You can use this API to know all the objects that have been extended/personalized in any specific module. For this, simply dump the output in a file and grep for customizations
-
BC4J extensions [or call them substitutions] will be visible too, as the substitutions are stored as Personalization itself. For example, if iRecruitment Application Module has been extended, then a command similar to below will show the extended AM for VisitorAM
DECLARE
BEGIN
jdr_utils.listdocuments
('/oracle/apps/per/irc/candidateSelfService/server/',TRUE);
END;
JDR_UTILS.LISTCUSTOMIZATIONS
List of all the Personalizations/Extensions/Contents for a specific object. For example, as below, I wish to know the various levels at which a specific object has been personalized or extended.
DECLARE
BEGIN
jdr_utils.listcustomizations
(p_document => '/oracle/apps/per/irc/candidateSelfService/webui/RegCreateAccountPG');
END;
Notes on jdr_utils.listcustomizations
-
To get an exact full path of the document, first use jdr_utils.listdocuments
JDR_UTILS.PRINTDOCUMENT
List of all the Personalizations/Extensions for a specific object. For example, as below, I wish to see the name of the new AM Java Class that substitutes the standard VisitorAM.
DECLARE
BEGIN
jdr_utils.printdocument
(p_document => '/oracle/apps/per/irc/candidateSelfService/server/customizations/site/0/VisitorAM');
END;
The result below shows to me that xxVisitorAM is the new Java AM Class that substitutes the standard VisitorAM class
Another example for jdr_utils.printDocument is to see the content of Site Level personalization on a specific page
DECLARE
BEGIN
jdr_utils.printdocument
(p_document => '/oracle/apps/per/irc/candidateSelfService/webui/customizations/site/0/RegCreateAccountPG');
END;
The result of this command indicates which fields/regions/beans have been hidden or effected by personalization
DELETE A DOCUMENT
OR
DELETE A PERSONALIZATION
OR
DELETE AN EXTENSION OR A SUBSTITUTION
The title says it all. Once you have found the exact name of the document with its full path [using jdr_utils.listdocuments], you can then delete the same by using command below. For example to delete the Application Module substitution, use command
DECLARE
BEGIN
jdr_utils.deletedocument(p_document => '/oracle/apps/per/irc/candidateSelfService/server/customizations/site/0/VisitorAM');
END;
Comments
If we did the jdr_utils.delet edocument to delete the personalization s,
is there any solution to rollback this action??
Thanks in advance :)
Zhxiang
Thanks
Anil Passi
Thank you very much,
The issue is closed.
We made a mistake to delete EBS HomePage '/oracle/apps/f nd/framework/na vigate/webui/Ho mePG'
We restored the Page from backup by using djava -mx128m -nojit oracle.jrad.too ls.xml.importer .XMLImporter.
We'll remember to use jdr_utils.delet edocument carefully.
Bes t regards,
Zhxian g
It's true we must use the delete function carefully, but there are some cases when personalization s that I faced, need delete document via Functional Admin Resp.
In my case, after an item was added, the iRec page gave an error message. I used the Functional Admin and deleted the document. In this way the page was accessible, however, previous personalization are lost. Isn't this a comman problem? Can you please advise regarding making our personalization s independent of others'. And how to actually delete our personalization s and not that of anyone else's. Thanks in Advance.
Please Advise.
RSS feed for comments to this post