I_ChgRecordMergeSplitStatusTP

DDL: I_CHGRECORDMERGESPLITSTATUSTP Type: view_entity TRANSACTIONAL Package: VDM_PLMB_CR

CR Merge and Split statuses - TP

I_ChgRecordMergeSplitStatusTP is a Transactional CDS View that provides data about "CR Merge and Split statuses - TP" in SAP S/4HANA. It reads from 2 data sources (I_ChangeRecordDraftTP, /plmi/cr_mrg_sts) and exposes 12 fields with key field ChangeRecordUUID. Part of development package VDM_PLMB_CR.

Data Sources (2)

SourceAliasJoin Type
I_ChangeRecordDraftTP ChangeRecord inner
/plmi/cr_mrg_sts Merge from

Annotations (8)

NameValueLevelField
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label CR Merge and Split statuses - TP view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.viewType #TRANSACTIONAL view

Fields (12)

KeyFieldSource TableSource FieldDescription
KEY ChangeRecordUUID I_ChangeRecordDraftTP ChangeRecordUUID
ChangeRecord I_ChangeRecordDraftTP ChangeRecord
ChgRecordDescriptionText I_ChangeRecordDraftTP ChgRecordDescriptionText
ChangeRecordType I_ChangeRecordDraftTP ChangeRecordType
ChangeRecordStatus I_ChangeRecordDraftTP ChangeRecordStatus
Partner I_ChangeRecordDraftTP Partner
CreationDateTime I_ChangeRecordDraftTP CreationDateTime
ChangeRecordLifecycleStatus I_ChangeRecordDraftTP ChangeRecordLifecycleStatus
CreationDate
ChgRecdExpectedCompletionDate I_ChangeRecordDraftTP ChgRecdExpectedCompletionDate
ChangeRecordIsMerge /plmi/cr_mrg_sts merge_type
ChangeRecordIsSplit /plmi/cr_mrg_sts split_type
@VDM.lifecycle.contract.type:#SAP_INTERNAL_API 
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'CR Merge and Split statuses - TP'
@ObjectModel.usageType:{
  serviceQuality: #X,
  sizeCategory: #XL,
  dataClass: #MIXED
}
@AccessControl.personalData.blocking:#NOT_REQUIRED
@VDM.viewType: #TRANSACTIONAL
define view entity I_ChgRecordMergeSplitStatusTP
  as select from           /plmi/cr_mrg_sts      as Merge
    inner join             I_ChangeRecordDraftTP as ChangeRecord on  ChangeRecord.ChangeRecordType   = Merge.issue_type
                                                                 and ChangeRecord.ChangeRecordStatus = Merge.record_status
    left outer to one join /plmi/cr_sta_pf       as Status       on  Status.application   = Merge.application
                                                                 and Status.cr_type       = Merge.issue_type
                                                                 and Status.creation_flag = 'X'
{
  key ChangeRecord.ChangeRecordUUID,
      ChangeRecord.ChangeRecord,
      ChangeRecord.ChgRecordDescriptionText,
      ChangeRecord.ChangeRecordType,
      ChangeRecord.ChangeRecordStatus,
      ChangeRecord.Partner,
      ChangeRecord.CreationDateTime,
      ChangeRecord.ChangeRecordLifecycleStatus,
      @ObjectModel.virtualElement : true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CREATIONDATE_CONVERT'
      @ObjectModel.filter.transformedBy: 'ABAP:CL_CR_CREATIONDATE_CONVERT'
      @ObjectModel.sort.transformedBy: 'ABAP:CL_CR_CREATIONDATE_CONVERT'
      @ObjectModel.readOnly: true
      @Consumption.filter.selectionType: #INTERVAL
      cast( '00000000' as /plmb/created_on ) as CreationDate,
      ChangeRecord.ChgRecdExpectedCompletionDate,
      Merge.merge_type                       as ChangeRecordIsMerge,
      Merge.split_type                       as ChangeRecordIsSplit
}
where
          ChangeRecord.ChangeRecordLifecycleStatus <> '09'
  and     ChangeRecord.ChangeRecordLifecycleStatus <> '08'
  and     ChangeRecord.ChangeRecordLifecycleStatus <> '10'
  and     ChangeRecord.ChangeRecordLifecycleStatus <> '64'
  and     ChangeRecord.ChangeRecordLifecycleStatus <> '06'
  and(
    (
          Merge.record_status                      <  Status.record_sta
      and Status.record_sta                        <> ' '
    )
    or(
          Merge.record_status                      >= Status.record_sta
      and Status.record_sta                        =  ' '
    )
  )