I_INSURAPPLCONTRACT

CDS View

Contract in Insurance Appl

I_INSURAPPLCONTRACT is a CDS View in S/4HANA. Contract in Insurance Appl. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
I_InsurApplContrCoverage view_entity inner COMPOSITE Contract Coverage in Insurance Appl
I_InsurApplCoverage view_entity inner COMPOSITE Coverage of Cvrg Package in Insur Appl
@EndUserText.label: 'Contract in Insurance Appl'
@VDM: {
  viewType:#COMPOSITE,
  lifecycle.contract.type:#PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA'),
  privilegedAssociations: [  '_InsurApplCoveragePackage',
                             '_InsurApplPremPayer',
                             '_InsurApplContrLimit',
                             '_InsurApplContrClause',
                             '_InsurApplContrSurchrgDisc',
                             '_InsurApplContrDeductible',
                             '_InsurApplContrInsuredObject',
                             '_InsurApplContrCoverage',
                             '_InsurApplContractBeneficiary' ]
}
@ObjectModel: {
   representativeKey: 'InsurPlcyInsurContr',
   semanticKey: [ 'InsuranceContract' ],
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #D,
     sizeCategory:   #XXL
   },
   supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE ]
}
@Metadata: {
  allowExtensions:false,
  ignorePropagatedAnnotations:false
}
@Analytics: {
  technicalName: 'IAContr'
}

define view entity I_InsurApplContract
  as select from I_InsuranceContractBasic     as Contract

    inner join   P_InsurApplJrnlLatestVerCont as PlcyJrnl       on  PlcyJrnl.InsurPlcyUUID                  = Contract.InsurPlcyUUID
                                                                and PlcyJrnl.InsurPlcyInsurContr            = Contract.InsurPlcyInsurContr
                                                                and PlcyJrnl.InsurPlcyContrDataDetnJrnlNmbr >= Contract.InsurPlcyJrnlNmbr
                                                                and PlcyJrnl.InsurPlcyContrDataDetnJrnlNmbr < Contract.InsurPlcyJrnlEndNmbr

    inner join   R_InsurApplicationPremium    as RegularPremium on  RegularPremium.InsurPlcyUUID                  = Contract.InsurPlcyUUID
                                                                and RegularPremium.InsurPlcyInsurContr            = Contract.InsurPlcyInsurContr
                                                                and RegularPremium.InsurPlcyCoveragePackageID     = 0
                                                                and RegularPremium.InsurPlcyCoverageID            = 0
                                                                and RegularPremium.InsurPlcyContrDataDetnJrnlNmbr = PlcyJrnl.InsurPlcyContrDataDetnJrnlNmbr

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

  association        to parent I_InsuranceApplication  as _InsuranceApplication       on  $projection.InsurPlcyApplUUID = _InsuranceApplication.InsurPlcyApplUUID

  composition [0..*] of I_InsurApplCoveragePackage     as _InsurApplCoveragePackage
  composition [0..*] of I_InsurApplContrCoverage       as _InsurApplContrCoverage
  composition [0..*] of I_InsurApplContrLimit          as _InsurApplContrLimit
  composition [0..*] of I_InsurApplContrClause         as _InsurApplContrClause
  composition [0..*] of I_InsurApplContrSurchrgDisc    as _InsurApplContrSurchrgDisc
  composition [1..*] of I_InsurApplPremPayer           as _InsurApplPremPayer
  composition [0..*] of I_InsurApplContrDeductible     as _InsurApplContrDeductible
  composition [0..*] of I_InsurApplContrInsuredObject  as _InsurApplContrInsuredObject
  composition [0..*] of I_InsurApplContractBonusMalus  as _InsurApplContractBonusMalus
  composition [0..*] of I_InsurApplContractBeneficiary as _InsurApplContractBeneficiary

  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,
  key cast( PlcyJrnl.InsurPlcyContrDataDetnJrnlNmbr as /pm0/vdm_contr_detn_jrnlnmbr preserving type ) as InsurPlcyContrDataDetnJrnlNmbr,
      cast( PlcyJrnl.InsurPlcyApplUUID   as /pm0/vdm_application_uuid preserving type )               as InsurPlcyApplUUID,
      Contract.InsurPlcyJrnlNmbr,
      Contract.InsurPlcyJrnlEndNmbr,
      @Consumption.hidden: true
      Contract.InsurPlcyProductPackageID,
      Contract.InsuranceContract,
      @ObjectModel.text.association: '_InsurPlcyTemplateT'
      @ObjectModel.foreignKey.association: '_InsurPolicyProductTemplate'
      Contract.InsurPlcyProductTemplate,
      @ObjectModel.foreignKey.association: '_InsurPlcyLineOfBusiness'
      Contract.InsurPlcyLineOfBusiness,
      @Semantics.dateTime:true
      Contract.InsurPlcyContractStartDateTime,
      @Semantics.dateTime:true
      Contract.InsurPlcyContractEndDateTime,
      @ObjectModel.foreignKey.association: '_InsurPlcyInsurer'
      Contract.InsrrIDByInsrr,
      @ObjectModel.foreignKey.association: '_InsurContrLifeCycleStatus'
      Contract.InsurContrLifeCycSts,
      @ObjectModel.foreignKey.association: '_InsurContractTariffVariant'
      Contract.InsurContrTrifVar,
      Contract.InsurCollDisbmtInsurObj,
      @ObjectModel.foreignKey.association: '_InsurContractRenewalType'
      Contract.InsurContrRnwlType,
      @ObjectModel.foreignKey.association: '_InsurContrCanclnReason'
      Contract.InsurContrCanclnRsn,
      @Semantics.dateTime:true
      Contract.InsurPlcyContrCanclnDateTime,
      @ObjectModel.foreignKey.association: '_InsurApplRejectionReason'
      Contract.InsurApplRjcnRsn,
      @ObjectModel.foreignKey.association: '_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'
      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'
      RegularPremium.InsurPlcyPremiumCurrency,
      @Semantics.amount.currencyCode: 'InsurPlcyPremiumCurrency'
      RegularPremium.InsurPlcyTotAnnPremAmt,
      @Semantics.amount.currencyCode: 'InsurPlcyPremiumCurrency'
      RegularPremium.InsurPlcyPerdPremBfrTxPaytAmt,
      RegularPremium.InsurPlcyMainDueDayMonth,
      @ObjectModel.text.association: '_InsurPlcyTemplateT'
      RegularPremium.InsurPlcyPremiumTemplate,

      /* Associations */
      _InsuranceApplication,
      _InsurApplCoveragePackage,
      _InsurApplPremPayer,
      _InsurApplContrCoverage,
      _InsurApplContrLimit,
      _InsurApplContrClause,
      _InsurApplContrSurchrgDisc,
      _InsurApplContrDeductible,
      _InsurApplContrInsuredObject,
      _InsurApplContractBonusMalus,
      _InsurPolicyProductTemplate,
      _InsurApplContractBeneficiary,

      @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

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_INSURANCECONTRACTBASIC",
"I_INSURPLCYREGPREMCONFIG",
"P_INSURAPPLJRNLLATESTVERCONT",
"R_INSURAPPLICATIONPREMIUM"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_INSURANCEAPPLICATION",
"I_INSURAPPLCONTRACTBENEFICIARY",
"I_INSURAPPLCONTRACTBONUSMALUS",
"I_INSURAPPLCONTRCLAUSE",
"I_INSURAPPLCONTRCOVERAGE",
"I_INSURAPPLCONTRDEDUCTIBLE",
"I_INSURAPPLCONTRINSUREDOBJECT",
"I_INSURAPPLCONTRLIMIT",
"I_INSURAPPLCONTRSURCHRGDISC",
"I_INSURAPPLCOVERAGEPACKAGE",
"I_INSURAPPLLIFECYCLESTATUS",
"I_INSURAPPLPREMPAYER",
"I_INSURAPPLREJECTIONREASON",
"I_INSURCONTRACTRENEWALTYPELINK",
"I_INSURCONTRCANCLNREASON",
"I_INSURCONTRLIFECYCLESTATUS",
"I_INSURCONTRTARIFFVARIANTLINK",
"I_INSURPLCYDISCPROTECTIONLINK",
"I_INSURPLCYINSURER",
"I_INSURPLCYLINEOFBUSINESS",
"I_INSURPLCYTEMPLATET",
"I_INSURPOLICYPRODUCTTEMPLATE",
"I_INSURPREMPAYTRCRRCFRQCY"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/