I_InsurApplContrClause

DDL: I_INSURAPPLCONTRCLAUSE Type: view_entity COMPOSITE

Contract Clause in Insurance Appl

I_InsurApplContrClause is a Composite CDS View that provides data about "Contract Clause in Insurance Appl" in SAP S/4HANA. It reads from 2 data sources (I_InsurPlcyClauseBasic, P_InsurPolicyJournalKeys) and exposes 25 fields with key fields InsurPlcyUUID, InsurPlcyInsurContr, InsurPlcyCoveragePackageID, InsurPlcyCoverageID, InsurPlcySubCvrgID. It has 2 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_InsurPlcyClauseBasic Clause inner
P_InsurPolicyJournalKeys PlcyJrnl from

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_InsurPlcyClauseTypeLink _InsurancePolicyClauseType $projection.InsurPlcyClauseType = _InsurancePolicyClauseType.InsurPlcyClauseType and $projection.InsurPlcyClauseTemplate = _InsurancePolicyClauseType.InsurPlcyClauseTemplate
[1..*] I_InsurPlcyTemplateT _InsurPlcyTemplateT $projection.InsurPlcyClauseTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate

Annotations (11)

NameValueLevelField
EndUserText.label Contract Clause in Insurance Appl view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
ObjectModel.representativeKey InsurPlcyClauseID 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 IAContrCls view

Fields (25)

KeyFieldSource TableSource FieldDescription
KEY InsurPlcyUUID I_InsurPlcyClauseBasic InsurPlcyUUID
KEY InsurPlcyInsurContr I_InsurPlcyClauseBasic InsurPlcyInsurContr
KEY InsurPlcyCoveragePackageID I_InsurPlcyClauseBasic InsurPlcyCoveragePackageID
KEY InsurPlcyCoverageID I_InsurPlcyClauseBasic InsurPlcyCoverageID
KEY InsurPlcySubCvrgID I_InsurPlcyClauseBasic InsurPlcySubCvrgID
KEY InsurPlcyInsuredObjectID I_InsurPlcyClauseBasic InsurPlcyInsuredObjectID
KEY InsurPlcyClauseID I_InsurPlcyClauseBasic InsurPlcyClauseID
KEY InsurPlcyContrDataDetnJrnlNmbr
InsurPlcyJrnlNmbr I_InsurPlcyClauseBasic InsurPlcyJrnlNmbr
InsurPlcyJrnlEndNmbr I_InsurPlcyClauseBasic InsurPlcyJrnlEndNmbr
InsurPlcyProductPackageID I_InsurPlcyClauseBasic InsurPlcyProductPackageID
InsurPlcyClauseTemplate I_InsurPlcyClauseBasic InsurPlcyClauseTemplate
InsurPlcyIndivClauseAgrmtText I_InsurPlcyClauseBasic InsurPlcyIndivClauseAgrmtText
InsurPlcyClauseDetailTextUUID I_InsurPlcyClauseBasic InsurPlcyClauseDetailTextUUID
LongText LongText LongText
TextObjectCategory LongText TextObjectCategory
TextObjectKey LongText TextObjectKey
Language LongText Language
InsurPlcyClauseType I_InsurPlcyClauseBasic InsurPlcyClauseType
InsurPlcyClauseStartDate I_InsurPlcyClauseBasic InsurPlcyClauseStartDate
InsurPlcyClauseEndDate I_InsurPlcyClauseBasic InsurPlcyClauseEndDate
LastChangeDateTime I_InsurPlcyClauseBasic LastChangeDateTime
_InsurApplContract _InsurApplContract
_InsurancePolicyClauseType _InsurancePolicyClauseType
_InsurPlcyTemplateT _InsurPlcyTemplateT
@EndUserText.label: 'Contract Clause in Insurance Appl'
@VDM: {
  viewType:#COMPOSITE,
  lifecycle.contract.type:#PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
   representativeKey: 'InsurPlcyClauseID',
   semanticKey: [ 'InsurPlcyClauseID' ],
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #D,
     sizeCategory:   #XL
   },
   supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE ]
}
@Metadata: {
  allowExtensions:false,
  ignorePropagatedAnnotations:false
}
@Analytics: {
  technicalName: 'IAContrCls'
}

define view entity I_InsurApplContrClause

  as select from P_InsurPolicyJournalKeys as PlcyJrnl
    inner join   I_InsurPlcyClauseBasic   as Clause on  PlcyJrnl.InsurPlcyUUID                  =  Clause.InsurPlcyUUID
                                                    and PlcyJrnl.InsurPlcyInsurContr            =  Clause.InsurPlcyInsurContr
                                                    and PlcyJrnl.InsurPlcyContrDataDetnJrnlNmbr >= Clause.InsurPlcyJrnlNmbr
                                                    and PlcyJrnl.InsurPlcyContrDataDetnJrnlNmbr <  Clause.InsurPlcyJrnlEndNmbr
  
    left outer to one join I_InsurPlcyClauseLongTxtBasic as LongText on Clause.InsurPlcyClauseDetailTextUUID = LongText.InsurPlcyClauseDetailTextUUID
                                                    

  association        to parent I_InsurApplContract as _InsurApplContract         on  $projection.InsurPlcyUUID                  = _InsurApplContract.InsurPlcyUUID
                                                                                 and $projection.InsurPlcyInsurContr            = _InsurApplContract.InsurPlcyInsurContr
                                                                                 and $projection.InsurPlcyContrDataDetnJrnlNmbr = _InsurApplContract.InsurPlcyContrDataDetnJrnlNmbr

  association [1..1] to I_InsurPlcyClauseTypeLink  as _InsurancePolicyClauseType on  $projection.InsurPlcyClauseType     = _InsurancePolicyClauseType.InsurPlcyClauseType
                                                                                 and $projection.InsurPlcyClauseTemplate = _InsurancePolicyClauseType.InsurPlcyClauseTemplate
  association [1..*] to I_InsurPlcyTemplateT       as _InsurPlcyTemplateT        on  $projection.InsurPlcyClauseTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate

{

  key Clause.InsurPlcyUUID,
  key Clause.InsurPlcyInsurContr,
  key Clause.InsurPlcyCoveragePackageID,
  key Clause.InsurPlcyCoverageID,
  key Clause.InsurPlcySubCvrgID,
  key Clause.InsurPlcyInsuredObjectID,
  key Clause.InsurPlcyClauseID,
  key cast( PlcyJrnl.InsurPlcyContrDataDetnJrnlNmbr as /pm0/vdm_contr_detn_jrnlnmbr preserving type ) as InsurPlcyContrDataDetnJrnlNmbr,
      Clause.InsurPlcyJrnlNmbr,
      Clause.InsurPlcyJrnlEndNmbr,
      @Consumption.hidden: true
      Clause.InsurPlcyProductPackageID,
      @ObjectModel.text.association: '_InsurPlcyTemplateT'
      Clause.InsurPlcyClauseTemplate,
      Clause.InsurPlcyIndivClauseAgrmtText,
      Clause.InsurPlcyClauseDetailTextUUID,
      LongText.LongText,
      LongText.TextObjectCategory,
      LongText.TextObjectKey,
      LongText.Language,
      @ObjectModel.foreignKey.association: '_InsurancePolicyClauseType'
      Clause.InsurPlcyClauseType,
      @Semantics.businessDate.from: true
      Clause.InsurPlcyClauseStartDate,
      @Semantics.businessDate.to: true
      Clause.InsurPlcyClauseEndDate,
      @Semantics.systemDateTime.lastChangedAt: true
      Clause.LastChangeDateTime,

      /* Associations */
      _InsurApplContract,
      @Consumption.hidden: true
      _InsurancePolicyClauseType,
      @Consumption.hidden: true
      _InsurPlcyTemplateT

}
where
      Clause.InsurPlcyCoveragePackageID = 0
  and Clause.InsurPlcyCoverageID        = 0
  and Clause.InsurPlcySubCvrgID         = 0
  and Clause.InsurPlcyInsuredObjectID   = 0
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_INSURPLCYCLAUSEBASIC",
"I_INSURPLCYCLAUSELONGTXTBASIC",
"P_INSURPOLICYJOURNALKEYS"
],
"ASSOCIATED":
[
"I_INSURAPPLCONTRACT",
"I_INSURPLCYCLAUSETYPELINK",
"I_INSURPLCYTEMPLATET"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/