P_CollMgmtRblsItmForKeyDte

DDL: P_COLLMGMTRBLSITMFORKEYDTE SQL: PCMRBLSKDATDUE Type: view COMPOSITE

P_CollMgmtRblsItmForKeyDte is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_BPCollectionsSegmentAssgmt, I_RblsItmForKeyDteDuePerd) and exposes 31 fields with key fields CompanyCode, Customer, AccountingClerk, SpecialGLCode, ReconciliationAccount. It has 2 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_BPCollectionsSegmentAssgmt _UdmSegments right_outer
I_RblsItmForKeyDteDuePerd I_RblsItmForKeyDteDuePerd from

Parameters (4)

NameTypeDefault
P_KeyDate sydate
P_DisplayCurrency vdm_v_display_currency
P_ExchangeRateType kurst_curr
P_PeriodType farp_period_type

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_CollsSpecialistSubstitute _UdmSplAbs _UdmSplAbs.CollectionGroup = _UdmSegments.CollectionGroup and _UdmSplAbs.CollectionSpecialist = _UdmSegments.CollectionSpecialist and _UdmSplAbs.CollSpecialistAbsenceFrom <= $parameters.P_KeyDate and _UdmSplAbs.CollSpecialistAbsenceTo >= $parameters.P_KeyDate
[1..1] I_BPCollectionsSgmtTmpAssgmt _UdmBPSplAbs _UdmBPSplAbs.BusinessPartner = _BPCust.BusinessPartner and _UdmBPSplAbs.CollectionSegment = _UdmSegments.CollectionSegment and _UdmBPSplAbs.TmpBPCollSgmtAssgmtValidFrom <= $parameters.P_KeyDate and _UdmBPSplAbs.TmpBPCollSgmtAssgmtValidTo >= $parameters.P_KeyDate

Annotations (5)

NameValueLevelField
AbapCatalog.sqlViewName PCMRBLSKDATDUE view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (31)

KeyFieldSource TableSource FieldDescription
KEY CompanyCode _Item CompanyCode
KEY Customer _Item Customer
KEY AccountingClerk _Item AccountingClerk
KEY SpecialGLCode _Item SpecialGLCode
KEY ReconciliationAccount _Item ReconciliationAccount
KEY GLAccount _Item GLAccount
KEY CollectionProfile _UdmProfile CollectionProfile
KEY CollectionSegment I_BPCollectionsSegmentAssgmt CollectionSegment
KEY CollectionGroupendendasCollectionGroup
CustomerCountry _Item CustomerCountry
ChartOfAccounts _Item ChartOfAccounts
DisplayCurrency _Item DisplayCurrency
FinancialAccountType _Item FinancialAccountType
AuthorizationGroup _Item AuthorizationGroup
ReportingPeriodStartDate _Item ReportingPeriodStartDate
ReportingPeriodEndDate _Item ReportingPeriodEndDate
ReportingYear _Item ReportingYear
ReportingPeriod _Item ReportingPeriod
NetDueIntvl1AmtInDspCrcy _Item NetDueIntvl1AmtInDspCrcy
NetDueIntvl2AmtInDspCrcy _Item NetDueIntvl2AmtInDspCrcy
NetDueIntvl3AmtInDspCrcy _Item NetDueIntvl3AmtInDspCrcy
PartialPaymentAmtInDspCrcy _Item PartialPaymentAmtInDspCrcy
_Company _Item _Company
_Customer _Item _Customer
_AccountingClerk _Item _AccountingClerk
_SpecialGLCode _Item _SpecialGLCode
_GLAccount _Item _GLAccount
_ReconciliationAccount _Item _ReconciliationAccount
_ChartOfAccounts _Item _ChartOfAccounts
_DisplayCurrency _Item _DisplayCurrency
_FinancialAccountType _Item _FinancialAccountType
@AbapCatalog.sqlViewName: 'PCMRBLSKDATDUE'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@VDM.private:true

define view P_CollMgmtRblsItmForKeyDte
  with parameters
    P_KeyDate          : sydate,
    P_DisplayCurrency  : vdm_v_display_currency,
    P_ExchangeRateType : kurst_curr,
    P_PeriodType       : farp_period_type

  as select from     I_RblsItmForKeyDteDuePerd( P_KeyDate: :P_KeyDate,
                                                P_DisplayCurrency: :P_DisplayCurrency,
                                                P_ExchangeRateType: :P_ExchangeRateType,
                                                P_PeriodType: :P_PeriodType ) as _Item

  // link BP <-> Customer

    join             I_BusinessPartnerCustomer                                as _BPCust       on _BPCust.Customer = _Item.Customer

  // BP Coll Profile

    join             I_BPCollectionProfileAssgmt                              as _UdmProfile   on _UdmProfile.BusinessPartner = _BPCust.BusinessPartner

  // BP Coll Segments

    right outer join I_BPCollectionsSegmentAssgmt                             as _UdmSegments  on _UdmProfile.BusinessPartner = _UdmSegments.BusinessPartner

  // link Segment <-> CoCode

    join             I_CollsSgmtCompanyCodeAssgmt                             as _UdmSegCoCode on  _UdmSegCoCode.CollectionSegment = _UdmSegments.CollectionSegment
                                                                                               and _UdmSegCoCode.CompanyCode       = _Item.CompanyCode
  // CoCode exists in Coll Mgmt

    join             I_CollectionsCompanyCode                                 as _UdmCoCode    on _UdmCoCode.CompanyCode = _UdmSegCoCode.CompanyCode

  // Absent Coll Spec in customizing

  association [1..1] to I_CollsSpecialistSubstitute as _UdmSplAbs    on  _UdmSplAbs.CollectionGroup           = _UdmSegments.CollectionGroup
                                                                       and _UdmSplAbs.CollectionSpecialist      = _UdmSegments.CollectionSpecialist
                                                                       and _UdmSplAbs.CollSpecialistAbsenceFrom <= $parameters.P_KeyDate
                                                                       and _UdmSplAbs.CollSpecialistAbsenceTo   >= $parameters.P_KeyDate
  // Absent Coll Spec in BP

  association [1..1] to I_BPCollectionsSgmtTmpAssgmt as _UdmBPSplAbs on  _UdmBPSplAbs.BusinessPartner              = _BPCust.BusinessPartner
                                                                       and _UdmBPSplAbs.CollectionSegment            = _UdmSegments.CollectionSegment
                                                                       and _UdmBPSplAbs.TmpBPCollSgmtAssgmtValidFrom <= $parameters.P_KeyDate
                                                                       and _UdmBPSplAbs.TmpBPCollSgmtAssgmtValidTo   >= $parameters.P_KeyDate




{
  key      _Item.CompanyCode,
  key      _Item.Customer,
  key      _Item.AccountingClerk,
  key      _Item.SpecialGLCode,
  key      _Item.ReconciliationAccount,
  key      _Item.GLAccount,
  key      _UdmProfile.CollectionProfile,
  key      _UdmSegments.CollectionSegment,
  key      case
           // determine Coll Group

        when _UdmSegments.CollectionSpecialist = '' or _UdmSegments.CollectionSpecialist = ' ' or _UdmSegments.CollectionSpecialist is null then
          case
                      when _UdmBPSplAbs.CollectionSpecialist = '' or _UdmBPSplAbs.CollectionSpecialist = ' ' or _UdmBPSplAbs.CollectionSpecialist is null then _UdmSegments.CollectionGroup
                      else _UdmBPSplAbs.CollectionGroup
                      end
        else
          case
            when _UdmBPSplAbs.CollectionSpecialist = '' or _UdmBPSplAbs.CollectionSpecialist = ' ' or _UdmBPSplAbs.CollectionSpecialist is null then _UdmSegments.CollectionGroup
            else _UdmBPSplAbs.CollectionGroup
          end

       end                                                      as CollectionGroup,

           // determine Coll Spec

           case
             when _UdmSegments.CollectionSpecialist = '' or _UdmSegments.CollectionSpecialist = ' ' or _UdmSegments.CollectionSpecialist is null then
               case
                           when _UdmBPSplAbs.CollectionSpecialist = '' or _UdmBPSplAbs.CollectionSpecialist = ' ' or _UdmBPSplAbs.CollectionSpecialist is null then ''
                           else _UdmBPSplAbs.CollectionSpecialist
                end
             else
               case
                 when _UdmBPSplAbs.CollectionSpecialist = '' or _UdmBPSplAbs.CollectionSpecialist = ' ' or _UdmBPSplAbs.CollectionSpecialist is null then case
                                 when _UdmSplAbs.CollectionSpecialistSubstitute = '' or _UdmSplAbs.CollectionSpecialistSubstitute = ' ' or _UdmSplAbs.CollectionSpecialistSubstitute is null then _UdmSegments.CollectionSpecialist
                                 else _UdmSplAbs.CollectionSpecialistSubstitute
                              end
                 else _UdmBPSplAbs.CollectionSpecialist
               end
            end                                                 as CollectionSpecialist,


           _Item.CustomerCountry,
           _Item.ChartOfAccounts,

           @Semantics.currencyCode:true
           _Item.DisplayCurrency,
           _Item.FinancialAccountType,
           _Item.AuthorizationGroup,

           _Item.ReportingPeriodStartDate,
           _Item.ReportingPeriodEndDate,
           _Item.ReportingYear,
           _Item.ReportingPeriod,

           @DefaultAggregation: #SUM
           @Semantics.amount.currencyCode: 'DisplayCurrency'
           _Item.NetDueIntvl1AmtInDspCrcy,
           @DefaultAggregation: #SUM
           @Semantics.amount.currencyCode: 'DisplayCurrency'
           _Item.NetDueIntvl2AmtInDspCrcy,
           @DefaultAggregation: #SUM
           @Semantics.amount.currencyCode: 'DisplayCurrency'
           _Item.NetDueIntvl3AmtInDspCrcy,
           @DefaultAggregation: #SUM
           @Semantics.amount.currencyCode: 'DisplayCurrency'
           _Item.PartialPaymentAmtInDspCrcy,

           _Item._Company,
           _Item._Customer,
           _Item._AccountingClerk,
           _Item._SpecialGLCode,
           _Item._GLAccount,
           _Item._ReconciliationAccount,
           _Item._ChartOfAccounts,
           _Item._DisplayCurrency,
           _Item._FinancialAccountType
}
where
      _UdmProfile.BPCollPrflAssignmentValidTo    >= $parameters.P_KeyDate
  and _UdmProfile.BPCollPrflAssignmentValidFrom  <= $parameters.P_KeyDate
  and _UdmSegments.BPCollSgmtAssignmentValidTo   >= $parameters.P_KeyDate
  and _UdmSegments.BPCollSgmtAssignmentValidFrom <= $parameters.P_KeyDate
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BPCOLLECTIONPROFILEASSGMT",
"I_BPCOLLECTIONSSEGMENTASSGMT",
"I_BPCOLLECTIONSSGMTTMPASSGMT",
"I_BUSINESSPARTNERCUSTOMER",
"I_COLLECTIONSCOMPANYCODE",
"I_COLLSSGMTCOMPANYCODEASSGMT",
"I_COLLSSPECIALISTSUBSTITUTE",
"I_RBLSITMFORKEYDTEDUEPERD"
],
"ASSOCIATED":
[
"I_ACCOUNTINGCLERK",
"I_BPCOLLECTIONSSGMTTMPASSGMT",
"I_CHARTOFACCOUNTS",
"I_COLLSSPECIALISTSUBSTITUTE",
"I_COMPANYCODE",
"I_CURRENCY",
"I_CUSTOMER",
"I_FINANCIALACCOUNTTYPE",
"I_GLACCOUNTINCHARTOFACCOUNTS",
"I_SPECIALGLCODE"
],
"BASE":
[
"I_RBLSITMFORKEYDTEDUEPERD"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/