I_InsurOpenApplCoveragePackage

DDL: I_INSUROPENAPPLCOVERAGEPACKAGE Type: view_entity COMPOSITE

Coverage Package in InsurOpenAppl

I_InsurOpenApplCoveragePackage is a Composite CDS View that provides data about "Coverage Package in InsurOpenAppl" in SAP S/4HANA. It reads from 1 data source (I_InsurPlcyCvrgPackageBasic) and exposes 20 fields with key fields InsurPlcyApplUUID, InsuranceApplication, InsurPlcyInsurContr, InsurPlcyCoveragePackageID, InsurPlcyContrDataDetnJrnlNmbr. It has 6 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_InsurPlcyCvrgPackageBasic CoveragePackage from

Associations (6)

CardinalityTargetAliasCondition
[1..*] I_InsurPlcyTemplateT _InsurPlcyTemplateT $projection.InsurPlcyCvrgPackageTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate
[1..1] I_InsurContrCanclnReason _InsurContrCanclnReason $projection.InsurPlcyCvrgPckgCanclnReason = _InsurContrCanclnReason.InsurContrCanclnRsn
[1..*] I_InsurOpenApplCoverage _InsurOpenApplCoverage
[0..*] I_InsurOpenApplCvrgPckgClause _InsurOpenApplCvrgPckgClause
[0..*] I_InsOpApCvrgPckgInsrdObject _InsurOpenApplCvrgPckgInsrdObj
[0..*] I_InsOpApCvrgPckgSurchrgDisc _InsOpApCvrgPckgSurchrgDisc

Annotations (11)

NameValueLevelField
EndUserText.label Coverage Package in InsurOpenAppl view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
ObjectModel.representativeKey InsurPlcyCoveragePackageID view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
Metadata.allowExtensions false view
Metadata.ignorePropagatedAnnotations false view
Analytics.technicalName IOACvrgPckg view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY InsurPlcyApplUUID OpenApplJrnl InsurPlcyApplUUID
KEY InsuranceApplication
KEY InsurPlcyInsurContr I_InsurPlcyCvrgPackageBasic InsurPlcyInsurContr
KEY InsurPlcyCoveragePackageID I_InsurPlcyCvrgPackageBasic InsurPlcyCoveragePackageID
KEY InsurPlcyContrDataDetnJrnlNmbr
InsurPlcyJrnlNmbr I_InsurPlcyCvrgPackageBasic InsurPlcyJrnlNmbr
InsurPlcyJrnlEndNmbr I_InsurPlcyCvrgPackageBasic InsurPlcyJrnlEndNmbr
InsurPlcyUUID OpenApplJrnl InsurPlcyUUID
InsurPlcyCvrgPackageTemplate I_InsurPlcyCvrgPackageBasic InsurPlcyCvrgPackageTemplate
InsurPlcyProductPackageID I_InsurPlcyCvrgPackageBasic InsurPlcyProductPackageID
InsurPlcyCvrgPckgCanclnReason I_InsurPlcyCvrgPackageBasic InsurPlcyCvrgPckgCanclnReason
InsurPlcyCvrgPckgCanclnDteTime I_InsurPlcyCvrgPackageBasic InsurPlcyCvrgPckgCanclnDteTime
LastChangeDateTime I_InsurPlcyCvrgPackageBasic LastChangeDateTime
_InsurOpenApplContract _InsurOpenApplContract
_InsurOpenApplCoverage _InsurOpenApplCoverage
_InsurOpenApplCvrgPckgClause _InsurOpenApplCvrgPckgClause
_InsurOpenApplCvrgPckgInsrdObj _InsurOpenApplCvrgPckgInsrdObj
_InsOpApCvrgPckgSurchrgDisc _InsOpApCvrgPckgSurchrgDisc
_InsurPlcyTemplateT _InsurPlcyTemplateT
_InsurContrCanclnReason _InsurContrCanclnReason
@EndUserText.label: 'Coverage Package in InsurOpenAppl'
@VDM: {
  viewType:#COMPOSITE,
  lifecycle.contract.type:#PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA'),
  privilegedAssociations:  [  '_InsurOpenApplCoverage',
                              '_InsurOpenApplCvrgPckgClause',
                              '_InsOpApCvrgPckgSurchrgDisc',
                              '_InsurOpenApplCvrgPckgInsrdObj']
}
@ObjectModel: {
   representativeKey: 'InsurPlcyCoveragePackageID',
   semanticKey: [ 'InsurPlcyCoveragePackageID' ],
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #D,
     sizeCategory:   #L
   },
   supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE ]
}
@Metadata: {
  allowExtensions:false,
  ignorePropagatedAnnotations:false
}
@Analytics: {
  technicalName: 'IOACvrgPckg'
}
define view entity I_InsurOpenApplCoveragePackage
  as select from           I_InsurPlcyCvrgPackageBasic   as CoveragePackage

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

  association        to parent I_InsurOpenApplContract as _InsurOpenApplContract  on  $projection.InsurPlcyApplUUID              = _InsurOpenApplContract.InsurPlcyApplUUID
                                                                                  and $projection.InsuranceApplication           = _InsurOpenApplContract.InsuranceApplication
                                                                                  and $projection.InsurPlcyInsurContr            = _InsurOpenApplContract.InsurPlcyInsurContr
                                                                                  and $projection.InsurPlcyContrDataDetnJrnlNmbr = _InsurOpenApplContract.InsurPlcyContrDataDetnJrnlNmbr



  composition [1..*] of I_InsurOpenApplCoverage        as _InsurOpenApplCoverage
  composition [0..*] of I_InsurOpenApplCvrgPckgClause  as _InsurOpenApplCvrgPckgClause
  composition [0..*] of I_InsOpApCvrgPckgInsrdObject   as _InsurOpenApplCvrgPckgInsrdObj
  composition [0..*] of I_InsOpApCvrgPckgSurchrgDisc   as _InsOpApCvrgPckgSurchrgDisc

  association [1..*] to I_InsurPlcyTemplateT           as _InsurPlcyTemplateT     on  $projection.InsurPlcyCvrgPackageTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate
  association [1..1] to I_InsurContrCanclnReason       as _InsurContrCanclnReason on  $projection.InsurPlcyCvrgPckgCanclnReason = _InsurContrCanclnReason.InsurContrCanclnRsn

{

  key OpenApplJrnl.InsurPlcyApplUUID,
  key cast( OpenApplJrnl.InsuranceApplication as /pm0/vdm_applicationnr_tt preserving type )              as InsuranceApplication,
  key CoveragePackage.InsurPlcyInsurContr,
  key CoveragePackage.InsurPlcyCoveragePackageID,
  key cast( OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr as /pm0/vdm_contr_detn_jrnlnmbr preserving type ) as InsurPlcyContrDataDetnJrnlNmbr,
      CoveragePackage.InsurPlcyJrnlNmbr,
      CoveragePackage.InsurPlcyJrnlEndNmbr,
      OpenApplJrnl.InsurPlcyUUID,
      @ObjectModel.text.association: '_InsurPlcyTemplateT'
      CoveragePackage.InsurPlcyCvrgPackageTemplate,
      CoveragePackage.InsurPlcyProductPackageID,
      @ObjectModel.foreignKey.association: '_InsurContrCanclnReason'
      CoveragePackage.InsurPlcyCvrgPckgCanclnReason,
      @Semantics.dateTime:true
      CoveragePackage.InsurPlcyCvrgPckgCanclnDteTime,
      @Semantics.systemDateTime.lastChangedAt: true
      CoveragePackage.LastChangeDateTime,

      /* Associations */
      _InsurOpenApplContract,
      _InsurOpenApplCoverage,
      _InsurOpenApplCvrgPckgClause,
      _InsurOpenApplCvrgPckgInsrdObj,
      _InsOpApCvrgPckgSurchrgDisc,

      @Consumption.hidden: true
      _InsurPlcyTemplateT,
      @Consumption.hidden: true
      _InsurContrCanclnReason

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

  and OpenApplJrnl.InsuranceApplication is not initial