In developing customizations and translations Ebs’s JDR_UTILS package has been invaluable. It provides backend solutions to …
listCustomizations (see what was customized)
printDocument (analyze document structure, applicable to both documents and customizations)
begin -- jdr_utils.printDocument(p_document => '/oracle/apps/fnd/framework/navigate/webui/NewHomePG'); jdr_utils.listCustomizations (p_document => '/oracle/apps/fnd/framework/navigate/webui/NewHomePG'); end; / begin jdr_utils.printDocument (p_document => '/oracle/apps/fnd/framework/navigate/webui/customizations/site/0/NewHomePG'); end; /
deleteDocument (especially handy for removing (broken) customizations from e.g. your dev environment)
getTranslations (to see whats translated)
declare l_translations jdr_utils.translationlist; l_transl jdr_utils.translation; l_doc varchar2(400) := '/oracle/apps/icx/icatalog/shopping/webui/NCRcategoryRN'; begin l_translations := jdr_utils.gettranslations(p_document => l_doc); for i in l_translations.first .. l_translations.last loop l_transl := l_translations(i); dbms_output.put_line(' ' || lpad(i, 3, ' ') || ' ' || l_transl.lang || ' ' || rpad(l_transl.compref, 25, ' ') || ' ' || rpad(l_transl.name, 15, ' ') || ' ' || l_transl.value); continue; end loop; end; /
printTranslations
saveTranslations
exportDocument (export of a document via PL/SQL)
declare
l_chunk varchar2(32767);
l_exportfinished boolean;
l_document varchar2(4000);
begin
l_exportfinished := false;
l_document := --
-- QUITE LARGE FILE ( >32k ) --
'/oracle/apps/ap/oie/entry/lines/webui/CashAndOtherLinesPG';
while not l_exportfinished loop
l_chunk := jdr_utils.exportdocument
(p_document => l_document,
p_exportfinished => l_exportfinished,
p_formatted => true);
dbms_output.put_line(l_chunk); -- Or for example put it in a file ...
l_document := ''; -- When l_document is empty next loop the procedure knows to continue with current document
end loop;
end;
/
Have you used any of these procedures and functions in your EBS customization journey?