视图名称:销售变现天数 I_DaysSalesOutstanding

视图类型:参数

视图代码:

点击查看代码
@AbapCatalog.sqlViewName: 'IFIDAYSSLSOUTSTG'
@AbapCatalog.compiler.compareFilter:true
@AbapCatalog.preserveKey:true
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Days Sales Outstanding'
@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
@AccessControl.authorizationCheck:#CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@DataAging.noAgingRestriction: true // cleared open items are selected (as "revenue")
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.supportedCapabilities: [ #ANALYTICAL_PROVIDER, #CDS_MODELING_DATA_SOURCE ]
@AccessControl.personalData.blocking: #REQUIRED
@Metadata.allowExtensions: true define view I_DaysSalesOutstanding
with parameters
P_RblsRollingAverageMonths : fis_rbls_rolling_avg_months,
P_RevnRollingAverageMonths : fis_revn_rolling_avg_months,
@Environment.systemField: #SYSTEM_DATE
P_TodayDate : sydate,
P_DisplayCurrency : vdm_v_display_currency,
P_ExchangeRateType : kurst
as select from P_DaysSalesOutstanding04( P_RblsRollingAverageMonths: :P_RblsRollingAverageMonths,
P_RevnRollingAverageMonths: :P_RevnRollingAverageMonths,
P_DisplayCurrency: :P_DisplayCurrency,
P_ExchangeRateType: :P_ExchangeRateType,
P_TodayDate: :P_TodayDate ) association [0..1] to I_UnitOfMeasure as _UnitOfMeasure on _UnitOfMeasure.UnitOfMeasure = $projection.DurationUnit
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_CalendarYear as _CalendarYear on _CalendarYear.CalendarYear = $projection.CalendarYear
association [0..1] to I_CalendarMonth as _CalendarMonth on _CalendarMonth.CalendarMonth = $projection.CalendarMonth
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_SpecialGLCode as _SpecialGLCode on _SpecialGLCode.SpecialGLCode = $projection.SpecialGLCode
and _SpecialGLCode.FinancialAccountType = 'D'
association [0..1] to I_GLAccountInChartOfAccounts as _GLAccountInChartOfAccounts on _GLAccountInChartOfAccounts.ChartOfAccounts = $projection.ChartOfAccounts
and _GLAccountInChartOfAccounts.GLAccount = $projection.GLAccount
association [0..1] to I_Currency as _DisplayCurrency on _DisplayCurrency.Currency = $projection.DisplayCurrency 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: '_CalendarYear'
key CalendarYear,
@ObjectModel.foreignKey.association: '_CalendarMonth'
key CalendarMonth,
@ObjectModel.foreignKey.association: '_GLAccountInChartOfAccounts'
key GLAccount,
@ObjectModel.foreignKey.association: '_SpecialGLCode'
key SpecialGLCode,
// technically FinancialAccountType is independent of all other keys, hence it is a key itself
// FinancialAccountType is restricted to 'D' but as we exposed it before let's keep it
@ObjectModel.foreignKey.association: '_FinancialAccountType'
key FinancialAccountType, cast( YearMonth as fis_yearmonth_c ) as YearMonth, // @ObjectModel.foreignKey.association: '_ExchangeRate'
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: '_UnitOfMeasure'
cast( cast( 'TAG' as abap.unit(3) ) as msehi ) as DurationUnit,
@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( DisplayCurrency as vdm_v_display_currency ) as DisplayCurrency, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast(DIVISION(DebitInDisplayCrcy, :P_RblsRollingAverageMonths, 6) as abap.curr( 27, 6 )) as DebitAmtInDisplayCrcy, @DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast(DIVISION(RevenueInDisplayCrcy, :P_RevnRollingAverageMonths, 6) as abap.curr( 27, 6 )) as RevenueAmountInDisplayCrcy, _Company,
_Customer,
_FinancialAccountType,
_CustomerCompany,
_AccountingClerk,
_CustomerCountry,
_CustomerRegion,
_CalendarYear,
_CalendarMonth,
_ReconciliationAccount,
_SpecialGLCode,
_GLAccountInChartOfAccounts,
_ChartOfAccounts,
_DisplayCurrency,
_UnitOfMeasure,
_CustomerClassification,
_CustomerAccountGroup
}

事务代码:参数

应收账款移动平均值:用于输入从当前月份开始的月数,未结应收账款

收入移动平均值:用于输入从当前月份开始的月数,了收入

汇率类型:显示的汇率类型

CDATE:当前日期,用于确认超期天数

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

计算逻辑

视图结构:

字段名称 技术名称
公司代码 COMPANYCODE
客户 CUSTOMER
日历年 CALENDARYEAR
日历月 CALENDARMONTH
总账科目 GLACCOUNT
特殊总账 SPECIALGLCODE
科目类型 FINANCIALACCOUNTTYPE
月年 YEARMONTH
汇率类型 EXCHANGERATETYPE
国家/地区代码 CUSTOMERCOUNTRY
地区 CUSTOMERREGION
会计员 ACCOUNTINGCLERK
内部计量单位 DURATIONUNIT
科目表 CHARTOFACCOUNTS
对账科目 RECONCILIATIONACCOUNT
客户基本权限组 CUSTOMERBASICAUTHORIZATIONGRP
权限 CUSTOMERFINSAUTHORIZATIONGRP
客户科目组 CUSTOMERACCOUNTGROUP
客户分类 CUSTOMERCLASSIFICATION
显示货币 DISPLAYCURRENCY
DEBITAMTINDISPLAYCRCY
REVENUEAMOUNTINDISPLAYCRCY

CDS标准视图:销售变现天数 I_DaysSalesOutstanding的更多相关文章

  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. PHP.3-DIV+CSS标准网页布局准备工作(上)

    DIV+CSS标准网页布局准备工作(上) 概述 使用"DIV+CSS"对网站进行布局符合W3C标准,采用这种方式布局通常是为了说明与HTML表格定位方式的区别.因为现在的网站设计标 ...

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

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

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

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

随机推荐

  1. Python脚本消费多个Kafka topic

    在Python中消费多个Kafka topic,可以使用kafka-python库,这是一个流行的Kafka客户端库.以下是一个详细的代码示例,展示如何创建一个Kafka消费者,并同时消费多个Kafk ...

  2. 大模型推理指南:使用 vLLM 实现高效推理

    本文主要分享如何使用 vLLM 实现大模型推理服务. 1. 概述 大模型推理有多种方式比如 最基础的 HuggingFace Transformers TGI vLLM Triton + Tensor ...

  3. ABP-VNext 用户权限管理系统实战06---多租户集成

    一.集成 1.引用安装包 Volo.Abp.AspNetCore.MultiTenancy 2.配置租户key Configure<AbpAspNetCoreMultiTenancyOption ...

  4. 三剑客-grep-awk-sed

    三剑客-grep-awk-sed grep 格式: grep 参数 过滤文件内容 文件名称 cat file|grep '过滤的内容' ​ 参数: -v 取反 ​ -E 支持扩展正则 | 或者 egr ...

  5. redis之性能优化

    1 redis-cli命令的 --stat选项 关于stat选项,官网也是介绍的比较简单.使用redis-cli命令加上stat选项可以实时监视redis实例,比如当前节点内存中缓存的 key总数以及 ...

  6. golang操作ini文件包之go-ini

    官网:ini.unknwon.io/docs github:https://github.com/go-ini/ini ini 是 Windows 上常用的配置文件格式.MySQL 的 Windows ...

  7. 【朝花夕拾】蓝牙&WiFi常识篇

    一.蓝牙常识点 1.常见英文缩写 缩写 英文全称 释义 BLE Bluetooth Low Energy 低功耗蓝牙 BR Basic Rate 基本速率,一般说的经典蓝牙就是指BR/EDR EDR ...

  8. Python 学习记录(2)

    NumPy数组规整 对数组进行各种变化 转换数组形状 import numpy as np a=np.arange(1,6+1) b=np.reshape(a,(2,3)) print(a) prin ...

  9. VLC 播放完毕后自动退出的问题

    1.打开设置 2.打开全部显示 3.取消自动退出

  10. docker直接运行vue3源代码npm run dev

    ​有套代码,需要在服务器直接run dev,docker build玩起来. 步骤: 将自己的代码上传到服务器,本例:/home/flow/ruoyi-ui cd到项目根目录 ruoyi-ui,新建D ...