I_InsuranceContract

DDL: I_INSURANCECONTRACT Type: view_entity COMPOSITE

Contract in Insurance Policy

I_InsuranceContract is a Composite CDS View that provides data about "Contract in Insurance Policy" in SAP S/4HANA. It reads from 3 data sources (I_InsuranceContractBasic, I_InsurPlcyRegPremConfig, R_InsurancePolicyPremium) and exposes 62 fields with key fields InsurPlcyUUID, InsurPlcyInsurContr. It has 24 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_InsuranceContractBasic Contract from
I_InsurPlcyRegPremConfig PremiumConfig inner
R_InsurancePolicyPremium RegularPremium inner

Associations (24)

CardinalityTargetAliasCondition
[1..1] I_Currency _Currency $projection.InsurPlcyPremiumCurrency = _Currency.Currency
[1..1] I_InsurPlcyInsurer _InsurPlcyInsurer $projection.InsrrIDByInsrr = _InsurPlcyInsurer.InsrrIDByInsrr
[1..1] I_InsurContrCanclnReason _InsurContrCanclnReason $projection.InsurContrCanclnRsn = _InsurContrCanclnReason.InsurContrCanclnRsn
[1..1] I_InsurPlcyLineOfBusiness _InsurPlcyLineOfBusiness $projection.InsurPlcyLineOfBusiness = _InsurPlcyLineOfBusiness.InsurPlcyLineOfBusiness
[1..1] I_InsurContrLifeCycleStatus _InsurContrLifeCycleStatus $projection.InsurContrLifeCycSts = _InsurContrLifeCycleStatus.InsurContrLifeCycSts
[0..1] I_InsurContractRenewalTypeLink _InsurContractRenewalType $projection.InsurContrRnwlType = _InsurContractRenewalType.InsurContrRnwlType and $projection.InsurPlcyProductTemplate = _InsurContractRenewalType.InsurPlcyProductTemplate
[1..1] I_InsurContrTariffVariantLink _InsurContractTariffVariant $projection.InsurContrTrifVar = _InsurContractTariffVariant.InsurContrTrifVar and $projection.InsurPlcyProductTemplate = _InsurContractTariffVariant.InsurPlcyProductTemplate
[1..1] I_InsurPlcyDiscProtectionLink _InsurPlcyDiscProtection $projection.InsurPlcyDiscountProtection = _InsurPlcyDiscProtection.InsurPlcyDiscountProtection and $projection.InsurPlcyProductTemplate = _InsurPlcyDiscProtection.InsurPlcyProductTemplate
[1..*] I_InsurPlcyTemplateT _InsurPlcyTemplateT $projection.InsurPlcyProductTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate
[1..1] I_InsurPremPaytRcrrcFrqcy _InsurPremPaytRcrrcFrqcy $projection.InsurPremSpecPaytRcrrcFrqcy = _InsurPremPaytRcrrcFrqcy.InsurPremSpecPaytRcrrcFrqcy
[1..1] I_InsurApplLifeCycleStatus _InsurApplLifeCycleStatus $projection.InsurApplLifeCycSts = _InsurApplLifeCycleStatus.InsurApplLifeCycSts
[1..1] I_InsurApplRejectionReason _InsurApplRejectionReason $projection.InsurApplRjcnRsn = _InsurApplRejectionReason.InsurApplRjcnRsn
[1..1] I_InsurPolicyProductTemplate _InsurPolicyProductTemplate $projection.InsurPlcyProductTemplate = _InsurPolicyProductTemplate.InsurPlcyTemplate
[0..*] I_InsurPlcyCoveragePackage _InsurPlcyCoveragePackage
[0..*] I_InsurancePolicyContrCoverage _InsurancePolicyContrCoverage
[0..*] I_InsurancePolicyContrLimit _InsurancePolicyContrLimit
[0..*] I_InsurancePolicyContrClause _InsurancePolicyContrClause
[0..*] I_InsurPlcyContrSurchrgDisc _InsurPlcyContrSurchrgDisc
[1..*] I_InsurancePolicyPremPayer _InsurancePolicyPremPayer
[0..*] I_InsurPolicyContrDeductible _InsurPolicyContrDeductible
[0..*] I_InsurPlcyContrInsuredObject _InsurPlcyContrInsuredObject
[0..*] I_InsurContrPlannedProcessing _InsurContrPlndProcg
[0..*] I_InsurPlcyContractBonusMalus _InsurPlcyContractBonusMalus
[0..*] I_InsurPlcyContractBeneficiary _InsurPlcyContractBeneficiary

Annotations (11)

NameValueLevelField
EndUserText.label Contract in Insurance Policy view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
ObjectModel.representativeKey InsurPlcyInsurContr view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
Metadata.allowExtensions false view
Metadata.ignorePropagatedAnnotations false view
Analytics.technicalName InsurContr view

Fields (62)

KeyFieldSource TableSource FieldDescription
KEY InsurPlcyUUID I_InsuranceContractBasic InsurPlcyUUID
KEY InsurPlcyInsurContr I_InsuranceContractBasic InsurPlcyInsurContr
InsurPlcyJrnlNmbr I_InsuranceContractBasic InsurPlcyJrnlNmbr
InsurPlcyJrnlEndNmbr I_InsuranceContractBasic InsurPlcyJrnlEndNmbr
InsurPlcyProductPackageID I_InsuranceContractBasic InsurPlcyProductPackageID
InsuranceContract I_InsuranceContractBasic InsuranceContract
InsurPlcyProductTemplate I_InsuranceContractBasic InsurPlcyProductTemplate
InsurPlcyLineOfBusiness I_InsuranceContractBasic InsurPlcyLineOfBusiness
InsurPlcyContractStartDateTime I_InsuranceContractBasic InsurPlcyContractStartDateTime
InsurPlcyContractEndDateTime I_InsuranceContractBasic InsurPlcyContractEndDateTime
InsrrIDByInsrr I_InsuranceContractBasic InsrrIDByInsrr
InsurContrLifeCycSts I_InsuranceContractBasic InsurContrLifeCycSts
InsurContrTrifVar I_InsuranceContractBasic InsurContrTrifVar
InsurCollDisbmtInsurObj I_InsuranceContractBasic InsurCollDisbmtInsurObj
InsurContrRnwlType I_InsuranceContractBasic InsurContrRnwlType
InsurContrCanclnRsn I_InsuranceContractBasic InsurContrCanclnRsn
InsurPlcyContrCanclnDateTime I_InsuranceContractBasic InsurPlcyContrCanclnDateTime
InsurApplRjcnRsn I_InsuranceContractBasic InsurApplRjcnRsn
InsurApplLifeCycSts I_InsuranceContractBasic InsurApplLifeCycSts
InsurPlcyContrStartIsDayOfRegn I_InsuranceContractBasic InsurPlcyContrStartIsDayOfRegn
InsurPlcyDiscountProtection I_InsuranceContractBasic InsurPlcyDiscountProtection
LastChangeDateTime I_InsuranceContractBasic LastChangeDateTime
InsurPlcyCountry I_InsuranceContractBasic InsurPlcyCountry
InsurancePolicyPremium R_InsurancePolicyPremium InsurancePolicyPremium
InsurPlcyPremiumJournalNumber R_InsurancePolicyPremium InsurPlcyJrnlNmbr
InsurPlcyPremJournalEndNumber R_InsurancePolicyPremium InsurPlcyJrnlEndNmbr
InsurPremSpecPaytRcrrcFrqcy R_InsurancePolicyPremium InsurPremSpecPaytRcrrcFrqcy
InsurPerdPremBfrTaxPaytAmt R_InsurancePolicyPremium InsurPerdPremBfrTaxPaytAmt
InsurPerdPremAftTaxPaytAmt R_InsurancePolicyPremium InsurPerdPremAftTaxPaytAmt
InsurPremType R_InsurancePolicyPremium InsurPremType
InsurContrIsPremExempt R_InsurancePolicyPremium InsurPlcyCvrgIsPremiumExempt
InsurContrPremExmpEndDte R_InsurancePolicyPremium InsurPlcyCvrgPremExmpEndDate
InsurPlcyPremiumCurrency R_InsurancePolicyPremium InsurPlcyPremiumCurrency
InsurPlcyTotAnnPremAmt R_InsurancePolicyPremium InsurPlcyTotAnnPremAmt
InsurPlcyPerdPremBfrTxPaytAmt R_InsurancePolicyPremium InsurPlcyPerdPremBfrTxPaytAmt
InsurPlcyMainDueDayMonth R_InsurancePolicyPremium InsurPlcyMainDueDayMonth
InsurPlcyPremiumTemplate R_InsurancePolicyPremium InsurPlcyPremiumTemplate
_InsurancePolicy _InsurancePolicy
_InsurPlcyCoveragePackage _InsurPlcyCoveragePackage
_InsurancePolicyPremPayer _InsurancePolicyPremPayer
_InsurancePolicyContrCoverage _InsurancePolicyContrCoverage
_InsurancePolicyContrLimit _InsurancePolicyContrLimit
_InsurancePolicyContrClause _InsurancePolicyContrClause
_InsurPlcyContrSurchrgDisc _InsurPlcyContrSurchrgDisc
_InsurPolicyContrDeductible _InsurPolicyContrDeductible
_InsurPlcyContrInsuredObject _InsurPlcyContrInsuredObject
_InsurPolicyProductTemplate _InsurPolicyProductTemplate
_InsurContrPlndProcg _InsurContrPlndProcg
_InsurPlcyContractBonusMalus _InsurPlcyContractBonusMalus
_InsurPlcyContractBeneficiary _InsurPlcyContractBeneficiary
_InsurContrCanclnReason _InsurContrCanclnReason
_InsurPlcyTemplateT _InsurPlcyTemplateT
_InsurPlcyInsurer _InsurPlcyInsurer
_InsurPlcyLineOfBusiness _InsurPlcyLineOfBusiness
_InsurContrLifeCycleStatus _InsurContrLifeCycleStatus
_InsurContractRenewalType _InsurContractRenewalType
_InsurContractTariffVariant _InsurContractTariffVariant
_InsurPlcyDiscProtection _InsurPlcyDiscProtection
_Currency _Currency
_InsurPremPaytRcrrcFrqcy _InsurPremPaytRcrrcFrqcy
_InsurApplLifeCycleStatus _InsurApplLifeCycleStatus
_InsurApplRejectionReason _InsurApplRejectionReason
@EndUserText.label: 'Contract in Insurance Policy'
@VDM: {
  viewType:#COMPOSITE,
  lifecycle.contract.type:#PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA'),
  privilegedAssociations: [  '_InsurPlcyCoveragePackage',
                             '_InsurancePolicyPremPayer',
                             '_InsurancePolicyContrLimit',
                             '_InsurancePolicyContrClause',
                             '_InsurPlcyContrSurchrgDisc',
                             '_InsurPolicyContrDeductible',
                             '_InsurPlcyContrInsuredObject',
                             '_InsurancePolicyContrCoverage',
                             '_InsurContrPlndProcg']
}
@ObjectModel: {
   representativeKey: 'InsurPlcyInsurContr',
   semanticKey: [ 'InsuranceContract' ],
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #XXL
   },
   supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE ]
}
@Metadata: {
  allowExtensions:false,
  ignorePropagatedAnnotations:false
}
@Analytics: {
  technicalName: 'InsurContr'
}

define view entity I_InsuranceContract
  as select from I_InsuranceContractBasic as Contract

    inner join   R_InsurancePolicyPremium as RegularPremium on  RegularPremium.InsurPlcyUUID              = Contract.InsurPlcyUUID
                                                            and RegularPremium.InsurPlcyInsurContr        = Contract.InsurPlcyInsurContr
                                                            and RegularPremium.InsurPlcyCoveragePackageID = 0
                                                            and RegularPremium.InsurPlcyCoverageID        = 0

  // Filter Premium Objects

    inner join   I_InsurPlcyRegPremConfig as PremiumConfig  on  PremiumConfig.InsurPlcyProductTemplate = Contract.InsurPlcyProductTemplate
                                                            and PremiumConfig.InsurPremType            = RegularPremium.InsurPremType

  association        to parent I_InsurancePolicy       as _InsurancePolicy            on  $projection.InsurPlcyUUID = _InsurancePolicy.InsurPlcyUUID

  composition [0..*] of I_InsurPlcyCoveragePackage     as _InsurPlcyCoveragePackage
  composition [0..*] of I_InsurancePolicyContrCoverage as _InsurancePolicyContrCoverage
  composition [0..*] of I_InsurancePolicyContrLimit    as _InsurancePolicyContrLimit
  composition [0..*] of I_InsurancePolicyContrClause   as _InsurancePolicyContrClause
  composition [0..*] of I_InsurPlcyContrSurchrgDisc    as _InsurPlcyContrSurchrgDisc
  composition [1..*] of I_InsurancePolicyPremPayer     as _InsurancePolicyPremPayer
  composition [0..*] of I_InsurPolicyContrDeductible   as _InsurPolicyContrDeductible
  composition [0..*] of I_InsurPlcyContrInsuredObject  as _InsurPlcyContrInsuredObject
  composition [0..*] of I_InsurContrPlannedProcessing  as _InsurContrPlndProcg
  composition [0..*] of I_InsurPlcyContractBonusMalus  as _InsurPlcyContractBonusMalus
  composition [0..*] of I_InsurPlcyContractBeneficiary as _InsurPlcyContractBeneficiary

  association [1..1] to I_Currency                     as _Currency                   on  $projection.InsurPlcyPremiumCurrency = _Currency.Currency
  association [1..1] to I_InsurPlcyInsurer             as _InsurPlcyInsurer           on  $projection.InsrrIDByInsrr = _InsurPlcyInsurer.InsrrIDByInsrr
  association [1..1] to I_InsurContrCanclnReason       as _InsurContrCanclnReason     on  $projection.InsurContrCanclnRsn = _InsurContrCanclnReason.InsurContrCanclnRsn
  association [1..1] to I_InsurPlcyLineOfBusiness      as _InsurPlcyLineOfBusiness    on  $projection.InsurPlcyLineOfBusiness = _InsurPlcyLineOfBusiness.InsurPlcyLineOfBusiness
  association [1..1] to I_InsurContrLifeCycleStatus    as _InsurContrLifeCycleStatus  on  $projection.InsurContrLifeCycSts = _InsurContrLifeCycleStatus.InsurContrLifeCycSts
  association [0..1] to I_InsurContractRenewalTypeLink as _InsurContractRenewalType   on  $projection.InsurContrRnwlType       = _InsurContractRenewalType.InsurContrRnwlType
                                                                                      and $projection.InsurPlcyProductTemplate = _InsurContractRenewalType.InsurPlcyProductTemplate
  association [1..1] to I_InsurContrTariffVariantLink  as _InsurContractTariffVariant on  $projection.InsurContrTrifVar        = _InsurContractTariffVariant.InsurContrTrifVar
                                                                                      and $projection.InsurPlcyProductTemplate = _InsurContractTariffVariant.InsurPlcyProductTemplate
  association [1..1] to I_InsurPlcyDiscProtectionLink  as _InsurPlcyDiscProtection    on  $projection.InsurPlcyDiscountProtection = _InsurPlcyDiscProtection.InsurPlcyDiscountProtection
                                                                                      and $projection.InsurPlcyProductTemplate    = _InsurPlcyDiscProtection.InsurPlcyProductTemplate
  association [1..*] to I_InsurPlcyTemplateT           as _InsurPlcyTemplateT         on  $projection.InsurPlcyProductTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate
  association [1..1] to I_InsurPremPaytRcrrcFrqcy      as _InsurPremPaytRcrrcFrqcy    on  $projection.InsurPremSpecPaytRcrrcFrqcy = _InsurPremPaytRcrrcFrqcy.InsurPremSpecPaytRcrrcFrqcy
  association [1..1] to I_InsurApplLifeCycleStatus     as _InsurApplLifeCycleStatus   on  $projection.InsurApplLifeCycSts = _InsurApplLifeCycleStatus.InsurApplLifeCycSts
  association [1..1] to I_InsurApplRejectionReason     as _InsurApplRejectionReason   on  $projection.InsurApplRjcnRsn = _InsurApplRejectionReason.InsurApplRjcnRsn
  association [1..1] to I_InsurPolicyProductTemplate   as _InsurPolicyProductTemplate on  $projection.InsurPlcyProductTemplate = _InsurPolicyProductTemplate.InsurPlcyTemplate

{

  key Contract.InsurPlcyUUID,
  key Contract.InsurPlcyInsurContr,
      Contract.InsurPlcyJrnlNmbr,
      Contract.InsurPlcyJrnlEndNmbr,
      @Consumption.hidden: true
      Contract.InsurPlcyProductPackageID,
      Contract.InsuranceContract,
      @ObjectModel.text.association: '_InsurPlcyTemplateT'
      @ObjectModel.foreignKey.association: '_InsurPolicyProductTemplate'
      // @ObjectModel.sapObjectNodeTypeReference: 'InsurancePolicyTemplate'

      Contract.InsurPlcyProductTemplate,
      @ObjectModel.foreignKey.association: '_InsurPlcyLineOfBusiness'
      @ObjectModel.sapObjectNodeTypeReference: 'InsurancePolicyLineOfBusiness'
      Contract.InsurPlcyLineOfBusiness,
      @Semantics.dateTime:true
      Contract.InsurPlcyContractStartDateTime,
      @Semantics.dateTime:true
      Contract.InsurPlcyContractEndDateTime,
      @ObjectModel.foreignKey.association: '_InsurPlcyInsurer'
      @ObjectModel.sapObjectNodeTypeReference: 'Insurer'
      Contract.InsrrIDByInsrr,
      @ObjectModel.foreignKey.association: '_InsurContrLifeCycleStatus'
      @ObjectModel.sapObjectNodeTypeReference: 'InsurContractLifeCycleStatus'
      Contract.InsurContrLifeCycSts,
      @ObjectModel.foreignKey.association: '_InsurContractTariffVariant'
      @ObjectModel.sapObjectNodeTypeReference: 'InsuranceContractTariffVariant'
      Contract.InsurContrTrifVar,
      Contract.InsurCollDisbmtInsurObj,
      @ObjectModel.foreignKey.association: '_InsurContractRenewalType'
      @ObjectModel.sapObjectNodeTypeReference: 'InsuranceContractRenewalType'
      Contract.InsurContrRnwlType,
      @ObjectModel.foreignKey.association: '_InsurContrCanclnReason'
      @ObjectModel.sapObjectNodeTypeReference: 'InsurContrCancellationReason'
      Contract.InsurContrCanclnRsn,
      @Semantics.dateTime:true
      Contract.InsurPlcyContrCanclnDateTime,
      @ObjectModel.foreignKey.association: '_InsurApplRejectionReason'
      @ObjectModel.sapObjectNodeTypeReference: 'InsuranceApplRejectionReason'
      Contract.InsurApplRjcnRsn,
      @ObjectModel.foreignKey.association: '_InsurApplLifeCycleStatus'
      @ObjectModel.sapObjectNodeTypeReference: 'InsurApplLifeCycleStatus'
      Contract.InsurApplLifeCycSts,
      //FS-PM Auto sibling specific fields

      Contract.InsurPlcyContrStartIsDayOfRegn,
      @ObjectModel.foreignKey.association: '_InsurPlcyDiscProtection'
      Contract.InsurPlcyDiscountProtection,
      @Semantics.systemDateTime.lastChangedAt: true
      Contract.LastChangeDateTime,
      Contract.InsurPlcyCountry,

      RegularPremium.InsurancePolicyPremium,
      RegularPremium.InsurPlcyJrnlNmbr            as InsurPlcyPremiumJournalNumber,
      RegularPremium.InsurPlcyJrnlEndNmbr         as InsurPlcyPremJournalEndNumber,
      @ObjectModel.foreignKey.association: '_InsurPremPaytRcrrcFrqcy'
      @ObjectModel.sapObjectNodeTypeReference: 'InsurPremSpecPaytRcrrcFrqcy'
      RegularPremium.InsurPremSpecPaytRcrrcFrqcy,
      @Semantics.amount.currencyCode: 'InsurPlcyPremiumCurrency'
      RegularPremium.InsurPerdPremBfrTaxPaytAmt,
      @Semantics.amount.currencyCode: 'InsurPlcyPremiumCurrency'
      RegularPremium.InsurPerdPremAftTaxPaytAmt,
      RegularPremium.InsurPremType,
      @Semantics.booleanIndicator:true
      RegularPremium.InsurPlcyCvrgIsPremiumExempt as InsurContrIsPremExempt,
      RegularPremium.InsurPlcyCvrgPremExmpEndDate as InsurContrPremExmpEndDte,
      @ObjectModel.foreignKey.association: '_Currency'
      @ObjectModel.sapObjectNodeTypeReference: 'Currency'
      RegularPremium.InsurPlcyPremiumCurrency,
      @Semantics.amount.currencyCode: 'InsurPlcyPremiumCurrency'
      RegularPremium.InsurPlcyTotAnnPremAmt,
      @Semantics.amount.currencyCode: 'InsurPlcyPremiumCurrency'
      RegularPremium.InsurPlcyPerdPremBfrTxPaytAmt,
      RegularPremium.InsurPlcyMainDueDayMonth,
      @ObjectModel.text.association: '_InsurPlcyTemplateT'
      // @ObjectModel.sapObjectNodeTypeReference: 'InsurancePolicyTemplate'

      RegularPremium.InsurPlcyPremiumTemplate,

      /* Associations */
      _InsurancePolicy,
      _InsurPlcyCoveragePackage,
      _InsurancePolicyPremPayer,
      _InsurancePolicyContrCoverage,
      _InsurancePolicyContrLimit,
      _InsurancePolicyContrClause,
      _InsurPlcyContrSurchrgDisc,
      _InsurPolicyContrDeductible,
      _InsurPlcyContrInsuredObject,
      _InsurPolicyProductTemplate,
      _InsurContrPlndProcg,
      _InsurPlcyContractBonusMalus,
      _InsurPlcyContractBeneficiary,

      @Consumption.hidden: true
      _InsurContrCanclnReason,
      @Consumption.hidden: true
      _InsurPlcyTemplateT,
      @Consumption.hidden: true
      _InsurPlcyInsurer,
      @Consumption.hidden: true
      _InsurPlcyLineOfBusiness,
      @Consumption.hidden: true
      _InsurContrLifeCycleStatus,
      @Consumption.hidden: true
      _InsurContractRenewalType,
      @Consumption.hidden: true
      _InsurContractTariffVariant,
      @Consumption.hidden: true
      _InsurPlcyDiscProtection,
      @Consumption.hidden: true
      _Currency,
      @Consumption.hidden: true
      _InsurPremPaytRcrrcFrqcy,
      @Consumption.hidden: true
      _InsurApplLifeCycleStatus,
      @Consumption.hidden: true
      _InsurApplRejectionReason

}
where
      Contract.InsurPlcyJrnlEndNmbr    = 2147483647
  and Contract.InsurPlcyBusinessObject = 'P'