@AbapCatalog.sqlViewName: 'PFIDEPRAREACOMP'
@VDM.viewType: #COMPOSITE
@VDM.private: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel: { usageType.serviceQuality: #C,
usageType.sizeCategory: #L,
usageType.dataClass: #MIXED }
@ClientHandling.algorithm: #SESSION_VARIABLE
/***********************************************************************************************/
/*!!! Do not use any longer !!! */
/* Deprecated with CE1902. */
/* This view is supported only for use cases in OP when BF FAA_CONFIG_REDESIGN_1 is not active */
/***********************************************************************************************/
define view P_DepreciationAreaByCoCode
as select from I_CompanyCodeAsset
inner join I_AssetDepreciationArea on I_CompanyCodeAsset.ChartOfDepreciation = I_AssetDepreciationArea.ChartOfDepreciation
and I_AssetDepreciationArea.IsRealDepreciationArea = 'X'
left outer join I_RealDepreciationArea on I_RealDepreciationArea.ChartOfDepreciation = I_AssetDepreciationArea.ChartOfDepreciation
and I_RealDepreciationArea.AssetRealDepreciationArea = I_AssetDepreciationArea.AssetDepreciationArea
left outer join I_RealDepreciationAreaByCoCode on I_RealDepreciationAreaByCoCode.CompanyCode = I_CompanyCodeAsset.CompanyCode
and I_RealDepreciationAreaByCoCode.AssetRealDepreciationArea = I_AssetDepreciationArea.AssetDepreciationArea
{
key I_CompanyCodeAsset.CompanyCode as CompanyCode,
key I_AssetDepreciationArea.AssetDepreciationArea,
I_AssetDepreciationArea.IsRealDepreciationArea,
case I_AssetDepreciationArea.IsRealDepreciationArea
when 'X'
then I_AssetDepreciationArea.AssetDepreciationArea
else
I_AssetDepreciationArea.AssetRealDepreciationArea1
end as AssetRealDepreciationArea,
I_CompanyCodeAsset.ChartOfDepreciation,
I_AssetDepreciationArea.AccountingPrinciple,
I_AssetDepreciationArea.LedgerGroup,
I_AssetDepreciationArea.AssetGLPostingMethod,
I_RealDepreciationAreaByCoCode.Currency,
I_RealDepreciationAreaByCoCode.AssetAcctgLastClosedFiscalYear,
I_RealDepreciationAreaByCoCode.FinancialStatementVariant,
//Check if the depreciation area is a value reference area
case
when I_AssetDepreciationArea.IsRealDepreciationArea = 'X' and ( I_AssetDepreciationArea.AssetGLPostingMethod = '1' or I_AssetDepreciationArea.AssetGLPostingMethod = '4' ) and I_RealDepreciationArea.CurrencyRole = ''
then cast('X' as boolean preserving type )
when I_AssetDepreciationArea.IsRealDepreciationArea = 'X'and ( I_AssetDepreciationArea.AssetGLPostingMethod <> '1' and I_AssetDepreciationArea.AssetGLPostingMethod <> '4' ) and I_RealDepreciationArea.CurrencyRole = ''
then cast('X' as boolean preserving type )
when I_AssetDepreciationArea.IsRealDepreciationArea = ''
then cast('X' as boolean preserving type )
else cast('' as boolean preserving type )
end as IsValueReferenceDeprArea,
//Determine the value reference depreciation area
case
when I_AssetDepreciationArea.IsRealDepreciationArea = 'X'and ( I_AssetDepreciationArea.AssetGLPostingMethod = '1' or I_AssetDepreciationArea.AssetGLPostingMethod = '4' ) and I_RealDepreciationArea.CurrencyRole = ''
then I_AssetDepreciationArea.AssetDepreciationArea
when I_AssetDepreciationArea.IsRealDepreciationArea = 'X'and ( I_AssetDepreciationArea.AssetGLPostingMethod <> '1' and I_AssetDepreciationArea.AssetGLPostingMethod <> '4' ) and I_RealDepreciationArea.CurrencyRole = ''
then I_AssetDepreciationArea.AssetDepreciationArea
when I_AssetDepreciationArea.IsRealDepreciationArea = ''
then I_AssetDepreciationArea.AssetDepreciationArea
else I_RealDepreciationArea.ValueReferenceDepreciationArea
end as ValueReferenceDepreciationArea,
I_RealDepreciationArea.CurrencyRole
}
union all select from I_CompanyCodeAsset
inner join I_AssetDepreciationArea on I_CompanyCodeAsset.ChartOfDepreciation = I_AssetDepreciationArea.ChartOfDepreciation
and I_AssetDepreciationArea.IsRealDepreciationArea = ''
left outer join I_RealDepreciationArea on I_RealDepreciationArea.ChartOfDepreciation = I_AssetDepreciationArea.ChartOfDepreciation
and I_RealDepreciationArea.AssetRealDepreciationArea = I_AssetDepreciationArea.AssetRealDepreciationArea1
left outer join I_RealDepreciationAreaByCoCode on I_RealDepreciationAreaByCoCode.CompanyCode = I_CompanyCodeAsset.CompanyCode
and I_RealDepreciationAreaByCoCode.AssetRealDepreciationArea = I_AssetDepreciationArea.AssetRealDepreciationArea1
{
key I_CompanyCodeAsset.CompanyCode as CompanyCode,
key I_AssetDepreciationArea.AssetDepreciationArea,
I_AssetDepreciationArea.IsRealDepreciationArea,
case I_AssetDepreciationArea.IsRealDepreciationArea
when 'X'
then I_AssetDepreciationArea.AssetDepreciationArea
else
I_AssetDepreciationArea.AssetRealDepreciationArea1
end as AssetRealDepreciationArea,
I_CompanyCodeAsset.ChartOfDepreciation,
I_AssetDepreciationArea.AccountingPrinciple,
I_AssetDepreciationArea.LedgerGroup,
I_AssetDepreciationArea.AssetGLPostingMethod,
I_RealDepreciationAreaByCoCode.Currency,
I_RealDepreciationAreaByCoCode.AssetAcctgLastClosedFiscalYear,
I_RealDepreciationAreaByCoCode.FinancialStatementVariant,
//Check if the depreciation area is a value reference area
case
when I_AssetDepreciationArea.IsRealDepreciationArea = 'X' and ( I_AssetDepreciationArea.AssetGLPostingMethod = '1' or I_AssetDepreciationArea.AssetGLPostingMethod = '4' ) and I_RealDepreciationArea.CurrencyRole = ''
then cast('X' as boolean preserving type )
when I_AssetDepreciationArea.IsRealDepreciationArea = 'X'and ( I_AssetDepreciationArea.AssetGLPostingMethod <> '1' and I_AssetDepreciationArea.AssetGLPostingMethod <> '4' ) and I_RealDepreciationArea.CurrencyRole = ''
then cast('X' as boolean preserving type )
when I_AssetDepreciationArea.IsRealDepreciationArea = ''
then cast('X' as boolean preserving type )
else cast('' as boolean preserving type )
end as IsValueReferenceDeprArea,
//Determine the value reference depreciation area
case
when I_AssetDepreciationArea.IsRealDepreciationArea = 'X'and ( I_AssetDepreciationArea.AssetGLPostingMethod = '1' or I_AssetDepreciationArea.AssetGLPostingMethod = '4' ) and I_RealDepreciationArea.CurrencyRole = ''
then I_AssetDepreciationArea.AssetDepreciationArea
when I_AssetDepreciationArea.IsRealDepreciationArea = 'X'and ( I_AssetDepreciationArea.AssetGLPostingMethod <> '1' and I_AssetDepreciationArea.AssetGLPostingMethod <> '4' ) and I_RealDepreciationArea.CurrencyRole = ''
then I_AssetDepreciationArea.AssetDepreciationArea
when I_AssetDepreciationArea.IsRealDepreciationArea = ''
then I_AssetDepreciationArea.AssetDepreciationArea
else I_RealDepreciationArea.ValueReferenceDepreciationArea
end as ValueReferenceDepreciationArea,
I_RealDepreciationArea.CurrencyRole
}