P_INSURANCEOPENAPPLICATIONJRNL

CDS View

Insurance Open Application Journal

P_INSURANCEOPENAPPLICATIONJRNL is a CDS View in S/4HANA. Insurance Open Application Journal. It contains 5 fields. 25 CDS views read from this table.

CDS Views using this table (25)

ViewTypeJoinVDMDescription
P_InsOpApSpecialEquipment view_entity inner COMPOSITE Insur Open Application Special Equipment
P_InsOpApTypeRegionalClass view_entity inner COMPOSITE Insur Open Application TypeRegionalClass
P_InsurOpenApplBeneficiary view_entity inner COMPOSITE Insurance Open Application Beneficiary
P_InsurOpenApplBnMlClmSrrndr view_entity inner COMPOSITE Insurance Open Application Claim Surrender
P_InsurOpenApplBonusMalus view_entity inner COMPOSITE Insurance Open Application Bonus/Malus
P_InsurOpenApplBonusMalusCert view_entity inner COMPOSITE Insurance Open Application Bonus/Malus Certificate
P_InsurOpenApplBonusMalusOwner view_entity inner COMPOSITE Insurance Open Application Bonus/Malus Owner
P_InsurOpenApplClaimComparison view_entity inner COMPOSITE Insurance Open Application Claim Comparison
P_InsurOpenApplClause view_entity inner COMPOSITE Insurance Open Application Clause
P_InsurOpenApplContract view_entity inner COMPOSITE Insur Appl Contract
P_InsurOpenApplCoverage view_entity inner COMPOSITE Insurance Open Application Coverage
P_InsurOpenApplCoveragePackage view_entity inner COMPOSITE Insurance Open Application CoveragePackage
P_InsurOpenApplDeductible view_entity inner COMPOSITE Insurance Open Application Deductible
P_InsurOpenApplicationPremium view_entity inner COMPOSITE Insurance Open Application Regular Premium
P_InsurOpenApplInsrdPersn view_entity inner COMPOSITE Open Application - Insured Person Data
P_InsurOpenApplInsuredBuilding view_entity inner COMPOSITE Insurance Open Application Insured Building
P_InsurOpenApplInsuredObject view_entity inner COMPOSITE Insurance Open Application Insured Object
P_InsurOpenApplInsuredVehicle view_entity inner COMPOSITE Insur Open Application Vehicle
P_InsurOpenApplLimit view_entity inner COMPOSITE Insurance Open Application Limit
P_InsurOpenApplNamedDriver view_entity inner COMPOSITE Insur Open Application Named Driver
P_InsurOpenApplPolicyHolder view_entity inner COMPOSITE Insurance Open Application Policy Holder
P_InsurOpenApplPremComparison view_entity inner COMPOSITE Insurance Open Application Premium Comparison
P_InsurOpenApplPremPayer view_entity inner COMPOSITE Insurance Open Application Premium Payer
P_InsurOpenApplSubCoverage view_entity inner COMPOSITE Insurance Open Application SubCoverage
P_InsurOpenApplSurchrgDiscount view_entity inner COMPOSITE Insurance Open Application Surchange Discount

Fields (5)

KeyField CDS FieldsUsed in Views
KEY InsuranceApplication InsuranceApplication 25
KEY InsurPlcyApplUUID InsurPlcyApplUUID 25
KEY InsurPlcyContrDataDetnJrnlNmbr InsurPlcyContrDataDetnJrnlNmbr 25
InsuranceApplicationStatus InsuranceApplicationStatus 4
InsurPlcyUUID InsurPlcyUUID 25
@VDM:           {   viewType:           #COMPOSITE,
                    private:            true}
@Metadata.ignorePropagatedAnnotations: true
@AccessControl.authorizationCheck: #NOT_REQUIRED

define view entity P_InsuranceOpenApplicationJrnl
  as select from            I_InsurApplJournalHeaderBasic as JournalHeader
    left outer to many join I_InsurApplJournalEntryBasic  as JournalEntry          on  JournalHeader.InsurPlcyApplUUID   = JournalEntry.InsurPlcyApplUUID
                                                                                   and JournalHeader.InsurPlcyInsurContr = JournalEntry.InsurPlcyInsurContr
  // Exclude those applications, which were already copied to contract journal

    left outer to one join  I_InsurPlcyJournalHeaderBasic as ContractJournalHeader on  ContractJournalHeader.InsurPlcyApplUUID = JournalHeader.InsurPlcyApplUUID
                                                                                   and ContractJournalHeader.InsurPlcyUUID     = JournalHeader.InsurPlcyUUID
  // Exclude those postdated applications, which were already released

    left outer to one join  I_InsurApplActnJrnlEntryBasic as ActionEntry           on  JournalHeader.InsurPlcyApplUUID   = ActionEntry.InsurPlcyApplUUID
                                                                                   and JournalHeader.InsurPlcyInsurContr = ActionEntry.InsurPlcyInsurContr
                                                                                   and 'APPROVEPOSTDT'                   = ActionEntry.InsurPlcyChangeProcessID // released postdated application

{

  key JournalHeader.InsurPlcyApplUUID,
  key JournalHeader.InsuranceApplication,
  key JournalHeader.InsurPlcyUUID,
  key JournalHeader.InsurPlcyInsurContr,
      JournalHeader.InsuranceApplicationStatus,
      JournalHeader.InsurPlcyBusProcType,
      JournalHeader.InsurPlcyBusProcessNumerator,
      JournalHeader.InsurApplRcptDte,
      JournalHeader.InsurApplSgntrDte,
      JournalHeader.InsurPlcyBusProcEffectiveDate,
      JournalHeader.InsurApplChgRsn,
      JournalHeader.InsurApplChgRsnText,
      JournalHeader.CreatedByUser,
      // For very new open applications it could happen, that there are no processings in table /PM0/ABDJAPL2. Therefore we have to use

      // the load-journalnumber in table /PM0/ABDJAPL1 instead.

      case
      when max( JournalEntry.InsurPlcyJrnlNmbr ) > JournalHeader.InsurPlcyCreateJrnlNmbr then max( JournalEntry.InsurPlcyJrnlNmbr )
      else JournalHeader.InsurPlcyCreateJrnlNmbr
      end as InsurPlcyContrDataDetnJrnlNmbr

}
where
  (
        JournalHeader.InsuranceApplicationStatus = '100' // open

    or  JournalHeader.InsuranceApplicationStatus = '105' // notfora2p

    or  JournalHeader.InsuranceApplicationStatus = '135' // predated

    or  JournalHeader.InsuranceApplicationStatus = '136' // pred_pol

    or  JournalHeader.InsuranceApplicationStatus = '145' // cancelled

    or  JournalHeader.InsuranceApplicationStatus = '170' // ext_chng

    or  JournalHeader.InsuranceApplicationStatus = '180' // post_ext

  )

  and   ContractJournalHeader.InsurPlcyApplUUID  is null // Nothing in contract journal ==> take it

  and   not(
      JournalHeader.InsuranceApplicationStatus   = '135'
      and ActionEntry.InsurPlcyApplUUID          is not null
    ) // Postdated application not yet released ==> take it

group by
  JournalHeader.InsurPlcyApplUUID,
  JournalHeader.InsurPlcyUUID,
  JournalHeader.InsurPlcyInsurContr,
  JournalHeader.InsurPlcyCreateJrnlNmbr,
  JournalHeader.InsuranceApplication,
  JournalHeader.InsuranceApplicationStatus,
  JournalHeader.InsurPlcyBusProcType,
  JournalHeader.InsurPlcyBusProcessNumerator,
  JournalHeader.InsurApplRcptDte,
  JournalHeader.InsurApplSgntrDte,
  JournalHeader.InsurPlcyBusProcEffectiveDate,
  JournalHeader.InsurApplChgRsn,
  JournalHeader.CreatedByUser,
  JournalHeader.InsurApplChgRsnText