<ROOT>
 <APPS_INITIALIZE_DATA>
  <USER_NAME>ENGINATICS</USER_NAME>
  <RESPONSIBILITY_KEY>SYSTEM_ADMINISTRATOR</RESPONSIBILITY_KEY>
  <APPLICATION_SHORT_NAME>SYSADMIN</APPLICATION_SHORT_NAME>
 </APPS_INITIALIZE_DATA>
<LOVS>
<!-- loader xml for Enginatics Blitz Report lov: Blitz Report Category -->
 <LOVS_ROW>
  <GUID>8E2FF36EDEFA79D2E0530100007F1FF2</GUID>
  <LOV_NAME>Blitz Report Category</LOV_NAME>
  <VALIDATE_FROM_LIST>Y</VALIDATE_FROM_LIST>
  <LOV_QUERY>select
xrcv.category value,
(select count(*) from xxen_report_category_assigns xrca where xrcv.category_id=xrca.category_id) description
from
xxen_report_categories_v xrcv
order by
xrcv.category</LOV_QUERY>
  <LOV_TRANSLATIONS>
   <LOV_TRANSLATIONS_ROW>
    <LANGUAGE>US</LANGUAGE>
   </LOV_TRANSLATIONS_ROW>
  </LOV_TRANSLATIONS>
 </LOVS_ROW>
<!-- loader xml for Enginatics Blitz Report lov: Blitz Report Name (wildcard) -->
 <LOVS_ROW>
  <GUID>B04763D730F050D7E0530100007F06B3</GUID>
  <LOV_NAME>Blitz Report Name (wildcard)</LOV_NAME>
  <LOV_QUERY>select
xrv.report_name value,
xrv.type_dsp||nvl2(xrv.type,&apos; &apos;,null)||nvl2(xrv.category,&apos;(&apos;||xrv.category||&apos;) &apos;,null)||substrb(xrv.description,1,4000-lengthb(xrv.type_dsp||nvl2(xrv.type,&apos; &apos;,null)||nvl2(xrv.category,&apos;(&apos;||xrv.category||&apos;) &apos;,null))) description
from
xxen_reports_v xrv
order by
xrv.report_name</LOV_QUERY>
  <LOV_TRANSLATIONS>
   <LOV_TRANSLATIONS_ROW>
    <LANGUAGE>US</LANGUAGE>
   </LOV_TRANSLATIONS_ROW>
  </LOV_TRANSLATIONS>
 </LOVS_ROW>
<!-- loader xml for Enginatics Blitz Report lov: DBA Database Link -->
 <LOVS_ROW>
  <GUID>9FD1E69E877F1D9DE0530100007F19D3</GUID>
  <LOV_NAME>DBA Database Link</LOV_NAME>
  <VALIDATE_FROM_LIST>Y</VALIDATE_FROM_LIST>
  <LOV_QUERY>select
lower(substr(ddl.db_link,1,instr(ddl.db_link,&apos;.&apos;)-1)) value,
ddl.username||&apos;@&apos;||ddl.host description
from
dba_db_links ddl
order by
value</LOV_QUERY>
  <LOV_TRANSLATIONS>
   <LOV_TRANSLATIONS_ROW>
    <LANGUAGE>US</LANGUAGE>
   </LOV_TRANSLATIONS_ROW>
  </LOV_TRANSLATIONS>
 </LOVS_ROW>
<!-- loader xml for Enginatics Blitz Report lov: Yes -->
 <LOVS_ROW>
  <GUID>8E2FF36EDEA679D2E0530100007F1FF2</GUID>
  <LOV_NAME>Yes</LOV_NAME>
  <VALIDATE_FROM_LIST>Y</VALIDATE_FROM_LIST>
  <LOV_QUERY>select &apos;Y&apos; id, xxen_util.meaning(&apos;Y&apos;,&apos;YES_NO&apos;,0) value, null description from dual</LOV_QUERY>
  <LOV_TRANSLATIONS>
   <LOV_TRANSLATIONS_ROW>
    <LANGUAGE>US</LANGUAGE>
   </LOV_TRANSLATIONS_ROW>
  </LOV_TRANSLATIONS>
 </LOVS_ROW>
</LOVS>
<REPORTS>
<!-- loader xml for Enginatics Blitz Report: Blitz Report Parameter Comparison between environments -->
 <REPORTS_ROW>
  <GUID>21174EA9D77E73CFE0630100007FC79A</GUID>
  <SQL_TEXT>select
case
when x.report_name is not null and x.updated_remote=&apos;Y&apos; and (x.sql_diff=&apos;Y&apos;) then &apos;conflict&apos;
when x.report_name is null and x.report_name_remote is not null then &apos;add to local database&apos;
when x.report_name is not null and x.report_name_remote is null then &apos;transfer&apos;
when 
x.display_sequence_diff=&apos;Y&apos; or
x.sql_diff=&apos;Y&apos; or
x.parameter_type_diff=&apos;Y&apos; or
x.lov_query_diff=&apos;Y&apos; or
x.matching_value_diff=&apos;Y&apos; or
x.default_value_diff=&apos;Y&apos; or
x.descr_diff=&apos;Y&apos;
then &apos;update&apos;
end result,
x.*
from
(
select
xrpv1.report_name,
xrpv2.report_name report_name_remote,
xrpv1.category,
xrpv2.category category_remote,
xrpv1.display_sequence,
xrpv2.display_sequence display_sequence_remote,
xrpv1.parameter_name,
xrpv2.parameter_name parameter_name_remote,
xrpv1.anchor,
xrpv2.anchor anchor_remote,
xrpv1.parameter_type_dsp parameter_type,
xrpv2.parameter_type_dsp parameter_type_remote,
xrpv1.matching_value,
xrpv2.matching_value matching_value_remote,
xrpv1.default_value,
xrpv2.default_value default_value_remote,
xrpv1.description,
xrpv2.description description_remote,
(select &apos;Y&apos; from fnd_user@&amp;database_link fu where xrpv2.last_updated_by=fu.user_id and fu.user_name not in (&apos;ANONYMOUS&apos;,&apos;ENGINATICS&apos;)) updated_remote,
case when xrpv1.display_sequence&lt;&gt;xrpv2.display_sequence then &apos;Y&apos; end display_sequence_diff,
case when xrpv1.sql_text_short&lt;&gt;xrpv2.sql_text_short or xrpv1.sql_length&lt;&gt;xrpv2.sql_length then &apos;Y&apos; end sql_diff,
case when xrpv1.parameter_type_dsp&lt;&gt;xrpv2.parameter_type_dsp then &apos;Y&apos; end parameter_type_diff,
case when xrpv1.lov_query_short&lt;&gt;xrpv2.lov_query_short then &apos;Y&apos; end lov_query_diff,
case when xrpv1.matching_value&lt;&gt;xrpv1.matching_value then &apos;Y&apos; end matching_value_diff,
case when xrpv1.default_value&lt;&gt;xrpv1.default_value then &apos;Y&apos; end default_value_diff,
case when xrpv1.description&lt;&gt;xrpv2.description then &apos;Y&apos; end descr_diff,
xrpv1.parameter_count,
xrpv2.parameter_count parameter_count_remote,
xxen_util.user_name(xrpv1.last_updated_by) last_updated_by,
xrpv1.last_update_date,
xxen_util.user_name@&amp;database_link(xrpv2.last_updated_by) last_updated_by_remote,
xrpv2.last_update_date last_update_date_remote,
xxen_util.user_name(xrpv1.created_by) created_by,
xrpv1.creation_date,
xxen_util.user_name@&amp;database_link(xrpv2.created_by) created_by_remote,
xrpv2.creation_date creation_date_remote,
xrpv1.sql_text_short sql_text,
xrpv2.sql_text_short sql_text_remote,
xrpv1.lov_query_short lov_query,
xrpv2.lov_query_short lov_query_remote
from
(
select
xrpv.*,
dbms_lob.substr(xxen_util.clob_substrb(xrpv.sql_text,4000,1)) sql_text_short,
dbms_lob.substr(xxen_util.clob_substrb(xrpv.lov_query,4000,1)) lov_query_short,
length(xrpv.sql_text) sql_length,
count(*) over (partition by xrpv.report_id) parameter_count
from
xxen_report_parameters_v xrpv
where
1=1
) xrpv1
full join
(select xrpv.* from xxen_report_parameters_v_@&amp;database_link xrpv where 1=1) xrpv2
on
xrpv1.report_name=xrpv2.report_name and
xrpv1.parameter_name=xrpv2.parameter_name and
xrpv1.anchor=xrpv2.anchor and
nvl(xrpv1.matching_value,&apos;x&apos;)=nvl(xrpv2.matching_value,&apos;x&apos;)
) x
where
2=2
order by
x.sql_diff,
x.last_update_date_remote desc nulls last,
x.last_update_date desc</SQL_TEXT>
  <ENABLED>Y</ENABLED>
  <REPORT_TRANSLATIONS>
   <REPORT_TRANSLATIONS_ROW>
    <LANGUAGE>US</LANGUAGE>
    <REPORT_NAME>Blitz Report Parameter Comparison between environments</REPORT_NAME>
    <DESCRIPTION>Shows Blitz Report parameter differences between the local and a remote database server.

Requires following view to be created on the remote environment to avoid ORA-64202: remote temporary or abstract LOB locator is encountered

create or replace view xxen_report_parameters_v_ as
select
xrpv.*,
dbms_lob.substr(xxen_util.clob_substrb(xrpv.sql_text,4000,1)) sql_text_short,
dbms_lob.substr(xxen_util.clob_substrb(xrpv.lov_query,4000,1)) lov_query_short,
length(xrpv.sql_text) sql_length,
count(*) over (partition by xrpv.report_id) parameter_count
from
xxen_report_parameters_v xrpv;</DESCRIPTION>
   </REPORT_TRANSLATIONS_ROW>
  </REPORT_TRANSLATIONS>
  <CATEGORY_ASSIGNMENTS>
   <CATEGORY_ASSIGNMENTS_ROW>
    <CATEGORY>Enginatics</CATEGORY>
   </CATEGORY_ASSIGNMENTS_ROW>
  </CATEGORY_ASSIGNMENTS>
  <ANCHORS>
   <ANCHORS_ROW>
    <ANCHOR>&amp;database_link</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>1=1</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>2=2</ANCHOR>
   </ANCHORS_ROW>
  </ANCHORS>
  <PARAMETERS>
   <PARAMETERS_ROW>
    <SORT_ORDER>1</SORT_ORDER>
    <DISPLAY_SEQUENCE>10</DISPLAY_SEQUENCE>
    <ANCHOR>&amp;database_link</ANCHOR>
    <SQL_TEXT>&lt;parameter_value&gt;</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>DBA Database Link</LOV_NAME>
    <LOV_GUID>9FD1E69E877F1D9DE0530100007F19D3</LOV_GUID>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select
lower(substr(ddl.db_link,1,instr(ddl.db_link,&apos;.&apos;)-1)) value,
ddl.username||&apos;@&apos;||ddl.host description
from
dba_db_links ddl
order by
value</LOV_QUERY_DSP>
    <DEFAULT_VALUE>r1224a</DEFAULT_VALUE>
    <REQUIRED>Y</REQUIRED>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>F</LANGUAGE>
      <PARAMETER_NAME>Base de données distante</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Remote Database</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>2</SORT_ORDER>
    <DISPLAY_SEQUENCE>20</DISPLAY_SEQUENCE>
    <ANCHOR>1=1</ANCHOR>
    <SQL_TEXT>regexp_like(xrpv.category,&apos;(^|, )&apos;||:category||&apos;(, |$)&apos;)</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>Blitz Report Category</LOV_NAME>
    <LOV_GUID>8E2FF36EDEFA79D2E0530100007F1FF2</LOV_GUID>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select
xrcv.category value,
(select count(*) from xxen_report_category_assigns xrca where xrcv.category_id=xrca.category_id) description
from
xxen_report_categories_v xrcv
order by
xrcv.category</LOV_QUERY_DSP>
    <DEFAULT_VALUE>Discoverer</DEFAULT_VALUE>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Category</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>3</SORT_ORDER>
    <DISPLAY_SEQUENCE>30</DISPLAY_SEQUENCE>
    <ANCHOR>1=1</ANCHOR>
    <SQL_TEXT>xrpv.report_name like :report_name_like</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>Blitz Report Name (wildcard)</LOV_NAME>
    <LOV_GUID>B04763D730F050D7E0530100007F06B3</LOV_GUID>
    <LOV_QUERY_DSP>select
xrv.report_name value,
xrv.type_dsp||nvl2(xrv.type,&apos; &apos;,null)||nvl2(xrv.category,&apos;(&apos;||xrv.category||&apos;) &apos;,null)||substrb(xrv.description,1,4000-lengthb(xrv.type_dsp||nvl2(xrv.type,&apos; &apos;,null)||nvl2(xrv.category,&apos;(&apos;||xrv.category||&apos;) &apos;,null))) description
from
xxen_reports_v xrv
order by
xrv.report_name</LOV_QUERY_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Report Name like</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>4</SORT_ORDER>
    <DISPLAY_SEQUENCE>40</DISPLAY_SEQUENCE>
    <ANCHOR>2=2</ANCHOR>
    <SQL_TEXT>(
nvl(x.report_name,&apos;x&apos;)&lt;&gt;nvl(x.report_name_remote,&apos;x&apos;) or
x.display_sequence_diff=&apos;Y&apos; or
x.sql_diff=&apos;Y&apos; or
x.parameter_type_diff=&apos;Y&apos; or
x.lov_query_diff=&apos;Y&apos; or
x.matching_value_diff=&apos;Y&apos; or
x.default_value_diff=&apos;Y&apos; or
x.descr_diff=&apos;Y&apos;
)</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>Yes</LOV_NAME>
    <LOV_GUID>8E2FF36EDEA679D2E0530100007F1FF2</LOV_GUID>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select &apos;Y&apos; id, xxen_util.meaning(&apos;Y&apos;,&apos;YES_NO&apos;,0) value, null description from dual</LOV_QUERY_DSP>
    <DEFAULT_VALUE>Y</DEFAULT_VALUE>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Show Differences only</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
  </PARAMETERS>
  <PARAMETER_DEPENDENCIES>
  </PARAMETER_DEPENDENCIES>
  <TEMPLATES>
  </TEMPLATES>
  <DEFAULT_TEMPLATES>
  </DEFAULT_TEMPLATES>
  <UPLOAD_COLUMNS>
  </UPLOAD_COLUMNS>
  <UPLOAD_PARAMETERS>
  </UPLOAD_PARAMETERS>
  <UPLOAD_SQLS>
  </UPLOAD_SQLS>
  <UPLOAD_DEPENDENCIES>
  </UPLOAD_DEPENDENCIES>
 </REPORTS_ROW>
</REPORTS>
</ROOT>
