I_InsurOpenApplSurchrgDiscount

DDL: I_INSUROPENAPPLSURCHRGDISCOUNT Type: view_entity COMPOSITE

InsOb SurDsc of CvrPcg in InsOpenAppl

I_InsurOpenApplSurchrgDiscount is a Composite CDS View that provides data about "InsOb SurDsc of CvrPcg in InsOpenAppl" in SAP S/4HANA. It reads from 1 data source (I_InsurPlcySurchargeDiscBasic) and exposes 28 fields with key fields InsurPlcyApplUUID, InsuranceApplication, InsurPlcyInsurContr, InsurPlcyCoveragePackageID, InsurPlcyCoverageID. It has 5 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_InsurPlcySurchargeDiscBasic SurchargeDiscount from

Associations (5)

CardinalityTargetAliasCondition
[1..1] I_InsurPlcySurchrgDiscAmtLink _InsurPlcySurchrgDiscAmtType $projection.InsurPlcySurchrgDiscAmtType = _InsurPlcySurchrgDiscAmtType.InsurPlcySurchrgDiscAmtType and $projection.InsurPlcySurchrgDiscTemplate = _InsurPlcySurchrgDiscAmtType.InsurPlcySurchrgDiscTemplate
[0..1] I_InsurPlcySurchrgDiscUnitLink _InsurPlcySurchrgDiscAmtUnit $projection.InsurPlcySurchrgDiscAmtUnit = _InsurPlcySurchrgDiscAmtUnit.InsurPlcySurchrgDiscAmtUnit and $projection.InsurPlcySurchrgDiscTemplate = _InsurPlcySurchrgDiscAmtUnit.InsurPlcySurchrgDiscTemplate
[0..1] I_InsurPlcySurchrgDiscType _InsurPlcySurchrgDiscType $projection.InsurPlcySurchargeDiscTypeID = _InsurPlcySurchrgDiscType.InsurPlcySurchargeDiscTypeID
[0..1] I_Currency _Currency $projection.InsurPlcySurchrgDiscCurrency = _Currency.Currency
[1..*] I_InsurPlcyTemplateT _InsurPlcyTemplateT $projection.InsurPlcySurchrgDiscTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate

Annotations (11)

NameValueLevelField
EndUserText.label InsOb SurDsc of CvrPcg in InsOpenAppl view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
ObjectModel.representativeKey InsurPlcySurchargeDiscID 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 IOASurchrgDis view

Fields (28)

KeyFieldSource TableSource FieldDescription
KEY InsurPlcyApplUUID OpenApplJrnl InsurPlcyApplUUID
KEY InsuranceApplication
KEY InsurPlcyInsurContr I_InsurPlcySurchargeDiscBasic InsurPlcyInsurContr
KEY InsurPlcyCoveragePackageID I_InsurPlcySurchargeDiscBasic InsurPlcyCoveragePackageID
KEY InsurPlcyCoverageID I_InsurPlcySurchargeDiscBasic InsurPlcyCoverageID
KEY InsurPlcyInsuredObjectID I_InsurPlcySurchargeDiscBasic InsurPlcyInsuredObjectID
KEY InsurPlcySurchargeDiscID I_InsurPlcySurchargeDiscBasic InsurPlcySurchargeDiscID
KEY InsurPlcyContrDataDetnJrnlNmbr
InsurPlcyJrnlNmbr I_InsurPlcySurchargeDiscBasic InsurPlcyJrnlNmbr
InsurPlcyJrnlEndNmbr I_InsurPlcySurchargeDiscBasic InsurPlcyJrnlEndNmbr
InsurPlcyProductPackageID I_InsurPlcySurchargeDiscBasic InsurPlcyProductPackageID
InsurPlcyUUID OpenApplJrnl InsurPlcyUUID
InsurPlcySurchrgDiscTemplate I_InsurPlcySurchargeDiscBasic InsurPlcySurchrgDiscTemplate
InsurPlcySurchargeDiscStrtDate I_InsurPlcySurchargeDiscBasic InsurPlcySurchargeDiscStrtDate
InsurPlcySurchargeDiscEndDate I_InsurPlcySurchargeDiscBasic InsurPlcySurchargeDiscEndDate
InsurPlcySurchrgDiscBaseAmtPct I_InsurPlcySurchargeDiscBasic InsurPlcySurchrgDiscBaseAmtPct
InsurPlcySurchargeDiscAmount I_InsurPlcySurchargeDiscBasic InsurPlcySurchargeDiscAmount
InsurPlcySurchrgDiscAmtType I_InsurPlcySurchargeDiscBasic InsurPlcySurchrgDiscAmtType
InsurPlcySurchrgDiscAmtUnit I_InsurPlcySurchargeDiscBasic InsurPlcySurchrgDiscAmtUnit
InsurPlcySurchargeDiscTypeID I_InsurPlcySurchargeDiscBasic InsurPlcySurchargeDiscTypeID
InsurPlcySurchrgDiscCurrency I_InsurPlcySurchargeDiscBasic InsurPlcySurchrgDiscCurrency
LastChangeDateTime I_InsurPlcySurchargeDiscBasic LastChangeDateTime
_InsOpApCvrgPckgInsrdObject _InsOpApCvrgPckgInsrdObject
_Currency _Currency
_InsurPlcySurchrgDiscType _InsurPlcySurchrgDiscType
_InsurPlcySurchrgDiscAmtType _InsurPlcySurchrgDiscAmtType
_InsurPlcySurchrgDiscAmtUnit _InsurPlcySurchrgDiscAmtUnit
_InsurPlcyTemplateT _InsurPlcyTemplateT
@EndUserText.label: 'InsOb SurDsc of CvrPcg in InsOpenAppl'
@VDM: {
  viewType:#COMPOSITE,
  lifecycle.contract.type:#PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
   representativeKey: 'InsurPlcySurchargeDiscID',
   semanticKey: [ 'InsurPlcySurchargeDiscID' ],
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #D,
     sizeCategory:   #XL
   },
   supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE ]
}
@Metadata: {
  allowExtensions:false,
  ignorePropagatedAnnotations:false
}
@Analytics: {
  technicalName: 'IOASurchrgDis'
}

define view entity I_InsurOpenApplSurchrgDiscount
  as select from           I_InsurPlcySurchargeDiscBasic  as SurchargeDiscount

    left outer to one join P_InsurOpenApplSurchrgDiscLtst as OpenApplJrnl on  (
        OpenApplJrnl.InsurPlcyUUID                                                                                        = SurchargeDiscount.InsurPlcyUUID
        or OpenApplJrnl.InsurPlcyApplUUID                                                                                 = SurchargeDiscount.InsurPlcyUUID
      )
                                                                          and OpenApplJrnl.InsurPlcyInsurContr            = SurchargeDiscount.InsurPlcyInsurContr
                                                                          and OpenApplJrnl.InsurPlcyCoveragePackageID     = SurchargeDiscount.InsurPlcyCoveragePackageID
                                                                          and OpenApplJrnl.InsurPlcyCoverageID            = SurchargeDiscount.InsurPlcyCoverageID

                                                                          and OpenApplJrnl.InsurPlcyInsuredObjectID       = SurchargeDiscount.InsurPlcyInsuredObjectID
                                                                          and OpenApplJrnl.InsurPlcySurchargeDiscID       = SurchargeDiscount.InsurPlcySurchargeDiscID
                                                                          and OpenApplJrnl.InsurPlcyJrnlNmbr              = SurchargeDiscount.InsurPlcyJrnlNmbr
                                                                          and OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr < SurchargeDiscount.InsurPlcyJrnlEndNmbr

  association        to parent I_InsOpApCvrgPckgInsrdObject as _InsOpApCvrgPckgInsrdObject  on  $projection.InsurPlcyApplUUID              = _InsOpApCvrgPckgInsrdObject.InsurPlcyApplUUID
                                                                                            and $projection.InsuranceApplication           = _InsOpApCvrgPckgInsrdObject.InsuranceApplication
                                                                                            and $projection.InsurPlcyInsurContr            = _InsOpApCvrgPckgInsrdObject.InsurPlcyInsurContr
                                                                                            and $projection.InsurPlcyCoveragePackageID     = _InsOpApCvrgPckgInsrdObject.InsurPlcyCoveragePackageID
                                                                                            and $projection.InsurPlcyCoverageID            = _InsOpApCvrgPckgInsrdObject.InsurPlcyCoverageID
                                                                                            and $projection.InsurPlcyInsuredObjectID       = _InsOpApCvrgPckgInsrdObject.InsurPlcyInsuredObjectID
                                                                                            and $projection.InsurPlcyContrDataDetnJrnlNmbr = _InsOpApCvrgPckgInsrdObject.InsurPlcyContrDataDetnJrnlNmbr

  association [1..1] to I_InsurPlcySurchrgDiscAmtLink       as _InsurPlcySurchrgDiscAmtType on  $projection.InsurPlcySurchrgDiscAmtType  = _InsurPlcySurchrgDiscAmtType.InsurPlcySurchrgDiscAmtType
                                                                                            and $projection.InsurPlcySurchrgDiscTemplate = _InsurPlcySurchrgDiscAmtType.InsurPlcySurchrgDiscTemplate
  association [0..1] to I_InsurPlcySurchrgDiscUnitLink      as _InsurPlcySurchrgDiscAmtUnit on  $projection.InsurPlcySurchrgDiscAmtUnit  = _InsurPlcySurchrgDiscAmtUnit.InsurPlcySurchrgDiscAmtUnit
                                                                                            and $projection.InsurPlcySurchrgDiscTemplate = _InsurPlcySurchrgDiscAmtUnit.InsurPlcySurchrgDiscTemplate
  association [0..1] to I_InsurPlcySurchrgDiscType          as _InsurPlcySurchrgDiscType    on  $projection.InsurPlcySurchargeDiscTypeID = _InsurPlcySurchrgDiscType.InsurPlcySurchargeDiscTypeID
  association [0..1] to I_Currency                          as _Currency                    on  $projection.InsurPlcySurchrgDiscCurrency = _Currency.Currency
  association [1..*] to I_InsurPlcyTemplateT                as _InsurPlcyTemplateT          on  $projection.InsurPlcySurchrgDiscTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate

{

  key OpenApplJrnl.InsurPlcyApplUUID,
  key cast( OpenApplJrnl.InsuranceApplication as /pm0/vdm_applicationnr_tt preserving type )              as InsuranceApplication,
  key SurchargeDiscount.InsurPlcyInsurContr,
  key SurchargeDiscount.InsurPlcyCoveragePackageID,
  key SurchargeDiscount.InsurPlcyCoverageID,
  key SurchargeDiscount.InsurPlcyInsuredObjectID,
  key SurchargeDiscount.InsurPlcySurchargeDiscID,
  key cast( OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr as /pm0/vdm_contr_detn_jrnlnmbr preserving type ) as InsurPlcyContrDataDetnJrnlNmbr,
      SurchargeDiscount.InsurPlcyJrnlNmbr,
      SurchargeDiscount.InsurPlcyJrnlEndNmbr,
      @Consumption.hidden: true
      SurchargeDiscount.InsurPlcyProductPackageID,
      OpenApplJrnl.InsurPlcyUUID,
      @ObjectModel.text.association: '_InsurPlcyTemplateT'
      SurchargeDiscount.InsurPlcySurchrgDiscTemplate,
      @Semantics.businessDate.from: true
      SurchargeDiscount.InsurPlcySurchargeDiscStrtDate,
      @Semantics.businessDate.to: true
      SurchargeDiscount.InsurPlcySurchargeDiscEndDate,
      SurchargeDiscount.InsurPlcySurchrgDiscBaseAmtPct,
      @Semantics.amount.currencyCode: 'InsurPlcySurchrgDiscCurrency'
      SurchargeDiscount.InsurPlcySurchargeDiscAmount,
      @ObjectModel.foreignKey.association: '_InsurPlcySurchrgDiscAmtType'
      SurchargeDiscount.InsurPlcySurchrgDiscAmtType,
      @ObjectModel.foreignKey.association: '_InsurPlcySurchrgDiscAmtUnit'
      SurchargeDiscount.InsurPlcySurchrgDiscAmtUnit,
      @ObjectModel.foreignKey.association: '_InsurPlcySurchrgDiscType'
      SurchargeDiscount.InsurPlcySurchargeDiscTypeID,
      @ObjectModel.foreignKey.association: '_Currency'
      SurchargeDiscount.InsurPlcySurchrgDiscCurrency,
      @Semantics.systemDateTime.lastChangedAt: true
      SurchargeDiscount.LastChangeDateTime,

      /* Associations */
      _InsOpApCvrgPckgInsrdObject,
      @Consumption.hidden: true
      _Currency,
      @Consumption.hidden: true
      _InsurPlcySurchrgDiscType,
      @Consumption.hidden: true
      _InsurPlcySurchrgDiscAmtType,
      @Consumption.hidden: true
      _InsurPlcySurchrgDiscAmtUnit,
      @Consumption.hidden: true
      _InsurPlcyTemplateT

}
where
      SurchargeDiscount.InsurPlcyCoveragePackageID <> 0
  and SurchargeDiscount.InsurPlcyCoverageID        =  0
  and SurchargeDiscount.InsurPlcyInsuredObjectID   <> 0
  and 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_INSURPLCYSURCHARGEDISCBASIC",
"P_INSUROPENAPPLSURCHRGDISCLTST"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_INSOPAPCVRGPCKGINSRDOBJECT",
"I_INSURPLCYSURCHRGDISCAMTLINK",
"I_INSURPLCYSURCHRGDISCTYPE",
"I_INSURPLCYSURCHRGDISCUNITLINK",
"I_INSURPLCYTEMPLATET"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/