视图名称:应收账龄表 I_ARJrnlEntrItmAgingGrid

视图类型:参数

视图代码:

点击查看代码
@AbapCatalog.sqlViewName: 'IARJEITMAGGRID'
@AbapCatalog.compiler.compareFilter:true
@AbapCatalog.preserveKey:true
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Aging Grid of Accounts Receivables'
@Analytics: { dataCategory: #CUBE }
@Analytics.internalName: #LOCAL // released with Cloud 1808 and OP 1809 hence no design studio usage before
@Search.searchable: false // I_Region is annotated as true, hence this new must have an annotation for searchable
@Metadata.ignorePropagatedAnnotations: true
@Metadata.allowExtensions:true
@AccessControl.authorizationCheck:#CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.supportedCapabilities: [ #ANALYTICAL_PROVIDER, #CDS_MODELING_DATA_SOURCE ]
@AccessControl.personalData.blocking: #REQUIRED
define view I_ARJrnlEntrItmAgingGrid
with parameters
@Environment.systemField: #SYSTEM_DATE
P_KeyDate : sydate,
P_NetDueInterval1InDays : farp_net_due_interval1,
P_NetDueInterval2InDays : farp_net_due_interval2,
P_NetDueInterval3InDays : farp_net_due_interval3,
P_DisplayCurrency : vdm_v_display_currency,
P_ExchangeRateType : kurst as select from P_ARJrnlEntrItmAgingGrid4(P_KeyDate: :P_KeyDate,
P_NetDueInterval1InDays: :P_NetDueInterval1InDays,
P_NetDueInterval2InDays: :P_NetDueInterval2InDays,
P_NetDueInterval3InDays: :P_NetDueInterval3InDays) association [0..1] to I_FiscalYearForCompanyCode as _FiscalYear on $projection.FiscalYear = _FiscalYear.FiscalYear
and $projection.CompanyCode = _FiscalYear.CompanyCode
association [1..1] to I_JournalEntry as _JournalEntry on $projection.CompanyCode = _JournalEntry.CompanyCode
and $projection.FiscalYear = _JournalEntry.FiscalYear
and $projection.AccountingDocument = _JournalEntry.AccountingDocument
association [0..1] to I_CompanyCode as _Company on _Company.CompanyCode = $projection.CompanyCode
association [0..1] to I_Customer as _Customer on _Customer.Customer = $projection.Customer
association [0..1] to I_FinancialAccountType as _FinancialAccountType on _FinancialAccountType.FinancialAccountType = $projection.FinancialAccountType
association [0..1] to I_CustomerCompany as _CustomerCompany on _CustomerCompany.CompanyCode = $projection.CompanyCode
and _CustomerCompany.Customer = $projection.Customer
association [0..1] to I_AccountingClerk as _AccountingClerk on _AccountingClerk.CompanyCode = $projection.CompanyCode
and _AccountingClerk.AccountingClerk = $projection.AccountingClerk
association [0..1] to I_Country as _CustomerCountry on _CustomerCountry.Country = $projection.CustomerCountry
association [0..1] to I_Region as _CustomerRegion on _CustomerRegion.Region = $projection.CustomerRegion
and _CustomerRegion.Country = $projection.CustomerCountry
association [0..1] to I_Currency as _DisplayCurrency on _DisplayCurrency.Currency = $projection.DisplayCurrency
association [0..1] to I_SpecialGLCode as _SpecialGLCode on _SpecialGLCode.SpecialGLCode = $projection.SpecialGLCode
and _SpecialGLCode.FinancialAccountType = 'D'
association [0..1] to I_ChartOfAccounts as _ChartOfAccounts on _ChartOfAccounts.ChartOfAccounts = $projection.ChartOfAccounts
association [0..1] to I_GLAccountInChartOfAccounts as _GLAccountInChartOfAccounts on _GLAccountInChartOfAccounts.ChartOfAccounts = $projection.ChartOfAccounts
and _GLAccountInChartOfAccounts.GLAccount = $projection.GLAccount
association [0..1] to I_GLAccountInChartOfAccounts as _ReconciliationAccount on _ReconciliationAccount.ChartOfAccounts = $projection.ChartOfAccounts
and _ReconciliationAccount.GLAccount = $projection.ReconciliationAccount
association [0..1] to I_CustomerAccountGroup as _CustomerAccountGroup on _CustomerAccountGroup.CustomerAccountGroup = $projection.CustomerAccountGroup
association [0..1] to I_CustomerClassification as _CustomerClassification on _CustomerClassification.CustomerClassification = $projection.CustomerClassification
// association [0..*] to I_ProfitCenter as _ProfitCenter on _ProfitCenter.ProfitCenter = $projection.ProfitCenter
// and _ProfitCenter.ControllingArea = $projection.ControllingArea
association [0..1] to I_ProfitCenter as _CurrentProfitCenter on $projection.ControllingArea = _CurrentProfitCenter.ControllingArea
and $projection.ProfitCenter = _CurrentProfitCenter.ProfitCenter
and _CurrentProfitCenter.ValidityStartDate <= $session.system_date
and _CurrentProfitCenter.ValidityEndDate >= $session.system_date
association [0..1] to I_ControllingArea as _ControllingArea on _ControllingArea.ControllingArea = $projection.ControllingArea {
@ObjectModel.foreignKey.association: '_Company'
key CompanyCode,
@ObjectModel.foreignKey.association: '_FiscalYear'
key FiscalYear,
@ObjectModel.foreignKey.association: '_JournalEntry'
key AccountingDocument,
key LedgerGLLineItem, AccountingDocumentItem,
// will be sorted as char (- 1, -10, -100, -2, -20, ...) as of now hence useless
// @DefaultAggregation: #NONE
// cast( NetDueArrearsDays as zmm_verzn_char ) as NetDueArrearsDays,
@ObjectModel.foreignKey.association: '_FinancialAccountType'
cast( 'D' as fis_koart ) as FinancialAccountType,
@ObjectModel.foreignKey.association: '_Customer'
Customer,
@ObjectModel.foreignKey.association: '_GLAccountInChartOfAccounts'
GLAccount,
@ObjectModel.foreignKey.association: '_SpecialGLCode'
SpecialGLCode,
// foreign key 0..* will cause problem with SADL calling AE (not with AE itself which assumes and searches in view definition for time restrictions)
// @ObjectModel.foreignKey.association: '_ProfitCenter'
ProfitCenter,
BusinessArea,
Segment,
@ObjectModel.foreignKey.association: '_ControllingArea'
ControllingArea,
BillingDocument,
AssignmentReference, cast(
case when NumberOfParameters = 3 and NetDueInterval = MaxNetDueIntervalInDays then CONCAT_WITH_SPACE('H.',CONCAT_WITH_SPACE('>', cast(PosNetDueInterval3InDays as abap.char(20)),1),1)
when NumberOfParameters = 3 and NetDueInterval = PosNetDueInterval3InDays then CONCAT_WITH_SPACE('G.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE(cast(PosNetDueInterval2InDays + 1 as abap.char(20)), '-',1), cast(PosNetDueInterval3InDays as abap.char(20)),1),1)
when NumberOfParameters = 3 and NetDueInterval = PosNetDueInterval2InDays then CONCAT_WITH_SPACE('F.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE(cast(PosNetDueInterval1InDays + 1 as abap.char(20)), '-',1), cast(PosNetDueInterval2InDays as abap.char(20)),1),1)
when NumberOfParameters = 3 and NetDueInterval = PosNetDueInterval1InDays then CONCAT_WITH_SPACE('E.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE('1','-',1), cast(PosNetDueInterval1InDays as abap.char(20)),1),1)
when NumberOfParameters = 3 and NetDueInterval = 0 then CONCAT_WITH_SPACE('D.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE(cast(NegNetDueInterval1InDays as abap.char(20)), '-',1), '0',1),1)
when NumberOfParameters = 3 and NetDueInterval = NegNetDueInterval1InDays then CONCAT_WITH_SPACE('C.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE(cast(NegNetDueInterval2InDays as abap.char(20)), '-',1), cast(NegNetDueInterval1InDays - 1 as abap.char(20)),1),1)
when NumberOfParameters = 3 and NetDueInterval = NegNetDueInterval2InDays then CONCAT_WITH_SPACE('B.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE(cast(NegNetDueInterval3InDays as abap.char(20)), '-',1), cast(NegNetDueInterval2InDays - 1 as abap.char(20)),1),1)
when NumberOfParameters = 3 and NetDueInterval = NegNetDueInterval3InDays then CONCAT_WITH_SPACE('A.',CONCAT_WITH_SPACE('<', cast(NegNetDueInterval3InDays as abap.char(20)),1),1) when NumberOfParameters = 2 and NetDueInterval = MaxNetDueIntervalInDays then CONCAT_WITH_SPACE('F.',CONCAT_WITH_SPACE('>', cast(PosNetDueInterval2InDays as abap.char(20)),1),1)
when NumberOfParameters = 2 and NetDueInterval = PosNetDueInterval2InDays then CONCAT_WITH_SPACE('E.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE(cast(PosNetDueInterval1InDays + 1 as abap.char(20)), '-',1), cast(PosNetDueInterval2InDays as abap.char(20)),1),1)
when NumberOfParameters = 2 and NetDueInterval = PosNetDueInterval1InDays then CONCAT_WITH_SPACE('D.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE('1', '-',1), cast(PosNetDueInterval1InDays as abap.char(20)),1),1)
when NumberOfParameters = 2 and NetDueInterval = 0 then CONCAT_WITH_SPACE('C.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE(cast(NegNetDueInterval1InDays as abap.char(20)), '-',1), '0',1),1)
when NumberOfParameters = 2 and NetDueInterval = NegNetDueInterval1InDays then CONCAT_WITH_SPACE('B.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE(cast(NegNetDueInterval2InDays as abap.char(20)), '-',1), cast(NegNetDueInterval1InDays - 1 as abap.char(20)),1),1)
when NumberOfParameters = 2 and NetDueInterval = NegNetDueInterval2InDays then CONCAT_WITH_SPACE('A.',CONCAT_WITH_SPACE('<', cast(NegNetDueInterval2InDays as abap.char(20)),1),1) when NumberOfParameters = 1 and NetDueInterval = MaxNetDueIntervalInDays then CONCAT_WITH_SPACE('D.',CONCAT_WITH_SPACE('>', cast(PosNetDueInterval1InDays as abap.char(20)),1),1)
when NumberOfParameters = 1 and NetDueInterval = PosNetDueInterval1InDays then CONCAT_WITH_SPACE('C.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE('1', '-',1), cast(PosNetDueInterval1InDays as abap.char(20)),1),1)
when NumberOfParameters = 1 and NetDueInterval = 0 then CONCAT_WITH_SPACE('B.',CONCAT_WITH_SPACE(CONCAT_WITH_SPACE(cast(NegNetDueInterval1InDays as abap.char(20)),'-',1),'0',1),1)
when NumberOfParameters = 1 and NetDueInterval = NegNetDueInterval1InDays then CONCAT_WITH_SPACE('A.',CONCAT_WITH_SPACE('<', cast(NegNetDueInterval1InDays as abap.char(20)),1),1) when NumberOfParameters = 0 and NetDueInterval = MaxNetDueIntervalInDays then 'A. > 0'
when NumberOfParameters = 0 and NetDueInterval = 0 then 'B. <= 0' else 'ERROR' // dummy
end as farp_netdue_intvl_text ) as NetDueIntervalText, @ObjectModel.foreignKey.association: '_CustomerCountry'
cast( _Customer._StandardAddress._Country.Country as farp_land1 ) as CustomerCountry,
@ObjectModel.foreignKey.association: '_CustomerRegion'
_Customer._StandardAddress._Region.Region as CustomerRegion,
@ObjectModel.foreignKey.association: '_AccountingClerk'
cast( _CustomerCompany.AccountingClerk as farp_busab ) as AccountingClerk,
@ObjectModel.foreignKey.association: '_ChartOfAccounts'
cast( _Company.ChartOfAccounts as fis_ktopl ) as ChartOfAccounts,
@ObjectModel.foreignKey.association: '_ReconciliationAccount'
cast( _CustomerCompany.ReconciliationAccount as farp_akont ) as ReconciliationAccount, // fields for authorization checks via DCL
cast( _Customer.AuthorizationGroup as fis_customer_basic_auth_grp ) as CustomerBasicAuthorizationGrp,
_CustomerCompany.AuthorizationGroup as CustomerFinsAuthorizationGrp, @ObjectModel.foreignKey.association: '_CustomerAccountGroup'
_Customer.CustomerAccountGroup as CustomerAccountGroup,
@ObjectModel.foreignKey.association: '_CustomerClassification'
_Customer.CustomerClassification as CustomerClassification, @Semantics.currencyCode:true
@ObjectModel.foreignKey.association: '_DisplayCurrency'
cast(:P_DisplayCurrency as vdm_v_display_currency) as DisplayCurrency, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => AmountInCompanyCodeCurrency,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_KeyDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => 'FAIL_ON_ERROR',
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as farp_total_amount_display_crcy ) as TotalAmountInDisplayCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => TotalNotOverdueAmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_KeyDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => 'FAIL_ON_ERROR',
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as farp_tot_not_ovrd_amt_dspcrcy ) as TotalNotOvrdAmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => TotalOverdueAmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_KeyDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => 'FAIL_ON_ERROR',
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as farp_total_overdue_amt_dspcrcy) as TotalOverdueAmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => NetDueIntvl1AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_KeyDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => 'FAIL_ON_ERROR',
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as farp_netdue_intvl1_amt_dspcrcy ) as NetDueIntvl1AmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => NetDueIntvl2AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_KeyDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => 'FAIL_ON_ERROR',
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as farp_netdue_intvl2_amt_dspcrcy ) as NetDueIntvl2AmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => NetDueIntvl3AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_KeyDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => 'FAIL_ON_ERROR',
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as farp_netdue_intvl3_amt_dspcrcy ) as NetDueIntvl3AmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => NetDueIntvl4AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_KeyDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => 'FAIL_ON_ERROR',
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as farp_netdue_intvl4_amt_dspcrcy ) as NetDueIntvl4AmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => FutureIntvl1AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_KeyDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => 'FAIL_ON_ERROR',
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as farp_futdue_intvl1_amt_dspcrcy ) as FirstIntvlFutrDueAmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => FutureIntvl2AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_KeyDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => 'FAIL_ON_ERROR',
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as farp_futdue_intvl2_amt_dspcrcy ) as SecondIntvlFutrDueAmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => FutureIntvl3AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_KeyDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => 'FAIL_ON_ERROR',
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as farp_futdue_intvl3_amt_dspcrcy ) as ThirdIntvlFutrDueAmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => FutureIntvl4AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_KeyDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => 'FAIL_ON_ERROR',
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as farp_futdue_lintvl_amt_dspcrcy ) as FourthIntvlFutrDueAmtInDspCrcy, _FiscalYear,
_JournalEntry,
_Company,
_Customer,
_CustomerCompany,
_FinancialAccountType,
_AccountingClerk,
_CustomerCountry,
_CustomerRegion,
_SpecialGLCode,
// _ProfitCenter,
_CurrentProfitCenter,
_ControllingArea,
_GLAccountInChartOfAccounts,
_ReconciliationAccount,
_ChartOfAccounts,
_DisplayCurrency,
_CustomerClassification,
_CustomerAccountGroup
}

事务代码:参数

净额到期间隔 1:距离关键日期第一个间隔最大天数

全额付款到期间隔 2:距离关键日期第二个间隔最大天数

净额到期间隔 3:距离关键日期第二个间隔最大天数

汇率类型:使用的汇率类型

CDATE:关键日期

显示货币:显示的货币类型

视图结构:

字段名称 技术名称
公司代码 COMPANYCODE
会计年度 FISCALYEAR
日记账分录 ACCOUNTINGDOCUMENT
日记账分录项目 LEDGERGLLINEITEM
过账视图项目 ACCOUNTINGDOCUMENTITEM
财务科目类型 FINANCIALACCOUNTTYPE
客户 CUSTOMER
总账科目 GLACCOUNT
特殊总账 SPECIALGLCODE
利润中心 PROFITCENTER
业务范围 BUSINESSAREA
SEGMENT
成本控制范围 CONTROLLINGAREA
开票凭证 BILLINGDOCUMENT
分配参考 ASSIGNMENTREFERENCE
全额付款到期日间隔 NETDUEINTERVALTEXT
国家/地区代码 CUSTOMERCOUNTRY
地区 CUSTOMERREGION
会计员 ACCOUNTINGCLERK
科目表 CHARTOFACCOUNTS
对账科目 RECONCILIATIONACCOUNT
客户基本权限组 CUSTOMERBASICAUTHORIZATIONGRP
权限 CUSTOMERFINSAUTHORIZATIONGRP
客户科目组 CUSTOMERACCOUNTGROUP
客户分类 CUSTOMERCLASSIFICATION
显示货币 DISPLAYCURRENCY
总金额 TOTALAMOUNTINDISPLAYCRCY
未来金额 TOTALNOTOVRDAMTINDSPCRCY
逾期金额 TOTALOVERDUEAMTINDSPCRCY
1 期到期期间金额 NETDUEINTVL1AMTINDSPCRCY
2 期到期期间金额 NETDUEINTVL2AMTINDSPCRCY
3 期到期期间金额 NETDUEINTVL3AMTINDSPCRCY
4 期到期期间金额 NETDUEINTVL4AMTINDSPCRCY
1 期到期期间未来金额 FIRSTINTVLFUTRDUEAMTINDSPCRCY
2 期到期期间未来金额 SECONDINTVLFUTRDUEAMTINDSPCRCY
3 期到期期间未来金额 THIRDINTVLFUTRDUEAMTINDSPCRCY
上一到期期间未来金额 FOURTHINTVLFUTRDUEAMTINDSPCRCY

CDS标准视图:应收账龄表 I_ARJrnlEntrItmAgingGrid的更多相关文章

  1. IE9兼容性视图与IE9标准视图

    如果你使用的是IE9,那么按下F12键就会出现开发者工具,上面有两个下拉菜单:浏览器模式和文档模式.那么什么是浏览器模式?什么又是文档模式?二者有何区别? 浏览器模式用于切换IE针对该网页的默认文档模 ...

  2. SAP CDS重定向视图和直接读这两者场景的性能比较

    A very rough performance comparison is performed in ER9/001. Comparison scenario The two below opera ...

  3. 教程:基于访问控制的ABAP CDS视图权限

    Hi! 对每一个CDS视图,我们都可以通过DCL(Data Control Language)定义访问控制.在这篇文章中,我会介绍ABAP CDS视图中非常重要的一面:权限管理. 本文的阐述基于我正在 ...

  4. Flask(10)- 标准类视图

    前言 前面文章讲解 Flask 路由的时候,都是将 URL 路径和一个视图函数关联 当 Flask 框架接收到请求后,会根据请求 URL,调用响应的视图函数进行处理 Flask 不仅提供了视图函数来处 ...

  5. ABAP CDS-Part 1(ABAP CDS实体)

    文章翻译自Tushar Sharma的文章,转载请注明原作者和译者! 目录 预备条件 一.概述 二.ABAP CDS实体(CDS Entity) a.定义ABAP CDS Views b.ABAP C ...

  6. SQL Server基础之《视图的概述和基本操作》

     数据库中的视图是一个虚拟表.同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图和查询所引用的表,并且在引用视图时动态产生.本篇将通过一些实例来介绍视图的概念,视图的作用, ...

  7. SQLServer视图

    视图简介:通过定义 SELECT 语句以检索将在视图中显示的数据来创建视图.SELECT 语句引用的数据表称为视图的基表.在SQL Server 2005系统中,可以把视图分为3种类型,即标准视图,索 ...

  8. sql视图学习笔记--视图

    视图是为用户对数据多种显示需求而创建的,其主要用在一下几种情况: (1)限制用户只能访问特定表特定条件的内容,提高系统的安全性. (2)隐藏表结构.创建多种形式的数透视,满足不同用户需求. (3)将复 ...

  9. MVC小系列(三)【MVC的分部视图】

    MVC的分部视图: 分部视图在action中返回一定要用PartialView(),而不要偷懒使用View(),因为如果使用后者,系统会认为是一个标准视图,会为它加个默认的母版页(LayOut),除非 ...

  10. Qt 学习之路:视图选择 (QItemSelectionModel)

    选择是视图中常用的一个操作.在列表.树或者表格中,通过鼠标点击可以选中某一项,被选中项会变成高亮或者反色.在 Qt 中,选择也是使用了一种模型.在 model/view 架构中,这种选择模型提供了一种 ...

随机推荐

  1. C# 将PDF文档转换为Markdown文档

    将PDF文件转换为Markdown格式是一个非常实用的需求,尤其是在需要将内容从固定布局的PDF文件中提取出来,并转换为更易于编辑和处理的文本格式时.本文将介绍如何通过C#代码将PDF文档转换Mark ...

  2. [Linux]学习之路---树梅派4B出现打开文件管理器闪退等问题

    直接控制台运行命令: sudo apt-get install --reinstall pcmanfm 后面的pcmanfm,是一个功能齐全的Linux上的轻量级文件管理器,我自己的记忆方法就是: P ...

  3. "安装VMware Tools"显示灰色的解决办法

    用VMware Workstation Pro好几年了,期间这个问题也遇到过好几次,这次把解决方案记录一下,若后续有其他情况其他解决方案将在此博文更新. Step1:关闭虚拟机: Step2:在虚拟机 ...

  4. 开源 - Ideal库 - 常用时间转换扩展方法(一)

    从事软件开发这么多年,平时也积累了一些方便自己快速开发的帮助类,一直在想着以什么方式分享出来,因此有了这个系列文章,后面我将以<开源-Ideal库>系列文章分享一些我认为比较成熟.比较方便 ...

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

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

  6. .NET 8.0 通用管理平台,支持模块化、WinForms 和 WPF

    前言 领导要求做一个小项目,要求独立运行,用以最少的依赖,此时不想集成到主项目中,但是又想用HzyAdmin中如此好用的自动注入,还有操作简单的仓储模式,话不多说,直接开干. HzyAdmin 是一个 ...

  7. pycharm生成的allure测试报告如何查看本地的index.html文件?

    pycharm生成的allure测试报告应该是通过服务启动查看,但是如果把这个文件保存到本地查看,直接打开页面无内容 可以使用allure-combine工具实现本地正常打开 `from allure ...

  8. php 异步并行

    如果你有一批数据需要调用远程接口处理,而远程接口处理时间很长,比如需要1秒左右,那10条数据就是10秒,你的程序就要10S才能结束,而这样的话一旦接口提供方有点问题,就需要20秒 30秒甚至更久,这样 ...

  9. golang配置读取值viper

    viper简介 Viper是Go应用程序的完整配置解决方案,包括12-Factor应用程序.它旨在在应用程序中工作,并且可以处理所有类型的配置需求和格式.它支持: 设置默认值 从JSON.TOML.Y ...

  10. highcharts中的环形图

    环形图如下效果: 代码: that.options = { chart: { type: 'pie', backgroundColor: 'transparent', color: '#fff', / ...