R_InsurOpenApplicationPremium

DDL: R_INSUROPENAPPLICATIONPREMIUM Type: view_entity COMPOSITE

Premium in Insur Open Application

R_InsurOpenApplicationPremium is a Composite CDS View that provides data about "Premium in Insur Open Application" in SAP S/4HANA. It reads from 1 data source (I_InsurancePolicyPremiumBasic) and exposes 25 fields with key fields InsurPlcyApplUUID, InsurPlcyInsurContr, InsurPlcyCoveragePackageID, InsurPlcyCoverageID, InsurancePolicyPremium. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_InsurancePolicyPremiumBasic Premium from

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_Currency _Currency $projection.InsurPlcyPremiumCurrency = _Currency.Currency
[1..1] I_InsurPremPaytRcrrcFrqcy _InsurPremPaytRcrrcFrqcy $projection.InsurPremSpecPaytRcrrcFrqcy = _InsurPremPaytRcrrcFrqcy.InsurPremSpecPaytRcrrcFrqcy
[1..*] I_InsurPlcyTemplateT _InsurPlcyTemplateT $projection.InsurPlcyPremiumTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate

Annotations (9)

NameValueLevelField
EndUserText.label Premium in Insur Open Application view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
Metadata.allowExtensions false view
Metadata.ignorePropagatedAnnotations false view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view

Fields (25)

KeyFieldSource TableSource FieldDescription
KEY InsurPlcyApplUUID OpenApplJrnl InsurPlcyApplUUID
KEY InsurPlcyInsurContr I_InsurancePolicyPremiumBasic InsurPlcyInsurContr
KEY InsurPlcyCoveragePackageID I_InsurancePolicyPremiumBasic InsurPlcyCoveragePackageID
KEY InsurPlcyCoverageID I_InsurancePolicyPremiumBasic InsurPlcyCoverageID
KEY InsurancePolicyPremium I_InsurancePolicyPremiumBasic InsurancePolicyPremium
KEY InsurPlcyContrDataDetnJrnlNmbr
InsurPlcyJrnlNmbr I_InsurancePolicyPremiumBasic InsurPlcyJrnlNmbr
InsurPlcyJrnlEndNmbr I_InsurancePolicyPremiumBasic InsurPlcyJrnlEndNmbr
InsurPlcyUUID I_InsurancePolicyPremiumBasic InsurPlcyUUID
InsurPlcyProductPackageID I_InsurancePolicyPremiumBasic InsurPlcyProductPackageID
InsurPremSpecPaytRcrrcFrqcy I_InsurancePolicyPremiumBasic InsurPremSpecPaytRcrrcFrqcy
InsurPerdPremBfrTaxPaytAmt I_InsurancePolicyPremiumBasic InsurPerdPremBfrTaxPaytAmt
InsurPerdPremAftTaxPaytAmt I_InsurancePolicyPremiumBasic InsurPerdPremAftTaxPaytAmt
InsurPremType I_InsurancePolicyPremiumBasic InsurPremType
InsurPlcyCvrgIsPremiumExempt I_InsurancePolicyPremiumBasic InsurPlcyCvrgIsPremiumExempt
InsurPlcyCvrgPremExmpEndDate I_InsurancePolicyPremiumBasic InsurPlcyCvrgPremExmpEndDate
InsurPlcyPremiumCurrency I_InsurancePolicyPremiumBasic InsurPlcyPremiumCurrency
InsurPlcyTotAnnPremAmt I_InsurancePolicyPremiumBasic InsurPlcyTotAnnPremAmt
InsurPlcyPerdPremBfrTxPaytAmt I_InsurancePolicyPremiumBasic InsurPlcyPerdPremBfrTxPaytAmt
InsurPlcyMainDueDayMonth I_InsurancePolicyPremiumBasic InsurPlcyMainDueDayMonth
LastChangeDateTime I_InsurancePolicyPremiumBasic LastChangeDateTime
InsurPlcyPremiumTemplate I_InsurancePolicyPremiumBasic InsurPlcyPremiumTemplate
_Currency _Currency
_InsurPremPaytRcrrcFrqcy _InsurPremPaytRcrrcFrqcy
_InsurPlcyTemplateT _InsurPlcyTemplateT
@EndUserText.label: 'Premium in Insur Open Application'
@VDM: {
  viewType:#COMPOSITE,
  lifecycle.contract.type:#SAP_INTERNAL_API
}
@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@Metadata: {
  allowExtensions:false,
  ignorePropagatedAnnotations:false
}
@ObjectModel: {
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #XL
   },
   supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE ]
}

define view entity R_InsurOpenApplicationPremium
  as select from           I_InsurancePolicyPremiumBasic  as Premium

    left outer to one join P_InsurOpenApplicationPremLtst as OpenApplJrnl on  (
        OpenApplJrnl.InsurPlcyApplUUID                                                                                    = Premium.InsurPlcyUUID
        or OpenApplJrnl.InsurPlcyUUID                                                                                     = Premium.InsurPlcyUUID
      )
                                                                          and OpenApplJrnl.InsurPlcyInsurContr            = Premium.InsurPlcyInsurContr
                                                                          and OpenApplJrnl.InsurPlcyCoveragePackageID     = Premium.InsurPlcyCoveragePackageID
                                                                          and OpenApplJrnl.InsurPlcyCoverageID            = Premium.InsurPlcyCoverageID
                                                                          and OpenApplJrnl.InsurancePolicyPremium         = Premium.InsurancePolicyPremium
                                                                          and OpenApplJrnl.InsurPlcyJrnlNmbr              = Premium.InsurPlcyJrnlNmbr
                                                                          and OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr < Premium.InsurPlcyJrnlEndNmbr

  association [1..1] to I_Currency                as _Currency                on $projection.InsurPlcyPremiumCurrency = _Currency.Currency
  association [1..1] to I_InsurPremPaytRcrrcFrqcy as _InsurPremPaytRcrrcFrqcy on $projection.InsurPremSpecPaytRcrrcFrqcy = _InsurPremPaytRcrrcFrqcy.InsurPremSpecPaytRcrrcFrqcy
  association [1..*] to I_InsurPlcyTemplateT      as _InsurPlcyTemplateT      on $projection.InsurPlcyPremiumTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate

{

  key OpenApplJrnl.InsurPlcyApplUUID,
  key Premium.InsurPlcyInsurContr,
  key Premium.InsurPlcyCoveragePackageID,
  key Premium.InsurPlcyCoverageID,
  key Premium.InsurancePolicyPremium,
  key cast( OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr as /pm0/vdm_contr_detn_jrnlnmbr preserving type ) as InsurPlcyContrDataDetnJrnlNmbr,
      Premium.InsurPlcyJrnlNmbr,
      Premium.InsurPlcyJrnlEndNmbr,
      Premium.InsurPlcyUUID,
      @Consumption.hidden: true
      Premium.InsurPlcyProductPackageID,
      @ObjectModel.foreignKey.association: '_InsurPremPaytRcrrcFrqcy'
      Premium.InsurPremSpecPaytRcrrcFrqcy,
      @Semantics.amount.currencyCode: 'InsurPlcyPremiumCurrency'
      Premium.InsurPerdPremBfrTaxPaytAmt,
      @Semantics.amount.currencyCode: 'InsurPlcyPremiumCurrency'
      Premium.InsurPerdPremAftTaxPaytAmt,
      Premium.InsurPremType,
      @Semantics.booleanIndicator:true
      Premium.InsurPlcyCvrgIsPremiumExempt,
      Premium.InsurPlcyCvrgPremExmpEndDate,
      @ObjectModel.foreignKey.association: '_Currency'
      Premium.InsurPlcyPremiumCurrency,
      @Semantics.amount.currencyCode: 'InsurPlcyPremiumCurrency'
      Premium.InsurPlcyTotAnnPremAmt,
      @Semantics.amount.currencyCode: 'InsurPlcyPremiumCurrency'
      Premium.InsurPlcyPerdPremBfrTxPaytAmt,
      Premium.InsurPlcyMainDueDayMonth,
      @Semantics.systemDateTime.lastChangedAt: true
      Premium.LastChangeDateTime,
      @ObjectModel.text.association: '_InsurPlcyTemplateT'
      Premium.InsurPlcyPremiumTemplate,

      @Consumption.hidden: true
      _Currency,
      @Consumption.hidden: true
      _InsurPremPaytRcrrcFrqcy,
      @Consumption.hidden: true
      _InsurPlcyTemplateT

}
where
      OpenApplJrnl.InsurPlcyApplUUID    is not initial //Perf. Tuning: Make inner Join out of left outer Join

  and OpenApplJrnl.InsuranceApplication is not initial