@VDM.viewType: #COMPOSITE
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@Analytics.technicalName: 'IFILDCCCRCY'
@ObjectModel: {usageType.sizeCategory: #M,
usageType.dataClass: #MASTER,
usageType.serviceQuality: #C,
representativeKey: 'CurrencyRole',
supportedCapabilities: [#CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE],
modelingPattern: #NONE }
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Currency Role in Ledger and Company Code'
@Metadata.allowExtensions:true
define view entity I_LdgrCompanyCodeCurrencyRole
as select from I_LedgerCompanyCodeCrcyRoles
association of many to exact one I_CurrencyRole as _CurrencyRole on $projection.CurrencyRole = _CurrencyRole.CurrencyRole
association of many to exact one I_CurrencyField as _CurrencyField on $projection.CurrencyField = _CurrencyField.CurrencyField
{
@ObjectModel.foreignKey.association: '_Ledger'
key Ledger,
@ObjectModel.foreignKey.association: '_CompanyCode'
key CompanyCode,
key cast(CompanyCodeCurrencyRole as fis_currencyrole preserving type ) as CurrencyRole,
cast( 'CCC ' as fis_crcy_role_field preserving type ) as CurrencyField,
I_LedgerCompanyCodeCrcyRoles.CompanyCodeCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.GlobalCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency1Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency2Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency3Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency4Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency5Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency6Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency7Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency8Role,
_CurrencyRole.AccountingValuationView,
_CurrencyRole.AccountingValuationSubview,
/* Associations */
_Ledger,
_CompanyCode,
_CurrencyRole,
_CurrencyField
}
//// not required as always available
//where
// CompanyCodeCurrencyRole <> ''
union all select from I_LedgerCompanyCodeCrcyRoles
association of many to exact one I_CurrencyRole as _CurrencyRole on $projection.CurrencyRole = _CurrencyRole.CurrencyRole
association of many to exact one I_CurrencyField as _CurrencyField on $projection.CurrencyField = _CurrencyField.CurrencyField
{
key Ledger,
key CompanyCode,
key GlobalCurrencyRole as CurrencyRole,
cast( 'GC ' as fis_crcy_role_field preserving type ) as CurrencyField,
I_LedgerCompanyCodeCrcyRoles.CompanyCodeCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.GlobalCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency1Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency2Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency3Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency4Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency5Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency6Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency7Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency8Role,
_CurrencyRole.AccountingValuationView,
_CurrencyRole.AccountingValuationSubview,
/* Associations */
_Ledger,
_CompanyCode,
_CurrencyRole,
_CurrencyField
}
where
GlobalCurrencyRole <> ''
and GlobalCurrencyRole <> CompanyCodeCurrencyRole
union all select from I_LedgerCompanyCodeCrcyRoles
association of many to exact one I_CurrencyRole as _CurrencyRole on $projection.CurrencyRole = _CurrencyRole.CurrencyRole
association of many to exact one I_CurrencyField as _CurrencyField on $projection.CurrencyField = _CurrencyField.CurrencyField
{
key Ledger,
key CompanyCode,
key FreeDefinedCurrency1Role as CurrencyRole,
cast( 'FDC1' as fis_crcy_role_field preserving type ) as CurrencyField,
I_LedgerCompanyCodeCrcyRoles.CompanyCodeCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.GlobalCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency1Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency2Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency3Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency4Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency5Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency6Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency7Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency8Role,
_CurrencyRole.AccountingValuationView,
_CurrencyRole.AccountingValuationSubview,
/* Associations */
_Ledger,
_CompanyCode,
_CurrencyRole,
_CurrencyField
}
where
FreeDefinedCurrency1Role <> ''
and FreeDefinedCurrency1Role <> CompanyCodeCurrencyRole
and FreeDefinedCurrency1Role <> GlobalCurrencyRole
union all select from I_LedgerCompanyCodeCrcyRoles
association of many to exact one I_CurrencyRole as _CurrencyRole on $projection.CurrencyRole = _CurrencyRole.CurrencyRole
association of many to exact one I_CurrencyField as _CurrencyField on $projection.CurrencyField = _CurrencyField.CurrencyField
{
key Ledger,
key CompanyCode,
key FreeDefinedCurrency2Role as CurrencyRole,
cast( 'FDC2' as fis_crcy_role_field preserving type ) as CurrencyField,
I_LedgerCompanyCodeCrcyRoles.CompanyCodeCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.GlobalCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency1Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency2Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency3Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency4Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency5Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency6Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency7Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency8Role,
_CurrencyRole.AccountingValuationView,
_CurrencyRole.AccountingValuationSubview,
/* Associations */
_Ledger,
_CompanyCode,
_CurrencyRole,
_CurrencyField
}
where
FreeDefinedCurrency2Role <> ''
and FreeDefinedCurrency2Role <> CompanyCodeCurrencyRole
and FreeDefinedCurrency2Role <> GlobalCurrencyRole
and FreeDefinedCurrency2Role <> FreeDefinedCurrency1Role
union all select from I_LedgerCompanyCodeCrcyRoles
association of many to exact one I_CurrencyRole as _CurrencyRole on $projection.CurrencyRole = _CurrencyRole.CurrencyRole
association of many to exact one I_CurrencyField as _CurrencyField on $projection.CurrencyField = _CurrencyField.CurrencyField
{
key Ledger,
key CompanyCode,
key FreeDefinedCurrency3Role as CurrencyRole,
cast( 'FDC3' as fis_crcy_role_field preserving type ) as CurrencyField,
I_LedgerCompanyCodeCrcyRoles.CompanyCodeCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.GlobalCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency1Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency2Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency3Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency4Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency5Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency6Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency7Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency8Role,
_CurrencyRole.AccountingValuationView,
_CurrencyRole.AccountingValuationSubview,
/* Associations */
_Ledger,
_CompanyCode,
_CurrencyRole,
_CurrencyField
}
where
FreeDefinedCurrency3Role <> ''
and FreeDefinedCurrency3Role <> CompanyCodeCurrencyRole
and FreeDefinedCurrency3Role <> GlobalCurrencyRole
and FreeDefinedCurrency3Role <> FreeDefinedCurrency2Role
union all select from I_LedgerCompanyCodeCrcyRoles
association of many to exact one I_CurrencyRole as _CurrencyRole on $projection.CurrencyRole = _CurrencyRole.CurrencyRole
association of many to exact one I_CurrencyField as _CurrencyField on $projection.CurrencyField = _CurrencyField.CurrencyField
{
key Ledger,
key CompanyCode,
key FreeDefinedCurrency4Role as CurrencyRole,
cast( 'FDC4' as fis_crcy_role_field preserving type ) as CurrencyField,
I_LedgerCompanyCodeCrcyRoles.CompanyCodeCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.GlobalCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency1Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency2Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency3Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency4Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency5Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency6Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency7Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency8Role,
_CurrencyRole.AccountingValuationView,
_CurrencyRole.AccountingValuationSubview,
/* Associations */
_Ledger,
_CompanyCode,
_CurrencyRole,
_CurrencyField
}
where
FreeDefinedCurrency4Role <> ''
and FreeDefinedCurrency4Role <> CompanyCodeCurrencyRole
and FreeDefinedCurrency4Role <> GlobalCurrencyRole
and FreeDefinedCurrency4Role <> FreeDefinedCurrency2Role
and FreeDefinedCurrency4Role <> FreeDefinedCurrency3Role
union all select from I_LedgerCompanyCodeCrcyRoles
association of many to exact one I_CurrencyRole as _CurrencyRole on $projection.CurrencyRole = _CurrencyRole.CurrencyRole
association of many to exact one I_CurrencyField as _CurrencyField on $projection.CurrencyField = _CurrencyField.CurrencyField
{
key Ledger,
key CompanyCode,
key FreeDefinedCurrency5Role as CurrencyRole,
cast( 'FDC5' as fis_crcy_role_field preserving type ) as CurrencyField,
I_LedgerCompanyCodeCrcyRoles.CompanyCodeCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.GlobalCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency1Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency2Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency3Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency4Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency5Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency6Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency7Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency8Role,
_CurrencyRole.AccountingValuationView,
_CurrencyRole.AccountingValuationSubview,
/* Associations */
_Ledger,
_CompanyCode,
_CurrencyRole,
_CurrencyField
}
where
FreeDefinedCurrency5Role <> ''
and FreeDefinedCurrency5Role <> CompanyCodeCurrencyRole
and FreeDefinedCurrency5Role <> GlobalCurrencyRole
and FreeDefinedCurrency5Role <> FreeDefinedCurrency2Role
and FreeDefinedCurrency5Role <> FreeDefinedCurrency3Role
and FreeDefinedCurrency5Role <> FreeDefinedCurrency4Role
union all select from I_LedgerCompanyCodeCrcyRoles
association of many to exact one I_CurrencyRole as _CurrencyRole on $projection.CurrencyRole = _CurrencyRole.CurrencyRole
association of many to exact one I_CurrencyField as _CurrencyField on $projection.CurrencyField = _CurrencyField.CurrencyField
{
key Ledger,
key CompanyCode,
key FreeDefinedCurrency6Role as CurrencyRole,
cast( 'FDC6' as fis_crcy_role_field preserving type ) as CurrencyField,
I_LedgerCompanyCodeCrcyRoles.CompanyCodeCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.GlobalCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency1Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency2Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency3Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency4Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency5Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency6Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency7Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency8Role,
_CurrencyRole.AccountingValuationView,
_CurrencyRole.AccountingValuationSubview,
/* Associations */
_Ledger,
_CompanyCode,
_CurrencyRole,
_CurrencyField
}
where
FreeDefinedCurrency6Role <> ''
and FreeDefinedCurrency6Role <> CompanyCodeCurrencyRole
and FreeDefinedCurrency6Role <> GlobalCurrencyRole
and FreeDefinedCurrency6Role <> FreeDefinedCurrency2Role
and FreeDefinedCurrency6Role <> FreeDefinedCurrency3Role
and FreeDefinedCurrency6Role <> FreeDefinedCurrency4Role
and FreeDefinedCurrency6Role <> FreeDefinedCurrency5Role
union all select from I_LedgerCompanyCodeCrcyRoles
association of many to exact one I_CurrencyRole as _CurrencyRole on $projection.CurrencyRole = _CurrencyRole.CurrencyRole
association of many to exact one I_CurrencyField as _CurrencyField on $projection.CurrencyField = _CurrencyField.CurrencyField
{
key Ledger,
key CompanyCode,
key FreeDefinedCurrency7Role as CurrencyRole,
cast( 'FDC7' as fis_crcy_role_field preserving type ) as CurrencyField,
I_LedgerCompanyCodeCrcyRoles.CompanyCodeCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.GlobalCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency1Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency2Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency3Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency4Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency5Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency6Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency7Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency8Role,
_CurrencyRole.AccountingValuationView,
_CurrencyRole.AccountingValuationSubview,
/* Associations */
_Ledger,
_CompanyCode,
_CurrencyRole,
_CurrencyField
}
where
FreeDefinedCurrency7Role <> ''
and FreeDefinedCurrency7Role <> CompanyCodeCurrencyRole
and FreeDefinedCurrency7Role <> GlobalCurrencyRole
and FreeDefinedCurrency7Role <> FreeDefinedCurrency2Role
and FreeDefinedCurrency7Role <> FreeDefinedCurrency3Role
and FreeDefinedCurrency7Role <> FreeDefinedCurrency4Role
and FreeDefinedCurrency7Role <> FreeDefinedCurrency5Role
and FreeDefinedCurrency7Role <> FreeDefinedCurrency6Role
union all select from I_LedgerCompanyCodeCrcyRoles
association of many to exact one I_CurrencyRole as _CurrencyRole on $projection.CurrencyRole = _CurrencyRole.CurrencyRole
association of many to exact one I_CurrencyField as _CurrencyField on $projection.CurrencyField = _CurrencyField.CurrencyField
{
key Ledger,
key CompanyCode,
key FreeDefinedCurrency8Role as CurrencyRole,
cast( 'FDC8' as fis_crcy_role_field preserving type ) as CurrencyField,
I_LedgerCompanyCodeCrcyRoles.CompanyCodeCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.GlobalCurrencyRole,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency1Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency2Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency3Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency4Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency5Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency6Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency7Role,
I_LedgerCompanyCodeCrcyRoles.FreeDefinedCurrency8Role,
_CurrencyRole.AccountingValuationView,
_CurrencyRole.AccountingValuationSubview,
/* Associations */
_Ledger,
_CompanyCode,
_CurrencyRole,
_CurrencyField
}
where
FreeDefinedCurrency8Role <> ''
and FreeDefinedCurrency8Role <> CompanyCodeCurrencyRole
and FreeDefinedCurrency8Role <> GlobalCurrencyRole
and FreeDefinedCurrency8Role <> FreeDefinedCurrency2Role
and FreeDefinedCurrency8Role <> FreeDefinedCurrency3Role
and FreeDefinedCurrency8Role <> FreeDefinedCurrency4Role
and FreeDefinedCurrency8Role <> FreeDefinedCurrency5Role
and FreeDefinedCurrency8Role <> FreeDefinedCurrency6Role
and FreeDefinedCurrency8Role <> FreeDefinedCurrency7Role
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CURRENCYROLE",
"I_LEDGERCOMPANYCODECRCYROLES"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_CURRENCYFIELD",
"I_CURRENCYROLE",
"I_LEDGER"
],
"BASE":
[
"I_LEDGERCOMPANYCODECRCYROLES"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/