CDS标准视图:催款级别分配 I_DunningLevelDistribution
视图名称:催款级别分配 I_DunningLevelDistribution
视图类型:参数视图
视图代码:
点击查看代码
@AbapCatalog.sqlViewName: 'IFIDUNLVLDISTR'
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Dunning Level Distribution'
@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_DunningLevelDistribution
with parameters
@Environment.systemField: #SYSTEM_DATE
P_TodayDate : sydate,
P_LowerBoundaryDunningLevel : far_lower_bndry_dunning_level,
P_UpperBoundaryDunningLevel : far_upper_bndry_dunning_level,
P_DisplayCurrency : vdm_v_display_currency,
P_ExchangeRateType : kurst
as select from P_DunningLevelDistribution(P_LowerBoundaryDunningLevel: :P_LowerBoundaryDunningLevel,
P_UpperBoundaryDunningLevel: :P_UpperBoundaryDunningLevel)
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_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_ChartOfAccounts as _ChartOfAccounts on _ChartOfAccounts.ChartOfAccounts = $projection.ChartOfAccounts
association [0..1] to I_GLAccountInChartOfAccounts as _ReconciliationAccount on _ReconciliationAccount.ChartOfAccounts = $projection.ChartOfAccounts
and _ReconciliationAccount.GLAccount = $projection.ReconciliationAccount
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_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,
key DunningLevel,
@ObjectModel.foreignKey.association: '_CompanyCodeCurrency'
CompanyCodeCurrency,
cast(:P_ExchangeRateType as kurst) as 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'
cast(:P_DisplayCurrency as vdm_v_display_currency) as DisplayCurrency,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => DunningLevel1AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_TodayDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR,
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as far_dun_lvl_amount1_dsp_crcy ) as DunningLevel1AmtInDspCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => DunningLevel2AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_TodayDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR,
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as far_dun_lvl_amount2_dsp_crcy ) as DunningLevel2AmtInDspCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => DunningLevel3AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_TodayDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR,
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as far_dun_lvl_amount3_dsp_crcy ) as DunningLevel3AmtInDspCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => DunningLevel4AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_TodayDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR,
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as far_dun_lvl_amount4_dsp_crcy ) as DunningLevel4AmtInDspCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => DunningLevel5AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_TodayDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR,
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as far_dun_lvl_amount5_dsp_crcy ) as DunningLevel5AmtInDspCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => DunningLevel6AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_TodayDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR,
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as far_dun_lvl_amount6_dsp_crcy ) as DunningLevel6AmtInDspCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => DunningLevel7AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_TodayDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR,
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as far_dun_lvl_amount7_dsp_crcy ) as DunningLevel7AmtInDspCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => DunningLevel8AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_TodayDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR,
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as far_dun_lvl_amount8_dsp_crcy ) as DunningLevel8AmtInDspCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => DunningLevel9AmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_TodayDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR,
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as far_dun_lvl_amount9_dsp_crcy ) as DunningLevel9AmtInDspCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( currency_conversion(
amount => DunLevelRngeAmtInCoCodeCrcy,
source_currency => CompanyCodeCurrency,
target_currency => :P_DisplayCurrency,
exchange_rate_date => :P_TodayDate,
exchange_rate_type => :P_ExchangeRateType,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR,
round => #CDSBoolean.true,
decimal_shift => #CDSBoolean.true,
decimal_shift_back => #CDSBoolean.true
) as far_dun_lvl_rnge_amt_dsp_crcy ) as DunningLevelRngeAmtInDspCrcy,
_Company,
_Customer,
_CustomerCompany,
_AccountingClerk,
_CustomerCountry,
_CustomerRegion,
_ReconciliationAccount,
_ChartOfAccounts,
_DisplayCurrency,
_CompanyCodeCurrency,
_CustomerClassification,
_CustomerAccountGroup
}
事务代码:参数
起始催款级:最低的催款级别
截止催款级:最高的催款级别
汇率类型:汇款类型
CDATE:用于输入当期日期
显示货币:显示的货币类型
视图结构:
| 字段名称 | 技术名称 |
|---|---|
| 公司代码 | COMPANYCODE |
| 客户 | CUSTOMER |
| 催款级别 | DUNNINGLEVEL |
| 公司代码货币 | COMPANYCODECURRENCY |
| 汇率类型 | EXCHANGERATETYPE |
| 国家/地区代码 | CUSTOMERCOUNTRY |
| 地区 | CUSTOMERREGION |
| 会计员 | ACCOUNTINGCLERK |
| 科目表 | CHARTOFACCOUNTS |
| 对账科目 | RECONCILIATIONACCOUNT |
| 客户基本权限组 | CUSTOMERBASICAUTHORIZATIONGRP |
| 权限 | CUSTOMERFINSAUTHORIZATIONGRP |
| 客户科目组 | CUSTOMERACCOUNTGROUP |
| 客户分类 | CUSTOMERCLASSIFICATION |
| 显示货币 | DISPLAYCURRENCY |
| 催款金额级别 1 | DUNNINGLEVEL1AMTINDSPCRCY |
| 催款金额级别 2 | DUNNINGLEVEL2AMTINDSPCRCY |
| 催款金额级别 3 | DUNNINGLEVEL3AMTINDSPCRCY |
| 催款金额级别 4 | DUNNINGLEVEL4AMTINDSPCRCY |
| 催款金额级别 5 | DUNNINGLEVEL5AMTINDSPCRCY |
| 催款金额级别 6 | DUNNINGLEVEL6AMTINDSPCRCY |
| 催款金额级别 7 | DUNNINGLEVEL7AMTINDSPCRCY |
| 催款金额级别 8 | DUNNINGLEVEL8AMTINDSPCRCY |
| 催款金额级别 9 | DUNNINGLEVEL9AMTINDSPCRCY |
| 催款级别范围金额 | DUNNINGLEVELRNGEAMTINDSPCRCY |

CDS标准视图:催款级别分配 I_DunningLevelDistribution的更多相关文章
- SAP MM 标准采购组织的分配对于寄售采购订单收货的影响
SAP MM 标准采购组织的分配对于寄售采购订单收货的影响 PO 4100004022 是一个寄售的采购订单, 采购组织是CSAS, 工厂代码SZSP.采购信息记录也是有的, MIGO试图对该采购订单 ...
- 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视图中非常重要的一面:权限管理. 本文的阐述基于我正在 ...
- Netty源码分析第5章(ByteBuf)---->第8节: subPage级别的内存分配
Netty源码分析第五章: ByteBuf 第八节: subPage级别的内存分配 上一小节我们剖析了page级别的内存分配逻辑, 这一小节带大家剖析有关subPage级别的内存分配 通过之前的学习我 ...
- Netty之SubPage级别的内存分配
SubPage 级别的内存分配: 通过之前的学习我们知道, 如果我们分配一个缓冲区大小远小于page, 则直接在一个page 上进行分配则会造成内存浪费, 所以需要将page 继续进行切分成多个子块进 ...
- Flask(10)- 标准类视图
前言 前面文章讲解 Flask 路由的时候,都是将 URL 路径和一个视图函数关联 当 Flask 框架接收到请求后,会根据请求 URL,调用响应的视图函数进行处理 Flask 不仅提供了视图函数来处 ...
- sql视图学习笔记--视图
视图是为用户对数据多种显示需求而创建的,其主要用在一下几种情况: (1)限制用户只能访问特定表特定条件的内容,提高系统的安全性. (2)隐藏表结构.创建多种形式的数透视,满足不同用户需求. (3)将复 ...
- SQLServer之创建索引视图
索引视图创建注意事项 对视图创建的第一个索引必须是唯一聚集索引. 创建唯一聚集索引后,可以创建更多非聚集索引. 为视图创建唯一聚集索引可以提高查询性能,因为视图在数据库中的存储方式与具有聚集索引的表的 ...
- View Programming Guide for iOS ---- iOS 视图编程指南(二)---View and Window Architecture
View and Window Architecture 视图和窗口架构 Views and windows present your application’s user interface and ...
随机推荐
- chrony服务器
1.安装 yum install chrony -y 2.配置文件 主配置文件:/etc/chrony.conf server ntp.aliyun.com iburst ---指定阿 ...
- 14-8 C++函数调用运算符
目录 14.8.0 引入 函数对象 含有状态的函数对象 函数对象常做泛型算法实参 14.8.1 lambda是函数对象 表示没有捕获值的lambda的类 表示lambda及其捕获行为的类 14.8.2 ...
- RAG 系统高效检索提升秘籍:如何精准选择 BGE 智源、GTE 阿里与 Jina 等的嵌入与精排模型的完美搭配
RAG 系统高效检索提升秘籍:如何精准选择 BGE 智源.GTE 阿里与 Jina 等的嵌入与精排模型的完美搭配 Text Embedding 榜单:MTEB.C-MTEB <MTEB: Mas ...
- P3523 POI2011 DYN-Dynamite
P3523 POI2011 DYN-Dynamite 小 trick,加双倍经验. 思路 使 \(dis\) 的最大值最小,可以想到二分 \(dis\),然后根据 \(dis\) 判断可行性. 那么可 ...
- Mybatis源代码分析之类型转换
ORM框架最重要功能是将面向对象方法中的对象和关系型数据库中的表关联了起来,在关联过程中就必然涉及到对象中的数据类型和数据库中的表字段类型的转换,Mybatis中的org.apache.ibatis. ...
- Kibana之基本使用
介绍kibana经常使用的功能 查询: # 查询内容不为空的数据,并返回总数量 GET mp_article/_search?rest_total_hits_as_int=true { "q ...
- 关于PageHiOffice插件在win10登录桌面前提示的解决
win10笔记本开机,在未登录桌面时,总是有PageHiOffice插件已过期的提示. 使用process monitor 的Enable Boot Logging功能进行监视,重启后,再次打开pro ...
- 使用 SemanticKernel 对接 Ollma
前面的 2 篇文章已经介绍了 ollama 的基本情况.我们也已经能在本地跟 LLM 进行聊天了.但是如何使用代码跟 LLM 进行交互呢?如果是 C# 选手那自然是使用 SK (SemanticKer ...
- C#和sql 中的 四舍五入向下向上取整
c#四舍五入取整 Math.Round(3.45, 0, MidpointRounding.AwayFromZero) 上取整或下取整 Math.Ceiling(3.1)=4; Math.Floor( ...
- SpringBoot+logback 日志打印脱敏,正常获取对象不受影响
添加依赖 注意:springboot版本2.7.0 <dependency> <groupId>org.slf4j</groupId> <artifactId ...