<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>
<REPORTS>
<!-- loader xml for Enginatics Blitz Report: DIS Workbook Import Validation -->
 <REPORTS_ROW>
  <GUID>F449645C95B4203DE0530100007FFFFF</GUID><ENABLED>Y</ENABLED>
  <SQL_TEXT>select
y.owner,
y.workbook,
y.description,
y.workbook_exists,
y.eex_uploaded,
y.selected_for_conversion,
y.converted,
y.sheet,
y.object_use_key,
xrv.report_name,
xrtv.template_name,
xrtv.description template_description,
eqs.access_count,
eqs.last_accessed,
eqs.last_accessed_by,
y.last_updated_by,
y.last_update_date,
y.doc_id,
xdw.count flattened_count
from
(
select
x.*,
xds.sheet_name sheet,
xds.object_use_key
from
(
select
nvl(xxen_util.dis_user_name(ed.doc_eu_id,:eul),xxen_util.dis_user_name(xmlcast(xmlquery(&apos;/EndUserLayerExport/Document/ElementRef[@Type=&quot;EulUser&quot;]/UniqueIdent/@Username&apos; passing xdwx.xml returning content) as varchar2(64)),null,:eul)) owner,
nvl(ed.doc_name,xmlcast(xmlquery(&apos;/EndUserLayerExport/Document/@Name&apos; passing xdwx.xml returning content) as varchar2(100))) workbook,
nvl(ed.doc_description,xmlcast(xmlquery(&apos;/EndUserLayerExport/Document/@Description&apos; passing xdwx.xml returning content) as varchar2(4000))) description,
xxen_util.meaning(nvl2(ed.doc_id,&apos;Y&apos;,null),&apos;YES_NO&apos;,0) workbook_exists,
xxen_util.meaning(nvl2(xdwx.doc_id,&apos;Y&apos;,null),&apos;YES_NO&apos;,0) eex_uploaded,
xxen_util.yes(decode(xdwx.convert_flag,&apos;Y&apos;,&apos;Y&apos;)) selected_for_conversion,
xxen_util.yes(decode(xdwx.convert_flag,&apos;C&apos;,&apos;Y&apos;)) converted,
xxen_util.dis_user_name(ed.doc_updated_by) last_updated_by,
ed.doc_updated_date last_update_date,
nvl(ed.doc_id,xdwx.doc_id) doc_id,
ed.doc_eu_id
from
&amp;eul.eul5_documents ed
full join
(select xdwx.* from xxen_discoverer_workbook_xmls xdwx where upper(xdwx.eul)=upper(:eul)) xdwx
on
ed.doc_id=xdwx.doc_id
) x,
(
select /*+ no_merge */
xds.doc_id,
xds.sheet_name,
xxen_xdo.sheet_object_use_key(:eul,xds.doc_id,xds.sheet_name) object_use_key
from
(select /*+ no_merge */ distinct xds.doc_id, xds.sheet_name from xxen_discoverer_sheets xds where upper(xds.eul)=upper(:eul)) xds
) xds
where
x.doc_id=xds.doc_id(+)
) y,
(
select
upper(regexp_replace(eqs.qs_doc_name,&apos;\.dis$&apos;,null,1,1,&apos;i&apos;)) doc_name_,
count(*) access_count,
max(eqs.qs_created_date) last_accessed,
xxen_util.dis_user_name(max(eqs.qs_created_by) keep (dense_rank first order by eqs.qs_created_date desc)) last_accessed_by
from
&amp;eul.eul5_qpp_stats eqs
where
2=2
group by
upper(regexp_replace(eqs.qs_doc_name,&apos;\.dis$&apos;,null,1,1,&apos;i&apos;))
) eqs,
(select xdw.doc_id, count(*) count from xxen_discoverer_workbooks xdw where upper(xdw.eul)=upper(:eul) group by xdw.doc_id) xdw,
(
select
regexp_substr(xrv.description,chr(10)||&apos;Object IDs: (.+)&apos;||chr(10),1,1,null,1) object_use_key,
xrv.report_name
from
xxen_reports_v xrv
where
xrv.description like &apos;%&apos;||chr(10)||&apos;Object IDs: %&apos;||chr(10)||&apos;EUL: &apos;||:eul
) xrv,
(select regexp_substr(xrtv.description,chr(10)||&apos;Sheet: (.+)&apos;,1,1,null,1) sheet, regexp_substr(xrtv.description,chr(10)||&apos;Doc Id: (\d+)&apos;,1,1,null,1) doc_id, xrtv.* from xxen_report_templates_v xrtv where regexp_substr(xrtv.report_description,chr(10)||&apos;EUL: (\w+)&apos;,1,1,null,1)=:eul) xrtv
where
1=1 and
upper(regexp_replace(y.workbook,&apos;\.dis$&apos;,null,1,1,&apos;i&apos;))=eqs.doc_name_(+) and
y.doc_id=xdw.doc_id(+) and
y.object_use_key=xrv.object_use_key(+) and
y.doc_id=xrtv.doc_id(+) and
y.sheet=xrtv.sheet(+)
order by
y.owner,
y.workbook,
y.sheet</SQL_TEXT>
  <VERSION_COMMENTS>no_merge fences on the folder set derivation so it evaluates once per distinct worksheet - view merging re-multiplied it per sheet item row, which made the report spend minutes on instances with many staged workbooks</VERSION_COMMENTS>
  <REPORT_TRANSLATIONS>
   <REPORT_TRANSLATIONS_ROW>
    <LANGUAGE>US</LANGUAGE>
    <REPORT_NAME>DIS Workbook Import Validation</REPORT_NAME>
    <DESCRIPTION>Discoverer workbook migration validation report showing every workbook and worksheet next to its conversion state: whether the workbook xml is uploaded, selected for conversion or converted, the object use key derived from the workbook xml, and the migrated Blitz report and template.

Workbooks known only from the end user layer and workbooks whose xml was uploaded after deletion from Discoverer are both listed, so gaps in either direction are visible. The Not yet imported parameter restricts to worksheets without a migrated template.

The Accessed after parameter restricts the output to workbooks with recorded usage since that date, the same scope the DIS Workbook Export Script lists for export; left blank, every workbook is shown including those never accessed. The usage statistics columns show access count, last accessed date and user within the same window.</DESCRIPTION>
   </REPORT_TRANSLATIONS_ROW>
  </REPORT_TRANSLATIONS>
  <CATEGORY_ASSIGNMENTS>
   <CATEGORY_ASSIGNMENTS_ROW>
    <CATEGORY>Enginatics</CATEGORY>
   </CATEGORY_ASSIGNMENTS_ROW>
  </CATEGORY_ASSIGNMENTS>
  <ANCHORS>
   <ANCHORS_ROW>
    <ANCHOR>&amp;eul</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>1=1</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>2=2</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>:eul</ANCHOR>
   </ANCHORS_ROW>
  </ANCHORS>
  <PARAMETERS>
   <PARAMETERS_ROW>
    <SORT_ORDER>1</SORT_ORDER>
    <DISPLAY_SEQUENCE>10</DISPLAY_SEQUENCE>
    <ANCHOR>1=1</ANCHOR>
    <SQL_TEXT>y.workbook=:workbook</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>DIS Workbook</LOV_NAME>
    <LOV_GUID>8E2FF36EDF2079D2E0530100007F1FF2</LOV_GUID>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select
ed.doc_name value,
ed.doc_description||&apos; (&apos;||ed.doc_developer_key||&apos;)&apos; description
from
eul_us.eul5_documents ed
order by
ed.doc_name</LOV_QUERY_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>F</LANGUAGE>
      <PARAMETER_NAME>Cahier d&apos;exercices</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Workbook</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>2</SORT_ORDER>
    <DISPLAY_SEQUENCE>20</DISPLAY_SEQUENCE>
    <ANCHOR>2=2</ANCHOR>
    <SQL_TEXT>eqs.qs_created_date&gt;=:accessed_after</SQL_TEXT>
    <PARAMETER_TYPE_DSP>Date</PARAMETER_TYPE_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Accessed after</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>3</SORT_ORDER>
    <ANCHOR>1=1</ANCHOR>
    <SQL_TEXT>eqs.doc_name_ is not null</SQL_TEXT>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Accessed after</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>4</SORT_ORDER>
    <DISPLAY_SEQUENCE>25</DISPLAY_SEQUENCE>
    <ANCHOR>1=1</ANCHOR>
    <SQL_TEXT>xxen_util.dis_user_name(y.doc_eu_id,:eul,&apos;N&apos;)=:doc_owner</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>FND User Name</LOV_NAME>
    <LOV_GUID>8E2FF36EDE8479D2E0530100007F1FF2</LOV_GUID>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <FILTER_BEFORE_DISPLAY_DSP>Y</FILTER_BEFORE_DISPLAY_DSP>
    <LOV_QUERY_DSP>select
fu.user_name value,
trim(coalesce(
trim(papf.first_name||&apos; &apos;||papf.last_name),
fu.description,
fu.email_address,
papf.email_address
)||fu.inactive) description
from
(select case when sysdate between fu.start_date and nvl(fu.end_date,sysdate) then null else &apos; (inactive)&apos; end inactive, fu.* from fnd_user fu) fu,
(select papf.* from per_all_people_f papf where sysdate between papf.effective_start_date and papf.effective_end_date) papf,
(
select distinct
furg.user_id,
count(*) over (partition by furg.user_id) resp_count,
max(fr.responsibility_key) over (partition by furg.user_id) max_responsibility_key
from
fnd_responsibility fr,
fnd_user_resp_groups_direct furg
where
fr.responsibility_id=furg.responsibility_id and
fr.application_id=furg.responsibility_application_id
) furg
where
fu.employee_id=papf.person_id(+) and
fu.user_id=furg.user_id(+) and
not (furg.resp_count=1 and furg.max_responsibility_key=&apos;IRC_EXT_CANDIDATE&apos;)
order by
fu.inactive desc,
fu.user_name</LOV_QUERY_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Workbook Owner</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>5</SORT_ORDER>
    <DISPLAY_SEQUENCE>30</DISPLAY_SEQUENCE>
    <ANCHOR>1=1</ANCHOR>
    <SQL_TEXT>xrtv.template_name is null</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>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Not yet imported</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>6</SORT_ORDER>
    <DISPLAY_SEQUENCE>50</DISPLAY_SEQUENCE>
    <ANCHOR>&amp;eul</ANCHOR>
    <SQL_TEXT>&lt;parameter_value&gt;</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>DIS End User Layer</LOV_NAME>
    <LOV_GUID>8E2FF36EDF3879D2E0530100007F1FF2</LOV_GUID>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select
lower(do.owner) value,
do.created description
from
dba_objects do
where
do.object_type=&apos;TABLE&apos; and
do.object_name=&apos;EUL5_VERSIONS&apos;
order by
do.created desc</LOV_QUERY_DSP>
    <DEFAULT_VALUE>xxen_util.dis_default_eul</DEFAULT_VALUE>
    <REQUIRED>Y</REQUIRED>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>F</LANGUAGE>
      <PARAMETER_NAME>Couche de l&apos;utilisateur final</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>End User Layer</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>7</SORT_ORDER>
    <ANCHOR>:eul</ANCHOR>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>F</LANGUAGE>
      <PARAMETER_NAME>Couche de l&apos;utilisateur final</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>End User Layer</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
  </PARAMETERS>
  <TEMPLATES>
  </TEMPLATES>
  <DEFAULT_TEMPLATES>
  </DEFAULT_TEMPLATES>
  <UPLOAD_COLUMNS>
  </UPLOAD_COLUMNS>
  <UPLOAD_PARAMETERS>
  </UPLOAD_PARAMETERS>
  <UPLOAD_SQLS>
  </UPLOAD_SQLS>
 </REPORTS_ROW>
</REPORTS>
</ROOT>
