I_CustomerDunning

DDL: I_CUSTOMERDUNNING SQL: IMDCUSTDUNNING Type: view BASIC Package: VDM_MD_COMMON

Customer Company Code Dunning Fields

I_CustomerDunning is a Basic CDS View (Dimension) that provides data about "Customer Company Code Dunning Fields" in SAP S/4HANA. It reads from 1 data source (knb5) and exposes 20 fields with key fields CompanyCode, Customer, DunningArea. It has 10 associations to related views. Part of development package VDM_MD_COMMON.

Data Sources (1)

SourceAliasJoin Type
knb5 knb5 from

Associations (10)

CardinalityTargetAliasCondition
[1..1] I_CustomerCompany _CustomerCompany $projection.Customer = _CustomerCompany.Customer and $projection.CompanyCode = _CustomerCompany.CompanyCode
[1..1] I_DunningArea _DunningArea $projection.CompanyCode = _DunningArea.CompanyCode and $projection.DunningArea = _DunningArea.DunningArea
[0..*] I_DunningAreaText _DunningAreaText $projection.CompanyCode = _DunningAreaText.CompanyCode and $projection.DunningArea = _DunningAreaText.DunningArea
[1..1] I_DunningProcedure _DunningProcedure $projection.DunningProcedure = _DunningProcedure.DunningProcedure
[0..*] I_DunningProcedureText _DunningProcedureText $projection.DunningProcedure = _DunningProcedureText.DunningProcedure
[1..1] I_DunningBlockingReasonCode _DunningBlock $projection.DunningBlock = _DunningBlock.DunningBlockingReason
[0..*] I_DunningBlockingReasonText _DunningBlockText $projection.DunningBlock = _DunningBlockText.DunningBlockingReason
[1..1] I_AccountingClerk _DunningClerk $projection.CompanyCode = _DunningClerk.CompanyCode and $projection.DunningClerk = _DunningClerk.AccountingClerk
[1..1] I_Customer _DunningRecipient $projection.DunningRecipient = _DunningRecipient.Customer
[1..1] I_Customer _Customer $projection.Customer = _Customer.Customer

Annotations (17)

NameValueLevelField
EndUserText.label Customer Company Code Dunning Fields view
VDM.viewType #BASIC view
AccessControl.authorizationCheck #CHECK view
AbapCatalog.sqlViewName IMDCUSTDUNNING view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.sapObjectNodeType.name CustomerDunning view
ObjectModel.representativeKey DunningArea view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
Analytics.dataExtraction.delta.changeDataCapture.automatic true view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
AbapCatalog.preserveKey true view
Metadata.ignorePropagatedAnnotations true view
Metadata.allowExtensions true view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY CompanyCode knb5 bukrs
KEY Customer knb5 kunnr
KEY DunningArea knb5 maber
LastDunnedOn knb5 madat
DunningProcedure knb5 mahna
DunningLevel knb5 mahns
DunningBlock knb5 mansp
DunningRecipient knb5 knrma
LegDunningProcedureOn knb5 gmvdt
DunningClerk knb5 busab
_CustomerCompany _CustomerCompany
_Customer _Customer
_DunningArea _DunningArea
_DunningAreaText _DunningAreaText
_DunningProcedure _DunningProcedure
_DunningProcedureText _DunningProcedureText
_DunningBlock _DunningBlock
_DunningBlockText _DunningBlockText
_DunningClerk _DunningClerk
_DunningRecipient _DunningRecipient
@EndUserText.label: 'Customer Company Code Dunning Fields'
//@Analytics.dataCategory: #DIMENSION

@VDM.viewType: #BASIC
@AccessControl.authorizationCheck:#CHECK
//@AccessControl.privilegedAssociations:  [ '_BPDataControllerUsage' ]

@AbapCatalog.sqlViewName: 'IMDCUSTDUNNING'
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #M
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.sapObjectNodeType.name: 'CustomerDunning' 
@ObjectModel.representativeKey:'DunningArea'
@Analytics: {
  dataCategory: #DIMENSION,
  dataExtraction: {
    enabled: true,
    delta.changeDataCapture: {
      automatic: true
    }
  }
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED 
//@AccessControl.personalData.blockingIndicator: [IsBusinessPurposeCompleted]

@AbapCatalog.preserveKey:true
@ObjectModel.supportedCapabilities: [#SQL_DATA_SOURCE, 
                                     #CDS_MODELING_ASSOCIATION_TARGET,  
                                     #ANALYTICAL_DIMENSION,                                  
                                     #EXTRACTION_DATA_SOURCE]
@Metadata.ignorePropagatedAnnotations:true 
@Metadata.allowExtensions:true
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]

define view I_CustomerDunning
  as select from knb5
  association [1..1] to I_CustomerCompany as _CustomerCompany on $projection.Customer = _CustomerCompany.Customer
                                                              and $projection.CompanyCode = _CustomerCompany.CompanyCode
  association [1..1] to I_DunningArea as _DunningArea on $projection.CompanyCode  = _DunningArea.CompanyCode
                                                     and $projection.DunningArea  = _DunningArea.DunningArea
                                                     
  association [0..*] to I_DunningAreaText as _DunningAreaText on $projection.CompanyCode = _DunningAreaText.CompanyCode
                                                             and $projection.DunningArea = _DunningAreaText.DunningArea
                                                             
  association [1..1] to I_DunningProcedure as _DunningProcedure on $projection.DunningProcedure = _DunningProcedure.DunningProcedure
  
  association [0..*] to I_DunningProcedureText as _DunningProcedureText on $projection.DunningProcedure = _DunningProcedureText.DunningProcedure
                                                     
  association [1..1] to I_DunningBlockingReasonCode as _DunningBlock on $projection.DunningBlock = _DunningBlock.DunningBlockingReason
  
  association [0..*] to I_DunningBlockingReasonText as _DunningBlockText on $projection.DunningBlock = _DunningBlockText.DunningBlockingReason
  
  association [1..1] to I_AccountingClerk as _DunningClerk on $projection.CompanyCode  = _DunningClerk.CompanyCode
                                                          and $projection.DunningClerk = _DunningClerk.AccountingClerk
                                                          
  association [1..1] to I_Customer as _DunningRecipient on $projection.DunningRecipient = _DunningRecipient.Customer
  
  association [1..1] to I_Customer as _Customer on $projection.Customer = _Customer.Customer                                                         
{
      @ObjectModel.foreignKey.association: '_CustomerCompany'
  key knb5.bukrs       as  CompanyCode,
      @ObjectModel.foreignKey.association: '_Customer'
  key knb5.kunnr       as  Customer,
      //@ObjectModel.foreignKey.association: '_DunningArea'

      @ObjectModel.text.association: '_DunningAreaText'
  key knb5.maber       as  DunningArea,
      knb5.madat       as  LastDunnedOn,
      @ObjectModel.foreignKey.association: '_DunningProcedure'
      @ObjectModel.text.association: '_DunningProcedureText'
      knb5.mahna       as  DunningProcedure,
      knb5.mahns       as  DunningLevel,
      @ObjectModel.foreignKey.association: '_DunningBlock'
      @ObjectModel.text.association: '_DunningBlockText'
      knb5.mansp       as  DunningBlock,
      @ObjectModel.foreignKey.association: '_DunningRecipient'
      knb5.knrma       as  DunningRecipient,
      knb5.gmvdt       as  LegDunningProcedureOn,
      @ObjectModel.foreignKey.association: '_DunningClerk'
      knb5.busab       as  DunningClerk,   
      
      /*associations*/ 
      _CustomerCompany,
      _Customer,
      _DunningArea,
      _DunningAreaText,
      _DunningProcedure,
      _DunningProcedureText,
      _DunningBlock,
      _DunningBlockText,
      _DunningClerk,
      _DunningRecipient
      
//      @Consumption.hidden: true

//      _Customer.BusinessPartner,

//      _Customer._BPDataControllerUsage as _BPDataControllerUsage


}