I_CollectionsInvoice

DDL: I_COLLECTIONSINVOICE Type: view COMPOSITE

Collections Invoices

I_CollectionsInvoice is a Composite CDS View that provides data about "Collections Invoices" in SAP S/4HANA. It reads from 2 data sources (I_CollsSgmtCompanyCodeAssgmt, I_OperationalAcctgDocItem) and exposes 76 fields with key fields CollectionSegment, CompanyCode, FiscalYear, AccountingDocument, AccountingDocumentItem. It has 9 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_CollsSgmtCompanyCodeAssgmt I_CollsSgmtCompanyCodeAssgmt from
I_OperationalAcctgDocItem I_OperationalAcctgDocItem inner

Associations (9)

CardinalityTargetAliasCondition
[0..1] I_CollectionSegment _CollectionSegment $projection.CollectionSegment = _CollectionSegment.CollectionSegment
[0..1] I_Customer _Customer $projection.Customer = _Customer.Customer
[0..1] I_Customer _BranchAccount $projection.BranchAccount = _BranchAccount.Customer
[0..1] I_BillingDocument _BillingDocument $projection.BillingDocument = _BillingDocument.BillingDocument
[0..1] I_DunningBlockingReasonCode _DunningBlockingReasonCode $projection.DunningBlockingReason = _DunningBlockingReasonCode.DunningBlockingReason
[0..1] I_CollsPromiseToPayStatus _PromiseToPayStatus $projection.PromiseToPayStatus = _PromiseToPayStatus.PromiseToPayStatus
[0..1] I_PaymentMethod _PaymentMethod $projection.PaymentMethod = _PaymentMethod.PaymentMethod and $projection.Country = _PaymentMethod.Country
[0..1] I_OperationalAcctgDocItem _OperationalAcctgDocItem $projection.CompanyCode = _OperationalAcctgDocItem.CompanyCode and $projection.AccountingDocument = _OperationalAcctgDocItem.AccountingDocument and $projection.FiscalYear = _OperationalAcctgDocItem.FiscalYear and $projection.AccountingDocumentItem = _OperationalAcctgDocItem.AccountingDocumentItem
[0..1] I_CollsInvcPaytDelayPrediction _CollsInvcPaytDelayPrediction $projection.CompanyCode = _CollsInvcPaytDelayPrediction.CompanyCode and $projection.AccountingDocument = _CollsInvcPaytDelayPrediction.AccountingDocument and $projection.FiscalYear = _CollsInvcPaytDelayPrediction.FiscalYear and $projection.AccountingDocumentItem = _CollsInvcPaytDelayPrediction.AccountingDocumentItem

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName ICOLLSINV view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
EndUserText.label Collections Invoices view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.representativeKey AccountingDocument view

Fields (76)

KeyFieldSource TableSource FieldDescription
KEY CollectionSegment CollectionSegment
KEY CompanyCode I_OperationalAcctgDocItem CompanyCode
KEY FiscalYear FiscalYear
KEY AccountingDocument AccountingDocument
KEY AccountingDocumentItem AccountingDocumentItem
Customer Customer
BranchAccount BranchAccount
DocumentDate _OperationalAcctgDocItem DocumentDate
PostingDate PostingDate
DunningLevel DunningLevel
LastDunningDate LastDunningDate
NetDueDate NetDueDate
Reference1InDocumentHeader _JournalEntry Reference1InDocumentHeader
Reference2InDocumentHeader _JournalEntry Reference2InDocumentHeader
PaymentMethod PaymentMethod
FinancialAccountType FinancialAccountType
OverdueDays
CashDiscount1Days
AmountInTransactionCurrency AmountInTransactionCurrency
PaidAmount
DunnedAmount
OpenAmountInDocumentCurrency
CashDiscountAmtInTransacCrcy
TransactionCurrency TransactionCurrency
PaymentDate
DunningBlockingReason DunningBlockingReason
SpecialGLCode SpecialGLCode
OperationalGLAccount OperationalGLAccount
FiscalPeriod FiscalPeriod
BillingDocument BillingDocument
PostingKey PostingKey
DocumentItemText DocumentItemText
DocumentReferenceID _JournalEntry DocumentReferenceID
InvoiceReference InvoiceReference
InvoiceReferenceFiscalYear InvoiceReferenceFiscalYear
InvoiceItemReference InvoiceItemReference
FollowOnDocumentType FollowOnDocumentType
ClearingDate ClearingDate
AccountingDocumentCategory AccountingDocumentCategory
ReferenceDocumentLogicalSystem ReferenceDocumentLogicalSystem
LastDunningDurationInDays
CaseStatus
CaseStatusName
CaseReason
ReasonCodeName
PromiseToPayStatus
DisputeCase
PromiseToPay
NumberOfResubmissions
ResubmissionUUID
ResubmissionDueDate
ResubmissionReason
NumberOfDaysSinceResubmission
ArrangedAmount
PromisedAmount
PromiseToPayLevel
PromiseToPayDueDate
DisputedAmount
CreditedAmount
ObjectKey
Country _Customer Country
CaseUniqueID
LatePaymentRisk
_CollectionSegment _CollectionSegment
_CompanyCode I_OperationalAcctgDocItem _CompanyCode
_Customer _Customer
_BranchAccount _BranchAccount
_BillingDocument _BillingDocument
_DunningBlockingReasonCode _DunningBlockingReasonCode
_SpecialGLCode I_OperationalAcctgDocItem _SpecialGLCode
_PostingKey _PostingKey
_JournalEntry _JournalEntry
_PromiseToPayStatus _PromiseToPayStatus
_PaymentMethod _PaymentMethod
_OperationalAcctgDocItem _OperationalAcctgDocItem
_CollsInvcPaytDelayPrediction _CollsInvcPaytDelayPrediction
@AbapCatalog: { sqlViewName: 'ICOLLSINV',
                compiler: { compareFilter: true },
                preserveKey: true }
@AccessControl: { authorizationCheck: #CHECK,
                  personalData:       { blocking: #BLOCKED_DATA_EXCLUDED } }
@EndUserText: { label: 'Collections Invoices' }
@VDM: { viewType: #COMPOSITE,
        lifecycle: { contract: { type: #PUBLIC_LOCAL_API } } }
@ClientHandling: { algorithm: #SESSION_VARIABLE }
@ObjectModel: { usageType: { serviceQuality: #X,
                             sizeCategory: #L,
                             dataClass: #TRANSACTIONAL },
                semanticKey: [ 'CollectionSegment', 'CompanyCode', 'FiscalYear', 'AccountingDocument', 'AccountingDocumentItem' ],
                representativeKey: 'AccountingDocument' }
define view I_CollectionsInvoice
  as select from I_CollsSgmtCompanyCodeAssgmt
    inner join   I_OperationalAcctgDocItem on I_CollsSgmtCompanyCodeAssgmt.CompanyCode = I_OperationalAcctgDocItem.CompanyCode

  // VDM Associations

  // CollectionSegment

  association [0..1] to I_CollectionSegment            as _CollectionSegment            on  $projection.CollectionSegment = _CollectionSegment.CollectionSegment

  // Customer

  association [0..1] to I_Customer                     as _Customer                     on  $projection.Customer = _Customer.Customer

  // Branch Account

  association [0..1] to I_Customer                     as _BranchAccount                on  $projection.BranchAccount = _BranchAccount.Customer

  // Billing Document

  association [0..1] to I_BillingDocument              as _BillingDocument              on  $projection.BillingDocument = _BillingDocument.BillingDocument

  // Dunning Block

  association [0..1] to I_DunningBlockingReasonCode    as _DunningBlockingReasonCode    on  $projection.DunningBlockingReason = _DunningBlockingReasonCode.DunningBlockingReason

  // Promise to Pay Status

  association [0..1] to I_CollsPromiseToPayStatus      as _PromiseToPayStatus           on  $projection.PromiseToPayStatus = _PromiseToPayStatus.PromiseToPayStatus

  // Payment Method

  association [0..1] to I_PaymentMethod                as _PaymentMethod                on  $projection.PaymentMethod = _PaymentMethod.PaymentMethod
                                                                                        and $projection.Country       = _PaymentMethod.Country

  // Operational Accounting Document Item

  association [0..1] to I_OperationalAcctgDocItem      as _OperationalAcctgDocItem      on  $projection.CompanyCode            = _OperationalAcctgDocItem.CompanyCode
                                                                                        and $projection.AccountingDocument     = _OperationalAcctgDocItem.AccountingDocument
                                                                                        and $projection.FiscalYear             = _OperationalAcctgDocItem.FiscalYear
                                                                                        and $projection.AccountingDocumentItem = _OperationalAcctgDocItem.AccountingDocumentItem

  // Payment Date Prediction

  association [0..1] to I_CollsInvcPaytDelayPrediction as _CollsInvcPaytDelayPrediction on  $projection.CompanyCode            = _CollsInvcPaytDelayPrediction.CompanyCode
                                                                                        and $projection.AccountingDocument     = _CollsInvcPaytDelayPrediction.AccountingDocument
                                                                                        and $projection.FiscalYear             = _CollsInvcPaytDelayPrediction.FiscalYear
                                                                                        and $projection.AccountingDocumentItem = _CollsInvcPaytDelayPrediction.AccountingDocumentItem

{

      // VDM Fields

      @ObjectModel: { foreignKey: { association: '_CollectionSegment' } }
  key CollectionSegment,

      @ObjectModel: { foreignKey: { association: '_CompanyCode' } }
  key I_OperationalAcctgDocItem.CompanyCode       as CompanyCode,

  key FiscalYear,
  key AccountingDocument,
  key AccountingDocumentItem,

      @ObjectModel: { foreignKey: { association: '_Customer' } }
      Customer,

      @ObjectModel: { foreignKey: { association: '_BranchAccount' } }
      BranchAccount,

      _OperationalAcctgDocItem.DocumentDate,
      PostingDate,
      DunningLevel,
      LastDunningDate,
      NetDueDate,
      _JournalEntry.Reference1InDocumentHeader,
      _JournalEntry.Reference2InDocumentHeader,
      PaymentMethod,
      FinancialAccountType,
      cast( 0 as verzn )                          as OverdueDays,
      cast( '00000000' as sk1dt )                 as CashDiscount1Days,

      @Semantics: { amount: { currencyCode: 'TransactionCurrency' } }
      AmountInTransactionCurrency,

      @Semantics: { amount: { currencyCode: 'TransactionCurrency' } }
      cast( '0' as bdm_paid_amount )              as PaidAmount,

      @Semantics: { amount: { currencyCode: 'TransactionCurrency' } }
      cast( 0 as fdm_dunning_amount )             as DunnedAmount,

      @Semantics: { amount: { currencyCode: 'TransactionCurrency' } }
      cast( 0 as fdm_open_amount )                as OpenAmountInDocumentCurrency,

      @Semantics: { amount: { currencyCode: 'TransactionCurrency' } }
      cast( 0 as wskto_cs )                       as CashDiscountAmtInTransacCrcy,

      @Semantics: { currencyCode: true }
      TransactionCurrency,

      cast( '00000000' as fdm_last_payment_date ) as PaymentDate,

      @ObjectModel: { foreignKey: { association: '_DunningBlockingReasonCode' } }
      DunningBlockingReason,

      @ObjectModel: { foreignKey: { association: '_SpecialGLCode' } }
      SpecialGLCode,

      OperationalGLAccount,
      FiscalPeriod,

      @ObjectModel: { foreignKey: { association: '_BillingDocument' } }
      BillingDocument,

      @ObjectModel: { foreignKey: { association: '_PostingKey' } }
      PostingKey,

      DocumentItemText,

      _JournalEntry.DocumentReferenceID           as DocumentReferenceID,

      InvoiceReference,
      InvoiceReferenceFiscalYear,
      InvoiceItemReference,
      FollowOnDocumentType,
      ClearingDate,
      AccountingDocumentCategory,
      ReferenceDocumentLogicalSystem,
      cast( 0 as coll_pr_days_since_dunning )     as LastDunningDurationInDays,

      cast( '00' as scmgstatusonr )               as CaseStatus,
      cast( '' as scmgstat_descr )                as CaseStatusName,

      cast( '0' as scmg_reason_code )             as CaseReason,
      cast( '' as text60 )                        as ReasonCodeName,

      cast( '' as bdm_promise_state )             as PromiseToPayStatus,
      cast( 0 as fdm_ext_key )                    as DisputeCase,
      cast( 0 as fdm_ext_key )                    as PromiseToPay,
      cast( 0 as fdm_inv_no_of_rsm )              as NumberOfResubmissions,
      cast( 0 as scmg_case_guid )                 as ResubmissionUUID,
      cast( '' as bdm_rsm_date )                  as ResubmissionDueDate,
      cast( '' as bdm_rsm_reason )                as ResubmissionReason,
      cast( 0 as coll_rsm_days_since_rsm )        as NumberOfDaysSinceResubmission,

      @Semantics: { amount: { currencyCode: 'TransactionCurrency' } }
      cast( 0 as fdm_payment_arranged )           as ArrangedAmount,

      @Semantics: { amount: { currencyCode: 'TransactionCurrency' } }
      cast( 0 as fdm_current_p2p_amount )         as PromisedAmount,

      cast( 0 as bdm_promise_level )              as PromiseToPayLevel,

      cast( '00000000' as bdm_promise_due_date )  as PromiseToPayDueDate,

      @Semantics: { amount: { currencyCode: 'TransactionCurrency' } }
      cast( 0 as fdm_disputed_amount )            as DisputedAmount,

      @Semantics: { amount: { currencyCode: 'TransactionCurrency' } }
      cast( 0 as fdm_credit_amount )              as CreditedAmount,

      cast ( '' as swo_typeid )                   as ObjectKey,

      _Customer.Country                           as Country,

      cast ( '' as scmg_case_guid )               as CaseUniqueID,

      cast ( '' as udm_coll_late_payment_risk )   as LatePaymentRisk,

      // Exposed Associations

      _CollectionSegment,
      I_OperationalAcctgDocItem._CompanyCode,
      _Customer,
      _BranchAccount,
      _BillingDocument,
      _DunningBlockingReasonCode,
      I_OperationalAcctgDocItem._SpecialGLCode,
      _PostingKey,
      _JournalEntry,
      _PromiseToPayStatus,
      _PaymentMethod,
      _OperationalAcctgDocItem,
      _CollsInvcPaytDelayPrediction

}