P_InsurPlcyApplJrnlLatest

DDL: P_INSURPLCYAPPLJRNLLATEST Type: view_entity COMPOSITE

Application Journal Latest entry

P_InsurPlcyApplJrnlLatest is a Composite CDS View that provides data about "Application Journal Latest entry" in SAP S/4HANA. It reads from 3 data sources (I_InsurApplJournalHeaderBasic, I_InsurApplJournalHeaderBasic, P_InsuranceOpenApplicationJrnl) and exposes 15 fields with key fields InsurPlcyApplUUID, InsuranceApplication, InsuranceApplication.

Data Sources (3)

SourceAliasJoin Type
I_InsurApplJournalHeaderBasic ApplJrnl from
I_InsurApplJournalHeaderBasic ApplJrnl union
P_InsuranceOpenApplicationJrnl OpenApplJrnl inner

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Application Journal Latest entry view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (15)

KeyFieldSource TableSource FieldDescription
KEY InsurPlcyApplUUID I_InsurApplJournalHeaderBasic InsurPlcyApplUUID
KEY InsuranceApplication I_InsurApplJournalHeaderBasic InsuranceApplication
InsurPlcyUUID I_InsurApplJournalHeaderBasic InsurPlcyUUID
InsurPlcyBusProcType I_InsurApplJournalHeaderBasic InsurPlcyBusProcType
InsuranceApplicationStatus I_InsurApplJournalHeaderBasic InsuranceApplicationStatus
InsurApplRcptDte I_InsurApplJournalHeaderBasic InsurApplRcptDte
InsurApplSgntrDte I_InsurApplJournalHeaderBasic InsurApplSgntrDte
InsurPlcyApplUUIDendasInsurPlcyApplUUID
KEY InsuranceApplication I_InsurApplJournalHeaderBasic InsuranceApplication
InsurPlcyUUIDendasInsurPlcyUUID
InsurPlcyBusProcType I_InsurApplJournalHeaderBasic InsurPlcyBusProcType
InsuranceApplicationStatus I_InsurApplJournalHeaderBasic InsuranceApplicationStatus
InsurApplRcptDte I_InsurApplJournalHeaderBasic InsurApplRcptDte
InsurApplSgntrDte I_InsurApplJournalHeaderBasic InsurApplSgntrDte
CreatedByUser I_InsurApplJournalHeaderBasic CreatedByUser
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Application Journal Latest entry'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #X,
  sizeCategory: #S,
  dataClass: #MIXED
}
@VDM:           {   viewType:           #COMPOSITE,
                    private:            true}
define view entity P_InsurPlcyApplJrnlLatest
  as select from I_InsurApplJournalHeaderBasic  as ApplJrnl //I_InsurPlcyJrnlByApplBasic

    inner join   P_InsuranceOpenApplicationJrnl as OpenApplJrnl on  OpenApplJrnl.InsurPlcyUUID     = ApplJrnl.InsurPlcyUUID
                                                                and OpenApplJrnl.InsurPlcyApplUUID = ApplJrnl.InsurPlcyApplUUID
                                                                and 0                              = ApplJrnl.InsurPlcyInsurContr

{
  key ApplJrnl.InsurPlcyApplUUID,
  key ApplJrnl.InsuranceApplication,
      ApplJrnl.InsurPlcyUUID,
      ApplJrnl.InsurPlcyBusProcType,
      ApplJrnl.InsuranceApplicationStatus,
      ApplJrnl.InsurApplRcptDte,
      ApplJrnl.InsurApplSgntrDte,
      ApplJrnl.CreatedByUser

}

union


select from I_InsurApplJournalHeaderBasic as ApplJrnl
//inner join   P_InsuranceOpenApplicationJrnl as OpenApplJrnl on  OpenApplJrnl.InsurPlcyUUID  =  ApplJrnl.InsurPlcyUUID

//                                                           and OpenApplJrnl.InsurPlcyApplUUID = ApplJrnl.InsurPlcyApplUUID

{
      //  //for released applications use the Policy key as Application key as well

  key case when InsuranceApplicationStatus = '110'
            then ApplJrnl.InsurPlcyUUID
           else
                ApplJrnl.InsurPlcyApplUUID
           end as InsurPlcyApplUUID,

      //key ApplJrnl.InsurPlcyApplUUID,

  key ApplJrnl.InsuranceApplication,
      //ApplJrnl.InsurPlcyUUID,

      //in case of New Business application the application ID is the policy ID

      case when ( InsurPlcyBusProcType = 'N' and ( InsuranceApplicationStatus = '100' or
                                                   InsuranceApplicationStatus = '105' // notfora2p

                                                  or  InsuranceApplicationStatus = '135' // predated

                                                  or  InsuranceApplicationStatus = '136' // pred_pol

                                                  or  InsuranceApplicationStatus = '145' // cancelled

                                                  or  InsuranceApplicationStatus = '170' // ext_chng

                                                  or  InsuranceApplicationStatus = '180' /* post_ext*/  
                                                  or  InsuranceApplicationStatus = '120' /* refused*/  ) )

            then ApplJrnl.InsurPlcyApplUUID
           else
                ApplJrnl.InsurPlcyUUID
           end as InsurPlcyUUID,
      ApplJrnl.InsurPlcyBusProcType,
      ApplJrnl.InsuranceApplicationStatus,
      ApplJrnl.InsurApplRcptDte,
      ApplJrnl.InsurApplSgntrDte,
      ApplJrnl.CreatedByUser

}
where
  InsurPlcyInsurContr = 0
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_INSURAPPLJOURNALHEADERBASIC",
"P_INSURANCEOPENAPPLICATIONJRNL"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/