<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: PER Jobs and Positions -->
 <REPORTS_ROW>
  <GUID>C1AF7DEF44984244A654A6149CE63346</GUID><ENABLED>Y</ENABLED>
  <SQL_TEXT>select
x.business_group,
x.record_type,
x.job,
x.position,
x.position_type,
x.position_status,
x.organization,
x.location,
x.entry_grade,
x.valid_grades,
x.permanent,
x.fte,
x.max_persons,
x.headcount,
x.incumbent_fte,
x.vacancies,
x.working_hours,
x.frequency,
x.earliest_hire_date,
x.fill_by_date,
x.supervisor_position,
x.date_from,
x.date_to,
&amp;detail_columns
x.last_updated_by,
x.last_update_date
from
(
select
y.*,
inc.headcount,
inc.incumbent_fte,
case when y.record_type_code=&apos;P&apos; then greatest(nvl(y.max_persons,1)-nvl(inc.headcount,0),0) end vacancies
from
(
select
haouv.name business_group,
&apos;P&apos; record_type_code,
&apos;Position&apos; record_type,
&apos;P&apos;||hapfv.position_id incumbent_key,
hapfv.position_id,
hapfv.job_id,
pjv.name job,
hapfv.name position,
xxen_util.meaning(hapfv.position_type,&apos;POSITION_TYPE&apos;,3) position_type,
pstv.shared_type_name position_status,
pstv.system_type_cd position_status_code,
haouv2.name organization,
hla.location_code location,
(select pgv.name from per_grades_vl pgv where hapfv.entry_grade_id=pgv.grade_id) entry_grade,
(select listagg(z.name,&apos;, &apos;) within group (order by z.sequence, z.name) from (select y.*, sum(lengthb(y.name)+2) over (partition by y.position_id order by y.sequence, y.name) length from (select pvg.position_id, pgv.name, min(pgv.sequence) sequence from per_valid_grades pvg, per_grades_vl pgv where :effective_date between pvg.date_from and nvl(pvg.date_to,:effective_date) and pvg.grade_id=pgv.grade_id group by pvg.position_id, pgv.name) y) z where hapfv.position_id=z.position_id and z.length&lt;=4000) valid_grades,
xxen_util.yes(hapfv.permanent_temporary_flag) permanent,
hapfv.fte,
hapfv.max_persons,
hapfv.working_hours,
xxen_util.meaning(hapfv.frequency,&apos;FREQUENCY&apos;,3) frequency,
hapfv.earliest_hire_date,
hapfv.fill_by_date,
(select hapfv2.name from hr_all_positions_f_vl hapfv2 where hapfv.supervisor_position_id=hapfv2.position_id and :effective_date between hapfv2.effective_start_date and hapfv2.effective_end_date) supervisor_position,
hapfv.date_effective date_from,
hapfv.date_end date_to,
xxen_util.user_name(hapfv.last_updated_by) last_updated_by,
xxen_util.client_time(hapfv.last_update_date) last_update_date
from
hr_all_positions_f_vl hapfv,
hr_all_organization_units_vl haouv,
per_jobs_vl pjv,
per_shared_types_vl pstv,
hr_all_organization_units_vl haouv2,
hr_locations_all hla
where
:effective_date between hapfv.effective_start_date and hapfv.effective_end_date and
hapfv.business_group_id=haouv.organization_id and
hapfv.job_id=pjv.job_id and
hapfv.availability_status_id=pstv.shared_type_id(+) and
hapfv.organization_id=haouv2.organization_id and
hapfv.location_id=hla.location_id(+)
union all
select
haouv.name business_group,
&apos;J&apos; record_type_code,
&apos;Job without Positions&apos; record_type,
&apos;J&apos;||pjv.job_id incumbent_key,
to_number(null) position_id,
pjv.job_id,
pjv.name job,
null position,
null position_type,
null position_status,
null position_status_code,
null organization,
null location,
null entry_grade,
(select listagg(z.name,&apos;, &apos;) within group (order by z.sequence, z.name) from (select y.*, sum(lengthb(y.name)+2) over (partition by y.job_id order by y.sequence, y.name) length from (select pvg.job_id, pgv.name, min(pgv.sequence) sequence from per_valid_grades pvg, per_grades_vl pgv where :effective_date between pvg.date_from and nvl(pvg.date_to,:effective_date) and pvg.grade_id=pgv.grade_id group by pvg.job_id, pgv.name) y) z where pjv.job_id=z.job_id and z.length&lt;=4000) valid_grades,
null permanent,
to_number(null) fte,
to_number(null) max_persons,
to_number(null) working_hours,
null frequency,
to_date(null) earliest_hire_date,
to_date(null) fill_by_date,
null supervisor_position,
pjv.date_from,
pjv.date_to,
xxen_util.user_name(pjv.last_updated_by) last_updated_by,
xxen_util.client_time(pjv.last_update_date) last_update_date
from
per_jobs_vl pjv,
hr_all_organization_units_vl haouv
where
:effective_date between pjv.date_from and nvl(pjv.date_to,:effective_date) and
pjv.business_group_id=haouv.organization_id and
pjv.job_id not in (select hapf.job_id from hr_all_positions_f hapf where :effective_date between hapf.effective_start_date and hapf.effective_end_date)
) y,
(
select
nvl2(paaf.position_id,&apos;P&apos;||paaf.position_id,&apos;J&apos;||paaf.job_id) incumbent_key,
count(*) headcount,
sum((select pabvf.value from per_assignment_budget_values_f pabvf where paaf.assignment_id=pabvf.assignment_id and pabvf.unit=&apos;FTE&apos; and :effective_date between pabvf.effective_start_date and pabvf.effective_end_date)) incumbent_fte
from
per_all_assignments_f paaf,
per_assignment_status_types past
where
:effective_date between paaf.effective_start_date and paaf.effective_end_date and
paaf.assignment_type in (&apos;E&apos;,&apos;C&apos;) and
paaf.assignment_status_type_id=past.assignment_status_type_id and
past.per_system_status in (&apos;ACTIVE_ASSIGN&apos;,&apos;SUSP_ASSIGN&apos;,&apos;ACTIVE_CWK&apos;,&apos;SUSP_CWK_ASG&apos;) and
(paaf.position_id is not null or paaf.job_id is not null)
group by
nvl2(paaf.position_id,&apos;P&apos;||paaf.position_id,&apos;J&apos;||paaf.job_id)
) inc
where
y.incumbent_key=inc.incumbent_key(+)
) x
&amp;detail_from
where
3=3
&amp;detail_where
order by
x.business_group,
x.job,
x.position nulls first</SQL_TEXT>
  <VERSION_COMMENTS>Initial version.</VERSION_COMMENTS>
  <REPORT_TRANSLATIONS>
   <REPORT_TRANSLATIONS_ROW>
    <LANGUAGE>US</LANGUAGE>
    <REPORT_NAME>PER Jobs and Positions</REPORT_NAME>
    <DESCRIPTION>Positions valid at the Effective Date with their job, organization, status, valid grades, FTE, maximum persons, headcount and incumbent FTE, plus the jobs that have no position valid at the Effective Date, for enterprises that use jobs only.

Headcount counts the active and suspended employee and contingent worker assignments of the position, or for a job without positions, the assignments of the job without a position. Incumbent FTE sums their FTE assignment budget values. Vacancies is the maximum persons of the position, one if blank, minus its headcount.

Detail Level Incumbents adds one row per incumbent assignment. Detail Level Extra Information lists one row per position or job extra information record, a position row also showing the extra information of its job. Select an Information Type to show its segments as columns.</DESCRIPTION>
   </REPORT_TRANSLATIONS_ROW>
  </REPORT_TRANSLATIONS>
  <CATEGORY_ASSIGNMENTS>
   <CATEGORY_ASSIGNMENTS_ROW>
    <CATEGORY>Enginatics</CATEGORY>
   </CATEGORY_ASSIGNMENTS_ROW>
  </CATEGORY_ASSIGNMENTS>
  <ANCHORS>
   <ANCHORS_ROW>
    <ANCHOR>&amp;detail_columns</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>&amp;detail_from</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>&amp;detail_where</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>3=3</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>:effective_date</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>:information_type</ANCHOR>
   </ANCHORS_ROW>
  </ANCHORS>
  <PARAMETERS>
   <PARAMETERS_ROW>
    <SORT_ORDER>1</SORT_ORDER>
    <DISPLAY_SEQUENCE>10</DISPLAY_SEQUENCE>
    <ANCHOR>:effective_date</ANCHOR>
    <PARAMETER_TYPE_DSP>Date</PARAMETER_TYPE_DSP>
    <DEFAULT_VALUE>sysdate</DEFAULT_VALUE>
    <REQUIRED>Y</REQUIRED>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Effective Date</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>2</SORT_ORDER>
    <DISPLAY_SEQUENCE>20</DISPLAY_SEQUENCE>
    <ANCHOR>3=3</ANCHOR>
    <SQL_TEXT>x.business_group=:business_group</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>PER Business Group</LOV_NAME>
    <LOV_GUID>8E2FF36EDE9B79D2E0530100007F1FF2</LOV_GUID>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select
pbg.name value,
hla.location_code description
from
per_business_groups pbg,
hr_locations_all hla
where
pbg.location_id=hla.location_id(+)
order by
pbg.name</LOV_QUERY_DSP>
    <DEFAULT_VALUE>select pbg.name from per_business_groups pbg where pbg.business_group_id=fnd_profile.value(&apos;PER_BUSINESS_GROUP_ID&apos;)</DEFAULT_VALUE>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Business Group</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>3</SORT_ORDER>
    <DISPLAY_SEQUENCE>30</DISPLAY_SEQUENCE>
    <ANCHOR>3=3</ANCHOR>
    <SQL_TEXT>x.organization=:organization</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV custom</PARAMETER_TYPE_DSP>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select distinct
haouv.name value,
haouv0.name description
from
hr_all_positions_f hapf,
hr_all_organization_units_vl haouv,
hr_all_organization_units_vl haouv0
where
hapf.organization_id=haouv.organization_id and
haouv.business_group_id=haouv0.organization_id and
(:$flex$.business_group is null or xxen_util.contains(:$flex$.business_group,haouv0.name)=&apos;Y&apos;)
order by
haouv.name</LOV_QUERY_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Organization</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>4</SORT_ORDER>
    <DISPLAY_SEQUENCE>40</DISPLAY_SEQUENCE>
    <ANCHOR>3=3</ANCHOR>
    <SQL_TEXT>x.job=:job</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>PER Job</LOV_NAME>
    <LOV_GUID>B4E3DF78097FFB27E0530100007F704C</LOV_GUID>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select
pjv.name value,
haouv.name description
from
per_jobs_vl pjv,
hr_all_organization_units_vl haouv
where
(:$flex$.operating_unit is null or pjv.business_group_id in (select haouv.business_group_id from hr_all_organization_units_vl haouv where xxen_util.contains(:$flex$.operating_unit,haouv.name)=&apos;Y&apos;)) and
pjv.business_group_id=haouv.organization_id and
sysdate between pjv.date_from and nvl (pjv.date_to, sysdate)
order by
pjv.name</LOV_QUERY_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Job</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>5</SORT_ORDER>
    <DISPLAY_SEQUENCE>50</DISPLAY_SEQUENCE>
    <ANCHOR>3=3</ANCHOR>
    <SQL_TEXT>x.position=:position</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>PER Position</LOV_NAME>
    <LOV_GUID>B4E3DF780980FB27E0530100007F704C</LOV_GUID>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select
pp.name value,
pjv.name description
from
per_positions pp,
per_jobs_vl pjv
where
(:$flex$.operating_unit is null or pp.business_group_id in (select haouv.business_group_id from hr_all_organization_units_vl haouv where xxen_util.contains(:$flex$.operating_unit,haouv.name)=&apos;Y&apos;)) and
sysdate between pp.date_effective and nvl(pp.date_end,sysdate) and
pp.job_id=pjv.job_id
order by
pp.name</LOV_QUERY_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Position</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>6</SORT_ORDER>
    <DISPLAY_SEQUENCE>60</DISPLAY_SEQUENCE>
    <ANCHOR>3=3</ANCHOR>
    <SQL_TEXT>x.record_type_code=:record_type</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV custom</PARAMETER_TYPE_DSP>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select &apos;P&apos; id, &apos;Position&apos; value, null description from dual union all
select &apos;J&apos; id, &apos;Job without Positions&apos; value, null description from dual</LOV_QUERY_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Record Type</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>7</SORT_ORDER>
    <DISPLAY_SEQUENCE>70</DISPLAY_SEQUENCE>
    <ANCHOR>3=3</ANCHOR>
    <SQL_TEXT>x.vacancies&gt;0 and x.position_status_code=&apos;ACTIVE&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>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Vacant Only</PARAMETER_NAME>
      <DESCRIPTION>Lists only active positions whose headcount is below their maximum persons, or below one where maximum persons is blank.</DESCRIPTION>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>8</SORT_ORDER>
    <DISPLAY_SEQUENCE>80</DISPLAY_SEQUENCE>
    <ANCHOR>&amp;detail_columns</ANCHOR>
    <SQL_TEXT>ia.assignment_number,
(select papf.full_name from per_all_people_f papf where ia.person_id=papf.person_id and :effective_date between papf.effective_start_date and papf.effective_end_date) incumbent,
(select nvl(papf.employee_number,papf.npw_number) from per_all_people_f papf where ia.person_id=papf.person_id and :effective_date between papf.effective_start_date and papf.effective_end_date) employee_number,
ia.assignment_status,
ia.assignment_fte,
ia.assignment_start_date,</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV custom</PARAMETER_TYPE_DSP>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select &apos;P&apos; id, &apos;Position&apos; value, null description from dual union all
select &apos;I&apos; id, &apos;Incumbents&apos; value, &apos;Incumbent assignments&apos; description from dual union all
select &apos;E&apos; id, &apos;Extra Information&apos; value, &apos;Position and job extra information&apos; description from dual</LOV_QUERY_DSP>
    <MATCHING_VALUE>I</MATCHING_VALUE>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Detail Level</PARAMETER_NAME>
      <DESCRIPTION>Incumbents and Extra Information add one row per incumbent assignment or extra information record.</DESCRIPTION>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>9</SORT_ORDER>
    <ANCHOR>&amp;detail_columns</ANCHOR>
    <SQL_TEXT>select
x.column_text
from
(
select
0 seq,
&apos;decode(eit.ddf,&apos;&apos;Extra Position Info DDF&apos;&apos;,&apos;&apos;Position&apos;&apos;,&apos;&apos;Job&apos;&apos;) extra_information_of,
(select fdfcv.descriptive_flex_context_name from fnd_descr_flex_contexts_vl fdfcv where fdfcv.application_id=800 and eit.ddf=fdfcv.descriptive_flexfield_name and eit.information_type=fdfcv.descriptive_flex_context_code) information_type,&apos; column_text
from
dual
union all
select
min(fdfcuv.column_seq_num) seq,
&apos;case eit.ddf &apos;||listagg(&apos;when &apos;&apos;&apos;||fdfcuv.descriptive_flexfield_name||&apos;&apos;&apos; then xxen_util.display_flexfield_value(800,&apos;&apos;&apos;||fdfcuv.descriptive_flexfield_name||&apos;&apos;&apos;,eit.information_type,&apos;&apos;&apos;||fdfcuv.application_column_name||&apos;&apos;&apos;,eit.row_id,eit.information&apos;||regexp_substr(fdfcuv.application_column_name,&apos;\d+$&apos;)||&apos;)&apos;,&apos; &apos;) within group (order by fdfcuv.descriptive_flexfield_name)||&apos; end &quot;&apos;||substrb(replace(fdfcuv.form_left_prompt,&apos;&quot;&apos;),1,xxen_report.max_column_length)||&apos;&quot;,&apos; column_text
from
fnd_descr_flex_col_usage_vl fdfcuv
where
fdfcuv.application_id=800 and
fdfcuv.descriptive_flexfield_name in (&apos;Extra Position Info DDF&apos;,&apos;Extra Job Info DDF&apos;) and
fdfcuv.descriptive_flex_context_code=:information_type and
fdfcuv.enabled_flag=&apos;Y&apos; and
fdfcuv.display_flag=&apos;Y&apos;
group by
substrb(replace(fdfcuv.form_left_prompt,&apos;&quot;&apos;),1,xxen_report.max_column_length)
) x
order by
x.seq</SQL_TEXT>
    <MATCHING_VALUE>E</MATCHING_VALUE>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Detail Level</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>10</SORT_ORDER>
    <ANCHOR>&amp;detail_from</ANCHOR>
    <SQL_TEXT>,
(
select
&apos;P&apos;||ppei.position_id incumbent_key,
&apos;Extra Position Info DDF&apos; ddf,
ppei.information_type,
ppei.rowid row_id,
ppei.poei_information1 information1,
ppei.poei_information2 information2,
ppei.poei_information3 information3,
ppei.poei_information4 information4,
ppei.poei_information5 information5,
ppei.poei_information6 information6,
ppei.poei_information7 information7,
ppei.poei_information8 information8,
ppei.poei_information9 information9,
ppei.poei_information10 information10,
ppei.poei_information11 information11,
ppei.poei_information12 information12,
ppei.poei_information13 information13,
ppei.poei_information14 information14,
ppei.poei_information15 information15,
ppei.poei_information16 information16,
ppei.poei_information17 information17,
ppei.poei_information18 information18,
ppei.poei_information19 information19,
ppei.poei_information20 information20,
ppei.poei_information21 information21,
ppei.poei_information22 information22,
ppei.poei_information23 information23,
ppei.poei_information24 information24,
ppei.poei_information25 information25,
ppei.poei_information26 information26,
ppei.poei_information27 information27,
ppei.poei_information28 information28,
ppei.poei_information29 information29,
ppei.poei_information30 information30
from
per_position_extra_info ppei
where
(:information_type is null or ppei.information_type=:information_type)
union all
select
&apos;J&apos;||pjei.job_id incumbent_key,
&apos;Extra Job Info DDF&apos; ddf,
pjei.information_type,
pjei.rowid row_id,
pjei.jei_information1 information1,
pjei.jei_information2 information2,
pjei.jei_information3 information3,
pjei.jei_information4 information4,
pjei.jei_information5 information5,
pjei.jei_information6 information6,
pjei.jei_information7 information7,
pjei.jei_information8 information8,
pjei.jei_information9 information9,
pjei.jei_information10 information10,
pjei.jei_information11 information11,
pjei.jei_information12 information12,
pjei.jei_information13 information13,
pjei.jei_information14 information14,
pjei.jei_information15 information15,
pjei.jei_information16 information16,
pjei.jei_information17 information17,
pjei.jei_information18 information18,
pjei.jei_information19 information19,
pjei.jei_information20 information20,
pjei.jei_information21 information21,
pjei.jei_information22 information22,
pjei.jei_information23 information23,
pjei.jei_information24 information24,
pjei.jei_information25 information25,
pjei.jei_information26 information26,
pjei.jei_information27 information27,
pjei.jei_information28 information28,
pjei.jei_information29 information29,
pjei.jei_information30 information30
from
per_job_extra_info pjei
where
(:information_type is null or pjei.information_type=:information_type)
) eit</SQL_TEXT>
    <MATCHING_VALUE>E</MATCHING_VALUE>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Detail Level</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>11</SORT_ORDER>
    <ANCHOR>&amp;detail_from</ANCHOR>
    <SQL_TEXT>,
(
select
nvl2(paaf.position_id,&apos;P&apos;||paaf.position_id,&apos;J&apos;||paaf.job_id) incumbent_key,
paaf.person_id,
paaf.assignment_number,
pastv.user_status assignment_status,
(select pabvf.value from per_assignment_budget_values_f pabvf where paaf.assignment_id=pabvf.assignment_id and pabvf.unit=&apos;FTE&apos; and :effective_date between pabvf.effective_start_date and pabvf.effective_end_date) assignment_fte,
paaf.effective_start_date assignment_start_date
from
per_all_assignments_f paaf,
per_assignment_status_types_v pastv
where
:effective_date between paaf.effective_start_date and paaf.effective_end_date and
paaf.assignment_type in (&apos;E&apos;,&apos;C&apos;) and
paaf.assignment_status_type_id=pastv.assignment_status_type_id and
pastv.per_system_status in (&apos;ACTIVE_ASSIGN&apos;,&apos;SUSP_ASSIGN&apos;,&apos;ACTIVE_CWK&apos;,&apos;SUSP_CWK_ASG&apos;)
) ia</SQL_TEXT>
    <MATCHING_VALUE>I</MATCHING_VALUE>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Detail Level</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>12</SORT_ORDER>
    <ANCHOR>&amp;detail_where</ANCHOR>
    <SQL_TEXT>and
eit.incumbent_key in (x.incumbent_key,&apos;J&apos;||x.job_id)</SQL_TEXT>
    <MATCHING_VALUE>E</MATCHING_VALUE>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Detail Level</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>13</SORT_ORDER>
    <ANCHOR>&amp;detail_where</ANCHOR>
    <SQL_TEXT>and
x.incumbent_key=ia.incumbent_key(+)</SQL_TEXT>
    <MATCHING_VALUE>I</MATCHING_VALUE>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Detail Level</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>14</SORT_ORDER>
    <DISPLAY_SEQUENCE>90</DISPLAY_SEQUENCE>
    <ANCHOR>:information_type</ANCHOR>
    <PARAMETER_TYPE_DSP>LOV custom</PARAMETER_TYPE_DSP>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select distinct
fdfcv.descriptive_flex_context_code id,
fdfcv.descriptive_flex_context_name value,
fdfcv.description
from
fnd_descr_flex_contexts_vl fdfcv
where
fdfcv.application_id=800 and
fdfcv.descriptive_flexfield_name in (&apos;Extra Position Info DDF&apos;,&apos;Extra Job Info DDF&apos;) and
fdfcv.enabled_flag=&apos;Y&apos; and
fdfcv.descriptive_flex_context_code&lt;&gt;&apos;Global Data Elements&apos; and
:$flex$.detail_level=&apos;E&apos;
order by
fdfcv.descriptive_flex_context_name</LOV_QUERY_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Information Type</PARAMETER_NAME>
      <DESCRIPTION>Position or job extra information type for Detail Level Extra Information. Its segments are shown as columns.</DESCRIPTION>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
  </PARAMETERS>
  <TEMPLATES>
   <TEMPLATES_ROW>
    <GUID>44AE121F2FC8429EAAF6769168A4267F</GUID>
    <TEMPLATE_NAME>Vacant Positions</TEMPLATE_NAME>
    <DESCRIPTION>Active positions with fewer incumbents than their maximum persons, by organization.</DESCRIPTION>
    <OWNER>ENGINATICS</OWNER>
    <TEMPLATE_COLUMNS>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>1</DISPLAY_SEQUENCE>
      <COLUMN_NAME>BUSINESS_GROUP</COLUMN_NAME>
      <SORT_ORDER>1</SORT_ORDER>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>15</DISPLAY_SEQUENCE>
      <COLUMN_NAME>EARLIEST_HIRE_DATE</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>8</DISPLAY_SEQUENCE>
      <COLUMN_NAME>ENTRY_GRADE</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>16</DISPLAY_SEQUENCE>
      <COLUMN_NAME>FILL_BY_DATE</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>10</DISPLAY_SEQUENCE>
      <COLUMN_NAME>FTE</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>12</DISPLAY_SEQUENCE>
      <COLUMN_NAME>HEADCOUNT</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>13</DISPLAY_SEQUENCE>
      <COLUMN_NAME>INCUMBENT_FTE</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>3</DISPLAY_SEQUENCE>
      <COLUMN_NAME>JOB</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>7</DISPLAY_SEQUENCE>
      <COLUMN_NAME>LOCATION</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>11</DISPLAY_SEQUENCE>
      <COLUMN_NAME>MAX_PERSONS</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>2</DISPLAY_SEQUENCE>
      <COLUMN_NAME>ORGANIZATION</COLUMN_NAME>
      <SORT_ORDER>2</SORT_ORDER>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>4</DISPLAY_SEQUENCE>
      <COLUMN_NAME>POSITION</COLUMN_NAME>
      <SORT_ORDER>3</SORT_ORDER>
      <FREEZE_PANES>Y</FREEZE_PANES>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>6</DISPLAY_SEQUENCE>
      <COLUMN_NAME>POSITION_STATUS</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>5</DISPLAY_SEQUENCE>
      <COLUMN_NAME>POSITION_TYPE</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>17</DISPLAY_SEQUENCE>
      <COLUMN_NAME>SUPERVISOR_POSITION</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>14</DISPLAY_SEQUENCE>
      <COLUMN_NAME>VACANCIES</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
     <TEMPLATE_COLUMNS_ROW>
      <DISPLAY_SEQUENCE>9</DISPLAY_SEQUENCE>
      <COLUMN_NAME>VALID_GRADES</COLUMN_NAME>
     </TEMPLATE_COLUMNS_ROW>
    </TEMPLATE_COLUMNS>
    <TEMPLATE_PIVOT>
    </TEMPLATE_PIVOT>
    <TEMPLATE_SHARED_STRINGS>
    </TEMPLATE_SHARED_STRINGS>
    <TEMPLATE_PARAMETER_DEFAULTS>
     <TEMPLATE_PARAMETER_DEFAULTS_ROW>
      <PARAMETER_NAME>Vacant Only</PARAMETER_NAME>
      <DEFAULT_VALUE>Y</DEFAULT_VALUE>
     </TEMPLATE_PARAMETER_DEFAULTS_ROW>
    </TEMPLATE_PARAMETER_DEFAULTS>
    <TEMPLATE_STYLES>
    </TEMPLATE_STYLES>
    <TEMPLATE_SHARING>
     <TEMPLATE_SHARING_ROW>
      <SHARING_LEVEL>S</SHARING_LEVEL>
      <LEVEL_VALUE>Site</LEVEL_VALUE>
     </TEMPLATE_SHARING_ROW>
    </TEMPLATE_SHARING>
    <PARAMETER_EXCLUSION>
    </PARAMETER_EXCLUSION>
    <TEMPLATE_CONDITIONS>
    </TEMPLATE_CONDITIONS>
   </TEMPLATES_ROW>
  </TEMPLATES>
  <DEFAULT_TEMPLATES>
  </DEFAULT_TEMPLATES>
  <UPLOAD_COLUMNS>
  </UPLOAD_COLUMNS>
  <UPLOAD_PARAMETERS>
  </UPLOAD_PARAMETERS>
  <UPLOAD_SQLS>
  </UPLOAD_SQLS>
 </REPORTS_ROW>
</REPORTS>
</ROOT>
