Analytics Catalog/Oracle Fusion ERP/Projects/Project Listing Details Report
Explore the catalogReportsModulesEnterprise modelOTBI subject areasBICC PVOs
Oracle Fusion · Projects

Project Listing Details Report

Projects

The master list of projects with their key attributes — number, name, type, organization, manager, status, dates, and budget — the roster finance and the PMO use to see the active project portfolio at a glance.

Run note · Performance  The subledger (XLA) join — especially Projects-to-XLA — is a known BI Publisher performance trap on large ledgers. Pre-join it in the warehouse, or apply tight ledger, period, and source filters before running online.

Sample build of the Project Listing Details Report — reconciled, and rendered tool-neutral so it runs in Power BI, ThoughtSpot, or Tableau.

Project Listing Details Report
Sample build · illustrative
Filters
Gl Loc From
Sample
Gl Loc To
Sample
Ledger
US Primary
Legal Entity
Globex Holdings
Proj Manager
Sample
Proj Num
1003
148
Projects
112
Active
6
No manager
ProjectTypeOrganizationManagerStatusStart DateBudget
SampleStandardUS OperationsSampleOpen2026-04-30Sample
CorporateEMEAPosted2026-03-31
SampleStandardAPACSampleValidated2026-02-28Sample
DefaultLATAMOpen2026-01-31
SampleStandardUS OperationsSamplePaid2025-12-31Sample
SampleStandardUS OperationsSampleOpen2026-04-30Sample
AI Analyst · active
reading

The report reads PJF_PROJECTS_ALL_VL with each project's organization and manager.

flag

Six active projects have no project manager assigned, so approvals and cost ownership have nowhere to route.

root cause & next step

Assign managers to the six; an ownerless active project is where cost and schedule slip unnoticed.

Illustrative data. The live interactive version — drill-through, filters, export, and the AI Analyst — runs on your warehouse. See it live →

This is the report's BI Publisher data model — the SQL data set BI Publisher runs against Oracle tables to produce the output. The same SQL becomes a dbt model in your warehouse, so one definition drives both the formatted report and the analytics layer.

Data sources

How it interconnects: this data set reads the physical tables above. Those same tables surface in OTBI as subject areas and in BICC as PVOs — three lenses on one source. Open any table to trace its subject areas and View Objects.
SQL data set · genericized · parameterized · no hardcoded segments
Show / hide SQL
<![CDATA[WITH LEDGER_TBL AS
(
	SELECT DISTINCT
	GL.NAME,
	PPAV.ORG_ID
	FROM
	PJF_PROJECTS_ALL_VL PPAV,
	HR_ORGANIZATION_INFORMATION_F HO,
	GL_LEDGERS GL
	WHERE
	PPAV.ORG_ID =HO.ORGANIZATION_ID
	AND HO.ORG_INFORMATION3=GL.LEDGER_ID

)
, SEC_TBL AS
(
SELECT 
	DISTINCT 
	HOU.ORGANIZATION_ID
	FROM 
	HR_OPERATING_UNITS HOU,
	FUN_USER_ROLE_DATA_ASGNMNTS FURDA,
	PER_ROLES_DN PRD,
	PER_USER_ROLES PUR,
	PER_USERS PU
WHERE 
	1=1
	AND FURDA.ORG_ID = HOU.ORGANIZATION_ID
	AND UPPER(FURDA.ROLE_NAME) IN ('XXC_PROJECT_MANAGER_JOB','XXC_PROJECT_INQUIRY_JOB','XXC_PROJECT_ACCOUNTANT_JOB','XXC_PROJECT_ACCOUNTING_MANAGER_JOB')
	AND UPPER(FURDA.ACTIVE_FLAG) = 'Y'
	AND UPPER(FURDA.ROLE_NAME) = UPPER(PRD.ROLE_COMMON_NAME)
	AND PRD.ROLE_ID = PUR.ROLE_ID
	AND PUR.USER_ID = PU.USER_ID
	AND UPPER(PU.USERNAME) = UPPER(:XDO_USER_NAME)
	AND PU.USER_GUID = FURDA.USER_GUID
)
SELECT project_number
, project_name
, project_description
, project_type_class_code
, project_type
, project_legal_entity
, project_location
, project_selling_method
, project_status
, project_manager
, project_start_date
, project_finish_date
, assortment
, toy_year_class_code
, item_complexity
, global_cer_class_code
, global_cer_dff

, proj_year
FROM (
SELECT PPAV.segment1 project_number
   , PPAV.name project_name
   , PPAV.description project_description
   
   , ( SELECT DISTINCT  PCCV.CLASS_CODE 
   FROM PJF_CLASS_CATEGORIES_VL PCCB,
	PJF_CLASS_CODES_VL PCCV,
	PJF_PROJECT_CLASSES_V PPC,
	PJF_PROJECTS_ALL_VL PPAV1
	WHERE PPAV.PROJECT_ID = PPAV1.PROJECT_ID
	 AND PPAV1.PROJECT_ID = PPC.PROJECT_ID
	AND PPC.CLASS_CATEGORY_ID=PCCB.CLASS_CATEGORY_ID
	AND PCCB.CLASS_CATEGORY_ID=PCCV.CLASS_CATEGORY_ID
	AND PPC.CLASS_CODE_ID= PCCV.CLASS_CODE_ID
	AND UPPER(PCCB.CLASS_CATEGORY) IN ( 'PROJECT TYPE CLASS' )
   ) project_type_class_code
   
   , PPTV.project_type 
   , XEP.name project_legal_entity
   , PPAV.attribute1 project_location
   , PPAV.attribute2 project_selling_method
   , PPSV.project_status_name project_status
   , PPNFV.list_name project_manager
   , PPAV.start_date project_start_date
   , PPAV.completion_date project_finish_date
   , PPAV.ATTRIBUTE3 assortment
   
   , ( SELECT DISTINCT  PCCV.CLASS_CODE 
   FROM PJF_CLASS_CATEGORIES_VL PCCB,
	PJF_CLASS_CODES_VL PCCV,
	PJF_PROJECT_CLASSES_V PPC,
	PJF_PROJECTS_ALL_VL PPAV1
	WHERE PPAV.PROJECT_ID = PPAV1.PROJECT_ID
	 AND PPAV1.PROJECT_ID = PPC.PROJECT_ID
	AND PPC.CLASS_CATEGORY_ID=PCCB.CLASS_CATEGORY_ID
	AND PCCB.CLASS_CATEGORY_ID=PCCV.CLASS_CATEGORY_ID
	AND PPC.CLASS_CODE_ID= PCCV.CLASS_CODE_ID
	AND UPPER(PCCB.CLASS_CATEGORY) IN ( 'TOY YEAR' )
   ) toy_year_class_code
   
   , ( SELECT DISTINCT  PCCV.CLASS_CODE 
   FROM PJF_CLASS_CATEGORIES_VL PCCB,
	PJF_CLASS_CODES_VL PCCV,
	PJF_PROJECT_CLASSES_V PPC,
	PJF_PROJECTS_ALL_VL PPAV1
	WHERE PPAV.PROJECT_ID = PPAV1.PROJECT_ID
	 AND PPAV1.PROJECT_ID = PPC.PROJECT_ID
	AND PPC.CLASS_CATEGORY_ID=PCCB.CLASS_CATEGORY_ID
	AND PCCB.CLASS_CATEGORY_ID=PCCV.CLASS_CATEGORY_ID
	AND PPC.CLASS_CODE_ID= PCCV.CLASS_CODE_ID
	AND UPPER(PCCB.CLASS_CATEGORY) IN ( 'ITEM COMPLEXITY' )
   )  item_complexity
   
   , ( SELECT DISTINCT  PCCV.CLASS_CODE 
   FROM PJF_CLASS_CATEGORIES_VL PCCB,
	PJF_CLASS_CODES_VL PCCV,
	PJF_PROJECT_CLASSES_V PPC,
	PJF_PROJECTS_ALL_VL PPAV1
	WHERE PPAV.PROJECT_ID = PPAV1.PROJECT_ID
	 AND PPAV1.PROJECT_ID = PPC.PROJECT_ID
	AND PPC.CLASS_CATEGORY_ID=PCCB.CLASS_CATEGORY_ID
	AND PCCB.CLASS_CATEGORY_ID=PCCV.CLASS_CATEGORY_ID
	AND PPC.CLASS_CODE_ID= PCCV.CLASS_CODE_ID
	AND UPPER(PCCB.CLASS_CATEGORY) IN ( 'GLOBAL CER' )
   ) global_cer_class_code
   , PPAV.ATTRIBUTE4 global_cer_dff
   
   , SUBSTR(PPAV.SEGMENT1 ,8,2)  proj_year
   
FROM pjf_projects_all_vl PPAV
, pjf_project_types_vl PPTV
, pjf_project_statuses_vl PPSV
, pjf_latestprojectmanager_v PLV
, per_person_names_f_v PPNFV
, ledger_tbl LT
, xle_entity_profiles XEP
, SEC_TBL ST

WHERE 1 = 1
AND PPAV.project_type_id     = PPTV.project_type_id
AND PPAV.project_status_code = PPSV.project_status_code
AND PPAV.template_flag                  = 'N'
AND PPAV.PROJECT_ID 		= PLV.PROJECT_ID(+)
AND PLV.RESOURCE_SOURCE_ID = PPNFV.PERSON_ID(+)
AND SYSDATE BETWEEN PPNFV.EFFECTIVE_START_DATE(+) AND PPNFV.EFFECTIVE_END_DATE(+)

AND PPAV.legal_entity_id 					= XEP.legal_entity_id

AND PPAV.org_id								= LT.org_id
AND ST.ORGANIZATION_ID						= PPAV.ORG_ID
   
AND (LT.name            					IN (:P_LEDGER)
OR  'ALL'                					IN (:P_LEDGER||'ALL'))

AND (XEP.LEGAL_ENTITY_ID            		IN (:P_LEGAL_ENTITY)
OR  'All'                					IN (:P_LEGAL_ENTITY||'All'))
   
AND (PPAV.SEGMENT1		            		IN (:P_PROJ_NUM)
OR  'All'                					IN (:P_PROJ_NUM||'All'))

AND (PPSV.project_status_name		        IN (:P_PROJ_STATUS)
OR  'All'                					IN (:P_PROJ_STATUS||'All'))

	
AND (PPNFV.list_name	                    IN (:P_PROJ_MANAGER)
OR  'All'                                   IN (:P_PROJ_MANAGER||'All'))

AND (SUBSTR(PPAV.SEGMENT1 ,8,2)             >= (:P_YEAR_FROM)
OR  'All'                					IN (:P_YEAR_FROM||'All'))
AND (SUBSTR(PPAV.SEGMENT1 ,8,2)             <= (:P_YEAR_TO)
OR  'All'                					IN (:P_YEAR_TO||'All'))

AND (PPAV.attribute2		                >= (:P_SELLING_FROM)
OR  'All'                			        IN (:P_SELLING_FROM||'All'))
AND (PPAV.attribute2            		    <= (:P_SELLING_TO)
OR  'All'                			        IN (:P_SELLING_TO||'All'))

AND (PPAV.attribute1		                >= (:P_GL_LOC_FROM)
OR  'All'                			        IN (:P_GL_LOC_FROM||'All'))
AND (PPAV.attribute1            		    <= (:P_GL_LOC_TO)
OR  'All'                			        IN (:P_GL_LOC_TO||'All'))
)
WHERE 1 = 1

AND (project_type_class_code                IN (:P_PROJ_TYPE_CLASS)
OR  'All'                					IN (:P_PROJ_TYPE_CLASS||'All'))

AND (toy_year_class_code	            IN (:P_TOY_YEAR)
OR  'All'                               IN (:P_TOY_YEAR||'All'))

ORDER BY project_number]]>
:P_GL_LOC_FROM :P_GL_LOC_TO :P_LEDGER :P_LEGAL_ENTITY :P_PROJ_MANAGER :P_PROJ_NUM :P_PROJ_STATUS :P_PROJ_TYPE_CLASS :P_SELLING_FROM :P_SELLING_TO :P_TOY_YEAR :P_YEAR_FROM :P_YEAR_TO :XDO_USER_NAME

The data-warehouse model — one fact surrounded by conformed dimensions (what you slice by) and measures (what you aggregate), expressed as dbt so it migrates with you. Grain: one row per source transaction.

PJF_PROJ_ELEMENTS_VLdimensionHR_OPERATING_UNITSdimensionGL_LEDGERSdimensionPJF_PROJECTS_ALL_VLfact · one row per source transactionAmount
●— fact → dimension join
ElementTypeDefinition
PJF_PROJ_ELEMENTS_VLdimensiondimension
HR_OPERATING_UNITSdimensiondimension
GL_LEDGERSdimensiondimension
Amountmeasuremeasure
Runs on your cloud warehouse — Snowflake, BigQuery, Redshift, or Synapse on AWS, Google Cloud, Azure, or any provider. Reconciled to the source control total — 0% variance by design. You own the code, the model, and the data.
How the data gets here: a BICC bulk extract of the source tables above, on the same pattern for every report. See the extraction pattern & data flow →
See the complete model
How this report's fact and dimensions fit the full picture, via conformed keys.
Projects data model →Enterprise model →

Every source object behind this report. Each linked table has its own page with full column descriptions, drawn from the Oracle BICC lineage and articulated for practitioners.

TableReporting columnsSubject areas
PJF_PROJECTS_ALL_VL3167
PJF_PROJ_ELEMENTS_VL10665
HR_OPERATING_UNITSSetup / configuration table — joined for reference, not exposed for analytics
GL_LEDGERS10104
Reporting columns = fields the report selects that are exposed as analytics attributes; subject areas = the OTBI subject areas the table appears in. Setup and configuration tables (master data, ledger and book setup, lookups) are referenced by the report's joins but aren't exposed as analytics columns or subject areas — that's expected, not a gap.