I_InsurOpenApplSubCoverage

DDL: I_INSUROPENAPPLSUBCOVERAGE Type: view_entity COMPOSITE

Cvrg SubCoverage of CvPcg in InsOpenAppl

I_InsurOpenApplSubCoverage is a Composite CDS View that provides data about "Cvrg SubCoverage of CvPcg in InsOpenAppl" in SAP S/4HANA. It reads from 1 data source (I_InsurPlcySubCoverageBasic) and exposes 27 fields with key fields InsurPlcyApplUUID, InsuranceApplication, InsurPlcyInsurContr, InsurPlcyCoveragePackageID, InsurPlcyCoverageID. It has 6 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_InsurPlcySubCoverageBasic SubCoverage from

Associations (6)

CardinalityTargetAliasCondition
[1..1] I_InsurPlcyCvrgInsrdSumCalc _InsurPlcyCvrgInsrdSumCalc $projection.InsurPlcySubCvrgInsrdSumCalc = _InsurPlcyCvrgInsrdSumCalc.InsurPlcyCvrgInsrdSumCalcMeth
[1..1] I_Currency _Currency $projection.InsurPlcySubCoverageCurrency = _Currency.Currency
[1..*] I_InsurPlcyTemplateT _InsurPlcyTemplateT $projection.InsurPlcySubCoverageTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate
[0..*] I_InsurOpenApplLimit _InsurOpenApplLimit
[0..*] I_InsurOpenApplSubCvrgClause _InsurOpenApplSubCvrgClause
[0..*] I_InsOpApSubCoverageDeductible _InsurOpenApplSubCvrgDcbl

Annotations (11)

NameValueLevelField
EndUserText.label Cvrg SubCoverage of CvPcg in InsOpenAppl view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
ObjectModel.representativeKey InsurPlcySubCvrgID view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
Metadata.allowExtensions false view
Metadata.ignorePropagatedAnnotations false view
Analytics.technicalName IOASubCvrg view

Fields (27)

KeyFieldSource TableSource FieldDescription
KEY InsurPlcyApplUUID OpenApplJrnl InsurPlcyApplUUID
KEY InsuranceApplication
KEY InsurPlcyInsurContr I_InsurPlcySubCoverageBasic InsurPlcyInsurContr
KEY InsurPlcyCoveragePackageID I_InsurPlcySubCoverageBasic InsurPlcyCoveragePackageID
KEY InsurPlcyCoverageID I_InsurPlcySubCoverageBasic InsurPlcyCoverageID
KEY InsurPlcySubCvrgID I_InsurPlcySubCoverageBasic InsurPlcySubCvrgID
KEY InsurPlcyContrDataDetnJrnlNmbr
InsurPlcyJrnlNmbr I_InsurPlcySubCoverageBasic InsurPlcyJrnlNmbr
InsurPlcyJrnlEndNmbr I_InsurPlcySubCoverageBasic InsurPlcyJrnlEndNmbr
InsurPlcyProductPackageID I_InsurPlcySubCoverageBasic InsurPlcyProductPackageID
InsurPlcyInsuranceSubCoverage I_InsurPlcySubCoverageBasic InsurPlcyInsuranceSubCoverage
InsurPlcyUUID OpenApplJrnl InsurPlcyUUID
InsurPlcySubCoverageTemplate I_InsurPlcySubCoverageBasic InsurPlcySubCoverageTemplate
InsurPlcySubCoverageStartDate I_InsurPlcySubCoverageBasic InsurPlcySubCoverageStartDate
InsurPlcySubCoverageEndDate I_InsurPlcySubCoverageBasic InsurPlcySubCoverageEndDate
InsurPlcySubCvrgInsrdSumAmount I_InsurPlcySubCoverageBasic InsurPlcySubCvrgInsrdSumAmount
InsurPlcySubCoverageCurrency I_InsurPlcySubCoverageBasic InsurPlcySubCoverageCurrency
InsurPlcySubCvrgInsuredSumPct I_InsurPlcySubCoverageBasic InsurPlcySubCvrgInsuredSumPct
InsurPlcySubCvrgInsrdSumCalc I_InsurPlcySubCoverageBasic InsurPlcySubCvrgInsrdSumCalc
LastChangeDateTime I_InsurPlcySubCoverageBasic LastChangeDateTime
_InsurOpenApplCoverage _InsurOpenApplCoverage
_InsurOpenApplLimit _InsurOpenApplLimit
_InsurOpenApplSubCvrgClause _InsurOpenApplSubCvrgClause
_InsurOpenApplSubCvrgDcbl _InsurOpenApplSubCvrgDcbl
_InsurPlcyTemplateT _InsurPlcyTemplateT
_Currency _Currency
_InsurPlcyCvrgInsrdSumCalc _InsurPlcyCvrgInsrdSumCalc
@EndUserText.label: 'Cvrg SubCoverage of CvPcg in InsOpenAppl'
@VDM: {
  viewType:#COMPOSITE,
  lifecycle.contract.type:#PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA'),
  privilegedAssociations:  [  '_InsurOpenApplLimit',
                              '_InsurOpenApplSubCvrgClause',
                              '_InsurOpenApplSubCvrgDcbl']
}
@ObjectModel: {
   representativeKey: 'InsurPlcySubCvrgID',
   semanticKey: [ 'InsurPlcyInsuranceSubCoverage' ],
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #D,
     sizeCategory:   #XL
   },
   supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE ]
}
@Metadata: {
  allowExtensions:false,
  ignorePropagatedAnnotations:false
}
@Analytics: {
  technicalName: 'IOASubCvrg'
}
define view entity I_InsurOpenApplSubCoverage
  as select from           I_InsurPlcySubCoverageBasic  as SubCoverage
    left outer to one join P_InsurOpenApplSubCvrgLatest as OpenApplJrnl on  (
        OpenApplJrnl.InsurPlcyUUID                                                                                      = SubCoverage.InsurPlcyUUID
        or OpenApplJrnl.InsurPlcyApplUUID                                                                               = SubCoverage.InsurPlcyUUID
      )
                                                                        and OpenApplJrnl.InsurPlcyInsurContr            = SubCoverage.InsurPlcyInsurContr
                                                                        and OpenApplJrnl.InsurPlcyCoveragePackageID     = SubCoverage.InsurPlcyCoveragePackageID
                                                                        and OpenApplJrnl.InsurPlcyCoverageID            = SubCoverage.InsurPlcyCoverageID
                                                                        and OpenApplJrnl.InsurPlcySubCvrgID             = SubCoverage.InsurPlcySubCvrgID
                                                                        and OpenApplJrnl.InsurPlcyJrnlNmbr              = SubCoverage.InsurPlcyJrnlNmbr
                                                                        and OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr < SubCoverage.InsurPlcyJrnlEndNmbr

  association        to parent I_InsurOpenApplCoverage as _InsurOpenApplCoverage     on  $projection.InsurPlcyApplUUID              = _InsurOpenApplCoverage.InsurPlcyApplUUID
                                                                                     and $projection.InsuranceApplication           = _InsurOpenApplCoverage.InsuranceApplication
                                                                                     and $projection.InsurPlcyInsurContr            = _InsurOpenApplCoverage.InsurPlcyInsurContr
                                                                                     and $projection.InsurPlcyCoveragePackageID     = _InsurOpenApplCoverage.InsurPlcyCoveragePackageID
                                                                                     and $projection.InsurPlcyCoverageID            = _InsurOpenApplCoverage.InsurPlcyCoverageID
                                                                                     and $projection.InsurPlcyContrDataDetnJrnlNmbr = _InsurOpenApplCoverage.InsurPlcyContrDataDetnJrnlNmbr

  composition [0..*] of I_InsurOpenApplLimit           as _InsurOpenApplLimit
  composition [0..*] of I_InsurOpenApplSubCvrgClause   as _InsurOpenApplSubCvrgClause
  composition [0..*] of I_InsOpApSubCoverageDeductible as _InsurOpenApplSubCvrgDcbl

  association [1..1] to I_InsurPlcyCvrgInsrdSumCalc    as _InsurPlcyCvrgInsrdSumCalc on  $projection.InsurPlcySubCvrgInsrdSumCalc = _InsurPlcyCvrgInsrdSumCalc.InsurPlcyCvrgInsrdSumCalcMeth
  association [1..1] to I_Currency                     as _Currency                  on  $projection.InsurPlcySubCoverageCurrency = _Currency.Currency
  association [1..*] to I_InsurPlcyTemplateT           as _InsurPlcyTemplateT        on  $projection.InsurPlcySubCoverageTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate

{

  key OpenApplJrnl.InsurPlcyApplUUID,
  key cast( OpenApplJrnl.InsuranceApplication as /pm0/vdm_applicationnr_tt preserving type )              as InsuranceApplication,
  key SubCoverage.InsurPlcyInsurContr,
  key SubCoverage.InsurPlcyCoveragePackageID,
  key SubCoverage.InsurPlcyCoverageID,
  key SubCoverage.InsurPlcySubCvrgID,
  key cast( OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr as /pm0/vdm_contr_detn_jrnlnmbr preserving type ) as InsurPlcyContrDataDetnJrnlNmbr,
      SubCoverage.InsurPlcyJrnlNmbr,
      SubCoverage.InsurPlcyJrnlEndNmbr,
      @Consumption.hidden: true
      SubCoverage.InsurPlcyProductPackageID,
      SubCoverage.InsurPlcyInsuranceSubCoverage,
      OpenApplJrnl.InsurPlcyUUID,
      @ObjectModel.text.association: '_InsurPlcyTemplateT'
      SubCoverage.InsurPlcySubCoverageTemplate,
      SubCoverage.InsurPlcySubCoverageStartDate,
      SubCoverage.InsurPlcySubCoverageEndDate,
      @Semantics.amount.currencyCode: 'InsurPlcySubCoverageCurrency'
      SubCoverage.InsurPlcySubCvrgInsrdSumAmount,
      @ObjectModel.foreignKey.association: '_Currency'
      SubCoverage.InsurPlcySubCoverageCurrency,
      SubCoverage.InsurPlcySubCvrgInsuredSumPct,
      @ObjectModel.foreignKey.association: '_InsurPlcyCvrgInsrdSumCalc'
      SubCoverage.InsurPlcySubCvrgInsrdSumCalc,
      @Semantics.systemDateTime.lastChangedAt: true
      SubCoverage.LastChangeDateTime,

      /* Associations */
      _InsurOpenApplCoverage,
      _InsurOpenApplLimit,
      _InsurOpenApplSubCvrgClause,
      _InsurOpenApplSubCvrgDcbl,

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

}
where
      SubCoverage.InsurPlcyCoveragePackageID <> 0
  and OpenApplJrnl.InsurPlcyApplUUID         is not initial //Perf. Tuning: Make inner Join out of left outer Join

  and OpenApplJrnl.InsuranceApplication      is not initial