@AbapCatalog: {sqlViewName: 'IFIXASSETTP', preserveKey: true}
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Transactional View Fixed Asset'
@VDM.viewType: #TRANSACTIONAL
@ObjectModel: {
transactionalProcessingEnabled: true,
writeDraftPersistence: 'ANLA_D',
draftEnabled: true,
compositionRoot: true,
createEnabled: true,
updateEnabled: true,
deleteEnabled: true,
semanticKey: ['CompanyCode', 'MasterFixedAsset', 'FixedAsset'],
usageType.serviceQuality: #C,
usageType.sizeCategory: #XXL,
usageType.dataClass: #MASTER
}
@ClientHandling.algorithm: #SESSION_VARIABLE
define view I_FixedAssetTP
as select from I_FixedAsset
association [1..*] to I_FixedAssetAssgmtTP as _FixedAssetAssgmt on $projection.CompanyCode = _FixedAssetAssgmt.CompanyCode
and $projection.MasterFixedAsset = _FixedAssetAssgmt.MasterFixedAsset
and $projection.FixedAsset = _FixedAssetAssgmt.FixedAsset
association [1..*] to I_FixedAssetDeprAreaTP as _FixedAssetDeprArea on $projection.CompanyCode = _FixedAssetDeprArea.CompanyCode
and $projection.MasterFixedAsset = _FixedAssetDeprArea.MasterFixedAsset
and $projection.FixedAsset = _FixedAssetDeprArea.FixedAsset
association [0..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [0..1] to I_MasterFixedAsset as _MasterFixedAsset on $projection.CompanyCode = _MasterFixedAsset.CompanyCode
and $projection.MasterFixedAsset = _MasterFixedAsset.MasterFixedAsset
association [0..1] to I_CompanyCode as _CompanyCodeForEdit on $projection.CompanyCodeForEdit = _CompanyCodeForEdit.CompanyCode
association [0..1] to I_MasterFixedAsset as _MasterFixedAssetForEdit on $projection.CompanyCodeForEdit = _MasterFixedAssetForEdit.CompanyCode
and $projection.MasterFixedAssetForEdit = _MasterFixedAssetForEdit.MasterFixedAsset
association [0..1] to I_AssetClass as _AssetClass on $projection.AssetClass = _AssetClass.AssetClass
association [0..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
association [0..1] to I_Globalcompany as _PartnerCompany on $projection.PartnerCompany = _PartnerCompany.Company
association [0..1] to I_AssetAcctDetermination as _AssetAccountDetermination on $projection.AssetAccountDetermination = _AssetAccountDetermination.AssetAccountDetermination
association [0..1] to I_Supplier as _Supplier on $projection.Supplier = _Supplier.Supplier
association [0..1] to I_Country as _AssetCountryOfOrigin on $projection.AssetCountryOfOrigin = _AssetCountryOfOrigin.Country
association [0..1] to I_UnitOfMeasure as _UnitOfMeasure on $projection.BaseUnit = _UnitOfMeasure.UnitOfMeasure
association [0..1] to I_Group1AssetEvaluationKey as _Group1AssetEvaluationKey on $projection.Group1AssetEvaluationKey = _Group1AssetEvaluationKey.Group1AssetEvaluationKey
association [0..1] to I_Group2AssetEvaluationKey as _Group2AssetEvaluationKey on $projection.Group2AssetEvaluationKey = _Group2AssetEvaluationKey.Group2AssetEvaluationKey
association [0..1] to I_Group3AssetEvaluationKey as _Group3AssetEvaluationKey on $projection.Group3AssetEvaluationKey = _Group3AssetEvaluationKey.Group3AssetEvaluationKey
association [0..1] to I_Group4AssetEvaluationKey as _Group4AssetEvaluationKey on $projection.Group4AssetEvaluationKey = _Group4AssetEvaluationKey.Group4AssetEvaluationKey
association [0..1] to I_Group5AssetEvaluationKey as _Group5AssetEvaluationKey on $projection.Group5AssetEvaluationKey = _Group5AssetEvaluationKey.Group5AssetEvaluationKey
association [0..1] to I_InvestmentReason as _InvestmentReason on $projection.InvestmentReason = _InvestmentReason.InvestmentReason
association [0..1] to I_EnvrnmtlInvestmentReason as _EnvrnmtlInvestmentReason on $projection.EnvrnmtlInvestmentReason = _EnvrnmtlInvestmentReason.EnvrnmtlInvestmentReason
association [0..1] to I_FixedAssetGroup as _FixedAssetGroup on $projection.FixedAssetGroup = _FixedAssetGroup.FixedAssetGroup
association [0..1] to I_InternalOrder as _InvestmentOrder on $projection.InvestmentOrder = _InvestmentOrder.InternalOrder
// Association to Extension View
// NOTE: Needs to be added here though already in the view I_FixedAsset
association [1..1] to E_FixedAsset as _Extension on $projection.MasterFixedAsset = _Extension.MasterFixedAsset
and $projection.FixedAsset = _Extension.FixedAsset
and $projection.CompanyCode = _Extension.CompanyCode
{
@ObjectModel.foreignKey.association: '_CompanyCode'
key I_FixedAsset.CompanyCode as CompanyCode,
@ObjectModel.foreignKey.association: '_MasterFixedAsset'
key I_FixedAsset.MasterFixedAsset as MasterFixedAsset,
key I_FixedAsset.FixedAsset as FixedAsset,
@ObjectModel: { foreignKey.association: '_CompanyCodeForEdit', readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.CompanyCode as CompanyCodeForEdit,
@ObjectModel: { foreignKey.association: '_MasterFixedAssetForEdit', readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.MasterFixedAsset as MasterFixedAssetForEdit,
@ObjectModel: { text.element: 'FixedAssetDescription', readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.FixedAsset as FixedAssetForEdit,
I_FixedAsset.FixedAssetExternalID as FixedAssetExternalID,
@ObjectModel.foreignKey.association: '_AssetClass'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AssetClass as AssetClass,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AssetSerialNumber as AssetSerialNumber,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.Quantity as Quantity,
@Semantics.unitOfMeasure:true
@ObjectModel: { foreignKey.association: '_UnitOfMeasure', readOnly: 'EXTERNAL_CALCULATION', mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.BaseUnit as BaseUnit,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.Inventory as Inventory,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
@Semantics.text: true
I_FixedAsset.FixedAssetDescription as FixedAssetDescription,
@Semantics.text: true
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AssetAdditionalDescription as AssetAdditionalDescription,
@Semantics.currencyCode: true
@ObjectModel: { foreignKey.association: '_Currency', readOnly: true }
_CompanyCode.Currency as Currency,
@Semantics.amount.currencyCode: 'Currency'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.OriglAcqnAmtInCoCodeCrcy as OriglAcqnAmtInCoCodeCrcy,
@ObjectModel.foreignKey.association: '_PartnerCompany'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.PartnerCompany as PartnerCompany,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AssetManufacturerName as AssetManufacturerName,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.InHouseProdnPercent as InHouseProdnPercent,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AssetSupplierName as AssetSupplierName,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.InventoryNote as InventoryNote,
@ObjectModel.foreignKey.association: '_Group1AssetEvaluationKey'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.Group1AssetEvaluationKey as Group1AssetEvaluationKey,
@ObjectModel.foreignKey.association: '_Group2AssetEvaluationKey'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.Group2AssetEvaluationKey as Group2AssetEvaluationKey,
@ObjectModel.foreignKey.association: '_Group3AssetEvaluationKey'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.Group3AssetEvaluationKey as Group3AssetEvaluationKey,
@ObjectModel.foreignKey.association: '_Group4AssetEvaluationKey'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.Group4AssetEvaluationKey as Group4AssetEvaluationKey,
@ObjectModel.foreignKey.association: '_Group5AssetEvaluationKey'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.Group5AssetEvaluationKey as Group5AssetEvaluationKey,
@Semantics.text: true
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
_MasterFixedAsset.MasterFixedAssetDescription as MasterFixedAssetDescription,
@ObjectModel.foreignKey.association: '_AssetAccountDetermination'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AssetAccountDetermination as AssetAccountDetermination,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.HasHistory as HasHistory,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AssetCapitalizationDate as AssetCapitalizationDate,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.FirstAcquisitionFiscalYear as FirstAcquisitionFiscalYear,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.FirstAcquisitionFiscalPeriod as FirstAcquisitionFiscalPeriod,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AssetDeactivationDate as AssetDeactivationDate,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.PlannedRetirementDate as PlannedRetirementDate,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.FixedAssetOrderDate as FixedAssetOrderDate,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.OriginalMasterFixedAsset as OriginalMasterFixedAsset,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.OriginalFixedAsset as OriginalFixedAsset,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.OriginalFixedAssetValueDate as OriginalFixedAssetValueDate,
@ObjectModel.foreignKey.association: '_FixedAssetGroup'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.FixedAssetGroup as FixedAssetGroup,
@ObjectModel.foreignKey.association: '_InvestmentReason'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.InvestmentReason as InvestmentReason,
I_FixedAsset.AssetIsRealEstate as AssetIsRealEstate,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AreaSizeUnit as AreaSizeUnit,
@ObjectModel.foreignKey.association: '_InvestmentOrder'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.InvestmentOrder as InvestmentOrder,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.InvestmentProjectWBSElement as InvestmentProjectWBSElement,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.InventoryIsCounted as InventoryIsCounted,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.LastInventoryDate as LastInventoryDate,
I_FixedAsset.AssetSynchronizationRule as AssetSynchronizationRule,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.OriginalAcquisitionFiscalYear as OriginalAcquisitionFiscalYear,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AssetTypeName as AssetTypeName,
@ObjectModel.foreignKey.association: '_Supplier'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.Supplier as Supplier,
@ObjectModel.foreignKey.association: '_AssetCountryOfOrigin'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AssetCountryOfOrigin as AssetCountryOfOrigin,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.NoticeOfAssessmentTaxID as NoticeOfAssessmentTaxID,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.LastAssessmentNoticeDate as LastAssessmentNoticeDate,
@ObjectModel.foreignKey.association: '_EnvrnmtlInvestmentReason'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.EnvrnmtlInvestmentReason as EnvrnmtlInvestmentReason,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.AcquisitionValueDate as AcquisitionValueDate,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.CreationDate as CreationDate,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.CreatedByUser as CreatedByUser,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
case when I_FixedAsset.LastChangeDate = '' then cast('00000000' as fis_aedat_anla)
else I_FixedAsset.LastChangeDate
end as LastChangeDate,
//I_FixedAsset.LastChangeDate as LastChangeDate,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' , mandatory: 'EXTERNAL_CALCULATION' }
I_FixedAsset.LastChangedByUser as LastChangedByUser,
@ObjectModel: { readOnly: true }
I_FixedAsset.AssetStatusAtPurchase as AssetStatusAtPurchase,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_FixedAssetAssgmt,
//@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_FixedAssetDeprArea,
_UnitOfMeasure,
_Supplier,
_AssetCountryOfOrigin,
_AssetStatusAtPurchase,
_CompanyCode,
_MasterFixedAsset,
_CompanyCodeForEdit,
_MasterFixedAssetForEdit,
_AssetClass,
_Currency,
_AssetAccountDetermination,
_Group1AssetEvaluationKey,
_Group2AssetEvaluationKey,
_Group3AssetEvaluationKey,
_Group4AssetEvaluationKey,
_Group5AssetEvaluationKey,
_InvestmentReason,
_PartnerCompany,
_EnvrnmtlInvestmentReason,
_FixedAssetGroup,
_InvestmentOrder
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_COMPANYCODE",
"I_FIXEDASSET",
"I_MASTERFIXEDASSET"
],
"ASSOCIATED":
[
"E_FIXEDASSET",
"I_ASSETACCTDETERMINATION",
"I_ASSETCLASS",
"I_ASSETSTATUSATPURCHASE",
"I_COMPANYCODE",
"I_COUNTRY",
"I_CURRENCY",
"I_ENVRNMTLINVESTMENTREASON",
"I_FIXEDASSETASSGMTTP",
"I_FIXEDASSETDEPRAREATP",
"I_FIXEDASSETGROUP",
"I_GLOBALCOMPANY",
"I_GROUP1ASSETEVALUATIONKEY",
"I_GROUP2ASSETEVALUATIONKEY",
"I_GROUP3ASSETEVALUATIONKEY",
"I_GROUP4ASSETEVALUATIONKEY",
"I_GROUP5ASSETEVALUATIONKEY",
"I_INTERNALORDER",
"I_INVESTMENTREASON",
"I_MASTERFIXEDASSET",
"I_SUPPLIER",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_FIXEDASSET"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/