I_InsOpApContrInsrdObjBuilding

DDL: I_INSOPAPCONTRINSRDOBJBUILDING Type: view_entity COMPOSITE Package: VDM_PM_PLCY_OPEN_APPL_COMMON

InsOb Building of Contract in InsOpAppl

I_InsOpApContrInsrdObjBuilding is a Composite CDS View that provides data about "InsOb Building of Contract in InsOpAppl" in SAP S/4HANA. It reads from 1 data source (I_InsurPlcyInsuredBldngBasic) and exposes 43 fields with key fields InsurPlcyApplUUID, InsuranceApplication, InsurPlcyInsurContr, InsurPlcyCoveragePackageID, InsurPlcyCoverageID. It has 6 associations to related views. Part of development package VDM_PM_PLCY_OPEN_APPL_COMMON.

Data Sources (1)

SourceAliasJoin Type
I_InsurPlcyInsuredBldngBasic Subject from

Associations (6)

CardinalityTargetAliasCondition
[1..1] I_InsurInsrblObjOutWallType _InsurInsrblObjOutWallType $projection.InsurInsrblObjOuterWallType = _InsurInsrblObjOutWallType.InsurInsrblObjOuterWallType
[1..1] I_InsurInsrblObjRoofing _InsurInsrblObjRoofing $projection.InsurInsrblObjRoofing = _InsurInsrblObjRoofing.InsurInsrblObjRoofing
[1..1] I_InsurInsrblObjBldngCat _InsurInsrblObjBldngCat $projection.InsurInsrblObjBldngCategory = _InsurInsrblObjBldngCat.InsurInsrblObjBldngCategory
[1..1] I_InsurInsrdObjBldngTypeLink _InsurInsrdObjectBuildingType $projection.InsurInsrblObjBldngType = _InsurInsrdObjectBuildingType.InsurInsrblObjBldngType and $projection.InsurPlcyInsrdObjectTemplate = _InsurInsrdObjectBuildingType.InsurPlcyProductTemplate
[1..1] I_InsurInsrblObjPartPrpty _InsurInsrblObjPartPrpty $projection.InsurInsrblObjPartPrpty = _InsurInsrblObjPartPrpty.InsurInsrblObjPartPrpty
[0..1] I_BusinessPartner _BusinessPartner $projection.InsurInsrblObjPartner = _BusinessPartner.BusinessPartner

Annotations (11)

NameValueLevelField
EndUserText.label InsOb Building of Contract in InsOpAppl view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
ObjectModel.representativeKey InsurPlcyInsuredObjectID 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 IOAConInsrObjBld view

Fields (43)

KeyFieldSource TableSource FieldDescription
KEY InsurPlcyApplUUID OpenApplJrnl InsurPlcyApplUUID
KEY InsuranceApplication
KEY InsurPlcyInsurContr I_InsurPlcyInsuredBldngBasic InsurPlcyInsurContr
KEY InsurPlcyCoveragePackageID I_InsurPlcyInsuredBldngBasic InsurPlcyCoveragePackageID
KEY InsurPlcyCoverageID I_InsurPlcyInsuredBldngBasic InsurPlcyCoverageID
KEY InsurPlcyInsuredObjectID I_InsurPlcyInsuredBldngBasic InsurPlcyInsuredObjectID
KEY InsurPlcyContrDataDetnJrnlNmbr
InsurPlcyJrnlNmbr I_InsurPlcyInsuredBldngBasic InsurPlcyJrnlNmbr
InsurPlcyJrnlEndNmbr I_InsurPlcyInsuredBldngBasic InsurPlcyJrnlEndNmbr
InsurPlcyInsrdObjectTemplate I_InsurPlcyInsuredBldngBasic InsurPlcyInsrdObjectTemplate
InsurPlcyBusinessObject I_InsurPlcyInsuredBldngBasic InsurPlcyBusinessObject
InsurInsrblObjIsPrefabHouse I_InsurPlcyInsuredBldngBasic InsurInsrblObjIsPrefabHouse
InsurInsrblObjIsTmpCvrg I_InsurPlcyInsuredBldngBasic InsurInsrblObjIsTmpCvrg
InsurPlcyUUID OpenApplJrnl InsurPlcyUUID
InsurInsrblObjOuterWallType I_InsurPlcyInsuredBldngBasic InsurInsrblObjOuterWallType
InsurInsrblObjRoofing I_InsurPlcyInsuredBldngBasic InsurInsrblObjRoofing
InsurInsrblObjCubicSpaceQty I_InsurPlcyInsuredBldngBasic InsurInsrblObjCubicSpaceQty
InsurInsrblObjCubicSpaceUnit I_InsurPlcyInsuredBldngBasic InsurInsrblObjCubicSpaceUnit
InsurInsrblObjConstructYear I_InsurPlcyInsuredBldngBasic InsurInsrblObjConstructYear
InsurInsrblObjGlazingQty I_InsurPlcyInsuredBldngBasic InsurInsrblObjGlazingQty
InsurInsrblObjGlazingUnit I_InsurPlcyInsuredBldngBasic InsurInsrblObjGlazingUnit
InsurInsrblObjIsBuildUpArea I_InsurPlcyInsuredBldngBasic InsurInsrblObjIsBuildUpArea
InsurInsrblObjPropertyAreaQty I_InsurPlcyInsuredBldngBasic InsurInsrblObjPropertyAreaQty
InsurInsrblObjPropertyAreaUnit I_InsurPlcyInsuredBldngBasic InsurInsrblObjPropertyAreaUnit
InsurInsrblObjPartner I_InsurPlcyInsuredBldngBasic InsurInsrblObjPartner
InsurInsrblObjPartPrpty I_InsurPlcyInsuredBldngBasic InsurInsrblObjPartPrpty
InsurInsrblObjBldngCategory I_InsurPlcyInsuredBldngBasic InsurInsrblObjBldngCategory
InsurInsrblObjBldngType I_InsurPlcyInsuredBldngBasic InsurInsrblObjBldngType
InsurInsrblObjNmbrOfFloors I_InsurPlcyInsuredBldngBasic InsurInsrblObjNmbrOfFloors
InsurInsrblObjNmbrOfLiving I_InsurPlcyInsuredBldngBasic InsurInsrblObjNmbrOfLiving
InsurInsrblObjIsOccupiedBldng I_InsurPlcyInsuredBldngBasic InsurInsrblObjIsOccupiedBldng
InsurInsrblObjYearOfCleanup I_InsurPlcyInsuredBldngBasic InsurInsrblObjYearOfCleanup
InsurInsrblObjUsableSpaceQty I_InsurPlcyInsuredBldngBasic InsurInsrblObjUsableSpaceQty
InsurInsrblObjUsableSpaceUnit I_InsurPlcyInsuredBldngBasic InsurInsrblObjUsableSpaceUnit
InsurInsrblObjJrnlNmbr I_InsurPlcyInsuredBldngBasic InsurInsrblObjJrnlNmbr
LastChangeDateTime I_InsurPlcyInsuredBldngBasic LastChangeDateTime
_InsOpApContrInsuredObject _InsOpApContrInsuredObject
_InsurInsrblObjOutWallType _InsurInsrblObjOutWallType
_InsurInsrblObjRoofing _InsurInsrblObjRoofing
_InsurInsrblObjBldngCat _InsurInsrblObjBldngCat
_InsurInsrdObjectBuildingType _InsurInsrdObjectBuildingType
_InsurInsrblObjPartPrpty _InsurInsrblObjPartPrpty
_BusinessPartner _BusinessPartner
@EndUserText.label: 'InsOb Building of Contract in InsOpAppl'
@VDM                          : {
  viewType                    : #COMPOSITE,
  lifecycle.contract.type     : #PUBLIC_LOCAL_API
}

@AccessControl                : {
  authorizationCheck          : #PRIVILEGED_ONLY,
  personalData.blocking       : #('TRANSACTIONAL_DATA')
}

@ObjectModel                  : {
   representativeKey          : 'InsurPlcyInsuredObjectID',
   usageType                  : {
     dataClass                : #TRANSACTIONAL,
     serviceQuality           : #D,
     sizeCategory             : #L },
   supportedCapabilities      : [ #CDS_MODELING_DATA_SOURCE ]
}

@Metadata                     : {
  allowExtensions             : false,
  ignorePropagatedAnnotations : false
}

@Analytics                    : {
  technicalName               : 'IOAConInsrObjBld'
}
define view entity I_InsOpApContrInsrdObjBuilding
  as select from           I_InsurPlcyInsuredBldngBasic  as Subject

    left outer to one join P_InsurOpenApplInsrdBldngLtst as OpenApplJrnl on  (
        OpenApplJrnl.InsurPlcyUUID                                                                                       = Subject.InsurPlcyUUID
        or OpenApplJrnl.InsurPlcyApplUUID                                                                                = Subject.InsurPlcyUUID
      )

                                                                         and OpenApplJrnl.InsurPlcyInsurContr            = Subject.InsurPlcyInsurContr
                                                                         and OpenApplJrnl.InsurPlcyCoveragePackageID     = Subject.InsurPlcyCoveragePackageID
                                                                         and OpenApplJrnl.InsurPlcyCoverageID            = Subject.InsurPlcyCoverageID
                                                                         and OpenApplJrnl.InsurPlcyInsuredObjectID       = Subject.InsurPlcyInsuredObjectID
                                                                         and OpenApplJrnl.InsurPlcyJrnlNmbr              = Subject.InsurPlcyJrnlNmbr
                                                                         and OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr < Subject.InsurPlcyJrnlEndNmbr

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

  association [1..1] to I_InsurInsrblObjOutWallType           as _InsurInsrblObjOutWallType    on  $projection.InsurInsrblObjOuterWallType = _InsurInsrblObjOutWallType.InsurInsrblObjOuterWallType
  association [1..1] to I_InsurInsrblObjRoofing               as _InsurInsrblObjRoofing        on  $projection.InsurInsrblObjRoofing = _InsurInsrblObjRoofing.InsurInsrblObjRoofing
  association [1..1] to I_InsurInsrblObjBldngCat              as _InsurInsrblObjBldngCat       on  $projection.InsurInsrblObjBldngCategory = _InsurInsrblObjBldngCat.InsurInsrblObjBldngCategory
  association [1..1] to I_InsurInsrdObjBldngTypeLink          as _InsurInsrdObjectBuildingType on  $projection.InsurInsrblObjBldngType      = _InsurInsrdObjectBuildingType.InsurInsrblObjBldngType
                                                                                               and $projection.InsurPlcyInsrdObjectTemplate = _InsurInsrdObjectBuildingType.InsurPlcyProductTemplate
  association [1..1] to I_InsurInsrblObjPartPrpty             as _InsurInsrblObjPartPrpty      on  $projection.InsurInsrblObjPartPrpty = _InsurInsrblObjPartPrpty.InsurInsrblObjPartPrpty
  association [0..1] to I_BusinessPartner                     as _BusinessPartner              on  $projection.InsurInsrblObjPartner = _BusinessPartner.BusinessPartner

{
  key OpenApplJrnl.InsurPlcyApplUUID,
  key cast( OpenApplJrnl.InsuranceApplication as /pm0/vdm_applicationnr_tt preserving type )              as InsuranceApplication,
  key Subject.InsurPlcyInsurContr,
  key Subject.InsurPlcyCoveragePackageID,
  key Subject.InsurPlcyCoverageID,
  key Subject.InsurPlcyInsuredObjectID,
  key cast( OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr as /pm0/vdm_contr_detn_jrnlnmbr preserving type ) as InsurPlcyContrDataDetnJrnlNmbr,
      Subject.InsurPlcyJrnlNmbr,
      Subject.InsurPlcyJrnlEndNmbr,
      Subject.InsurPlcyInsrdObjectTemplate,
      @Consumption.hidden: true
      Subject.InsurPlcyBusinessObject,
      @Semantics.booleanIndicator :true
      Subject.InsurInsrblObjIsPrefabHouse,
      @Semantics.booleanIndicator :true
      Subject.InsurInsrblObjIsTmpCvrg,
      OpenApplJrnl.InsurPlcyUUID,
      @ObjectModel.foreignKey.association: '_InsurInsrblObjOutWallType'
      Subject.InsurInsrblObjOuterWallType,
      @ObjectModel.foreignKey.association: '_InsurInsrblObjRoofing'
      Subject.InsurInsrblObjRoofing,
      @Semantics.quantity.unitOfMeasure: 'InsurInsrblObjCubicSpaceUnit'
      Subject.InsurInsrblObjCubicSpaceQty,
      Subject.InsurInsrblObjCubicSpaceUnit,
      Subject.InsurInsrblObjConstructYear,
      @Semantics.quantity.unitOfMeasure: 'InsurInsrblObjGlazingUnit'
      Subject.InsurInsrblObjGlazingQty,
      Subject.InsurInsrblObjGlazingUnit,
      Subject.InsurInsrblObjIsBuildUpArea,
      @Semantics.quantity.unitOfMeasure: 'InsurInsrblObjPropertyAreaUnit'
      Subject.InsurInsrblObjPropertyAreaQty,
      Subject.InsurInsrblObjPropertyAreaUnit,
      @ObjectModel.foreignKey.association: '_BusinessPartner'
      Subject.InsurInsrblObjPartner,
      @ObjectModel.foreignKey.association: '_InsurInsrblObjPartPrpty'
      Subject.InsurInsrblObjPartPrpty,
      @ObjectModel.foreignKey.association: '_InsurInsrblObjBldngCat'
      Subject.InsurInsrblObjBldngCategory,
      @ObjectModel.foreignKey.association: '_InsurInsrdObjectBuildingType'
      Subject.InsurInsrblObjBldngType,
      Subject.InsurInsrblObjNmbrOfFloors,
      Subject.InsurInsrblObjNmbrOfLiving,
      Subject.InsurInsrblObjIsOccupiedBldng,
      Subject.InsurInsrblObjYearOfCleanup,
      @Semantics.quantity.unitOfMeasure: 'InsurInsrblObjUsableSpaceUnit'
      Subject.InsurInsrblObjUsableSpaceQty,
      Subject.InsurInsrblObjUsableSpaceUnit,
      Subject.InsurInsrblObjJrnlNmbr,
      @Semantics.systemDateTime.lastChangedAt: true
      Subject.LastChangeDateTime,

      /* Associations */
      _InsOpApContrInsuredObject,
      @Consumption.hidden: true
      _InsurInsrblObjOutWallType,
      @Consumption.hidden: true
      _InsurInsrblObjRoofing,
      @Consumption.hidden: true
      _InsurInsrblObjBldngCat,
      @Consumption.hidden: true
      _InsurInsrdObjectBuildingType,
      @Consumption.hidden: true
      _InsurInsrblObjPartPrpty,
      _BusinessPartner
}
where
      Subject.InsurPlcyCoveragePackageID = 0
  and Subject.InsurPlcyCoverageID        = 0
  and OpenApplJrnl.InsurPlcyApplUUID     is not initial //Perf. Tuning: Make inner Join out of left outer Join

  and OpenApplJrnl.InsuranceApplication  is not initial