I_InsurOpenApplPremPayer

DDL: I_INSUROPENAPPLPREMPAYER Type: view_entity COMPOSITE

Premium Payer in Insur Open Application

I_InsurOpenApplPremPayer is a Composite CDS View that provides data about "Premium Payer in Insur Open Application" in SAP S/4HANA. It reads from 1 data source (I_InsurPlcyPremPayerBasic) and exposes 30 fields with key fields InsurPlcyApplUUID, InsuranceApplication, InsurPlcyInsurContr, InsurPlcyContrPremPayerID, InsurPlcyContrDataDetnJrnlNmbr. It has 6 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_InsurPlcyPremPayerBasic PremPayer from

Associations (6)

CardinalityTargetAliasCondition
[1..1] I_Currency _Currency $projection.InsurPlcyPremiumCurrency = _Currency.Currency
[1..*] I_InsurPlcyTemplateT _InsurPlcyTemplateT $projection.InsurPlcyPremiumPayerTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate
[0..1] I_Address _Address $projection.AddressID = _Address.AddressID
[0..1] I_BusinessPartner _BusinessPartner $projection.InsurPlcyPremiumPayerID = _BusinessPartner.BusinessPartner
[0..*] I_CAPaymentMethodText _CAPaymentMethodText $projection.CAPaymentMethod = _CAPaymentMethodText.CAPaymentMethod and $projection.InsurPlcyCountry = _CAPaymentMethodText.Country
[1..1] I_InsurPlcyCollectionType _InsurPlcyCollectionType $projection.InsurPlcyCollectionType = _InsurPlcyCollectionType.InsurPlcyCollectionType

Annotations (11)

NameValueLevelField
EndUserText.label Premium Payer in Insur Open Application view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
ObjectModel.representativeKey InsurPlcyContrPremPayerID 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 IOAPremPyr view

Fields (30)

KeyFieldSource TableSource FieldDescription
KEY InsurPlcyApplUUID OpenApplJrnl InsurPlcyApplUUID
KEY InsuranceApplication
KEY InsurPlcyInsurContr I_InsurPlcyPremPayerBasic InsurPlcyInsurContr
KEY InsurPlcyContrPremPayerID I_InsurPlcyPremPayerBasic InsurPlcyContrPremPayerID
KEY InsurPlcyContrDataDetnJrnlNmbr
InsurPlcyJrnlNmbr I_InsurPlcyPremPayerBasic InsurPlcyJrnlNmbr
InsurPlcyJrnlEndNmbr I_InsurPlcyPremPayerBasic InsurPlcyJrnlEndNmbr
InsurPlcyProductPackageID I_InsurPlcyPremPayerBasic InsurPlcyProductPackageID
InsurPlcyUUID OpenApplJrnl InsurPlcyUUID
AddressID I_InsurPlcyPremPayerBasic AddressID
InsurPlcyPremiumPayerID I_InsurPlcyPremPayerBasic InsurPlcyPremiumPayerID
BankIdentification I_InsurPlcyPremPayerBasic BankIdentification
PaymentCardID I_InsurPlcyPremPayerBasic PaymentCardID
CAPaymentMethod I_InsurPlcyPremPayerBasic CAPaymentMethod
InsurPlcyPremiumPayerTemplate I_InsurPlcyPremPayerBasic InsurPlcyPremiumPayerTemplate
SEPAMandate I_InsurPlcyPremPayerBasic SEPAMandate
LastChangeDateTime I_InsurPlcyPremPayerBasic LastChangeDateTime
InsurPlcyCountry _InsurOpenApplContract InsurPlcyCountry
InsurPlcyCollectionType I_InsurPlcyPremPayerBasic InsurPlcyCollectionType
InsurPlcyPremPayerShareAmount I_InsurPlcyPremPayerBasic InsurPlcyPremPayerShareAmount
InsurPlcyPremPayerSharePercent I_InsurPlcyPremPayerBasic InsurPlcyPremPayerSharePercent
InsurPlcyPremPyrRmngAmtIsAssgd I_InsurPlcyPremPayerBasic InsurPlcyPremPyrRmngAmtIsAssgd
InsurPlcyPremiumCurrency I_InsurPlcyPremPayerBasic InsurPlcyPremiumCurrency
_InsurOpenApplContract _InsurOpenApplContract
_BusinessPartner _BusinessPartner
_Address _Address
_Currency _Currency
_InsurPlcyTemplateT _InsurPlcyTemplateT
_CAPaymentMethodText _CAPaymentMethodText
_InsurPlcyCollectionType _InsurPlcyCollectionType
@EndUserText.label: 'Premium Payer in Insur Open Application'
@VDM: {
  viewType:#COMPOSITE,
  lifecycle.contract.type:#PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA'),
  privilegedAssociations:  [  '_BusinessPartner',
                              '_Address']
}
@ObjectModel: {
   representativeKey: 'InsurPlcyContrPremPayerID',
   semanticKey: [ 'InsurPlcyPremiumPayerID' ],
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #D,
     sizeCategory:   #XL
   },
   supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE ]
}
@Metadata: {
  allowExtensions:false,
  ignorePropagatedAnnotations:false
}
@Analytics: {
  technicalName: 'IOAPremPyr'
}
define view entity I_InsurOpenApplPremPayer
  as select from           I_InsurPlcyPremPayerBasic      as PremPayer

    left outer to one join P_InsurOpenApplPremPayerLatest as OpenApplJrnl on  (
        OpenApplJrnl.InsurPlcyUUID                                                                                        = PremPayer.InsurPlcyUUID
        or OpenApplJrnl.InsurPlcyApplUUID                                                                                 = PremPayer.InsurPlcyUUID
      )
                                                                          and OpenApplJrnl.InsurPlcyInsurContr            = PremPayer.InsurPlcyInsurContr
                                                                          and OpenApplJrnl.InsurPlcyContrPremPayerID      = PremPayer.InsurPlcyContrPremPayerID
                                                                          and OpenApplJrnl.InsurPlcyJrnlNmbr              = PremPayer.InsurPlcyJrnlNmbr
                                                                          and OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr < PremPayer.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

  association [1..1] to I_Currency                     as _Currency                on  $projection.InsurPlcyPremiumCurrency = _Currency.Currency
  association [1..*] to I_InsurPlcyTemplateT           as _InsurPlcyTemplateT      on  $projection.InsurPlcyPremiumPayerTemplate = _InsurPlcyTemplateT.InsurPlcyTemplate
  association [0..1] to I_Address                      as _Address                 on  $projection.AddressID = _Address.AddressID
  association [0..1] to I_BusinessPartner              as _BusinessPartner         on  $projection.InsurPlcyPremiumPayerID = _BusinessPartner.BusinessPartner
  association [0..*] to I_CAPaymentMethodText          as _CAPaymentMethodText     on  $projection.CAPaymentMethod  = _CAPaymentMethodText.CAPaymentMethod
                                                                                   and $projection.InsurPlcyCountry = _CAPaymentMethodText.Country
  association [1..1] to I_InsurPlcyCollectionType      as _InsurPlcyCollectionType on  $projection.InsurPlcyCollectionType = _InsurPlcyCollectionType.InsurPlcyCollectionType

{

  key OpenApplJrnl.InsurPlcyApplUUID,
  key cast( OpenApplJrnl.InsuranceApplication as /pm0/vdm_applicationnr_tt preserving type )              as InsuranceApplication,
  key PremPayer.InsurPlcyInsurContr,
  key PremPayer.InsurPlcyContrPremPayerID,
  key cast( OpenApplJrnl.InsurPlcyContrDataDetnJrnlNmbr as /pm0/vdm_contr_detn_jrnlnmbr preserving type ) as InsurPlcyContrDataDetnJrnlNmbr,
      PremPayer.InsurPlcyJrnlNmbr,
      PremPayer.InsurPlcyJrnlEndNmbr,
      PremPayer.InsurPlcyProductPackageID,
      OpenApplJrnl.InsurPlcyUUID,
      @ObjectModel.foreignKey.association: '_Address'
      PremPayer.AddressID,
      @ObjectModel.foreignKey.association: '_BusinessPartner'
      PremPayer.InsurPlcyPremiumPayerID,
      PremPayer.BankIdentification,
      PremPayer.PaymentCardID,
      @ObjectModel.text.association: '_CAPaymentMethodText'
      PremPayer.CAPaymentMethod,
      @ObjectModel.text.association: '_InsurPlcyTemplateT'
      PremPayer.InsurPlcyPremiumPayerTemplate,
      PremPayer.SEPAMandate,
      @Semantics.systemDateTime.lastChangedAt: true
      PremPayer.LastChangeDateTime,
      _InsurOpenApplContract.InsurPlcyCountry                                                             as InsurPlcyCountry,
      @ObjectModel.text.association: '_InsurPlcyCollectionType'
      PremPayer.InsurPlcyCollectionType,
      @Semantics.amount.currencyCode: 'InsurPlcyPremiumCurrency'
      PremPayer.InsurPlcyPremPayerShareAmount,
      PremPayer.InsurPlcyPremPayerSharePercent,
      PremPayer.InsurPlcyPremPyrRmngAmtIsAssgd,
      @ObjectModel.foreignKey.association: '_Currency'
      PremPayer.InsurPlcyPremiumCurrency,

      /* Associations */
      _InsurOpenApplContract,
      _BusinessPartner,
      _Address,
      _Currency,

      @Consumption.hidden: true
      _InsurPlcyTemplateT,
      @Consumption.hidden: true
      _CAPaymentMethodText,
      @Consumption.hidden: true
      _InsurPlcyCollectionType

}
where
      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_INSUROPENAPPLCONTRACT",
"I_INSURPLCYPREMPAYERBASIC",
"P_INSUROPENAPPLPREMPAYERLATEST"
],
"ASSOCIATED":
[
"I_ADDRESS",
"I_BUSINESSPARTNER",
"I_CAPAYMENTMETHODTEXT",
"I_CURRENCY",
"I_INSUROPENAPPLCONTRACT",
"I_INSURPLCYCOLLECTIONTYPE",
"I_INSURPLCYTEMPLATET"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/