视图名称:催款级别分配 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的更多相关文章

  1. SAP MM 标准采购组织的分配对于寄售采购订单收货的影响

    SAP MM 标准采购组织的分配对于寄售采购订单收货的影响 PO 4100004022 是一个寄售的采购订单, 采购组织是CSAS, 工厂代码SZSP.采购信息记录也是有的, MIGO试图对该采购订单 ...

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

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

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

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

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

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

  5. Netty源码分析第5章(ByteBuf)---->第8节: subPage级别的内存分配

    Netty源码分析第五章: ByteBuf 第八节: subPage级别的内存分配 上一小节我们剖析了page级别的内存分配逻辑, 这一小节带大家剖析有关subPage级别的内存分配 通过之前的学习我 ...

  6. Netty之SubPage级别的内存分配

    SubPage 级别的内存分配: 通过之前的学习我们知道, 如果我们分配一个缓冲区大小远小于page, 则直接在一个page 上进行分配则会造成内存浪费, 所以需要将page 继续进行切分成多个子块进 ...

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

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

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

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

  9. SQLServer之创建索引视图

    索引视图创建注意事项 对视图创建的第一个索引必须是唯一聚集索引. 创建唯一聚集索引后,可以创建更多非聚集索引. 为视图创建唯一聚集索引可以提高查询性能,因为视图在数据库中的存储方式与具有聚集索引的表的 ...

  10. View Programming Guide for iOS ---- iOS 视图编程指南(二)---View and Window Architecture

    View and Window Architecture 视图和窗口架构 Views and windows present your application’s user interface and ...

随机推荐

  1. spring boot shardingsphere 使用hikari连接池配置

    shardingsphere 使用hikari连接池配置: shardingsphere: datasource: names: ds ds: type: com.zaxxer.hikari.Hika ...

  2. Power BI 通过输入数据新建表后重新进入编辑状态

    在使用Power BI时,有时候我们会直接通过输入数据构建一些简单的表,但是构建好后我们可能还需要对表格进行增删改的操作,这时候我们需要怎么才会恢复到表格的编辑状态呢?其实很简单,我们回到PQ里面,双 ...

  3. dorado在dialog中使用js通过控件id修改控件值,值闪烁一下消失问题

    在使用dorad过程中,在dialog中编写了复选下拉框,选择完值后,后台js获取选择的值对前台的autoFormElement赋值时element中的值闪烁一下消失,百度没有解决方法,多次尝试后使用 ...

  4. Scala代码练习

    1.编程实现百分制转换成五级制,规则如下: 90~100分,返回优秀: 80~89分,返回良好: 70~79分,返回中等: 60~69分,返回及格: 60分以下,返回不及格. object grade ...

  5. Ext.Net & ASP.NET

    实际上己有很完善的asp.net.控件实现ExtJS的功能,使用开发人员不用过多了解EXtJS即可实现其一样的功能. 使用Asp.net web form /MVC方式均可.可以很快的上手开发,如果用 ...

  6. P4229 某位歌姬的故事

    P4229 某位歌姬的故事 处理复杂点的 dp 题. 思路 先考虑 \(n\) 比较小的情况,把每个询问放到线段上,发现每个格子只能满足覆盖最小的限制,于是考虑将询问有效区间排序考虑. 设 \(f[i ...

  7. 高性能计算-openmp-多线程缓存一致性(9)

    1. 背景介绍 L1 L2 cache是单核独享,L3是多核共享.如果多线程访问共享一维数组的连续元素,先读入第一个线程的L1 缓存中,其他线程访问缓存不命中需要加载,并且数据的更改后,标记为脏数据, ...

  8. dotnet学习笔记-专题06-过滤器和中间件-01

    1. 基本概念 在ASP.NET Core中,中间件和过滤器都是处理HTTP请求的重要组件,但它们在应用中的位置.作用范围以及使用方式有所不同. 1.1 中间件和过滤器的区别 1.1.1 中间件 位置 ...

  9. JVM最简生存指南

    本文由 ImportNew - Grey 翻译自 hadihariri.欢迎加入Java小组.转载请参见文章末尾的要求. 最近更新 : 2014年1月9日 为什么要写这个指南 持续更新 目标人群 基础 ...

  10. mysql5.7之密码重置

    一.windows下更改mysql数据库密码在windows下找到my.ini文件,例如:C:\ProgramData\MySQL\MySQL Server 5.7,打开该文件夹下的my.ini文件, ...