I_ContractAccountPartner

DDL: I_CONTRACTACCOUNTPARTNER SQL: ICTRACCPARTNER Type: view BASIC

Contract Account Partner

I_ContractAccountPartner is a Basic CDS View (Dimension) that provides data about "Contract Account Partner" in SAP S/4HANA. It reads from 1 data source (fkkvkp) and exposes 134 fields with key fields ContractAccount, BusinessPartner. It has 49 associations to related views. It is exposed through 1 OData service (UI_CAOVERDUEITEM_ANALYSIS). It is used in 1 Fiori application: Analyze Overdue Items (Version 2).

Data Sources (1)

SourceAliasJoin Type
fkkvkp fkkvkp from

Associations (49)

CardinalityTargetAliasCondition
[0..1] I_BusinessArea _BusinessArea $projection.BusinessArea = _BusinessArea.BusinessArea
[1..1] I_BusinessPartner _BusinessPartner $projection.BusinessPartner = _BusinessPartner.BusinessPartner
[0..1] I_BusinessPartner _AlternativePayer $projection.CAAlternativePayer = _AlternativePayer.BusinessPartner
[0..1] I_BusinessPartner _AlternativePayee $projection.CAAlternativePayee = _AlternativePayee.BusinessPartner
[0..1] I_BusinessPartner _AltvDunningRecipient $projection.CAAlternativeDunningRecipient = _AltvDunningRecipient.BusinessPartner
[0..1] I_BusinessPartner _AltvInvoiceRecipient $projection.CAAlternativeInvoiceRecipient = _AltvInvoiceRecipient.BusinessPartner
[0..1] I_BusinessPartner _AltvCorrespncRcpnt $projection.CAAlternativeCorrespncRcpnt = _AltvCorrespncRcpnt.BusinessPartner
[0..1] I_BusinessPartner _BPForPayment $projection.CABusinessPartnerForPayment = _BPForPayment.BusinessPartner
[0..1] I_BusinessPartner _CollContactPerson $projection.CACollectionsContactPerson = _CollContactPerson.BusinessPartner
[0..1] I_BusinessPartner _BPForPosting $projection.CABusinessPartnerForPosting = _BPForPosting.BusinessPartner
[0..1] I_BusinessPartner _BPForInvcgList $projection.CABusinessPartnerForInvcgList = _BPForInvcgList.BusinessPartner
[0..1] I_CAAccountDetnCode _AcctDetnCode $projection.CAAccountDeterminationCode = _AcctDetnCode.CAAccountDeterminationCode
[0..1] I_CAAuthorizationGroup _CAAuthorizationGroup $projection.CAAuthorizationGroup = _CAAuthorizationGroup.CAAuthorizationGroup and _CAAuthorizationGroup.CAAuthorizationGroupObject = 'CA_CONTACC'
[1..1] I_CABillgCycle _BillgCycle $projection.CABillgCycle = _BillgCycle.CABillgCycle
[0..1] I_CABusPrtnAddlLockExstcCode _CABusPrtnAddlLockExstcCode $projection.CABusPartnerAddlLockExstcCode = _CABusPrtnAddlLockExstcCode.CABusPartnerAddlLockExstcCode
[0..1] I_CABusPrtnPostgLockExstcCode _CABusPrtnPostgLockExstcCode $projection.CABusPartnerPostgLockExstcCode = _CABusPrtnPostgLockExstcCode.CABusPartnerPostgLockExstcCode
[0..1] I_CAClearingCategory _ClearingCategory $projection.CAClearingCategory = _ClearingCategory.CAClearingCategory
[0..1] I_CACollectionStrategy _CollectionStrategy $projection.CACollectionStrategy = _CollectionStrategy.CACollectionStrategy
[0..1] I_CACollMasterDataGroup _CollMasterDataGroup $projection.CACollectionsMasterDataGroup = _CollMasterDataGroup.CACollectionsMasterDataGroup
[1..1] I_CACompanyCodeGroup _CompCodeGroup $projection.CACompanyCodeGroup = _CompCodeGroup.CACompanyCodeGroup
[0..1] I_CACorrespncActivityCode _CACorrespncActivityCode $projection.CACorrespondenceActivityCode = _CACorrespncActivityCode.CACorrespondenceActivityCode
[1..1] I_CACorrespondenceVariant _CorrVariant $projection.CACorrespondenceVariant = _CorrVariant.CACorrespondenceVariant
[1..1] I_CACorrespondenceVariant _CorrespncVar $projection.CACorrespondenceVariant = _CorrespncVar.CACorrespondenceVariant
[1..1] I_CADfltClearingRstrcnCode _CADfltClearingRstrcnCode $projection.CADefaultClearingRstrcnCode = _CADfltClearingRstrcnCode.CADefaultClearingRstrcnCode
[0..1] I_CADirectDebitLimitCalcMode _CADirectDebitLimitCalcMod $projection.CADirectDebitLimitCalcMode = _CADirectDebitLimitCalcMod.CADirectDebitLimitCalcMode
[0..1] I_CADunningProcedure _DunningProcedure $projection.CADunningProcedure = _DunningProcedure.CADunningProcedure
[0..1] I_CADunningNoticeGroup _DunNoticeGroup $projection.CADunningNoticeGroup = _DunNoticeGroup.CADunningNoticeGroup
[0..1] I_CAHouseBankReference _HouseBankRef $projection.capaymentcompanycode = _HouseBankRef.CAPaymentCompanyCode and $projection.CAHouseBankReference = _HouseBankRef.CAHouseBankReference
[0..1] I_CAInterestCode _InterestCode $projection.CAInterestCode = _InterestCode.CAInterestCode
[0..1] I_CAInvcgCategory _InvcgCategory $projection.CAInvcgCategory = _InvcgCategory.CAInvcgCategory
[1..1] I_CAInvcgSchedule _InvcgSchedule $projection.CAInvcgSchedule = _InvcgSchedule.CAInvcgSchedule
[1..1] I_CAMasterAgreement _MasterAgreement $projection.CAMasterAgreement = _MasterAgreement.CAMasterAgreement
[0..1] I_CAPaymentMethod _PaytMethodIncg $projection.country = _PaytMethodIncg.Country and $projection.CAPaymentMethodForIncgPayment = _PaytMethodIncg.CAPaymentMethod
[0..1] I_CAPaymentMethod _PaytMethodOutg $projection.country = _PaytMethodOutg.Country and $projection.CAPaymentMethodForOutgPayment = _PaytMethodOutg.CAPaymentMethod
[0..1] I_CAToleranceGroup _ToleranceGroup $projection.CAToleranceGroup = _ToleranceGroup.CAToleranceGroup
[1..1] I_CompanyCode _CompCode $projection.CAStandardCompanyCode = _CompCode.CompanyCode
[1..1] I_CompanyCode _PaymentCompCode $projection.capaymentcompanycode = _PaymentCompCode.CompanyCode
[0..1] I_ContrAcctPrtnRelshpType _RelshpOfBP $projection.CARelationshipOfBPToContrAcct = _RelshpOfBP.CARelationshipOfBPToContrAcct
[1..1] I_ContractAccountHeader _ContrAcc $projection.ContractAccount = _ContrAcc.ContractAccount
[0..1] I_ContractAccountHeader _AltvContrAcc $projection.AltvContractAcctForCollvBills = _AltvContrAcc.ContractAccount
[0..1] I_ContractAccountHeader _ContrAcctForPayt $projection.ContractAccountForPayment = _ContrAcctForPayt.ContractAccount
[0..1] I_ContractAccountHeader _ContrAcctForPosting $projection.ContractAccountForPosting = _ContrAcctForPosting.ContractAccount
[0..1] I_ContractAccountHeader _ContrAcctForInvcgList $projection.ContractAccountForInvcgList = _ContrAcctForInvcgList.ContractAccount
[0..1] I_Country _Country $projection.country = _Country.Country
[0..1] I_Country _SupplyingCountry $projection.SupplyingCountry = _SupplyingCountry.Country
[0..1] I_Currency _CurrencyForDDL $projection.CACurrencyForDirectDebitLimit = _CurrencyForDDL.Currency
[0..1] I_Currency _CurrencyForInvoicing $projection.CATargetCurrencyForInvoicing = _CurrencyForInvoicing.Currency
[0..1] I_PaymentCondition _PaymentCondition $projection.PaymentCondition = _PaymentCondition.PaymentCondition
[1..1] E_ContractAccountPartner _Extension $projection.ContractAccount = _Extension.ContractAccount and $projection.BusinessPartner = _Extension.BusinessPartner

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName ICTRACCPARTNER view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #REQUIRED view
Analytics.dataCategory #DIMENSION view
Analytics.internalName #LOCAL view
Analytics.dataExtraction.enabled true view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Contract Account Partner view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #NONE view
ObjectModel.representativeKey BusinessPartner view
ObjectModel.sapObjectNodeType.name ContractAccount view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XL view
VDM.viewType #BASIC view

OData Services (1)

ServiceBindingVersionContractRelease
UI_CAOVERDUEITEM_ANALYSIS UI_CAOVERDUEITEM_ANALYSIS V2 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
F0860A Analyze Overdue Items (Version 2) Transactional, Analytical Within this app an Accounts Payable/Receivable Manager (FI-CA) who among others might need to identify revenue leakages and improve cash-flow will be provided with the number and/or the amount of overdue items from SAP Contract Accounts Receivable and Payable (FI-CA ) back end system displayed dependent on various grouping and filter criteria. In case of finding irregularities the Accounts Payable/Receivable Manager (FI-CA) can create a clarification work list for being processed in back office.

Analyze Overdue Items (Version 2)

Business Role: Accounts Payable and Receivable Manager (FI-CA)

The Analyze Overdue Items (F0860) app is replaced with a new improved app version (F0860A) that offers extended analytical capabilities. For example, you can now combine all dimensions for the analysis.With the app, you display how many items are overdue or what the total amount is that overdue items add up to.

Fields (134)

KeyFieldSource TableSource FieldDescription
KEY ContractAccount vkont
KEY BusinessPartner gpart
ContractAccountName vkbez
CreationDate erdat
CreationTime ertim
CreatedByUser ernam
IsMarkedForDeletion
LastChangeDate aedatp
LastChangeTime aetimp
LastChangedByUser aenamp
CABankIDForIncomingPayments ebvty
CABankIDForOutgoingPayments abvty
CAPaymentMethodForIncgPayment ezawe
CAPaymentMethodForOutgPayment azawe
CAHouseBankReference eigbv
CAPaymentCardIDForIncomingPayt ccard_id
CAPaymentCardIDForOutgoingPayt ccard_out
SEPAMandate mndid
CADunningProcedure mahnv
CADunningNoticeGroup mgrup
CACorrespondenceDunningProced corr_mahnv
CACollectionsClerk persr
CACollectionsMasterDataGroup cmgrp
CACollectionStrategy strat
CACollectionsContactPerson cpers
ContractAccountForPayment vkonv
CABusinessPartnerForPayment gparv
CAAlternativePayer abwre
CAAlternativePayee abwra
CAAlternativeDunningRecipient abwma
CAAlternativeInvoiceRecipient abwrh
CAAlternativeCorrespncRcpnt def_rec
CAAddressIDOfAlternativePayer adrre
CAAddressIDOfAlternativePayee adrra
CAAddressIDOfAltvDunRecipient adrma
CAAddressIDOfAltvInvoiceRcpnt adrrh
CACurrencyForDirectDebitLimit ddlcu
CADirectDebitLimit ddlam
CANmbrMnthsForDirectDebitLimit ddlnm
CADirectDebitLimitCalcMode ddlxg
CATargetCurrencyForInvoicing inv_curr
CAInvcgCategory inv_category
CAInvcgSchedule inv_schedule
CABillgCycle inv_cycle
CALastDayOfBillingPeriod inv_cycle_day
CADetnCodeForAltvInvoiceForm inv_form_det_key
CABusinessPartnerForPosting gpart_inv
ContractAccountForPosting vkont_inv
CABusinessPartnerForInvcgList gpart_invlist
ContractAccountForInvcgList vkont_invlist
CAMasterAgreement makey
CAPartnerSettlementRule ptsrl
ValdtyDateForWhldgTaxExmpCert qszdt
TaxJurisdiction
CAWhldgTaxCodeOutgoingPayt qsskz_a
CAWhldgTaxCodeIncomingPayt qsskz_e
WithholdingTaxCertificate
CAAdditionalDaysForCashMgmt fdztg
CABusinessPartnerLock bpl_xpocl
CABusPartnerPostgLockExstcCode bpl_xpocl
CABusPartnerAddlLockExstcCode bpl_xaddl
CABusinessPartnerLockStartDate bpl_fdate
CABusinessPartnerLockEndDate bpl_tdate
CABPReferenceNumber exvko
CACompanyCodeGroup opbuk
AltvContractAcctForCollvBills abwvk
CAInterestCode ikey
CashPlanningGroup fdgrp
CARelationshipOfBPToContrAcct vkpbz
AddressID adrnb
CAAddressIDOfJurisdictionCode adrjdc
CAAuthorizationGroup begru
CAToleranceGroup togru
CACorrespondenceVariant coprc
PartnerCompany
CACorrespondenceActivityCode def_rec_ind
CAClearingCategory vertyp
CAClearingRestriction augrs_def
CADefaultClearingRstrcnCode augrs_def
SupplyingCountry
BusinessPlace
PaymentCondition zahlkond
CAAccountDeterminationCode
BusinessArea
CAPaymentCompanyCode _CompCodeGroup CAPaymentCompanyCode
Country
_AcctDetnCode _AcctDetnCode
_AlternativePayer _AlternativePayer
_AlternativePayee _AlternativePayee
_AltvDunningRecipient _AltvDunningRecipient
_AltvInvoiceRecipient _AltvInvoiceRecipient
_AltvCorrespncRcpnt _AltvCorrespncRcpnt
_AltvContrAcc _AltvContrAcc
_BillgCycle _BillgCycle
_BPForInvcgList _BPForInvcgList
_BPForPayment _BPForPayment
_BPForPosting _BPForPosting
_BusinessArea _BusinessArea
_BusinessPartner _BusinessPartner
_CAAuthorizationGroup _CAAuthorizationGroup
_CABusPrtnAddlLockExstcCode _CABusPrtnAddlLockExstcCode
_CABusPrtnPostgLockExstcCode _CABusPrtnPostgLockExstcCode
_CACorrespncActivityCode _CACorrespncActivityCode
_CADfltClearingRstrcnCode _CADfltClearingRstrcnCode
_CADirectDebitLimitCalcMod _CADirectDebitLimitCalcMod
_ClearingCategory _ClearingCategory
_CollContactPerson _CollContactPerson
_CollectionStrategy _CollectionStrategy
_CollMasterDataGroup _CollMasterDataGroup
_CompCode _CompCode
_CompCodeGroup _CompCodeGroup
_ContrAcc _ContrAcc
_ContrAcctForPayt _ContrAcctForPayt
_ContrAcctForInvcgList _ContrAcctForInvcgList
_ContrAcctForPosting _ContrAcctForPosting
_CorrVariant _CorrVariant
_CorrespncVar _CorrespncVar
_Country _Country
_CurrencyForDDL _CurrencyForDDL
_CurrencyForInvoicing _CurrencyForInvoicing
_DunningProcedure _DunningProcedure
_DunNoticeGroup _DunNoticeGroup
_HouseBankRef _HouseBankRef
_InvcgCategory _InvcgCategory
_InvcgSchedule _InvcgSchedule
_InterestCode _InterestCode
_MasterAgreement _MasterAgreement
_PaymentCompCode _PaymentCompCode
_PaymentCondition _PaymentCondition
_PaytMethodIncg _PaytMethodIncg
_PaytMethodOutg _PaytMethodOutg
_RelshpOfBP _RelshpOfBP
_SupplyingCountry _SupplyingCountry
_ToleranceGroup _ToleranceGroup
@AbapCatalog.sqlViewName: 'ICTRACCPARTNER'

@AccessControl: { authorizationCheck: #MANDATORY,
                  personalData: { blocking: #REQUIRED,
                                  blockingIndicator: ['_BusinessPartner.IsBusinessPurposeCompleted'] } }

@Analytics: { dataCategory: #DIMENSION,
              internalName: #LOCAL,
              dataExtraction: { enabled: true,
                                delta.changeDataCapture: { mapping: [ { table        : 'FKKVKP',
                                                                        role         : #MAIN,
                                                                        viewElement  : ['ContractAccount', 'BusinessPartner'],
                                                                        tableElement : ['VKONT', 'GPART' ] },
                                                                      { table        : 'T001',
                                                                        role         : #LEFT_OUTER_TO_ONE_JOIN,
                                                                        viewElement  : ['CAStandardCompanyCode'],
                                                                        tableElement : ['BUKRS'] },
                                                                      { table        : 'TFK001G',
                                                                        role         : #LEFT_OUTER_TO_ONE_JOIN,
                                                                        viewElement  : ['CACompanyCodeGroup'],
                                                                        tableElement : ['OPBUK'] } ] } } }

@ClientHandling.algorithm: #SESSION_VARIABLE

@EndUserText.label: 'Contract Account Partner'

@Metadata: {  allowExtensions:true,
              ignorePropagatedAnnotations: true }

@ObjectModel: { modelingPattern: #NONE,
                representativeKey: 'BusinessPartner',
                sapObjectNodeType.name: 'ContractAccount',
                supportedCapabilities: [ #CDS_MODELING_ASSOCIATION_TARGET,
                                         #CDS_MODELING_DATA_SOURCE,
                                         #SQL_DATA_SOURCE,
                                         #EXTRACTION_DATA_SOURCE,
                                         #ANALYTICAL_DIMENSION  ],
                usageType: { dataClass: #MASTER,
                             serviceQuality: #B,
                             sizeCategory: #XL } }

@VDM.viewType: #BASIC

define view I_ContractAccountPartner
  as select from fkkvkp

  association [0..1] to I_BusinessArea                as _BusinessArea                on  $projection.BusinessArea = _BusinessArea.BusinessArea
  association [1..1] to I_BusinessPartner             as _BusinessPartner             on  $projection.BusinessPartner = _BusinessPartner.BusinessPartner
  association [0..1] to I_BusinessPartner             as _AlternativePayer            on  $projection.CAAlternativePayer = _AlternativePayer.BusinessPartner
  association [0..1] to I_BusinessPartner             as _AlternativePayee            on  $projection.CAAlternativePayee = _AlternativePayee.BusinessPartner
  association [0..1] to I_BusinessPartner             as _AltvDunningRecipient        on  $projection.CAAlternativeDunningRecipient = _AltvDunningRecipient.BusinessPartner
  association [0..1] to I_BusinessPartner             as _AltvInvoiceRecipient        on  $projection.CAAlternativeInvoiceRecipient = _AltvInvoiceRecipient.BusinessPartner
  association [0..1] to I_BusinessPartner             as _AltvCorrespncRcpnt          on  $projection.CAAlternativeCorrespncRcpnt = _AltvCorrespncRcpnt.BusinessPartner
  association [0..1] to I_BusinessPartner             as _BPForPayment                on  $projection.CABusinessPartnerForPayment = _BPForPayment.BusinessPartner
  association [0..1] to I_BusinessPartner             as _CollContactPerson           on  $projection.CACollectionsContactPerson = _CollContactPerson.BusinessPartner
  association [0..1] to I_BusinessPartner             as _BPForPosting                on  $projection.CABusinessPartnerForPosting = _BPForPosting.BusinessPartner
  association [0..1] to I_BusinessPartner             as _BPForInvcgList              on  $projection.CABusinessPartnerForInvcgList = _BPForInvcgList.BusinessPartner
  association [0..1] to I_CAAccountDetnCode           as _AcctDetnCode                on  $projection.CAAccountDeterminationCode = _AcctDetnCode.CAAccountDeterminationCode
  association [0..1] to I_CAAuthorizationGroup        as _CAAuthorizationGroup        on  $projection.CAAuthorizationGroup                 = _CAAuthorizationGroup.CAAuthorizationGroup
                                                                                      and _CAAuthorizationGroup.CAAuthorizationGroupObject = 'CA_CONTACC'
  association [1..1] to I_CABillgCycle                as _BillgCycle                  on  $projection.CABillgCycle = _BillgCycle.CABillgCycle
  association [0..1] to I_CABusPrtnAddlLockExstcCode  as _CABusPrtnAddlLockExstcCode  on  $projection.CABusPartnerAddlLockExstcCode = _CABusPrtnAddlLockExstcCode.CABusPartnerAddlLockExstcCode
  association [0..1] to I_CABusPrtnPostgLockExstcCode as _CABusPrtnPostgLockExstcCode on  $projection.CABusPartnerPostgLockExstcCode = _CABusPrtnPostgLockExstcCode.CABusPartnerPostgLockExstcCode
  association [0..1] to I_CAClearingCategory          as _ClearingCategory            on  $projection.CAClearingCategory = _ClearingCategory.CAClearingCategory
  association [0..1] to I_CACollectionStrategy        as _CollectionStrategy          on  $projection.CACollectionStrategy = _CollectionStrategy.CACollectionStrategy
  association [0..1] to I_CACollMasterDataGroup       as _CollMasterDataGroup         on  $projection.CACollectionsMasterDataGroup = _CollMasterDataGroup.CACollectionsMasterDataGroup
  association [1..1] to I_CACompanyCodeGroup          as _CompCodeGroup               on  $projection.CACompanyCodeGroup = _CompCodeGroup.CACompanyCodeGroup
  association [0..1] to I_CACorrespncActivityCode     as _CACorrespncActivityCode     on  $projection.CACorrespondenceActivityCode = _CACorrespncActivityCode.CACorrespondenceActivityCode
  association [1..1] to I_CACorrespondenceVariant     as _CorrVariant                 on  $projection.CACorrespondenceVariant = _CorrVariant.CACorrespondenceVariant
  association [1..1] to I_CACorrespondenceVariant     as _CorrespncVar                on  $projection.CACorrespondenceVariant = _CorrespncVar.CACorrespondenceVariant
  association [1..1] to I_CADfltClearingRstrcnCode    as _CADfltClearingRstrcnCode    on  $projection.CADefaultClearingRstrcnCode = _CADfltClearingRstrcnCode.CADefaultClearingRstrcnCode
  association [0..1] to I_CADirectDebitLimitCalcMode  as _CADirectDebitLimitCalcMod   on  $projection.CADirectDebitLimitCalcMode = _CADirectDebitLimitCalcMod.CADirectDebitLimitCalcMode
  association [0..1] to I_CADunningProcedure          as _DunningProcedure            on  $projection.CADunningProcedure = _DunningProcedure.CADunningProcedure
  association [0..1] to I_CADunningNoticeGroup        as _DunNoticeGroup              on  $projection.CADunningNoticeGroup = _DunNoticeGroup.CADunningNoticeGroup
  association [0..1] to I_CAHouseBankReference        as _HouseBankRef                on  $projection.capaymentcompanycode = _HouseBankRef.CAPaymentCompanyCode
                                                                                      and $projection.CAHouseBankReference = _HouseBankRef.CAHouseBankReference
  association [0..1] to I_CAInterestCode              as _InterestCode                on  $projection.CAInterestCode = _InterestCode.CAInterestCode
  association [0..1] to I_CAInvcgCategory             as _InvcgCategory               on  $projection.CAInvcgCategory = _InvcgCategory.CAInvcgCategory
  association [1..1] to I_CAInvcgSchedule             as _InvcgSchedule               on  $projection.CAInvcgSchedule = _InvcgSchedule.CAInvcgSchedule
  association [1..1] to I_CAMasterAgreement           as _MasterAgreement             on  $projection.CAMasterAgreement = _MasterAgreement.CAMasterAgreement
  association [0..1] to I_CAPaymentMethod             as _PaytMethodIncg              on  $projection.country                       = _PaytMethodIncg.Country
                                                                                      and $projection.CAPaymentMethodForIncgPayment = _PaytMethodIncg.CAPaymentMethod
  association [0..1] to I_CAPaymentMethod             as _PaytMethodOutg              on  $projection.country                       = _PaytMethodOutg.Country
                                                                                      and $projection.CAPaymentMethodForOutgPayment = _PaytMethodOutg.CAPaymentMethod
  association [0..1] to I_CAToleranceGroup            as _ToleranceGroup              on  $projection.CAToleranceGroup = _ToleranceGroup.CAToleranceGroup
  association [1..1] to I_CompanyCode                 as _CompCode                    on  $projection.CAStandardCompanyCode = _CompCode.CompanyCode
  association [1..1] to I_CompanyCode                 as _PaymentCompCode             on  $projection.capaymentcompanycode = _PaymentCompCode.CompanyCode
  association [0..1] to I_ContrAcctPrtnRelshpType     as _RelshpOfBP                  on  $projection.CARelationshipOfBPToContrAcct = _RelshpOfBP.CARelationshipOfBPToContrAcct
  association [1..1] to I_ContractAccountHeader       as _ContrAcc                    on  $projection.ContractAccount = _ContrAcc.ContractAccount
  association [0..1] to I_ContractAccountHeader       as _AltvContrAcc                on  $projection.AltvContractAcctForCollvBills = _AltvContrAcc.ContractAccount
  association [0..1] to I_ContractAccountHeader       as _ContrAcctForPayt            on  $projection.ContractAccountForPayment = _ContrAcctForPayt.ContractAccount
  association [0..1] to I_ContractAccountHeader       as _ContrAcctForPosting         on  $projection.ContractAccountForPosting = _ContrAcctForPosting.ContractAccount
  association [0..1] to I_ContractAccountHeader       as _ContrAcctForInvcgList       on  $projection.ContractAccountForInvcgList = _ContrAcctForInvcgList.ContractAccount
  association [0..1] to I_Country                     as _Country                     on  $projection.country = _Country.Country
  association [0..1] to I_Country                     as _SupplyingCountry            on  $projection.SupplyingCountry = _SupplyingCountry.Country
  association [0..1] to I_Currency                    as _CurrencyForDDL              on  $projection.CACurrencyForDirectDebitLimit = _CurrencyForDDL.Currency
  association [0..1] to I_Currency                    as _CurrencyForInvoicing        on  $projection.CATargetCurrencyForInvoicing = _CurrencyForInvoicing.Currency
  association [0..1] to I_PaymentCondition            as _PaymentCondition            on  $projection.PaymentCondition = _PaymentCondition.PaymentCondition

  association [1..1] to E_ContractAccountPartner      as _Extension                   on  $projection.ContractAccount = _Extension.ContractAccount
                                                                                      and $projection.BusinessPartner = _Extension.BusinessPartner

{
      @ObjectModel.foreignKey.association: '_ContrAcc'
  key vkont                                         as ContractAccount,
  key gpart                                         as BusinessPartner,

      vkbez                                         as ContractAccountName,

      /* administration data */
      @Semantics.systemDate.createdAt: true
      erdat                                         as CreationDate,
      @Semantics.systemTime.createdAt: true
      ertim                                         as CreationTime,
      @Semantics.user.createdBy: true
      ernam                                         as CreatedByUser,
      cast( loevm as loevm preserving type )        as IsMarkedForDeletion,
      @Semantics.systemDate.lastChangedAt: true
      aedatp                                        as LastChangeDate,
      @Semantics.systemTime.lastChangedAt: true
      aetimp                                        as LastChangeTime,
      @Semantics.user.lastChangedBy: true
      aenamp                                        as LastChangedByUser,

      /* payment data */
      ebvty                                         as CABankIDForIncomingPayments,
      abvty                                         as CABankIDForOutgoingPayments,
      @ObjectModel.foreignKey.association: '_PaytMethodIncg'
      ezawe                                         as CAPaymentMethodForIncgPayment,
      @ObjectModel.foreignKey.association: '_PaytMethodOutg'
      azawe                                         as CAPaymentMethodForOutgPayment,
      @ObjectModel.foreignKey.association: '_HouseBankRef'
      eigbv                                         as CAHouseBankReference,
      ccard_id                                      as CAPaymentCardIDForIncomingPayt,
      ccard_out                                     as CAPaymentCardIDForOutgoingPayt,
      mndid                                         as SEPAMandate,

      /* dunning and collections */
      @ObjectModel.foreignKey.association: '_DunningProcedure'
      mahnv                                         as CADunningProcedure,
      @ObjectModel.foreignKey.association: '_DunNoticeGroup'
      mgrup                                         as CADunningNoticeGroup,
      corr_mahnv                                    as CACorrespondenceDunningProced,
      persr                                         as CACollectionsClerk,
      @ObjectModel.foreignKey.association: '_CollMasterDataGroup'
      cmgrp                                         as CACollectionsMasterDataGroup,
      @ObjectModel.foreignKey.association: '_CollectionStrategy'
      strat                                         as CACollectionStrategy,

      @ObjectModel.foreignKey.association: '_CollContactPerson'
      cpers                                         as CACollectionsContactPerson,

      /* alternative business partners */
      @ObjectModel.foreignKey.association: '_ContrAcctForPayt'
      vkonv                                         as ContractAccountForPayment,
      @ObjectModel.foreignKey.association: '_BPForPayment'
      gparv                                         as CABusinessPartnerForPayment,
      @ObjectModel.foreignKey.association: '_AlternativePayer'
      abwre                                         as CAAlternativePayer,
      @ObjectModel.foreignKey.association: '_AlternativePayee'
      abwra                                         as CAAlternativePayee,
      @ObjectModel.foreignKey.association: '_AltvDunningRecipient'
      abwma                                         as CAAlternativeDunningRecipient,
      @ObjectModel.foreignKey.association: '_AltvInvoiceRecipient'
      abwrh                                         as CAAlternativeInvoiceRecipient,
      @ObjectModel.foreignKey.association: '_AltvCorrespncRcpnt'
      def_rec                                       as CAAlternativeCorrespncRcpnt,
      //@ObjectModel.foreignKey.association: '_AddressOfAltvPayer'

      adrre                                         as CAAddressIDOfAlternativePayer,
      //@ObjectModel.foreignKey.association: '_AddressOfAltvPayee'

      adrra                                         as CAAddressIDOfAlternativePayee,
      //@ObjectModel.foreignKey.association: '_AddressOfDunRcpnt'

      adrma                                         as CAAddressIDOfAltvDunRecipient,
      //@ObjectModel.foreignKey.association: '_AddressOFInvcRcpnt'

      adrrh                                         as CAAddressIDOfAltvInvoiceRcpnt,

      /* direct debit limit */
      @ObjectModel.foreignKey.association: '_CurrencyForDDL'
      ddlcu                                         as CACurrencyForDirectDebitLimit,
      @Semantics.amount.currencyCode: 'CACurrencyForDirectDebitLimit'
      ddlam                                         as CADirectDebitLimit,
      ddlnm                                         as CANmbrMnthsForDirectDebitLimit,
      @ObjectModel.foreignKey.association: '_CADirectDebitLimitCalcMod'
      ddlxg                                         as CADirectDebitLimitCalcMode,

      /* billing and invoicing */
      inv_cycle_start                               as CAStartDateForBillingPeriod,
      @ObjectModel.foreignKey.association: '_CurrencyForInvoicing'
      inv_curr                                      as CATargetCurrencyForInvoicing,
      @ObjectModel.foreignKey.association: '_InvcgCategory'
      inv_category                                  as CAInvcgCategory,
      @ObjectModel.foreignKey.association: '_InvcgSchedule'
      inv_schedule                                  as CAInvcgSchedule,
      @ObjectModel.foreignKey.association: '_BillgCycle'
      inv_cycle                                     as CABillgCycle,
      inv_cycle_day                                 as CALastDayOfBillingPeriod,
      inv_form_det_key                              as CADetnCodeForAltvInvoiceForm,
      @ObjectModel.foreignKey.association: '_BPForPosting'
      gpart_inv                                     as CABusinessPartnerForPosting,
      @ObjectModel.foreignKey.association: '_ContrAcctForPosting'
      vkont_inv                                     as ContractAccountForPosting,
      @ObjectModel.foreignKey.association: '_BPForInvcgList'
      gpart_invlist                                 as CABusinessPartnerForInvcgList,
      @ObjectModel.foreignKey.association: '_ContrAcctForInvcgList'
      vkont_invlist                                 as ContractAccountForInvcgList,
      //@ObjectModel.foreignKey.association: '_MasterAgreement'

      makey                                         as CAMasterAgreement,
      //@ObjectModel.foreignKey.association: '_PartSettlmtRule'

      ptsrl                                         as CAPartnerSettlementRule,

      /* tax data */
      qszdt                                         as ValdtyDateForWhldgTaxExmpCert,
      //@ObjectModel.foreignKey.association: '_TaxJurisdiction'

      cast( txjcd as fis_txjcd preserving type )    as TaxJurisdiction,
      qsskz_a                                       as CAWhldgTaxCodeOutgoingPayt,
      qsskz_e                                       as CAWhldgTaxCodeIncomingPayt,
      cast( qsznr as fis_wtcert preserving type )   as WithholdingTaxCertificate,

      /* other data */
      fdztg                                         as CAAdditionalDaysForCashMgmt,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'CABusPartnerPostgLockExstcCode'
      bpl_xpocl                                     as CABusinessPartnerLock,
      @ObjectModel.foreignKey.association: '_CABusPrtnPostgLockExstcCode'
      bpl_xpocl                                     as CABusPartnerPostgLockExstcCode,
      @ObjectModel.foreignKey.association: '_CABusPrtnAddlLockExstcCode'
      bpl_xaddl                                     as CABusPartnerAddlLockExstcCode,
      bpl_fdate                                     as CABusinessPartnerLockStartDate,
      bpl_tdate                                     as CABusinessPartnerLockEndDate,
      exvko                                         as CABPReferenceNumber,
      @ObjectModel.foreignKey.association: '_CompCodeGroup'
      opbuk                                         as CACompanyCodeGroup,
      @ObjectModel.foreignKey.association: '_CompCode'
      stdbk                                         as CAStandardCompanyCode,
      @ObjectModel.foreignKey.association: '_AltvContrAcc'
      abwvk                                         as AltvContractAcctForCollvBills,
      @ObjectModel.foreignKey.association: '_InterestCode'
      ikey                                          as CAInterestCode,
      fdgrp                                         as CashPlanningGroup,
      @ObjectModel.foreignKey.association: '_RelshpOfBP'
      vkpbz                                         as CARelationshipOfBPToContrAcct,
      //@ObjectModel.foreignKey.association: '_Address'

      adrnb                                         as AddressID,
      //@ObjectModel.foreignKey.association: '_AddressOfJurisdiction'

      adrjdc                                        as CAAddressIDOfJurisdictionCode,
      @ObjectModel.foreignKey.association: '_CAAuthorizationGroup'
      begru                                         as CAAuthorizationGroup,
      @ObjectModel.foreignKey.association: '_ToleranceGroup'
      togru                                         as CAToleranceGroup,
      coprc                                         as CACorrespondenceVariant,
      cast( vbund as fis_rassc preserving type )    as PartnerCompany,
      @ObjectModel.foreignKey.association: '_CACorrespncActivityCode'
      def_rec_ind                                   as CACorrespondenceActivityCode,
      @ObjectModel.foreignKey.association: '_ClearingCategory'
      vertyp                                        as CAClearingCategory,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'CADefaultClearingRstrcnCode'
      augrs_def                                     as CAClearingRestriction,
      @ObjectModel.foreignKey.association: '_CADfltClearingRstrcnCode'
      augrs_def                                     as CADefaultClearingRstrcnCode,
      @ObjectModel.foreignKey.association: '_SupplyingCountry'
      cast( landl as fac_landl preserving type )    as SupplyingCountry,
      cast( bupla as farp_bupla preserving type )   as BusinessPlace,

      /* include SI_FKKVKPSICA  */
      @ObjectModel.foreignKey.association: '_PaymentCondition'
      zahlkond                                      as PaymentCondition,
      @ObjectModel.foreignKey.association: '_AcctDetnCode'
      cast( kofiz_sd  as kofiz_kk preserving type ) as CAAccountDeterminationCode,
      @ObjectModel.foreignKey.association: '_BusinessArea'
      cast( gsber as fis_rbusa preserving type )    as BusinessArea,

      // needed for house bank data

      @ObjectModel.foreignKey.association: '_PaymentCompCode'
      _CompCodeGroup.CAPaymentCompanyCode,
      // needed for payment method data

      @ObjectModel.foreignKey.association: '_Country'
      _CompCodeGroup._CompanyCode.Country,

      // propagation of associations

      _AcctDetnCode,
      _AlternativePayer,
      _AlternativePayee,
      _AltvDunningRecipient,
      _AltvInvoiceRecipient,
      _AltvCorrespncRcpnt,
      _AltvContrAcc,
      _BillgCycle,
      _BPForInvcgList,
      _BPForPayment,
      _BPForPosting,
      _BusinessArea,
      _BusinessPartner,
      _CAAuthorizationGroup,
      _CABusPrtnAddlLockExstcCode,
      _CABusPrtnPostgLockExstcCode,
      _CACorrespncActivityCode,
      _CADfltClearingRstrcnCode,
      _CADirectDebitLimitCalcMod,
      _ClearingCategory,
      _CollContactPerson,
      _CollectionStrategy,
      _CollMasterDataGroup,
      _CompCode,
      _CompCodeGroup,
      _ContrAcc,
      _ContrAcctForPayt,
      _ContrAcctForInvcgList,
      _ContrAcctForPosting,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_CorrespncVar'
      _CorrVariant,
      _CorrespncVar,

      _Country,
      _CurrencyForDDL,
      _CurrencyForInvoicing,
      _DunningProcedure,
      _DunNoticeGroup,
      _HouseBankRef,
      _InvcgCategory,
      _InvcgSchedule,
      _InterestCode,
      _MasterAgreement,
      _PaymentCompCode,
      _PaymentCondition,
      _PaytMethodIncg,
      _PaytMethodOutg,
      _RelshpOfBP,
      _SupplyingCountry,
      _ToleranceGroup

}