I_INSUROPENAPPLCONTRACT

CDS View

Contract in Insur Open Appl

I_INSUROPENAPPLCONTRACT is a CDS View in S/4HANA. Contract in Insur Open Appl. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
I_InsurOpenApplContrCoverage view_entity inner COMPOSITE Contract Coverage in InsurOpenAppl
I_InsurOpenApplCoverage view_entity inner COMPOSITE Coverage of Cvrg Package in InsOpenAppl
@EndUserText.label: 'Contract in Insur Open Appl'
@VDM: {
  viewType:#COMPOSITE,
  lifecycle.contract.type:#PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA'),
  privilegedAssociations: [  '_InsurOpenApplCoveragePackage',
                             '_InsurOpenApplPremPayer',
                             '_InsurOpenApplContrLimit',
                             '_InsurOpenApplContrClause',
                             '_InsurOpenApplContrSurchrgDisc',
                             '_InsurOpenApplContrDeductible',
                             '_InsurOpenApplContrInsrdObject',
                             '_InsurOpenApplContrCoverage',
                             '_InsurOpenApplContrBonusMalus',
                             '_InsurOpenApplContrBeneficiary' ]
}
@ObjectModel: {
   representativeKey: 'InsurPlcyInsurContr',
   semanticKey: [ 'InsuranceContract' ],
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #D,
     sizeCategory:   #XXL
   },
   supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE ]
}
@Metadata: {
  allowExtensions:false,
  ignorePropagatedAnnotations:false
}
@Analytics: {
  technicalName: 'IOAContr'
}

define view entity I_InsurOpenApplContract
  as select from           I_InsuranceContractBasic      as Contract

    left outer to one join P_InsurOpenApplContrLatest    as OpenApplJrnl   on  (
          OpenApplJrnl.InsurPlcyApplUUID                                                                                   = Contract.InsurPlcyUUID
          or OpenApplJrnl.InsurPlcyUUID                                                                                    = Contract.InsurPlcyUUID
        )
                                                                           and OpenApplJrnl.InsurPlcyInsurContr            = Contract.InsurPlcyInsurContr
                                                                           and OpenApplJrnl.InsurPlcyJrnlNmbr              = Contract.InsurPlcyJrnlNmbr
                                                                           and OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr < Contract.InsurPlcyJrnlEndNmbr

    left outer to one join R_InsurOpenApplicationPremium as RegularPremium on  RegularPremium.InsurPlcyApplUUID              = OpenApplJrnl.InsurPlcyApplUUID
                                                                           and RegularPremium.InsurPlcyInsurContr            = Contract.InsurPlcyInsurContr
                                                                           and RegularPremium.InsurPlcyCoveragePackageID     = 0
                                                                           and RegularPremium.InsurPlcyCoverageID            = 0
                                                                           and RegularPremium.InsurPlcyContrDataDetnJrnlNmbr = OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr

    left outer to one join I_InsurPlcyRegPremConfig      as PremiumConfig  on  PremiumConfig.InsurPlcyProductTemplate = Contract.InsurPlcyProductTemplate
                                                                           and PremiumConfig.InsurPremType            = RegularPremium.InsurPremType

  association        to parent I_InsuranceOpenApplication as _InsuranceOpenApplication   on  $projection.InsurPlcyApplUUID    = _InsuranceOpenApplication.InsurPlcyApplUUID
                                                                                         and $projection.InsuranceApplication = _InsuranceOpenApplication.InsuranceApplication

  composition [0..*] of I_InsurOpenApplCoveragePackage    as _InsurOpenApplCoveragePackage
  composition [0..*] of I_InsurOpenApplContrCoverage      as _InsurOpenApplContrCoverage
  composition [0..*] of I_InsurOpenApplContractLimit      as _InsurOpenApplContrLimit
  composition [0..*] of I_InsurOpenApplContractClause     as _InsurOpenApplContrClause
  composition [0..*] of I_InsOpApContrSurchrgDiscount     as _InsurOpenApplContrSurchrgDisc
  composition [1..*] of I_InsurOpenApplPremPayer          as _InsurOpenApplPremPayer
  composition [0..*] of I_InsurOpenApplContrDeductible    as _InsurOpenApplContrDeductible
  composition [0..*] of I_InsOpApContractInsuredObject    as _InsurOpenApplContrInsrdObject
  composition [0..*] of I_InsOpApContractBonusMalus       as _InsurOpenApplContrBonusMalus
  composition [0..*] of I_InsurOpenApplContrBnfcy         as _InsurOpenApplContrBeneficiary

  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 cast( OpenApplJrnl.InsurPlcyApplUUID   as /pm0/vdm_application_uuid preserving type )               as InsurPlcyApplUUID,
  key cast( OpenApplJrnl.InsuranceApplication as /pm0/vdm_applicationnr_tt preserving type )              as InsuranceApplication,
  key Contract.InsurPlcyInsurContr,
  key cast( OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr as /pm0/vdm_contr_detn_jrnlnmbr preserving type ) as InsurPlcyContrDataDetnJrnlNmbr,
      Contract.InsurPlcyJrnlNmbr,
      Contract.InsurPlcyJrnlEndNmbr,
      @Consumption.hidden: true
      Contract.InsurPlcyProductPackageID,
      OpenApplJrnl.InsurPlcyUUID,
      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 */
      _InsuranceOpenApplication,
      _InsurOpenApplCoveragePackage,
      _InsurOpenApplPremPayer,
      _InsurPolicyProductTemplate,
      _InsurOpenApplContrCoverage,
      _InsurOpenApplContrLimit,
      _InsurOpenApplContrClause,
      _InsurOpenApplContrSurchrgDisc,
      _InsurOpenApplContrDeductible,
      _InsurOpenApplContrInsrdObject,
      _InsurOpenApplContrBonusMalus,
      _InsurOpenApplContrBeneficiary,

      @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
      OpenApplJrnl.InsurPlcyApplUUID    is not initial //Perf. Tuning: Make inner Join out of left outer Join

  and OpenApplJrnl.InsuranceApplication is not initial
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_INSURANCECONTRACTBASIC",
"I_INSURPLCYREGPREMCONFIG",
"P_INSUROPENAPPLCONTRLATEST",
"R_INSUROPENAPPLICATIONPREMIUM"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_INSOPAPCONTRACTBONUSMALUS",
"I_INSOPAPCONTRACTINSUREDOBJECT",
"I_INSOPAPCONTRSURCHRGDISCOUNT",
"I_INSURANCEOPENAPPLICATION",
"I_INSURAPPLLIFECYCLESTATUS",
"I_INSURAPPLREJECTIONREASON",
"I_INSURCONTRACTRENEWALTYPELINK",
"I_INSURCONTRCANCLNREASON",
"I_INSURCONTRLIFECYCLESTATUS",
"I_INSURCONTRTARIFFVARIANTLINK",
"I_INSUROPENAPPLCONTRACTCLAUSE",
"I_INSUROPENAPPLCONTRACTLIMIT",
"I_INSUROPENAPPLCONTRBNFCY",
"I_INSUROPENAPPLCONTRCOVERAGE",
"I_INSUROPENAPPLCONTRDEDUCTIBLE",
"I_INSUROPENAPPLCOVERAGEPACKAGE",
"I_INSUROPENAPPLPREMPAYER",
"I_INSURPLCYDISCPROTECTIONLINK",
"I_INSURPLCYINSURER",
"I_INSURPLCYLINEOFBUSINESS",
"I_INSURPLCYTEMPLATET",
"I_INSURPOLICYPRODUCTTEMPLATE",
"I_INSURPREMPAYTRCRRCFRQCY"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/