视图名称:应收账龄表 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. Rust的Reborrow机制

    最近,在使用Rust时遇到了Reborrow的概念,记录下来以备以后参考. 1. 起因 起因准备对数据进行Min-Max标准化处理,也就是将一系列数据映射到一个新的范围. 首先,需要遍历数据,找出其中 ...

  2. kubernetes组件大全

    master节点组件 控制平面的组件我们会找一台单独的机器来部署,我们习惯上把部署控制平面组件的机器称为master节点,以下都会用master节点来代替控制平面这个概念,master节点的组件能够对 ...

  3. HAL+CubeIDE,输入输出重定向

    ①将以下代码段复制到usart.c里: /******************************************************************************* ...

  4. You Shi Zai Wo

    Xuzhou is a place where there have been more than 50 large-scale battles from ancient times to the p ...

  5. AI 实战篇:Spring-AI再更新!细细讲下Advisors

    在2024年10月8日,Spring AI再次进行了更新,尽管当前版本仍为非稳定版本(1.0.0-M3),但博主将持续关注这些动态,并从流行的智能体视角深入解析其技术底层.目前,Spring AI仍处 ...

  6. Windows Terminal中使用GitBash

    简要说明 我喜欢终端操作,喜欢Git,Microsoft出了一款工具叫做Windows Terminal,在Windows Terminal中使用Git的体验感是极佳的,本博客将教你如何让这体验舒服到 ...

  7. MySQL原理简介—1.SQL的执行流程

    大纲(2426字) 1.MySQL驱动的作用 2.Java系统中的数据库连接池的作用 3.MySQL中的数据库连接池的作用 4.网络连接必须让线程来处理 5.SQL接口会负责处理接收到的SQL语句 6 ...

  8. Think in Java之构造器的真正调用顺序

    构造器是OOP的重要组成部分,很多人认为它很容易.只不过是new了一个对象而已.而think in java的作者却告诉我们,其实这并不容易.先看下面这个例子.在你没看结果之前,你觉得你的答案是对的么 ...

  9. 定时任务监控服务Healthchecks

    GitHub地址:https://github.com/healthchecks/healthchecks 官方文档:https://healthchecks.io/docs/ 按照步骤进行安装: 1 ...

  10. JDBC【4】-- jdbc预编译与拼接sql对比

    在jdbc中,有三种方式执行sql,分别是使用Statement(sql拼接),PreparedStatement(预编译),还有一种CallableStatement(存储过程),在这里我就不介绍C ...