SELECT
to_number(ASSET_NUMBER) as ASSET_NUMBER,
ASSET_ID,
BOOK_TYPE_CODE,
to_number(AP_Invoice_Document_Number) as AP_Invoice_Document_Number,
NULL AS Project_Number,
NULL AS Task_Number,
LIFE_IN_MONTHS,
CASE
WHEN (
LIFE_IN_MONTHS - (
FLOOR(
MONTHS_BETWEEN (PERIOD_END_DATE, DATE_PLACED_IN_SERVICE1)
)
)
) > 0 THEN TRUNC(
(
LIFE_IN_MONTHS - (
FLOOR(
MONTHS_BETWEEN (PERIOD_END_DATE, DATE_PLACED_IN_SERVICE1)
)
)
) / 12
) || '|' || ROUND(
MOD(
(
LIFE_IN_MONTHS - (
FLOOR(
MONTHS_BETWEEN (PERIOD_END_DATE,
DATE_PLACED_IN_SERVICE1)
)
)
),
12
)
)
ELSE '0|0'
END Remaining_Life_Year_Month,
DESCRIPTION,
SERIAL_NUMBER,
TAG_NUMBER as TAG_NUMBER,
ASSET_TYPE,
ORIGINAL_COST,
COST,
DATE_PLACED_IN_SERVICE,
PRORATE_DATE,
CURRENT_UNITS as CURRENT_UNITS,
MAJOR_CATEGORY,
MINOR_CATEGORY,
ASSET_KEY_DETAILS,
DEPR_METHOD,
LIFE_IN_MONTHS_YR,
SALVAGE_VALUE as SALVAGE_VALUE,
INVOICE_TRANSACTION_ID,
DATE_RETIRED,
NVL(DEPRN_RESERVE, 0) DEPRN_RESERVE,
NVL(YEAR_TO_DATE_DEPRECIATION, 0) YEAR_TO_DATE_DEPRECIATION,
(COST - NVL(DEPRN_RESERVE, 0)) NET_BOOK_VALUE,
LOCATION,
DEPRN_EXPENSE_ACCOUNT,
PO_NUMBER,
(
Select
[Link]
FROM
cmr_purchase_order_dtls cpod,
cml_trop_charge_po_schedules ctcps,
cml_trade_operation_charges ctoc,
cml_trade_operations cto
WHERE
cpod.cmr_po_line_location_id = ctcps.cmr_po_line_location_id
and ctcps.trade_operation_charge_id = ctoc.trade_operation_charge_id
and ctoc.trade_operation_id = cto.trade_operation_id
and cpod.po_number = xx.po_number
and rownum = 1
) BOE_NUMBER,
(
Select
to_char(cto.creation_date, 'DD-MM-YYYY')
FROM
cmr_purchase_order_dtls cpod,
cml_trop_charge_po_schedules ctcps,
cml_trade_operation_charges ctoc,
cml_trade_operations cto
WHERE
cpod.cmr_po_line_location_id = ctcps.cmr_po_line_location_id
and ctcps.trade_operation_charge_id = ctoc.trade_operation_charge_id
and ctoc.trade_operation_id = cto.trade_operation_id
and cpod.po_number = xx.po_number
and rownum = 1
) BOE_DATE,
INVOICE_NUMBER,
TO_CHAR(INVOICE_DATE, 'DD-MON-YYYY') AS INVOICE_DATE,
to_number(INVOICE_LINE_NUMBER) as INVOICE_LINE_NUMBER,
VENDOR_NAME,
INVOICE_ID,
to_number(VENDOR_NUMBER) as VENDOR_NUMBER,
to_number(
SUBSTR(EMPLOYEE_NAME, 1, INSTR(EMPLOYEE_NAME, '|') -1)
) EMPLOYEE_NUMBER,
SUBSTR(EMPLOYEE_NAME, INSTR(EMPLOYEE_NAME, '|') + 1) EMPLOYEE_NAME,
to_number(UNITS_ASSIGNED) as UNITS_ASSIGNED,
DEPRN_START_DATE,
IN_USE_FLAG,
SUBSTR(QUANTITY, 1, INSTR(QUANTITY, '|') -1) UOM,
to_number(SUBSTR(QUANTITY, INSTR(QUANTITY, '|') + 1)) as QUANTITY
FROM
(
SELECT
FAA.ASSET_ID,
FAB.BOOK_TYPE_CODE,
FAA.ASSET_NUMBER,
FAA.SERIAL_NUMBER as SERIAL_NUMBER,
FAA.TAG_NUMBER,
FAA.ASSET_TYPE,
FAA.IN_USE_FLAG,
FAB.ORIGINAL_COST,
[Link],
FAM.LIFE_IN_MONTHS,
(
SELECT
GP.END_DATE
FROM
GL_PERIODS GP
WHERE
1 = 1
AND GP.PERIOD_SET_NAME = 'TEPL_CALENDAR'
AND GP.ADJUSTMENT_PERIOD_FLAG = 'N'
AND GP.PERIOD_NAME = :P_PERIOD
) PERIOD_END_DATE,
DATE_PLACED_IN_SERVICE DATE_PLACED_IN_SERVICE1,
TO_CHAR(FAB.DATE_PLACED_IN_SERVICE, 'DD-MON-YYYY')
DATE_PLACED_IN_SERVICE,
TO_CHAR(FAB.PRORATE_DATE, 'DD-MON-YYYY') PRORATE_DATE,
TO_CHAR (FAB.DEPRN_START_DATE, 'DD-MON-YYYY') DEPRN_START_DATE,
(
select
aia.DOC_SEQUENCE_VALUE
from
ap_invoices_all aia
where
fin.invoice_id = aia.invoice_id
) AS AP_Invoice_Document_Number,
TRUNC(
(
nvl(FAM.LIFE_IN_MONTHS, 0) - nvl(
(
select
nvl(fb1.remaining_life1, FAB.remaining_life1)
from
fa_books fb1
where
fb1.asset_id = FAB.asset_id
and SYSDATE between fb1.date_effective
and nvl(fb1.date_ineffective, sysdate + 1000)
and fb1.book_type_code = FAB.book_type_code
),
0
)
) / 12
) || '|' || MOD(
(
nvl(FAM.LIFE_IN_MONTHS, 0) - nvl(
(
select
nvl(fb1.remaining_life1, FAB.remaining_life1)
from
fa_books fb1
where
fb1.asset_id = FAB.asset_id
and SYSDATE between fb1.date_effective
and nvl(fb1.date_ineffective, sysdate + 1000)
and fb1.book_type_code = FAB.book_type_code
),
0
)
),
12
) as Remaining_Life_Year_Month1,
FAA.CURRENT_UNITS,
FAC.SEGMENT1 MAJOR_CATEGORY,
FAC.SEGMENT2 MINOR_CATEGORY,
(
SELECT
FAK.SEGMENT1 || '.' || FAK.SEGMENT2
FROM
FA_ASSET_KEYWORDS FAK
WHERE
1 = 1
AND FAK.CODE_COMBINATION_ID = FAA.ASSET_KEY_CCID
) ASSET_KEY_DETAILS,
FAM.METHOD_CODE DEPR_METHOD,
TRUNC(FAM.LIFE_IN_MONTHS / 12) || '|' || MOD(FAM.LIFE_IN_MONTHS, 12)
LIFE_IN_MONTHS_YR,
FAB.SALVAGE_VALUE,
FTH.INVOICE_TRANSACTION_ID,
(
SELECT
B.PERSON_NUMBER || '|' || (
PPNF.FIRST_NAME || ' ' || PPNF.LAST_NAME
) EMP_NAME
FROM
PER_ALL_PEOPLE_F B,
PER_PERSON_NAMES_F PPNF
WHERE
FDH.ASSIGNED_TO = B.PERSON_ID (+)
AND TRUNC(SYSDATE) BETWEEN TRUNC(B.EFFECTIVE_START_DATE)
AND NVL(B.EFFECTIVE_END_DATE, SYSDATE)
AND TRUNC(SYSDATE) BETWEEN PPNF.EFFECTIVE_START_DATE
AND NVL(PPNF.EFFECTIVE_END_DATE, SYSDATE)
AND B.PERSON_ID = PPNF.PERSON_ID
AND UPPER(PPNF.NAME_TYPE) = 'GLOBAL'
) EMPLOYEE_NAME,
(
CASE
WHEN FTH.TRANSACTION_TYPE_CODE = 'REINSTATEMENT' THEN NULL
ELSE (
SELECT
TO_CHAR(FRT.DATE_RETIRED, 'DD-MON-YYYY')
FROM
FA_RETIREMENTS FRT
WHERE
1 = 1
AND FRT.ASSET_ID = FAB.ASSET_ID
AND FRT.BOOK_TYPE_CODE = FAB.BOOK_TYPE_CODE
AND FRT.TRANSACTION_HEADER_ID_IN = (
SELECT
MAX(C.TRANSACTION_HEADER_ID)
FROM
FA_TRANSACTIONS_V C
WHERE
C.TRANSACTION_TYPE_CODE IN ('FULL RETIREMENT',
'PARTIAL RETIREMENT')
AND C.ASSET_ID = FAB.ASSET_ID
AND C.PERIOD_COUNTER <= (
SELECT
BX.PERIOD_COUNTER
FROM
FA_DEPRN_PERIODS BX
WHERE
BX.PERIOD_NAME = NVL(:P_PERIOD,
BX.PERIOD_NAME)
AND BX.BOOK_TYPE_CODE
= :P_BOOK_TYPE_CODE
)
)
)
END
) DATE_RETIRED,
(
SELECT
SUM(FDS.DEPRN_RESERVE)
FROM
FA_DEPRN_SUMMARY FDS
WHERE
1 = 1
AND FDS.ASSET_ID = FAB.ASSET_ID
AND FDS.BOOK_TYPE_CODE = FAB.BOOK_TYPE_CODE
AND FDS.PERIOD_COUNTER = (
SELECT
MAX(A.PERIOD_COUNTER)
FROM
FA_DEPRN_DETAIL A,
FA_DEPRN_PERIODS B
WHERE
A.ASSET_ID = FDS.ASSET_ID --
AND A.DEPRN_SOURCE_CODE = 'D'
AND A.PERIOD_COUNTER = B.PERIOD_COUNTER
AND B.BOOK_TYPE_CODE = :P_BOOK_TYPE_CODE
AND B.PERIOD_COUNTER <= (
SELECT
BX.PERIOD_COUNTER
FROM
FA_DEPRN_PERIODS BX
WHERE
BX.PERIOD_NAME = NVL(:P_PERIOD, BX.PERIOD_NAME)
AND BX.BOOK_TYPE_CODE = :P_BOOK_TYPE_CODE
)
)
) DEPRN_RESERVE,
(
SELECT
SUM(FDD.YTD_DEPRN)
FROM
FA_DEPRN_DETAIL FDD
WHERE
FDD.ASSET_ID = FAB.ASSET_ID -- AND
FDD.DEPRN_SOURCE_CODE = 'D'
AND FDD.BOOK_TYPE_CODE = FAB.BOOK_TYPE_CODE
AND FDD.PERIOD_COUNTER = (
SELECT
MAX(A.PERIOD_COUNTER)
FROM
FA_DEPRN_DETAIL A,
FA_DEPRN_PERIODS B
WHERE
A.ASSET_ID = FDD.ASSET_ID --
AND A.DEPRN_SOURCE_CODE = 'D'
AND A.PERIOD_COUNTER = B.PERIOD_COUNTER
AND B.BOOK_TYPE_CODE = :P_BOOK_TYPE_CODE
AND B.PERIOD_COUNTER <= (
SELECT
BX.PERIOD_COUNTER
FROM
FA_DEPRN_PERIODS BX
WHERE
BX.PERIOD_NAME = NVL(:P_PERIOD, BX.PERIOD_NAME)
AND BX.BOOK_TYPE_CODE = :P_BOOK_TYPE_CODE
)
)
) YEAR_TO_DATE_DEPRECIATION,
FAL.SEGMENT1 || '.' || FAL.SEGMENT2 || '.' || FAL.SEGMENT3 || '.' ||
FAL.SEGMENT4 || '.' || FAL.SEGMENT5 || '.' || FAL.SEGMENT6 || '.' || FAL.SEGMENT7
LOCATION,
(
select
GCC.SEGMENT1 || '.' || GCC.SEGMENT2 || '.' || GCC.SEGMENT3 ||
'.' || GCC.SEGMENT4 || '.' || GCC.SEGMENT5 || '.' || GCC.SEGMENT6 || '.' ||
GCC.SEGMENT7
from
FA_CATEGORY_BOOKS FCB,
GL_CODE_COMBINATIONS GCC
WHERE
1 = 1
AND FAC.CATEGORY_ID = FCB.CATEGORY_ID
AND FAB.BOOK_TYPE_CODE = FCB.BOOK_TYPE_CODE
AND FCB.DEPRN_EXPENSE_ACCOUNT_CCID = GCC.CODE_COMBINATION_ID
) as DEPRN_EXPENSE_ACCOUNT,
FIN.PO_NUMBER,
FIN.INVOICE_NUMBER,
FIN.INVOICE_DATE,
FIN.INVOICE_LINE_NUMBER,
FIN.VENDOR_NAME,
FIN.INVOICE_ID,
FIN.VENDOR_NUMBER,
FDH.UNITS_ASSIGNED,
[Link],
(
SELECT
AIL.UNIT_MEAS_LOOKUP_CODE || '|' || AIL.QUANTITY_INVOICED
FROM
AP_INVOICE_LINES_ALL AIL
WHERE
1 = 1
AND AIL.INVOICE_ID = FIN.INVOICE_ID
AND AIL.LINE_NUMBER = FIN.INVOICE_LINE_NUMBER
) QUANTITY
FROM
FA_ADDITIONS_B FAA,
FA_ADDITIONS_TL FAT,
FA_BOOKS FAB,
FA_CATEGORIES_B FAC,
FA_TRANSACTIONS_V FTH,
FA_METHODS FAM,
FA_DISTRIBUTION_HISTORY FDH,
FA_LOCATIONS FAL,
(
SELECT
FAI.PO_NUMBER,
FAI.INVOICE_NUMBER,
FAI.INVOICE_DATE,
FAI.INVOICE_LINE_NUMBER,
FAI.VENDOR_NAME,
FAI.VENDOR_NUMBER,
FAI.ASSET_ID,
FAI.INVOICE_TRANSACTION_ID_IN,
FAI.INVOICE_ID
FROM
FA_ASSET_INVOICES FAI
WHERE
1 = 1
AND FAI.INVOICE_LINE_TYPE <> 'TAX'
AND FAI.BOOK_TYPE_CODE = :P_BOOK_TYPE_CODE
GROUP BY
FAI.PO_NUMBER,
FAI.INVOICE_NUMBER,
FAI.INVOICE_LINE_NUMBER,
FAI.VENDOR_NAME,
FAI.ASSET_ID,
FAI.INVOICE_TRANSACTION_ID_IN,
FAI.INVOICE_ID,
FAI.VENDOR_NUMBER,
FAI.INVOICE_DATE
) FIN
WHERE
1 = 1
AND FAA.ASSET_ID = FAT.ASSET_ID
AND FAA.ASSET_ID = FAB.ASSET_ID
AND FAA.ASSET_CATEGORY_ID = FAC.CATEGORY_ID
AND FAB.BOOK_TYPE_CODE = FTH.BOOK_TYPE_CODE
AND FAB.ASSET_ID = FTH.ASSET_ID
AND FAB.DATE_INEFFECTIVE IS NULL
AND FAB.TRANSACTION_HEADER_ID_IN = FTH.TRANSACTION_HEADER_ID
AND FAB.METHOD_ID = FAM.METHOD_ID
AND FAB.BOOK_TYPE_CODE = FDH.BOOK_TYPE_CODE
AND FAB.ASSET_ID = FDH.ASSET_ID
AND FDH.DATE_INEFFECTIVE IS NULL
AND FDH.LOCATION_ID = FAL.LOCATION_ID
AND FTH.INVOICE_TRANSACTION_ID = FIN.INVOICE_TRANSACTION_ID_IN (+)
AND FAA.ASSET_ID = FIN.ASSET_ID (+)
AND FAB.BOOK_TYPE_CODE = (:P_BOOK_TYPE_CODE)
AND FTH.TRANSACTION_HEADER_ID IN (
SELECT
C.TRANSACTION_HEADER_ID
FROM
FA_TRANSACTIONS_V C
WHERE
1 = 1
AND C.TRANSACTION_TYPE_CODE NOT IN ('TRANSFER IN', 'TRANSFER',
'RECLASS')
AND C.ASSET_ID = FAB.ASSET_ID
AND C.PERIOD_COUNTER <= (
SELECT
BX.PERIOD_COUNTER
FROM
FA_DEPRN_PERIODS BX
WHERE
BX.PERIOD_NAME = NVL(:P_PERIOD, BX.PERIOD_NAME)
AND BX.BOOK_TYPE_CODE = :P_BOOK_TYPE_CODE
)
)
--AND FAA.ASSET_NUMBER IN ('1893')
) XX