I_INSURANCECONTRACT

CDS View

Contract in Insurance Policy

I_INSURANCECONTRACT is a CDS View in S/4HANA. Contract in Insurance Policy. 4 CDS views read from this table.

CDS Views using this table (4)

ViewTypeJoinVDMDescription
I_InsurancePolicyContrCoverage view_entity inner COMPOSITE Contract Coverage in Insurance Policy
I_InsurancePolicyCoverage view_entity inner COMPOSITE Coverage of Cvrg Package in Insur Plcy
I_InsurPolicyInquiryContract view_entity from COMPOSITE Contract
R_InsuranceContractTP view_entity from TRANSACTIONAL Contract in Insur Policy - TP
@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'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_INSURANCECONTRACTBASIC",
"I_INSURPLCYREGPREMCONFIG",
"R_INSURANCEPOLICYPREMIUM"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_INSURANCEPOLICY",
"I_INSURANCEPOLICYCONTRCLAUSE",
"I_INSURANCEPOLICYCONTRCOVERAGE",
"I_INSURANCEPOLICYCONTRLIMIT",
"I_INSURANCEPOLICYPREMPAYER",
"I_INSURAPPLLIFECYCLESTATUS",
"I_INSURAPPLREJECTIONREASON",
"I_INSURCONTRACTRENEWALTYPELINK",
"I_INSURCONTRCANCLNREASON",
"I_INSURCONTRLIFECYCLESTATUS",
"I_INSURCONTRPLANNEDPROCESSING",
"I_INSURCONTRTARIFFVARIANTLINK",
"I_INSURPLCYCONTRACTBENEFICIARY",
"I_INSURPLCYCONTRACTBONUSMALUS",
"I_INSURPLCYCONTRINSUREDOBJECT",
"I_INSURPLCYCONTRSURCHRGDISC",
"I_INSURPLCYCOVERAGEPACKAGE",
"I_INSURPLCYDISCPROTECTIONLINK",
"I_INSURPLCYINSURER",
"I_INSURPLCYLINEOFBUSINESS",
"I_INSURPLCYTEMPLATET",
"I_INSURPOLICYCONTRDEDUCTIBLE",
"I_INSURPOLICYPRODUCTTEMPLATE",
"I_INSURPREMPAYTRCRRCFRQCY"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/