• 视图名称:维修工单实际成本数据 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

CDS标准视图:维修工单实际成本数据 I_MaintOrderActualCostDataCube的更多相关文章

  1. 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图与控制器传递数据

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  2. HTML5(字符标准,表单)

    字符标准 <meta charset="utf-8"> 表单 1.HTML 表单用于搜集不同类型的用户输入. 实例——创建文本字段 <form action=&q ...

  3. django做form表单的数据验证

    我们之前写的代码都没有对前端input框输入的数据做验证,我们今天来看下,如果做form表单的数据的验证 在views文件做验证 首先用文字描述一下流程 1.在views文件中导入forms模块 2. ...

  4. MySQL单表数据不超过500万:是经验数值,还是黄金铁律?

    今天,探讨一个有趣的话题:MySQL 单表数据达到多少时才需要考虑分库分表?有人说 2000 万行,也有人说 500 万行.那么,你觉得这个数值多少才合适呢? 曾经在中国互联网技术圈广为流传着这么一个 ...

  5. MySQL单表数据不要超过500万行:是经验数值,还是黄金铁律?

    本文阅读时间大约3分钟. 梁桂钊 | 作者 今天,探讨一个有趣的话题:MySQL 单表数据达到多少时才需要考虑分库分表?有人说 2000 万行,也有人说 500 万行.那么,你觉得这个数值多少才合适呢 ...

  6. odoo 给列表视图添加按钮实现数据文件导入

    实践环境 Odoo 14.0-20221212 (Community Edition) 代码实现 模块文件组织结构 说明:为了更好的表达本文主题,一些和主题无关的文件.代码已略去 odoo14\cus ...

  7. from表单提交数据之后,后台对象接受不到值

    如果SSH框架下,前段页面通过from表单提交数据之后,在后台对象显示空值,也就是接收不到值得情况下.首先保证前段输入框有值,这个可以在提交的时候用jQuery的id或者name选择器alert弹出测 ...

  8. 视图(View)与部分视图(Partial View)之间数据传递

    写ASP.NET MVC程序,我们经常需要把数据从视图(View)传递至部分视图(Partial View) 或者相反. 今天Insus.NET使用 ControllerBase.TempData 进 ...

  9. HTML中表单提交数据GET、POST的区别

    表单提交数据Get和Post的区别: GET和POST是表单提交数据其中的两种方式,除此之外还有PUT.DELETE等. GET: GET的请求起因于正常的URL请求,或是没有指定METHOD的HTM ...

  10. struts_表单得到数据

    在大家学习struts表达式语言的时候经常会遇到,从表单的提交上面得到数据, 而如何将表单的数据得到呢? 下面就介绍其中的一种方式: :以类的方式进行注入我们以login为例子 首先可以在struts ...

随机推荐

  1. 怎样在Windows 环境下安装Git附详细步骤图

    Git下载路径:https://git-scm.com/ [步骤] 在非C盘创建一个git_install作为git的安装目录,双击安装包,按下一步默认安装即可 (后面有时间来补充各个参数意思,目前按 ...

  2. C#/.NET/.NET Core技术前沿周刊 | 第 11 期(2024年10.21-10.31)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  3. c语言里关于本地变量的一些规则

    关于块的定义(自己的理解):就是☞{ }这个区域里面的东西以及" {} "这个符号的本身 ·本地的变量是定义在块内的 -->>1.它可以定义在函数的块内 void sw ...

  4. 使用 vscode 简单配置 ESP32 连接 Wi-Fi 每日定时发送 HTTP 和 HTTPS 请求

    最新博客文章链接 文字更新时间:2024/11/07 由于学校校园网,如果长时间不重新登陆的话,网速会下降,所以想弄个能定时发送 HTTP 请求的东西.由于不想给路由器刷系统,也麻烦.就开始考虑使用局 ...

  5. 一个强大、支持100多种格式.Net图片操作库

    更多开源项目请查看:一个专注推荐优秀.Net开源项目的榜单 我们在项目开发中,对图片的操作可以说是非常常见,比如图片大小改变.图片合并.格式转换.添加水印等,自己开发都需要费不少时间,所以今天给大家介 ...

  6. manim边做边学--圆锥

    Cone是Manim中专门用于创建和操控锥形几何对象的类. Cone允许用户定义锥体的底面半径.高度.颜色.不透明度等属性,并提供了一系列方法来操控这个锥体,如移动.缩放.旋转等. 通过这些属性和方法 ...

  7. zkw 线段树-原理及其扩展

    前言 许多算法的本质是统计.线段树用于统计,是沟通原数组与前缀和的桥梁. <统计的力量>清华大学-张昆玮 关于线段树 前置知识:线段树 OIWiki. 线段树是一种专门维护区间问题的数据结 ...

  8. delphi Image32 图像采样

    图像数据采样 代码: 1 unit uFrmImageResampling; 2 3 interface 4 5 uses 6 Winapi.Windows, Winapi.Messages, Win ...

  9. VScode 扩展推荐和配置

    VScode 扩展推荐和配置 VSCode Extensions 推荐 Themes Dracula Official 拥有明亮的颜色和舒适的对比度,非常适合长时间编程. Nord 基于北极地区自然色 ...

  10. Redis之内存占用分析工具RDR

    GitHub:https://github.com/xueqiu/rdr 场景:最近Redis爆满, 但是不清楚具体哪些键占用的空间较多, 是否有设置过期时间等情况 1.下载软件 windows:ht ...