SELECT /*+parallel(8)*/
(
SELECT
gl.name
FROM
gl.gl_ledgers gl
-- , apps.XLE_LE_OU_LEDGER_V a
, apps.FND_FLEX_VALUE_SETS fvs
, apps.fnd_flex_values ffv
, APPS.FND_FLEX_VALUES_tl fft
WHERE
1 =1
AND sl.entity = ffv.flex_value
-- AND a.ledger_id = gl.ledger_id
AND fvs.flex_value_set_id = ffv.flex_value_set_id
AND ffv.flex_value_id = fft.flex_value_id
AND flex_value_Set_name = 'XXPSO_GL_ENTITY'
AND fft.language = 'US'
--AND fft.description = a.legal_entity_name
AND NVL(ffv.attribute41,gl.ledger_id) = gl.ledger_id
)
AS ledger_name
, (
SELECT DISTINCT
gl.currency_code
FROM
gl.gl_ledgers gl
-- , apps.XLE_LE_OU_LEDGER_V a
, apps.FND_FLEX_VALUE_SETS fvs
, apps.fnd_flex_values ffv
, APPS.FND_FLEX_VALUES_tl fft
WHERE
1 =1
AND sl.entity = ffv.flex_value
-- AND a.ledger_id = gl.ledger_id
AND fvs.flex_value_set_id = ffv.flex_value_set_id
AND ffv.flex_value_id = fft.flex_value_id
AND flex_value_Set_name = 'XXPSO_GL_ENTITY'
AND fft.language = 'US'
-- AND fft.description = a.legal_entity_name
AND ffv.attribute41 = gl.ledger_id
)
AS ledger_currency
, GL_STRING
, sl.ENTITY
, nvl(
(
SELECT
conversion_rate
FROM
apps.gl_daily_rates
WHERE
TO_currency =
(
SELECT DISTINCT
gl.currency_code
FROM
gl.gl_ledgers gl
-- , apps.XLE_LE_OU_LEDGER_V a
, apps.fnd_flex_value_sets fvs
, apps.fnd_flex_values ffv
, apps.fnd_flex_values_tl fft
WHERE
1 = 1
AND sl.entity = ffv.flex_value
-- AND a.ledger_id =
gl.ledger_id
AND fvs.flex_value_set_id =
ffv.flex_value_set_id
AND ffv.flex_value_id =
fft.flex_value_id
AND flex_value_set_name =
'XXPSO_GL_ENTITY'
AND fft.language = 'US'
-- AND fft.description =
a.legal_entity_name
AND ffv.attribute41 = gl.ledger_id
)
AND FROM_currency = 'GBP'
AND conversion_type = '1081'
AND conversion_date = '31-DEC-'||:EXCHANGE_YEAR
)
,1) AS EXCHANGE_RATE_GBP
, nvl(
(
SELECT
conversion_rate
FROM
apps.gl_daily_rates
WHERE
from_currency = 'GBP'
AND to_currency = 'USD'
AND conversion_type = '1081'
AND conversion_date = '31-DEC-'||:EXCHANGE_YEAR
)
,1) AS EXCHANGE_RATE_GBP_TO_USD
, DIVISION
, division ||'-' ||
(
SELECT
fft.description
FROM
apps.FND_FLEX_VALUE_SETS fvs
, apps.fnd_flex_values ffv
, APPS.FND_FLEX_VALUES_tl fft
WHERE
1 =1
AND fvs.flex_value_set_id = ffv.flex_value_set_id
AND ffv.flex_value_id = fft.flex_value_id
AND fft.language = 'US'
AND flex_value = division
AND flex_value_Set_name = 'XXPSO_GL_DIVISION'
)
AS Division_Description
, COST_CENTER
, cost_center ||'-' ||
(
SELECT
fft.description
FROM
apps.FND_FLEX_VALUE_SETS fvs
, apps.fnd_flex_values ffv
, APPS.FND_FLEX_VALUES_tl fft
WHERE
1 =1
AND fvs.flex_value_set_id = ffv.flex_value_set_id
AND ffv.flex_value_id = fft.flex_value_id
AND fft.language = 'US'
AND ffv.enabled_flag = 'Y'
AND flex_value_Set_name = 'XXPSO_GL_COST_CENTRE'
AND ffv.flex_value = sl.cost_center
)
AS Cost_Center_Description
, (
SELECT DISTINCT
a.d_parent_name
FROM
hr.hr_all_organization_units hou
, apps.PER_ORG_STRUCTURE_ELEMENTS_V a
, (
SELECT
pcaf.cost_allocation_keyflex_id
, pcaf.segment1 AS entity
, pcaf.segment2 AS Div
, pcaf.segment3 AS CC
FROM
apps.pay_cost_allocation_keyflex pcaf
WHERE
1 =1
AND pcaf.enabled_flag = 'Y'
)
pcaf
WHERE
hou.cost_allocation_keyflex_id =
pcaf.cost_allocation_keyflex_id
AND a.organization_id_child = hou.organization_id
AND
(
HOU.DATE_TO IS NULL
OR HOU.DATE_TO > SYSDATE
)
AND pcaf.entity = sl.entity
AND pcaf.div = sl.division
AND pcaf.cc = sl.cost_center
)
AS Parent_CC
, DECODE(SUBSTR(account,1,2)
,'79','RECOVERY'
,'OPEX') AS ACCOUNT_CLASS
, ACCOUNT
, account ||'-' ||
(
SELECT
fft.description
FROM
apps.FND_FLEX_VALUE_SETS fvs
, apps.fnd_flex_values ffv
, APPS.FND_FLEX_VALUES_tl fft
WHERE
1 =1
AND fvs.flex_value_set_id = ffv.flex_value_set_id
AND ffv.flex_value_id = fft.flex_value_id
AND fft.language = 'US'
AND ffv.enabled_flag = 'Y'
AND flex_value_Set_name = 'XXPSO_GL_ACCOUNT'
AND ffv.flex_value = sl.account
)
AS account_description
, PRODUCT AS Product
, INTERCO AS Interco
, GLP.PERIOD_NAME
, GL_MONTH
, JOURNAL_SOURCE
, JOURNAL_CATEGORY
, (
SELECT
PA.project_division
FROM
XXPSO.XXPSO_PROJECT_MASTER_DATA pa
WHERE
sl.project_id = pa.project_id
)
AS project_division
, (
SELECT
pa.project_org_name
FROM
XXPSO.XXPSO_PROJECT_MASTER_DATA pa
WHERE
sl.project_id = pa.project_id
)
AS project_org_name
, (
SELECT
DECODE(project_type_class_code
,'CAPITAL', PA.PARTNER_PROJECT_NUMBER
, PROJECT_NUMBER)
FROM
XXPSO.XXPSO_PROJECT_MASTER_DATA pa
WHERE
pa.project_id = sl.project_id
)
AS PARTNER_PROJECT
, (
SELECT
DECODE(project_type_class_code
,'CAPITAL', PA.PARTNER_PROJECT_NAME
, PROJECT_NAME)
FROM
XXPSO.XXPSO_PROJECT_MASTER_DATA pa
WHERE
pa.project_id = sl.project_id
)
AS PARTNER_PROJECT_NAME
, SL.PROJECT_NUMBER
, SL.PROJECT_NAME
, PROJECT_TYPE
, sl.project_number AS Indirect_project
, sl.project_name AS Indirect_project_name
, EXPENDITURE_TYPE
, (
SELECT
PET.EXPENDITURE_CATEGORY
FROM
PA.PA_EXPENDITURE_TYPES PET
WHERE
PET.EXPENDITURE_TYPE = SL.EXPENDITURE_TYPE
)
AS EXPENDITURE_CATEGORY
, TRANSACTION_SOURCE
, JNL_ENTRY_SIGN
, LINE_TYPE
, SYSTEM_LINKAGE_FUNCTION
, EXPENDITURE_MONTH
, TRANSFER_STATUS_CODE
, SUM(QUANTITY) AS qty
, SUM(RAW_COST) AS raw_cost
, SUM(BURDENED_COST) AS burdened_cost
, SUM(RECON_GL_AMOUNT) AS recon_gl_amount
, PARENT_ORG
, RATE
, JOB_NAME
, JOB_CODE
, RATE_SCHEDULE
, LCE_VALUE
, EMPLOYEE_NAME
, PERSON_TYPE
, EXPENDITURE_ORGANIZATION
, PROJECT_PRODUCT_CODE
, VENDOR
, INVOICE_NUMBER
, PO_NUMBER
, TASK_NUMBER
, SERVICE_TYPE_CODE
, BATCH_NAME
, JOURNAL_NAME
, AR_INVOICE_NUMBER
, AR_CUSTOMER_NAME
, FA_BOOK_TYPE_CODE
, FA_ASSET_NUMBER
, (
SELECT
task_org_name
FROM
XXPSO.XXPSO_TASK_MASTER_DATA task
WHERE
sl.project_id = task.project_id
AND sl.task_id = task_id
)
AS task_org_name
, (
SELECT
pcaf.segment1
FROM
apps.pay_cost_allocation_keyflex pcaf
, hr.hr_all_organization_units hou
WHERE
1 =1
AND pcaf.enabled_flag = 'Y'
AND hou.cost_allocation_keyflex_id =
pcaf.cost_allocation_keyflex_id
AND hou.organization_id =
NVL(sl.incurred_by_organization_id,override_to_organization_id)
)
AS EXP_Org_entity
, (
SELECT
pcaf.segment2
FROM
apps.pay_cost_allocation_keyflex pcaf
, hr.hr_all_organization_units hou
WHERE
1 =1
AND pcaf.enabled_flag = 'Y'
AND hou.cost_allocation_keyflex_id =
pcaf.cost_allocation_keyflex_id
AND hou.organization_id =
NVL(sl.incurred_by_organization_id,override_to_organization_id)
)
AS EXP_Org_Division
, (
SELECT
pcaf.segment3
FROM
apps.pay_cost_allocation_keyflex pcaf
, hr.hr_all_organization_units hou
WHERE
1 =1
AND pcaf.enabled_flag = 'Y'
AND hou.cost_allocation_keyflex_id =
pcaf.cost_allocation_keyflex_id
AND hou.organization_id =
NVL(sl.incurred_by_organization_id,override_to_organization_id)
)
AS EXP_Org_CostCenter
,
(
CASE
WHEN SUBSTR(service_type_code,
LENGTH(service_type_code)-2, 3) = 'CIP'
THEN 'Y'
ELSE 'N'
END
)
AS Capex_related,
sl.ORIG_EXP_ORG_NAME,
PAPF.EMAIL_ADDRESS
FROM
XXPSO.XXPSO_GL_SL_DETAIL_ALL sl
, GL.GL_PERIODS glp
, (Select MAX(EMAIL_ADDRESS) EMAIL_ADDRESS, person_id from
hr.per_all_people_f group By person_id) PAPF
WHERE
1 =1
AND sl.gl_month BETWEEN glp.start_date AND glp.end_date
AND sl.INCURRED_BY_PERSON_ID = PAPF.person_id (+)
AND glp.PERIOD_SET_NAME = 'Pearson Global'
AND glp.ADJUSTMENT_PERIOD_FLAG = 'N'
AND NVL(recon_gl_amount,0) <> 0
AND
(
glp.period_name IN (:GL_PERIOD)
OR 'All' IN (:GL_PERIOD || 'All')
)
AND
(
ENTITY IN (:ENTITY)
OR 'All' IN (:ENTITY || 'All')
)
AND
(
DIVISION IN (:DIVISION)
OR 'All' IN (:DIVISION || 'All')
)
AND
(
COST_CENTER IN (:COST_CENTER)
OR 'All' IN (:COST_CENTER || 'All')
)
AND
(
ACCOUNT IN (:ACCOUNT)
OR 'All' IN (:ACCOUNT || 'All')
)
AND
(
PROJECT_NUMBER IN (:PROJECT_NUMBER)
OR 'All' IN (:PROJECT_NUMBER || 'All')
) -- Added 18th June by DS to give users option to filter on
PROJECT_NUMBER
HAVING
SUM(RECON_GL_AMOUNT) <> 0
GROUP BY
GL_STRING
, sl.ENTITY
, Division
, cost_Center
, ACCOUNT
, product
, Interco
, DECODE(SUBSTR(account,1,2)
,'79','RECOVERY'
,'OPEX')
, GL_MONTH
, GLP.PERIOD_NAME
, JOURNAL_SOURCE
, JOURNAL_CATEGORY
, SL.PROJECT_NUMBER
, SL.PROJECT_NAME
, PROJECT_TYPE
, EXPENDITURE_TYPE
, TRANSACTION_SOURCE
, SYSTEM_LINKAGE_FUNCTION
, EXPENDITURE_MONTH
, LINE_TYPE
, TRANSFER_STATUS_CODE
, JNL_ENTRY_SIGN
, PARENT_ORG
, RATE
, LINE_TYPE
, JOB_NAME
, JOB_CODE
, RATE_SCHEDULE
, LCE_VALUE
, EMPLOYEE_NAME
, PERSON_TYPE
, EXPENDITURE_ORGANIZATION
, PROJECT_PRODUCT_CODE
, VENDOR
, INVOICE_NUMBER
, PO_NUMBER
, TASK_NUMBER
, SERVICE_TYPE_CODE
, BATCH_NAME
, JOURNAL_NAME
, AR_INVOICE_NUMBER
, AR_CUSTOMER_NAME
, FA_BOOK_TYPE_CODE
, FA_ASSET_NUMBER
, sl.project_id
, sl.task_id
, sl.incurred_by_organization_id
, sl.override_to_organization_id
, sl.ORIG_EXP_ORG_NAME
, PAPF.EMAIL_ADDRESS