CDS标准视图:维修工单实际成本数据 I_MaintOrderActualCostDataCube
- 视图名称:维修工单实际成本数据 I_MaintOrderActualCostDataCube
- 视图类型:基础
- 视图代码:
点击查看代码
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'IMTORDACTCOSTDC'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maint Order Actual Cost Data - Cube'
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.supportedCapabilities: [#ANALYTICAL_PROVIDER] -- ATC check
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@Analytics: {
dataCategory: #CUBE,
dataExtraction: {
enabled: true
}
}
@Metadata: {
ignorePropagatedAnnotations,
allowExtensions
}
define view I_MaintOrderActualCostDataCube
as select from I_JournalEntryItem
//association [0..1] to I_Currency as _DisplayCurrency on _DisplayCurrency.Currency = $projection.displaycurrency
association [0..1] to I_Currency as _Currency on _Currency.Currency = $projection.CompanyCodeCurrency
and _Currency.Currency = $projection.GlobalCurrency
and _Currency.Currency = $projection.TransactionCurrency
// association [0..1] to I_Indicator as _MaintenanceOrderIsPlanned on _MaintenanceOrderIsPlanned.IndicatorValue = $projection.MaintenanceOrderIsPlanned
//association [0..1] to P_EquipmentClfnStandardClass as _EquipmentClfnStandardClass on _EquipmentClfnStandardClass.Equipment = I_JournalEntryItem.Equipment
association [0..1] to I_MaintenanceOrder as _MaintenanceOrder on _MaintenanceOrder.MaintenanceOrder = I_JournalEntryItem.OrderID
association [0..1] to E_MaintenanceOrder as _MaintenanceOrderExtension on _MaintenanceOrderExtension.MaintenanceOrder = I_JournalEntryItem.OrderID
// association [0..1] to I_TechnicalObject as _TechnicalObject on _TechnicalObject.TechnicalObject = $projection.technicalobject
// and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.techobjisequiporfuncnlloc
// association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _TechObjIsEquipOrFuncnlLoc on _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.techobjisequiporfuncnlloc
association [0..1] to I_GLAccountLineItem as _GLAccountLineItem on _GLAccountLineItem.SourceLedger = $projection.SourceLedger
and _GLAccountLineItem.CompanyCode = $projection.CompanyCode
and _GLAccountLineItem.FiscalYear = $projection.FiscalYear
and _GLAccountLineItem.AccountingDocument = $projection.AccountingDocument
and _GLAccountLineItem.LedgerGLLineItem = $projection.LedgerGLLineItem
and _GLAccountLineItem.Ledger = $projection.Ledger
// association [0..*] to I_GLAccountHierarchyNodeT as _GLAccountHierarchyNodeText on _GLAccountHierarchyNodeText.GLAccountHierarchy = $projection.GLAccountHierarchyID
// and _GLAccountHierarchyNodeText.HierarchyNode = $projection.CostElementGroup
// and _GLAccountHierarchyNodeText.ValidityEndDate >= $session.system_date
// association [0..*] to I_GLAccountHierarchyNodeT as _CostElementGroupText on $projection.GLAccountHierarchy = _CostElementGroupText.GLAccountHierarchy
// and $projection.CostElementGroup = _CostElementGroupText.HierarchyNode
// and _CostElementGroupText.ValidityEndDate = '99991231'
--and _CostElementGroupText.Language = $session.system_language
{
//I_JournalEntryItem
key SourceLedger,
key CompanyCode,
@ObjectModel.foreignKey.association: null -- association hidden to prevent Fiscal Year-to-Company Code aggregation
key FiscalYear,
key AccountingDocument,
key LedgerGLLineItem,
key Ledger,
_CalendarDate.CalendarMonth as PostingMonth,
// @Consumption.hidden: true
PostingDate,
FiscalPeriod,
FiscalYearVariant,
OrderID as MaintenanceOrder,
_MaintenanceOrder.MaintenanceOrderType as MaintenanceOrderType,
// @ObjectModel.foreignKey.association: '_MaintenanceOrderIsPlanned'
MaintenanceOrderIsPlanned,
MaintenanceOrderPlanningCode,
@Semantics.currencyCode:true
@ObjectModel.foreignKey.association: '_Currency'
CompanyCodeCurrency,
// @Semantics.currencyCode:true
// @ObjectModel.foreignKey.association: '_DisplayCurrency'
// cast(:P_DisplayCurrency as vdm_v_display_currency preserving type ) as DisplayCurrency,
// @Consumption.valueHelpDefinition: [{ entity: { name: 'I_ClfnClassVH', element: 'Class' }}]
// _EquipmentClfnStandardClass.Class as EquipmentType,
// @Consumption.valueHelpDefinition: [{ entity: { name: 'I_ClfnClassVH', element: 'Class' }}]
// _EquipmentClfnStandardClass.ParentClass as EquipmentClassFromClfn,
// @Consumption.hidden: true
// _EquipmentClfnStandardClass.ClassInternalID,
// @Consumption.hidden: true
// _EquipmentClfnStandardClass.ValidityStartDate,
// @Consumption.hidden: true
// _EquipmentClfnStandardClass.ValidityEndDate,
// @Consumption.hidden: true
_MaintenanceOrder.WorkCenterInternalID as MainWorkCenterInternalID,
_MaintenanceOrder._MainWorkCenter.WorkCenter as MaintOrdMainWorkCenter,
@ObjectModel.foreignKey.association: '_MaintOrdMainWorkCenterPlant'
// @Consumption.groupWithElement: 'MaintenanceOrder'
_MaintenanceOrder._MainWorkCenter.Plant as MaintOrdMainWorkCenterPlant,
_MaintenanceOrder.MaintenancePlannerGroup,
_MaintenanceOrder.MaintenancePlan,
_MaintenanceOrder.MaintenanceItem,
_MaintenanceOrder._LocationAccountAssignment.PlantSection,
_MaintenanceOrder._LocationAccountAssignment.AssetLocation,
_MaintenanceOrder._LocationAccountAssignment.ABCIndicator,
I_JournalEntryItem._WorkCenter.WorkCenter,
I_JournalEntryItem._WorkCenter.Plant as WorkCenterPlant,
// @Consumption.hidden: true
// I_JournalEntryItem.Equipment,
// @Consumption.hidden: true
WorkCenterInternalID,
MaintenanceActivityType,
// @EndUserText.label: 'Operation'
OrderOperation,
// @EndUserText.label: 'Suboperation'
OrderSuboperation,
case when ControllingDebitCreditCode = 'A' then 'X' else '' end as IsSettlement,
// @ObjectModel.foreignKey.association: '_TechnicalObject'
// @UI.hidden
// case when Equipment = '' then
// cast( FunctionalLocation as eams_tec_obj )
// else cast( Equipment as eams_tec_obj ) end as TechnicalObject,
//
// @ObjectModel.text.element: ['TechnicalObjectDescription']
// @Consumption.valueHelpDefinition: [{ entity: { name : 'C_TechnicalObjectLabelVH', element: 'TechnicalObjectLabel' },
// additionalBinding: [{ localElement: 'TechObjIsEquipOrFuncnlLoc', element: 'TechObjIsEquipOrFuncnlLoc' }] }]
// case when Equipment = '' then
// cast( _FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName as eams_tech_obj_conv )
// else cast( Equipment as eams_tech_obj_conv ) end as TechnicalObjectLabel,
//
// @Semantics.text
// case when Equipment = '' then
// cast( _FunctionalLocation._FunctionalLocationText[1: Language = $session.system_language ].FunctionalLocationName as eams_tec_obj_des preserving type )
// else cast( _Equipment._EquipmentText[1: Language = $session.system_language ].EquipmentName as eams_tec_obj_des preserving type ) end as TechnicalObjectDescription,
//
// @ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
// cast( case when Equipment = '' and FunctionalLocation = '' then ''
// else case when Equipment = '' then 'EAMS_FL'
// else 'EAMS_EQUI' end end as eams_tec_obj_type_value ) as TechObjIsEquipOrFuncnlLoc,
I_JournalEntryItem.Equipment,
I_JournalEntryItem._Equipment._EquipmentText[1: Language = $session.system_language ].EquipmentName,
I_JournalEntryItem.FunctionalLocation,
I_JournalEntryItem._FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName,
I_JournalEntryItem._FunctionalLocation._FunctionalLocationText[1: Language = $session.system_language ].FunctionalLocationName,
cast( coalesce( _Equipment.ManufacturerPartTypeName, _FunctionalLocation.ManufacturerPartTypeName ) as typbz preserving type ) as ManufacturerPartTypeName,
Assembly,
cast( coalesce(_Equipment.TechnicalObjectType, _FunctionalLocation.TechnicalObjectType) as eqart preserving type ) as TechnicalObjectType,
cast( coalesce(_Equipment.AssetManufacturerName, _FunctionalLocation.AssetManufacturerName) as herst preserving type ) as AssetManufacturerName,
_MaintenanceOrder.MaintenancePlanningPlant,
_MaintenanceOrder._LocationAccountAssignment.MaintenancePlant,
GLAccount,
ControllingArea,
CostCenter,
_MaintenanceOrder._LocationAccountAssignment.ControllingArea as LocAcctAssgmtControllingArea,
_MaintenanceOrder._LocationAccountAssignment.CostCenter as LocAcctAssgmtCostCenter,
_MaintenanceOrder.ResponsibleCostCenter,
_MaintenanceOrder._MaintenanceNotification.CatalogProfile,
_Equipment._CurrentTimeSegment.ConstructionMaterial,
// @UI.hidden: true
ChartOfAccounts,
// @UI.hidden
// @Consumption.filter.mandatory: null
_GLAccountInChartOfAccounts._GLAccountHierarchyNode[ 1: GLAccountHierarchy = GLAccountHierarchy and NodeType = 'L' and ValidityEndDate = '99991231' ].GLAccountHierarchy as GLAccountHierarchy,
// @ObjectModel.text.association: '_CostElementGroupText'
_GLAccountInChartOfAccounts._GLAccountHierarchyNode[ 1: GLAccountHierarchy = GLAccountHierarchy and NodeType = 'L' and ValidityEndDate = '99991231' ].ParentNode as CostElementGroup,
@Semantics.systemDateTime.lastChangedAt: true
LastChangeDateTime,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
// @EndUserText.quickInfo: 'Costs in Company Code Currency'
AmountInCompanyCodeCurrency,
@Semantics.currencyCode:true
@ObjectModel.foreignKey.association: '_Currency'
GlobalCurrency,
@Semantics.amount.currencyCode: 'GlobalCurrency'
// @EndUserText.quickInfo: 'Costs in Global Currency'
@DefaultAggregation: #SUM
AmountInGlobalCurrency,
@Semantics.currencyCode:true
@ObjectModel.foreignKey.association: '_Currency'
TransactionCurrency,
@Semantics.amount.currencyCode: 'TransactionCurrency'
// @EndUserText.quickInfo: 'Costs in Transaction Currency'
@DefaultAggregation: #SUM
AmountInTransactionCurrency,
// @DefaultAggregation: #SUM
// @Semantics.amount.currencyCode: 'DisplayCurrency'
// @EndUserText.quickInfo: 'Costs in Display Currency'
// currency_conversion(
// amount => AmountInCompanyCodeCurrency,
// source_currency => CompanyCodeCurrency,
// target_currency => :P_DisplayCurrency,
// exchange_rate_date => PostingDate,
// exchange_rate_type => :P_ExchangeRateType,
// round => 'true',
// decimal_shift => 'true',
// decimal_shift_back => 'true'
// ) as AmountInDisplayCurrency,
// _MaintenanceOrderIsPlanned,
_CompanyCodeCurrency,
_MaintenanceOrder,
_MaintenanceOrder._MaintenanceOrderType,
_MaintenanceOrder._MaintenancePlanningPlant,
_MaintenanceOrder._MainWorkCenter._Plant as _MaintOrdMainWorkCenterPlant,
_FiscalYear,
_CalendarDate._CalendarMonth,
_MaintenanceOrder._LocationAccountAssignment._MaintenancePlant,
_MaintenanceOrder._MaintenanceNotification._TechnicalObjectCodeCatalog,
_Equipment._CurrentTimeSegment._ConstructionMaterial,
_CostCenter,
_CalendarDate,
_GLAccountInChartOfAccounts,
_GLAcctInChartOfAccountsText,
_ChartOfAccounts,
_MaintOrdPlngDegreeCode,
_MaintenanceOrder._LocationAccountAssignment._PlantSection,
_Ledger,
_GLAccountLineItem,
// _EquipmentClfnStandardClass,
// _TechnicalObject,
// _TechObjIsEquipOrFuncnlLoc,
_Currency,
// _CostElementGroupText,
_GlobalCurrency,
_TransactionCurrency,
_FunctionalLocation,
_Equipment
}
where
OrderCategory = '30'
and _Order.OrderCategory = '30' -- ensures that we are not selecting historical orders, where the category would be '31'.
and(
ControllingDebitCreditCode = 'H'
or ControllingDebitCreditCode = 'L'
or ControllingDebitCreditCode = 'S'
)
// and ControllingDebitCreditCode != replace(
// $parameters.P_OpIsIncludedInCosting, 'NO', 'A'
// )
-
事务代码:IW33/IW39
-
视图结构:
字段名称 | 技术名称 |
---|---|
源分类账 | SOURCELEDGER |
公司代码 | COMPANYCODE |
会计年度 | FISCALYEAR |
日记账分录 | ACCOUNTINGDOCUMENT |
日记账分录项目 | LEDGERGLLINEITEM |
分类账 | LEDGER |
日历月 | POSTINGMONTH |
过账日期 | POSTINGDATE |
会计期间 | FISCALPERIOD |
会计年度变式 | FISCALYEARVARIANT |
订单标识 | MAINTENANCEORDER |
订单类型 | MAINTENANCEORDERTYPE |
计划部分/工作 | MAINTENANCEORDERISPLANNED |
订单计划标识 | MAINTENANCEORDERPLANNINGCODE |
公司代码货币 | COMPANYCODECURRENCY |
工作中心 | MAINWORKCENTERINTERNALID |
工作中心 | MAINTORDMAINWORKCENTER |
工厂 | MAINTORDMAINWORKCENTERPLANT |
计划人员组 | MAINTENANCEPLANNERGROUP |
维护计划 | MAINTENANCEPLAN |
维护项目 | MAINTENANCEITEM |
厂区 | PLANTSECTION |
位置 | ASSETLOCATION |
ABC 标识 | ABCINDICATOR |
工作中心 | WORKCENTER |
工厂 | WORKCENTERPLANT |
对象标识 | WORKCENTERINTERNALID |
维护作业类型 | MAINTENANCEACTIVITYTYPE |
活动 | ORDEROPERATION |
子工序 | ORDERSUBOPERATION |
ISSETTLEMENT | |
设备 | EQUIPMENT |
描述 | EQUIPMENTNAME |
功能位置 | FUNCTIONALLOCATION |
功能位置 | FUNCTIONALLOCATIONLABELNAME |
描述 | FUNCTIONALLOCATIONNAME |
型号 | MANUFACTURERPARTTYPENAME |
装配 | ASSEMBLY |
对象类型 | TECHNICALOBJECTTYPE |
制造商 | ASSETMANUFACTURERNAME |
计划工厂 | MAINTENANCEPLANNINGPLANT |
维护工厂 | MAINTENANCEPLANT |
总账科目 | GLACCOUNT |
成本控制范围 | CONTROLLINGAREA |
成本中心 | COSTCENTER |
成本控制范围 | LOCACCTASSGMTCONTROLLINGAREA |
成本中心 | LOCACCTASSGMTCOSTCENTER |
负责成本中心 | RESPONSIBLECOSTCENTER |
类别参数文件 | CATALOGPROFILE |
构造类型 | CONSTRUCTIONMATERIAL |
科目表 | CHARTOFACCOUNTS |
总账科目层次结构 | GLACCOUNTHIERARCHY |
父节点 | COSTELEMENTGROUP |
最后更改时间 | LASTCHANGEDATETIME |
以公司代码货币计金额 | AMOUNTINCOMPANYCODECURRENCY |
全球货币 | GLOBALCURRENCY |
以全球货币计的金额 | AMOUNTINGLOBALCURRENCY |
交易货币 | TRANSACTIONCURRENCY |
以交易货币计的金额 | AMOUNTINTRANSACTIONCURRENCY |
本文来自博客园,作者:观兴,转载请注明原文链接:https://www.cnblogs.com/guanxing/p/18657332