I_InsurOpenApplLimit

DDL: I_INSUROPENAPPLLIMIT Type: view_entity COMPOSITE Package: VDM_PM_PLCY_OPEN_APPL_COMMON

SubCoverage Limit of CvPcg in InsOpAppl

I_InsurOpenApplLimit is a Composite CDS View that provides data about "SubCoverage Limit of CvPcg in InsOpAppl" in SAP S/4HANA. It reads from 1 data source (I_InsurPlcyLimitBasic) and exposes 19 fields with key fields InsurPlcyApplUUID, InsuranceApplication, InsurPlcyInsurContr, InsurPlcyCoveragePackageID, InsurPlcyCoverageID. It has 2 associations to related views. Part of development package VDM_PM_PLCY_OPEN_APPL_COMMON.

Data Sources (1)

SourceAliasJoin Type
I_InsurPlcyLimitBasic Limit from

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_Currency _Currency $projection.InsurPlcyLimitCurrency = _Currency.Currency
[1..*] I_InsurPlcyTemplateT _InsurPlcyTemplateT $projection.InsurPlcyLimitTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate

Annotations (11)

NameValueLevelField
EndUserText.label SubCoverage Limit of CvPcg in InsOpAppl view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
ObjectModel.representativeKey InsurPlcyLimitID 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 IOALmt view

Fields (19)

KeyFieldSource TableSource FieldDescription
KEY InsurPlcyApplUUID OpenApplJrnl InsurPlcyApplUUID
KEY InsuranceApplication
KEY InsurPlcyInsurContr I_InsurPlcyLimitBasic InsurPlcyInsurContr
KEY InsurPlcyCoveragePackageID I_InsurPlcyLimitBasic InsurPlcyCoveragePackageID
KEY InsurPlcyCoverageID I_InsurPlcyLimitBasic InsurPlcyCoverageID
KEY InsurPlcySubCvrgID I_InsurPlcyLimitBasic InsurPlcySubCvrgID
KEY InsurPlcyLimitID I_InsurPlcyLimitBasic InsurPlcyLimitID
KEY InsurPlcyContrDataDetnJrnlNmbr
InsurPlcyJrnlNmbr I_InsurPlcyLimitBasic InsurPlcyJrnlNmbr
InsurPlcyJrnlEndNmbr I_InsurPlcyLimitBasic InsurPlcyJrnlEndNmbr
InsurPlcyProductPackageID I_InsurPlcyLimitBasic InsurPlcyProductPackageID
InsurPlcyUUID OpenApplJrnl InsurPlcyUUID
InsurPlcyLimitTemplate I_InsurPlcyLimitBasic InsurPlcyLimitTemplate
InsurPlcyLimitAmount I_InsurPlcyLimitBasic InsurPlcyLimitAmount
InsurPlcyLimitCurrency I_InsurPlcyLimitBasic InsurPlcyLimitCurrency
LastChangeDateTime I_InsurPlcyLimitBasic LastChangeDateTime
_InsurOpenApplSubCoverage _InsurOpenApplSubCoverage
_Currency _Currency
_InsurPlcyTemplateT _InsurPlcyTemplateT
@EndUserText.label: 'SubCoverage Limit of CvPcg in InsOpAppl'
@VDM: {
  viewType:#COMPOSITE,
  lifecycle.contract.type:#PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
   representativeKey: 'InsurPlcyLimitID',
   semanticKey: [ 'InsurPlcyLimitID' ],
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #D,
     sizeCategory:   #XL
   },
   supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE ]
}
@Metadata: {
  allowExtensions:false,
  ignorePropagatedAnnotations:false
}
@Analytics: {
  technicalName: 'IOALmt'
}
define view entity I_InsurOpenApplLimit
  as select from           I_InsurPlcyLimitBasic      as Limit
    left outer to one join P_InsurOpenApplLimitLatest as OpenApplJrnl on  (
        OpenApplJrnl.InsurPlcyUUID                                                                                    = Limit.InsurPlcyUUID
        or OpenApplJrnl.InsurPlcyApplUUID                                                                             = Limit.InsurPlcyUUID
      )
                                                                      and OpenApplJrnl.InsurPlcyInsurContr            = Limit.InsurPlcyInsurContr
                                                                      and OpenApplJrnl.InsurPlcyCoveragePackageID     = Limit.InsurPlcyCoveragePackageID
                                                                      and OpenApplJrnl.InsurPlcyCoverageID            = Limit.InsurPlcyCoverageID
                                                                      and OpenApplJrnl.InsurPlcySubCvrgID             = Limit.InsurPlcySubCvrgID
                                                                      and OpenApplJrnl.InsurPlcyLimitID               = Limit.InsurPlcyLimitID
                                                                      and OpenApplJrnl.InsurPlcyJrnlNmbr              = Limit.InsurPlcyJrnlNmbr
                                                                      and OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr < Limit.InsurPlcyJrnlEndNmbr

  association        to parent I_InsurOpenApplSubCoverage as _InsurOpenApplSubCoverage on  $projection.InsurPlcyApplUUID              = _InsurOpenApplSubCoverage.InsurPlcyApplUUID
                                                                                       and $projection.InsuranceApplication           = _InsurOpenApplSubCoverage.InsuranceApplication
                                                                                       and $projection.InsurPlcyInsurContr            = _InsurOpenApplSubCoverage.InsurPlcyInsurContr
                                                                                       and $projection.InsurPlcyCoveragePackageID     = _InsurOpenApplSubCoverage.InsurPlcyCoveragePackageID
                                                                                       and $projection.InsurPlcyCoverageID            = _InsurOpenApplSubCoverage.InsurPlcyCoverageID
                                                                                       and $projection.InsurPlcySubCvrgID             = _InsurOpenApplSubCoverage.InsurPlcySubCvrgID
                                                                                       and $projection.InsurPlcyContrDataDetnJrnlNmbr = _InsurOpenApplSubCoverage.InsurPlcyContrDataDetnJrnlNmbr

  association [1..1] to I_Currency                        as _Currency                 on  $projection.InsurPlcyLimitCurrency = _Currency.Currency
  association [1..*] to I_InsurPlcyTemplateT              as _InsurPlcyTemplateT       on  $projection.InsurPlcyLimitTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate

{

  key OpenApplJrnl.InsurPlcyApplUUID,
  key cast( OpenApplJrnl.InsuranceApplication as /pm0/vdm_applicationnr_tt preserving type )              as InsuranceApplication,
  key Limit.InsurPlcyInsurContr,
  key Limit.InsurPlcyCoveragePackageID,
  key Limit.InsurPlcyCoverageID,
  key Limit.InsurPlcySubCvrgID,
  key Limit.InsurPlcyLimitID,
  key cast( OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr as /pm0/vdm_contr_detn_jrnlnmbr preserving type ) as InsurPlcyContrDataDetnJrnlNmbr,
      Limit.InsurPlcyJrnlNmbr,
      Limit.InsurPlcyJrnlEndNmbr,
      @Consumption.hidden: true
      Limit.InsurPlcyProductPackageID,
      OpenApplJrnl.InsurPlcyUUID,
      @ObjectModel.text.association: '_InsurPlcyTemplateT'
      Limit.InsurPlcyLimitTemplate,
      @Semantics.amount.currencyCode: 'InsurPlcyLimitCurrency'
      Limit.InsurPlcyLimitAmount,
      @ObjectModel.foreignKey.association: '_Currency'
      Limit.InsurPlcyLimitCurrency,
      @Semantics.systemDateTime.lastChangedAt: true
      Limit.LastChangeDateTime,

      /* Associations */
      _InsurOpenApplSubCoverage,
      @Consumption.hidden: true
      _Currency,
      @Consumption.hidden: true
      _InsurPlcyTemplateT

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

  and OpenApplJrnl.InsuranceApplication is not initial