视图名称:总计应收款 I_TotalAccountsReceivables

视图类型:参数

视图代码:

点击查看代码
@AbapCatalog.sqlViewName: 'IFITOTALACCTRBLS'
@AbapCatalog.compiler.compareFilter:true
@AbapCatalog.preserveKey:true
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Total 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
@AbapCatalog.viewEnhancementCategory: [ #PROJECTION_LIST , #GROUP_BY ] define view I_TotalAccountsReceivables
with parameters
@Environment.systemField: #SYSTEM_DATE
P_TodayDate : sydate, // this is rather a key date, we refrain from renaming it to be compatible
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_TotalAccountsReceivables12(P_TodayDate: :P_TodayDate,
P_NetDueInterval1InDays: :P_NetDueInterval1InDays,
P_NetDueInterval2InDays: :P_NetDueInterval2InDays,
P_NetDueInterval3InDays: :P_NetDueInterval3InDays,
P_DisplayCurrency: :P_DisplayCurrency,
P_ExchangeRateType: :P_ExchangeRateType)
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_CustomerCompany as _CustomerCompany on _CustomerCompany.CompanyCode = $projection.CompanyCode
and _CustomerCompany.Customer = $projection.Customer
association [0..1] to I_FinancialAccountType as _FinancialAccountType on _FinancialAccountType.FinancialAccountType = $projection.FinancialAccountType
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_Currency as _CompanyCodeCurrency on _CompanyCodeCurrency.Currency = $projection.CompanyCodeCurrency
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 // associations are declared here in sum for better overview; in runtime the joins are exceuted on appropriate level
// Foreign Key Associations declare the dimension cube (I-View) from which the property values are derived of by Analytical Engine (see report RSRTS_ODP_DIS)
{
@ObjectModel.foreignKey.association: '_Company'
key CompanyCode,
@ObjectModel.foreignKey.association: '_Customer'
key Customer,
@ObjectModel.foreignKey.association: '_GLAccountInChartOfAccounts'
key GLAccount,
@ObjectModel.foreignKey.association: '_SpecialGLCode'
key SpecialGLCode,
key cast( NetDueIntervalText as farp_netdue_intvl_text ) as NetDueIntervalText, @ObjectModel.foreignKey.association: '_FinancialAccountType'
cast( 'D' as fis_koart ) as FinancialAccountType,
// switch to association to make it unique (dependent from key field company) and keep it out of key; can't be removed as query exposes CompanyCodeCurrency already
// and odata (i.e. query) changes shall be compatible
@ObjectModel.foreignKey.association: '_CompanyCodeCurrency'
_Company.Currency as CompanyCodeCurrency,
// @ObjectModel.foreignKey.association: '_ExchangeRate'
ExchangeRateType,
@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'
DisplayCurrency, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( sum( TotalAmountInDisplayCrcy ) as farp_total_amount_display_crcy ) as TotalAmountInDisplayCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( sum( TotalNotOvrdAmtInDspCrcy ) as farp_tot_not_ovrd_amt_dspcrcy ) as TotalNotOvrdAmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( sum( TotalOverdueAmtInDspCrcy ) as farp_total_overdue_amt_dspcrcy) as TotalOverdueAmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( sum( NetDueIntvl1AmtInDspCrcy ) as farp_netdue_intvl1_amt_dspcrcy ) as NetDueIntvl1AmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( sum( NetDueIntvl2AmtInDspCrcy ) as farp_netdue_intvl2_amt_dspcrcy ) as NetDueIntvl2AmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( sum( NetDueIntvl3AmtInDspCrcy ) as farp_netdue_intvl3_amt_dspcrcy ) as NetDueIntvl3AmtInDspCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( sum( NetDueIntvl4AmtInDspCrcy ) as farp_netdue_intvl4_amt_dspcrcy ) as NetDueIntvl4AmtInDspCrcy, _Company,
_Customer,
_CustomerCompany,
_AccountingClerk,
_CustomerCountry,
_CustomerRegion,
_FinancialAccountType,
_SpecialGLCode,
_GLAccountInChartOfAccounts,
_ReconciliationAccount,
_ChartOfAccounts,
_DisplayCurrency,
_CompanyCodeCurrency,
_CustomerClassification,
_CustomerAccountGroup
}
group by
CompanyCode,
Customer,
GLAccount,
SpecialGLCode,
NetDueIntervalText,
_Company.Currency,
ExchangeRateType,
_Customer._StandardAddress._Country.Country,
_Customer._StandardAddress._Region.Region,
_CustomerCompany.AccountingClerk,
_Company.ChartOfAccounts,
_CustomerCompany.ReconciliationAccount,
_Customer.AuthorizationGroup,
_CustomerCompany.AuthorizationGroup,
_Customer.CustomerAccountGroup,
_Customer.CustomerClassification,
DisplayCurrency

事务代码:参数

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

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

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

汇率类型:汇率类型

CDATE:当前日期

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

视图结构:

字段名称 技术名称
公司代码 COMPANYCODE
客户 CUSTOMER
总账科目 GLACCOUNT
特殊总账 SPECIALGLCODE
全额付款到期日间隔 NETDUEINTERVALTEXT
财务科目类型 FINANCIALACCOUNTTYPE
货币 COMPANYCODECURRENCY
汇率类型 EXCHANGERATETYPE
国家/地区代码 CUSTOMERCOUNTRY
地区 CUSTOMERREGION
会计员 ACCOUNTINGCLERK
科目表 CHARTOFACCOUNTS
对账科目 RECONCILIATIONACCOUNT
客户基本权限组 CUSTOMERBASICAUTHORIZATIONGRP
权限 CUSTOMERFINSAUTHORIZATIONGRP
客户科目组 CUSTOMERACCOUNTGROUP
客户分类 CUSTOMERCLASSIFICATION
显示货币 DISPLAYCURRENCY
总金额 TOTALAMOUNTINDISPLAYCRCY
未来金额 TOTALNOTOVRDAMTINDSPCRCY
逾期金额 TOTALOVERDUEAMTINDSPCRCY
1 期到期期间金额 NETDUEINTVL1AMTINDSPCRCY
2 期到期期间金额 NETDUEINTVL2AMTINDSPCRCY
3 期到期期间金额 NETDUEINTVL3AMTINDSPCRCY
4 期到期期间金额 NETDUEINTVL4AMTINDSPCRCY

CDS标准视图:总计应收款 I_TotalAccountsReceivables的更多相关文章

  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. CerberusDet:不同任务共享不同的部分,新多任务目标检测方案

    传统的目标检测模型通常受到其训练数据和定义的类别逻辑的限制.随着语言-视觉模型的近期兴起,出现了不受这些固定类别限制的新方法.尽管这些开放词汇检测模型具有灵活性,但与传统的固定类别模型相比,仍然在准确 ...

  2. [离线计算-Spark|Hive] HDFS小文件处理

    背景 HDFS 小文件过多会对hadoop 扩展性以及稳定性造成影响, 因为要在namenode 上存储维护大量元信息. 大量的小文件也会导致很差的查询分析性能,因为查询引擎执行查询时需要进行太多次文 ...

  3. 2.15 Linux中一切皆文件[包含优缺点]

    Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘.监视器.硬盘.打印机)是文件,就连套接字(socket). ...

  4. SQL Server 数据太多如何优化

    大家好,我是 V 哥.讲了很多数据库,有小伙伴说,SQL Server 也讲一讲啊,好吧,V 哥做个听话的门童,今天要聊一聊 SQL Server. 在 SQL Server 中,当数据量增大时,数据 ...

  5. 6. jenkins触发器

    常用的触发器 Jenkins内置4种构建触发器 触发远程 构建其他工程构建后触发(Build after other projects are build) 定时构建(Build periodical ...

  6. python的迭代器和生成器?

    python中的迭代器和生成器都是用来处理数据序列的. 迭代器 迭代器是一个可以记住遍历位置的对象,使用iter()创建一个迭代器,使用next()方法依次返回迭代器中的每一个元素,如果数组里面的数据 ...

  7. P4119 Ynoi2018 未来日记

    P4119 Ynoi2018 未来日记 lxl 出的题好 duliu 啊. 感谢来自 fr200110217102 的博客 题解 P4119 [Ynoi2018未来日记]. 下标分块+值域分块+并查集 ...

  8. 2个月搞定计算机二级C语言——真题(12)解析

    1. 前言 本篇我们讲解2个月搞定计算机二级C语言--真题12 2. 程序填空题 2.1 题目要求 2.2 提供的代码 #include <stdio.h> #define N 3 int ...

  9. nginx之日志处理

    日常对于NGINX日志文件的处理 1.将访问日志中爬虫相关请求导出 cat access.log | grep Baiduspider > spider.log

  10. Educational Codeforces Round 151 (Rated for Div

    C. Strong Password 给定一个字符串\(s\),一个密码的长度\(m\),下界字符串\(l\)和上界字符串\(r\),上下界字符串长度均为\(m\),且字符只在0~9范围内,上界字符串 ...