CDS标准视图:PM通知单 I_LocationAnalysisCube
- 视图名称:PM通知单 I_LocationAnalysisCube
- 视图类型:分析
- 视图代码:
点击查看代码
@EndUserText.label: 'Location Analysis - Cube'
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'ILOCANALYSISCUBE'
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations: true
@AbapCatalog.compiler.compareFilter: true
@Analytics: {
dataCategory: #CUBE,
dataExtraction: {
enabled: true,
delta.byElement: {
name: 'LastChangeDateTime'
}
}
}
@Metadata.allowExtensions:true
@ObjectModel: {
usageType: {
dataClass: #MIXED,
serviceQuality: #D,
sizeCategory: #XL
}
}
@ObjectModel.supportedCapabilities:[ #ANALYTICAL_PROVIDER ]
@ObjectModel.modelingPattern: #ANALYTICAL_CUBE
@AccessControl.personalData.blocking: #NOT_REQUIRED
// with this CDS view only partial details of CS notification would be visible, CS is only in compatibility mode and no further details would be made available
define view I_LocationAnalysisCube
as select from I_MaintNotificationTechObj
association [0..1] to I_WorkCenterBySemanticKey as _MainWorkCenterBySemanticKey on $projection.MainWorkCenter = _MainWorkCenterBySemanticKey.WorkCenter
and $projection.MainWorkCenterPlant = _MainWorkCenterBySemanticKey.Plant
association [0..1] to I_WorkCenterBySemanticKey as _WorkCenterBySemanticKey on $projection.workcenter = _WorkCenterBySemanticKey.WorkCenter
and $projection.WorkCenterPlant = _WorkCenterBySemanticKey.Plant
association [0..*] to I_EquipmentData as _EquipmentData on _EquipmentData.Equipment = $projection.Equipment
association [0..1] to I_FunctionalLocationData as _FunctionalLocationData on _FunctionalLocationData.FunctionalLocation = $projection.FunctionalLocation
association [0..1] to P_MaintNotifTaskCount as _MaintNotifTaskCount on _MaintNotifTaskCount.MaintenanceNotification = $projection.MaintenanceNotification
association [0..1] to P_MaintNotifSuccssflTaskCount as _MaintNotifSuccssflTaskCount on _MaintNotifSuccssflTaskCount.MaintenanceNotification = $projection.MaintenanceNotification
association [0..1] to P_MaintNotifOutStdgReldTaskCnt as _MaintNotifOutStdgReldTaskCnt on _MaintNotifOutStdgReldTaskCnt.MaintenanceNotification = $projection.MaintenanceNotification
-- Extensions, do not expose as association:
association [0..1] to E_PMNotifMaintenanceData as _NotifMaintenanceDataExtension on _NotifMaintenanceDataExtension.MaintenanceNotification = $projection.MaintenanceNotification
{
@ObjectModel.text.element: [ 'NotificationText' ]
key I_MaintNotificationTechObj.MaintenanceNotification,
@Semantics.text: true
I_MaintNotificationTechObj.NotificationText,
@ObjectModel.foreignKey.association: '_MaintenancePlant'
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.MaintenancePlant,
@ObjectModel.foreignKey.association: '_PlantSection'
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.PlantSection,
@ObjectModel.foreignKey.association: '_PMNotificationType'
I_MaintNotificationTechObj.NotificationType,
@ObjectModel.foreignKey.association: '_PMNotificationPhase'
I_MaintNotificationTechObj.NotifProcessingPhase,
@ObjectModel.foreignKey.association: '_MaintenancePlanPlant'
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenancePlanningPlant,
@ObjectModel.foreignKey.association: '_PMNotificationPriority'
I_MaintNotificationTechObj.MaintPriority,
@ObjectModel.foreignKey.association: '_PMNotificationPriorityType'
I_MaintNotificationTechObj.MaintPriorityType,
I_MaintNotificationTechObj.NotificationOrigin,
@ObjectModel.foreignKey.association: '_IsDeleted'
I_MaintNotificationTechObj.IsDeleted,
@ObjectModel.foreignKey.association: '_BusinessArea'
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.BusinessArea,
I_MaintNotificationTechObj._PMNotifMaintenanceData.Assembly,
@ObjectModel.foreignKey.association: '_MaintenancePlannerGroup'
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenancePlannerGroup,
@ObjectModel.foreignKey.association: '_MaintenanceObjectIsDown'
I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenanceObjectIsDown,
@ObjectModel.foreignKey.association: '_MainWorkCenterBySemanticKey'
cast( I_MaintNotificationTechObj._MainWorkCenter.WorkCenter as gewrk preserving type ) as MainWorkCenter,
@ObjectModel.foreignKey.association: '_MainWorkCenterPlant'
cast( I_MaintNotificationTechObj._MainWorkCenter.Plant as wergw preserving type ) as MainWorkCenterPlant,
@ObjectModel.foreignKey.association: '_WorkCenterBySemanticKey'
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._WorkCenter.WorkCenter,
@ObjectModel.foreignKey.association: '_WorkCenterPlant'
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._WorkCenter.Plant as WorkCenterPlant,
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.AssetLocation,
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.AssetRoom,
@ObjectModel.foreignKey.association: '_ABCIndicator'
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.ABCIndicator,
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.MaintObjectFreeDefinedAttrib,
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.CostCenter,
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.ControllingArea,
@ObjectModel.foreignKey.association: '_CompanyCode'
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.CompanyCode,
@ObjectModel.foreignKey.association: '_WBSElementBasicData'
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment.WBSElementInternalID,
cast( I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._WBSElementBasicData.WBSElement as ps_posid preserving type ) as WBSElement,
// Dates
@Semantics.systemDate.createdAt: true
I_MaintNotificationTechObj.CreationDate,
@Semantics.systemTime.createdAt: true
I_MaintNotificationTechObj.CreationTime,
@Semantics.systemDate.lastChangedAt: true
I_MaintNotificationTechObj.LastChangeDate,
@Semantics.businessDate.createdAt: true
I_MaintNotificationTechObj.NotificationCreationDate,
I_MaintNotificationTechObj.NotificationCreationTime,
I_MaintNotificationTechObj.NotificationCompletionDate,
I_MaintNotificationTechObj.CompletionTime,
@Semantics.businessDate.at: true
I_MaintNotificationTechObj.NotificationReferenceDate,
I_MaintNotificationTechObj.RequiredStartDate,
I_MaintNotificationTechObj.RequiredStartTime,
I_MaintNotificationTechObj.RequiredEndDate,
I_MaintNotificationTechObj.RequiredEndTime,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MalfunctionStartDate,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MalfunctionStartTime,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MalfunctionEndDate,
I_MaintNotificationTechObj._PMNotifMaintenanceData.MalfunctionEndTime,
// Timestamps
@Semantics.systemDateTime.lastChangedAt: true
I_MaintNotificationTechObj.LastChangeDateTime,
// Users
@Semantics.user.createdBy: true
I_MaintNotificationTechObj.CreatedByUser,
@Semantics.user.lastChangedBy: true
I_MaintNotificationTechObj.LastChangedByUser,
I_MaintNotificationTechObj.ReportedByUser,
/****************************************************************************************************
* Technical Object
****************************************************************************************************/
// Alternative labeling for Functional Locations is supported
I_MaintNotificationTechObj._TechnicalObject.TechnicalObjectLabel,
//@ObjectModel.foreignKey.association: '_TechnicalObject'
//I_MaintNotificationTechObj.TechnicalObject,
@ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
I_MaintNotificationTechObj.TechObjIsEquipOrFuncnlLoc,
@ObjectModel.foreignKey.association: '_TechnicalObjectType'
I_MaintNotificationTechObj._TechnicalObject.TechnicalObjectType,
I_MaintNotificationTechObj._TechnicalObject.AssetManufacturerName,
I_MaintNotificationTechObj._TechnicalObject.ManufacturerPartTypeName,
I_MaintNotificationTechObj._TechnicalObject.AuthorizationGroup,
@ObjectModel.foreignKey.association: '_ManufacturerCountry'
I_MaintNotificationTechObj._TechnicalObject.ManufacturerCountry,
@Semantics.calendar.year: true
cast( I_MaintNotificationTechObj._TechnicalObject.ConstructionYear as eam_techobj_construction_year ) as ConstructionYear,
cast( I_MaintNotificationTechObj._TechnicalObject.ConstructionMonth as eam_techobj_construction_month ) as ConstructionMonth,
@ObjectModel.foreignKey.association: '_EquipmentData'
I_MaintNotificationTechObj.Equipment,
@ObjectModel.foreignKey.association: '_FunctionalLocationData'
I_MaintNotificationTechObj.FunctionalLocation,
@ObjectModel.foreignKey.association: '_TechnicalObjectCodeCatalog'
I_MaintNotificationTechObj._TechnicalObject.CatalogProfile,
//LinearAssetManagementData
cast( cast( I_MaintNotificationTechObj._LinearAssetManagementData.LinearDataStartPoint as abap.dec(11, 3) ) as eaml_start_point ) as LinearDataStartPoint,
cast( cast( I_MaintNotificationTechObj._LinearAssetManagementData.LinearDataEndPoint as abap.dec(11, 3) ) as eaml_end_point ) as LinearDataEndPoint,
@Semantics.quantity.unitOfMeasure: 'LinearDataUnitOfMeasure'
I_MaintNotificationTechObj._LinearAssetManagementData.LinearDataLength,
@ObjectModel.foreignKey.association: '_LinearDataUnitOfMeasure'
I_MaintNotificationTechObj._LinearAssetManagementData.LinearDataUnitOfMeasure,
/****************************************************************************************************
* Measures
****************************************************************************************************/
@DefaultAggregation: #SUM
cast( 1 as smofn ) as NumberOfCreatedMaintNotifs,
@DefaultAggregation: #SUM
cast( case when I_MaintNotificationTechObj._PMNotifMaintenanceData.MaintenanceObjectIsDown = 'X' then 1
else 0 end as sgmsaus ) as NumberOfReportedBreakdowns,
@DefaultAggregation: #SUM
cast( case when I_MaintNotificationTechObj.MaintenanceOrder != '' then 1
else 0 end as iaofn ) as NumberOfCreatedMaintOrders,
@DefaultAggregation: #SUM
cast( case when I_MaintNotificationTechObj.IsCompleted = 'X' then 1
else 0 end as smmab ) as NumberOfCompletedMaintNotif,
@DefaultAggregation: #SUM
cast( case when I_MaintNotificationTechObj.IsDeleted = 'X' then 1
else 0 end as eam_deleted_notifications ) as NmbrOfDeltdMaintNotifications,
@DefaultAggregation: #SUM
cast( case when I_MaintNotificationTechObj.IsDeleted = 'X' or I_MaintNotificationTechObj.IsCompleted = 'X' then 0
else 1 end as eam_open_notifications ) as NmbrOfOpenMaintNotifications,
//Downtime Duration in Hour
@DefaultAggregation: #SUM
// @Semantics.quantity.unitOfMeasure: 'MaintObjDowntimeDurationUnit'
cast(unit_conversion(
quantity => I_MaintNotificationTechObj.MaintObjectDowntimeDuration,
source_unit => cast('S' as maueh),
target_unit => cast('STD' as maueh),
error_handling=> 'SET_TO_NULL'
) as auszt ) as MaintObjectDowntimeDuration,
//Hour
@Semantics.unitOfMeasure: true
cast('STD' as maueh) as MaintObjDowntimeDurationUnit,
//Total Lead Time of Notifications
@DefaultAggregation: #SUM
// @Semantics.quantity.unitOfMeasure: 'LeadTimeUnit'
cast(division(TSTMP_SECONDS_BETWEEN (
(dats_tims_to_tstmp(NotificationCreationDate, NotificationCreationTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ) ),
(dats_tims_to_tstmp(NotificationCompletionDate, CompletionTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ) ),
'NULL' ), 86400, 11 ) as qnsumdlzt ) as TotalLeadTimeOfMaintNotif,
//Day
@Semantics.unitOfMeasure: true
cast('TAG' as qeinhtag) as LeadTimeUnit,
//Number of Notifications with Status Outstanding
@DefaultAggregation: #SUM
cast(case when I_MaintNotificationTechObj.IsDeleted = '' and NotificationCompletionDate = '00000000' then 1
else 0 end as qzhlmofn ) as NrOfOutstandingMaintNotif,
//Number of Notifications Completed on Schedule
@DefaultAggregation: #SUM
cast(case when I_MaintNotificationTechObj.IsDeleted = '' then
case when NotificationCompletionDate != '00000000' and RequiredEndDate != '00000000' then
case when NotificationCompletionDate < RequiredEndDate then 1
when NotificationCompletionDate = RequiredEndDate then
case when CompletionTime < RequiredEndTime then 1
else 0 end
else 0 end
when NotificationCompletionDate != '00000000' and RequiredEndDate = '00000000' then 1
else 0 end
else 0 end as qzhlerl_te ) as NrOfMaintNotifCmpltdOnSched,
//Number of Tasks
@DefaultAggregation: #SUM
cast(_MaintNotifTaskCount.NumberOfMaintNotifTasks as qzhlmass ) as NumberOfMaintNotifTasks,
//Number of Tasks with Status Successful
@DefaultAggregation: #SUM
cast(_MaintNotifSuccssflTaskCount.NrOfMaintNotifSuccssflTasks as qzhlmerf ) as NrOfMaintNotifSuccssflTasks,
//Number of Tasks with Status "Outstanding" or "Released" (Active Tasks)
@DefaultAggregation: #SUM
cast(_MaintNotifOutStdgReldTaskCnt.NrOfMaintNotifActiveTasks as qzhlmaof ) as NrOfMaintNotifActiveTasks,
//Associations
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._MaintenancePlant,
I_MaintNotificationTechObj._PMNotifMaintenanceData._MaintenancePlanningPlant,
I_MaintNotificationTechObj._PMNotifMaintenanceData._MaintenancePlanPlant,
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._PlantSection,
I_MaintNotificationTechObj._IsDeleted,
I_MaintNotificationTechObj._PMNotificationPhase,
I_MaintNotificationTechObj._PMNotificationType,
I_MaintNotificationTechObj._PMNotificationPriority,
I_MaintNotificationTechObj._PMNotificationPriorityType,
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._BusinessArea,
I_MaintNotificationTechObj._PMNotifMaintenanceData._MaintenancePlannerGroup,
I_MaintNotificationTechObj._PMNotifMaintenanceData._MaintenanceObjectIsDown,
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._ABCIndicator,
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._CompanyCode,
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._WBSElementBasicData,
I_MaintNotificationTechObj._LinearAssetManagementData._LinearDataUnitOfMeasure,
I_MaintNotificationTechObj._MainWorkCenter._Plant as _MainWorkCenterPlant,
I_MaintNotificationTechObj._PMNotifMaintenanceData._LocationAccountAssignment._WorkCenter._Plant as _WorkCenterPlant,
//_TechnicalObject,
I_MaintNotificationTechObj._TechObjIsEquipOrFuncnlLoc,
I_MaintNotificationTechObj._TechnicalObject._TechnicalObjectType,
I_MaintNotificationTechObj._TechnicalObject._ManufacturerCountry,
--I_MaintNotificationTechObj._Equipment,
--I_MaintNotificationTechObj._FunctionalLocation,
I_MaintNotificationTechObj._TechnicalObject._TechnicalObjectCodeCatalog,
_EquipmentData,
_FunctionalLocationData,
_MainWorkCenterBySemanticKey,
_WorkCenterBySemanticKey
}
事务代码:IQS3
视图结构:
| 字段名称 | 设备名称 |
|---|---|
| 通知 | MAINTENANCENOTIFICATION |
| 描述 | NOTIFICATIONTEXT |
| 维护工厂 | MAINTENANCEPLANT |
| 厂区 | PLANTSECTION |
| 通知类型 | NOTIFICATIONTYPE |
| 通知阶段 | NOTIFPROCESSINGPHASE |
| 计划工厂 | MAINTENANCEPLANNINGPLANT |
| 优先级 | MAINTPRIORITY |
| 优先级类型 | MAINTPRIORITYTYPE |
| 通知来源 | NOTIFICATIONORIGIN |
| 已删除 | ISDELETED |
| 业务范围 | BUSINESSAREA |
| 装配 | ASSEMBLY |
| 计划人员组 | MAINTENANCEPLANNERGROUP |
| 细分 | MAINTENANCEOBJECTISDOWN |
| 主工作中心 | MAINWORKCENTER |
| 工厂工作中心 | MAINWORKCENTERPLANT |
| 工作中心 | WORKCENTER |
| 工厂 | WORKCENTERPLANT |
| 位置 | ASSETLOCATION |
| 房间 | ASSETROOM |
| ABC 标识 | ABCINDICATOR |
| 分类字段 | MAINTOBJECTFREEDEFINEDATTRIB |
| 成本中心 | COSTCENTER |
| 成本控制范围 | CONTROLLINGAREA |
| 公司代码 | COMPANYCODE |
| WBS 要素 | WBSELEMENTINTERNALID |
| WBS 要素 | WBSELEMENT |
| 创建日期 | CREATIONDATE |
| 创建时间 | CREATIONTIME |
| 更改日期 | LASTCHANGEDATE |
| 通知日期 | NOTIFICATIONCREATIONDATE |
| 通知时间 | NOTIFICATIONCREATIONTIME |
| 完成日期 | NOTIFICATIONCOMPLETIONDATE |
| 完成时间 | COMPLETIONTIME |
| 参考日期 | NOTIFICATIONREFERENCEDATE |
| 要求的起始日期 | REQUIREDSTARTDATE |
| 要求的开始时间 | REQUIREDSTARTTIME |
| 要求的结束日期 | REQUIREDENDDATE |
| 要求的结束时间 | REQUIREDENDTIME |
| 故障开始 | MALFUNCTIONSTARTDATE |
| 故障开始(时间) | MALFUNCTIONSTARTTIME |
| 故障结束 | MALFUNCTIONENDDATE |
| 故障结束 | MALFUNCTIONENDTIME |
| 时戳 | LASTCHANGEDATETIME |
| 创建人 | CREATEDBYUSER |
| 更改人 | LASTCHANGEDBYUSER |
| 报告人 | REPORTEDBYUSER |
| 技术对象 | TECHNICALOBJECTLABEL |
| 技术对象类型 | TECHOBJISEQUIPORFUNCNLLOC |
| 对象类型 | TECHNICALOBJECTTYPE |
| 制造商 | ASSETMANUFACTURERNAME |
| 型号 | MANUFACTURERPARTTYPENAME |
| 授权组 | AUTHORIZATIONGROUP |
| 制造国家/地区 | MANUFACTURERCOUNTRY |
| 制造年份 | CONSTRUCTIONYEAR |
| 制造月份 | CONSTRUCTIONMONTH |
| 设备 | EQUIPMENT |
| 功能位置 | FUNCTIONALLOCATION |
| 类别参数文件 | CATALOGPROFILE |
| 起点 | LINEARDATASTARTPOINT |
| 终点 | LINEARDATAENDPOINT |
| LINEARDATALENGTH | |
| 计量单位 | LINEARDATAUNITOFMEASURE |
| 创建的通知 | NUMBEROFCREATEDMAINTNOTIFS |
| 明细报告 | NUMBEROFREPORTEDBREAKDOWNS |
| 订单被生成 | NUMBEROFCREATEDMAINTORDERS |
| 完成的通知 | NUMBEROFCOMPLETEDMAINTNOTIF |
| 已删除的通知 | NMBROFDELTDMAINTNOTIFICATIONS |
| 未清通知 | NMBROFOPENMAINTNOTIFICATIONS |
| 停机期间 | MAINTOBJECTDOWNTIMEDURATION |
| 单位 | MAINTOBJDOWNTIMEDURATIONUNIT |
| 总提前期 | TOTALLEADTIMEOFMAINTNOTIF |
| 天 | LEADTIMEUNIT |
| 未清通知 | NROFOUTSTANDINGMAINTNOTIF |
| 日程安排 | NROFMAINTNOTIFCMPLTDONSCHED |
| 全部的任务号码 | NUMBEROFMAINTNOTIFTASKS |
| 任务成功 | NROFMAINTNOTIFSUCCSSFLTASKS |
| 任务末结 | NROFMAINTNOTIFACTIVETASKS |

CDS标准视图:PM通知单 I_LocationAnalysisCube的更多相关文章
- IE9兼容性视图与IE9标准视图
如果你使用的是IE9,那么按下F12键就会出现开发者工具,上面有两个下拉菜单:浏览器模式和文档模式.那么什么是浏览器模式?什么又是文档模式?二者有何区别? 浏览器模式用于切换IE针对该网页的默认文档模 ...
- SAP CDS重定向视图和直接读这两者场景的性能比较
A very rough performance comparison is performed in ER9/001. Comparison scenario The two below opera ...
- 教程:基于访问控制的ABAP CDS视图权限
Hi! 对每一个CDS视图,我们都可以通过DCL(Data Control Language)定义访问控制.在这篇文章中,我会介绍ABAP CDS视图中非常重要的一面:权限管理. 本文的阐述基于我正在 ...
- Flask(10)- 标准类视图
前言 前面文章讲解 Flask 路由的时候,都是将 URL 路径和一个视图函数关联 当 Flask 框架接收到请求后,会根据请求 URL,调用响应的视图函数进行处理 Flask 不仅提供了视图函数来处 ...
- ABAP CDS-Part 1(ABAP CDS实体)
文章翻译自Tushar Sharma的文章,转载请注明原作者和译者! 目录 预备条件 一.概述 二.ABAP CDS实体(CDS Entity) a.定义ABAP CDS Views b.ABAP C ...
- SQL Server基础之《视图的概述和基本操作》
数据库中的视图是一个虚拟表.同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图和查询所引用的表,并且在引用视图时动态产生.本篇将通过一些实例来介绍视图的概念,视图的作用, ...
- SQLServer视图
视图简介:通过定义 SELECT 语句以检索将在视图中显示的数据来创建视图.SELECT 语句引用的数据表称为视图的基表.在SQL Server 2005系统中,可以把视图分为3种类型,即标准视图,索 ...
- sql视图学习笔记--视图
视图是为用户对数据多种显示需求而创建的,其主要用在一下几种情况: (1)限制用户只能访问特定表特定条件的内容,提高系统的安全性. (2)隐藏表结构.创建多种形式的数透视,满足不同用户需求. (3)将复 ...
- MVC小系列(三)【MVC的分部视图】
MVC的分部视图: 分部视图在action中返回一定要用PartialView(),而不要偷懒使用View(),因为如果使用后者,系统会认为是一个标准视图,会为它加个默认的母版页(LayOut),除非 ...
- Qt 学习之路:视图选择 (QItemSelectionModel)
选择是视图中常用的一个操作.在列表.树或者表格中,通过鼠标点击可以选中某一项,被选中项会变成高亮或者反色.在 Qt 中,选择也是使用了一种模型.在 model/view 架构中,这种选择模型提供了一种 ...
随机推荐
- BootStrap5应用时tooltips的添加
BootStrap5应用时tooltips的添加 官方示例 <button type="button" class="btn btn-secondary" ...
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(4)
1.问题描述: 目前华为推送API使用的是v2或者v1版本,请问目前最新的鸿蒙next使用v3版本是否兼容v2或者v1,反过来将v2或者v1的api可以推送鸿蒙next的设备吗? 解决方案: v3接口 ...
- Paimon lookup store 实现
Lookup Store 主要用于 Paimon 中的 Lookup Compaction 以及 Lookup join 的场景. 会将远程的列存文件在本地转化为 KV 查找的格式. Hash htt ...
- 模算术 modular arithmetic
https://en.wikipedia.org/wiki/Modular_arithmetic#Integers_modulo_n 模算术: 整数达到特定值时会' 折返 ' 回来-- 模数 modu ...
- OSG开发笔记(三十一):OSG中LOD层次细节模型介绍和使用
前言 模型较大的时候,出现卡顿,那么使用LOD(细节层次)进行层次细节调整,可以让原本卡顿的模型变得不卡顿. 本就是LOD介绍. Demo LOD 概述 LOD也称为层次细节模 ...
- 10.Kubernetes核心技术Service
Kubernetes核心技术Service 前言 前面我们了解到 Deployment 只是保证了支撑服务的微服务Pod的数量,但是没有解决如何访问这些服务的问题.一个Pod只是一个运行服务的实例,随 ...
- 高性能计算-gemm-mpi并行计算优化(8)
1. 目标: 矩阵A(MK) 矩阵B(KN)相乘,计算结果 C(M*N);本测试将使用不同的数据分块方式.MPI通信接口.数据循环模型,测试通信及计算效率,计算耗时为程序用户态和核心态的占用cpu时间 ...
- 2025年前端面试准备js篇
1.js的基本数据类型有哪些 undefined,null,bo0lean,number,string,object,Symbol,bigInt 分为原始类型和引用类型 原始类型:undefined, ...
- python get请求传array数组
前言 使用传统的http发get请求时,如果传参为array数组,参数名称为a时,可以这样传值a=1&a=2&a=3,但是当只有一个时,这种方式就不合理了. get请求还有另外一种方式 ...
- 专为移动端设计的PDF阅读器-小白PDF阅读器
以前在手机端看扫描版的pdf电子书,要么放大后用手指来回拖动着看,要么将手机横屏看,阅读体验非常差!后来就想自己做一款能自动重排版的pdf阅读器,于是小白PDF阅读器就诞生了! 小白PDF阅读器的重排 ...