R_ChgRecdRefOrdBOMTP

DDL: R_CHGRECDREFORDBOMTP Type: view_entity TRANSACTIONAL Package: VDM_PLMB_CR_RAP

Change Record Reference Object OBM

R_ChgRecdRefOrdBOMTP is a Transactional CDS View that provides data about "Change Record Reference Object OBM" in SAP S/4HANA. It reads from 2 data sources (R_ChangeRecordItem, I_ChangeRecordOrderBOM_2) and exposes 44 fields with key field ChangeRecordReferenceUUID. It has 6 associations to related views. Part of development package VDM_PLMB_CR_RAP.

Data Sources (2)

SourceAliasJoin Type
R_ChangeRecordItem items from
I_ChangeRecordOrderBOM_2 OrdBOMItem inner

Associations (6)

CardinalityTargetAliasCondition
[0..1] I_SalesDocumentBasic _SalesDocument $projection.SalesOrder = _SalesDocument.SalesDocument
[0..1] I_Material _Material $projection.Material = _Material.Material
[0..1] I_PlantStdVH _Plant $projection.Plant = _Plant.Plant
[0..1] I_BillOfMaterialUsage _BillOfMaterialVariantUsage $projection.BillOfMaterialVariantUsage = _BillOfMaterialVariantUsage.BillOfMaterialVariantUsage and _BillOfMaterialVariantUsage.Language = $session.system_language
[0..1] I_ChangeRecordItemRelevance_3 _ChangeRecordItemRelText $projection.changerecordtype = _ChangeRecordItemRelText.ChangeRecordType and $projection.ChangeRecordItemType = _ChangeRecordItemRelText.ChangeRecordItemType and $projection.ChangeRecordItemRelevance = _ChangeRecordItemRelText.ChangeRecordItemRelevance
[1..1] I_ChgRecdItemProcgStatusText _ChangeRecordItemProcgText $projection.ChgRecdNextItemProcgStatus = _ChangeRecordItemProcgText.ChangeRecordItemProcgStatus and _ChangeRecordItemProcgText.Language = $session.system_language

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Change Record Reference Object OBM view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
Search.searchable true view
VDM.viewType #TRANSACTIONAL view

Fields (44)

KeyFieldSource TableSource FieldDescription
KEY ChangeRecordReferenceUUID R_ChangeRecordItem ChangeRecordReferenceUUID
ChangeRecordUUID R_ChangeRecordItem ChangeRecordUUID
ChangeRecordReferenceType R_ChangeRecordItem ChangeRecordReferenceType
ChangeRecordItemType R_ChangeRecordItem ChangeRecordItemType
ChangeRecordReferenceSubtype R_ChangeRecordItem ChangeRecordReferenceSubtype
ChgRecRefInternalKey1 R_ChangeRecordItem ChgRecRefInternalKey1
ChgRecRefInternalKey2 R_ChangeRecordItem ChgRecRefInternalKey2
ChgRecRefInternalKey3 R_ChangeRecordItem ChgRecRefInternalKey3
ChgRecRefInternalKey4 R_ChangeRecordItem ChgRecRefInternalKey4
ParentChangeRecordRefUUID R_ChangeRecordItem ParentChangeRecordRefUUID
IsMainReference R_ChangeRecordItem IsMainReference
ChangeRecordReference R_ChangeRecordItem ChangeRecordReference
CreatedByUser R_ChangeRecordItem CreatedByUser
CreationDateTime R_ChangeRecordItem CreationDateTime
LastChangedByUser R_ChangeRecordItem LastChangedByUser
LastChangeDateTime R_ChangeRecordItem LastChangeDateTime
ChangeRecordVirtualRefInd R_ChangeRecordItem ChangeRecordVirtualRefInd
ChangeRecordItemRelevance R_ChangeRecordItem ChangeRecordItemRelevance
ChangeRecordItemProcgStatus R_ChangeRecordItem ChangeRecordItemProcgStatus
ChgRecdNextItemProcgStatus R_ChangeRecordItem ChgRecdNextItemProcgStatus
ChgRecdItmTgtSts R_ChangeRecordItem ChgRecdItmTgtSts
ChgRecdItmDSgntr R_ChangeRecordItem ChgRecdItmDSgntr
ChgRecdReasonForChange R_ChangeRecordItem ChgRecdReasonForChange
ExpdCompltnDte R_ChangeRecordItem ExpdCompltnDte
ChgRecdAuthznGrpText R_ChangeRecordItem ChgRecdAuthznGrpText
ChgRecdNmbrChgSts R_ChangeRecordItem ChgRecdNmbrChgSts
ChangeNumber R_ChangeRecordItem ChangeNumber
BillOfMaterialVersion
MaterialasmatnrendasMaterial
Plantaswerks_dendasPlant
SalesOrderascs_vbelnendasSalesOrder
BillOfMaterialCategory _ReferenceOrdBOM BillOfMaterialCategory
BillOfMaterial
ChangeRecordType _ChangeRecordTP ChangeRecordType
Partner _ChangeRecordTP Partner
_ChangeRecordContactPerson _ChangeRecordTP _ChangeRecordContactPerson
ChangeRecordLifecycleStatus _ChangeRecordTP ChangeRecordLifecycleStatus
_ChangeRecordTP _ChangeRecordTP
_ChangeRecordItemProcgText _ChangeRecordItemProcgText
_ChangeRecordItemRelText _ChangeRecordItemRelText
_SalesDocument _SalesDocument
_Material _Material
_Plant _Plant
_BillOfMaterialVariantUsage _BillOfMaterialVariantUsage
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Change Record Reference Object OBM'
@VDM.lifecycle.contract.type:#SAP_INTERNAL_API
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ObjectModel.usageType:{
 serviceQuality: #C,
 sizeCategory: #L,
 dataClass: #MIXED
}
@Search.searchable: true
@VDM.viewType:#TRANSACTIONAL
define view entity R_ChgRecdRefOrdBOMTP
  as select from           R_ChangeRecordItem       as items
    inner join             I_ChangeRecordOrderBOM_2 as OrdBOMItem       on items.ChangeRecordReferenceUUID = OrdBOMItem.ChangeRecordReferenceUUID
    left outer to one join I_SalesOrderBOMLink      as _ReferenceOrdBOM on(
      items.ChgRecRefInternalKey1                                                                              = _ReferenceOrdBOM.BillOfMaterialCategory
      and items.ChgRecRefInternalKey2                                                                          = _ReferenceOrdBOM.BillOfMaterial
      and items.ChgRecRefInternalKey3                                                                          = _ReferenceOrdBOM.BillOfMaterialVariant
    )
                                                                        or(
                                                                          OrdBOMItem.BillOfMaterialCategory    = _ReferenceOrdBOM.BillOfMaterialCategory
                                                                          and OrdBOMItem.BillOfMaterial        = _ReferenceOrdBOM.BillOfMaterial
                                                                          and OrdBOMItem.BillOfMaterialVariant = _ReferenceOrdBOM.BillOfMaterialVariant
                                                                        )
  association [0..1] to I_SalesDocumentBasic          as _SalesDocument              on  $projection.SalesOrder = _SalesDocument.SalesDocument
  association [0..1] to I_Material                    as _Material                   on  $projection.Material = _Material.Material

  association [0..1] to I_PlantStdVH                  as _Plant                      on  $projection.Plant = _Plant.Plant

  association [0..1] to I_BillOfMaterialUsage         as _BillOfMaterialVariantUsage on  $projection.BillOfMaterialVariantUsage = _BillOfMaterialVariantUsage.BillOfMaterialVariantUsage
                                                                                     and _BillOfMaterialVariantUsage.Language   = $session.system_language
  //  association [1..1] to I_ChgRecordItemRelevanceText_2 as _ChangeRecordItemRelText    on  $projection.ChangeRecordItemRelevance = _ChangeRecordItemRelText.ChangeRecordItemRelevance

  //                                                                                      and _ChangeRecordItemRelText.Language     = $session.system_language


  association [0..1] to I_ChangeRecordItemRelevance_3 as _ChangeRecordItemRelText    on  $projection.changerecordtype          = _ChangeRecordItemRelText.ChangeRecordType
                                                                                     and $projection.ChangeRecordItemType      = _ChangeRecordItemRelText.ChangeRecordItemType
                                                                                     and $projection.ChangeRecordItemRelevance = _ChangeRecordItemRelText.ChangeRecordItemRelevance
  association [1..1] to I_ChgRecdItemProcgStatusText  as _ChangeRecordItemProcgText  on  $projection.ChgRecdNextItemProcgStatus = _ChangeRecordItemProcgText.ChangeRecordItemProcgStatus
                                                                                     and _ChangeRecordItemProcgText.Language    = $session.system_language
  association        to parent R_ChangeRecordTP       as _ChangeRecordTP             on  $projection.ChangeRecordUUID = _ChangeRecordTP.ChangeRecordUUID
{
  key items.ChangeRecordReferenceUUID,
      items.ChangeRecordUUID,
      items.ChangeRecordReferenceType,
      items.ChangeRecordItemType,
      items.ChangeRecordReferenceSubtype,
      items.ChgRecRefInternalKey1,
      items.ChgRecRefInternalKey2,
      items.ChgRecRefInternalKey3,
      items.ChgRecRefInternalKey4,
      items.ParentChangeRecordRefUUID,
      items.IsMainReference,
      items.ChangeRecordReference,
      @Semantics.user.createdBy: true
      items.CreatedByUser,
      @Semantics.systemDateTime.createdAt: true
      items.CreationDateTime,
      @Semantics.user.localInstanceLastChangedBy: true
      items.LastChangedByUser,
      @Semantics.systemDateTime.localInstanceLastChangedAt: true
      items.LastChangeDateTime,
      items.ChangeRecordVirtualRefInd,
      items.ChangeRecordItemRelevance,
      items.ChangeRecordItemProcgStatus                                   as ChangeRecordItemProcgStatus,
      items.ChgRecdNextItemProcgStatus                                    as ChgRecdNextItemProcgStatus,
      items.ChgRecdItmTgtSts,
      items.ChgRecdItmDSgntr,
      items.ChgRecdReasonForChange,
      items.ExpdCompltnDte,
      items.ChgRecdAuthznGrpText,
      items.ChgRecdNmbrChgSts,
      items.ChangeNumber,
      cast( '' as cs_versn )                                              as BillOfMaterialVersion,
      @Search.defaultSearchElement: true
      case
       when _ReferenceOrdBOM.Material is null //then cast( substring( items.ChangeRecordReference, 1, 40 ) as matnr )

        then OrdBOMItem.Material
       else cast(_ReferenceOrdBOM.Material as matnr )
       end                                                                as Material,

      case
       when _ReferenceOrdBOM.Plant is null //then  cast( substring( items.ChangeRecordReference, 41, 4 ) as werks_d )

        then OrdBOMItem.Plant
       else cast(_ReferenceOrdBOM.Plant as werks_d )
       end                                                                as Plant,

      case
       when _ReferenceOrdBOM.BillOfMaterialVariantUsage is null //then cast ( substring( items.ChangeRecordReference, 45, 1 ) as stlan )

        then OrdBOMItem.BillOfMaterialVariantUsage
       else cast(_ReferenceOrdBOM.BillOfMaterialVariantUsage as stlan )
       end                                                                as BillOfMaterialVariantUsage,

      case
       when _ReferenceOrdBOM.BillOfMaterialVariant is null //then cast( substring( items.ChangeRecordReference, 46, 2 ) as stalt )

        then OrdBOMItem.BillOfMaterialVariant
       else cast(_ReferenceOrdBOM.BillOfMaterialVariant as stalt )

       end                                                                as BillOfMaterialVariant,

      case
       when _ReferenceOrdBOM.SalesOrder is null //then cast( substring( items.ChangeRecordReference, 48, 10 ) as cs_vbeln )

        then OrdBOMItem.SalesOrder
       else cast(_ReferenceOrdBOM.SalesOrder as cs_vbeln )

       end                                                                as SalesOrder,

      case
       when _ReferenceOrdBOM.SalesOrderItem is null //then cast( ltrim ( substring( items.ChangeRecordReference, 58, 6), '0' ) as cs_vbpos )

        then OrdBOMItem.SalesOrderItem
       else cast(_ReferenceOrdBOM.SalesOrderItem as cs_vbpos )

       end                                                                as SalesOrderItem,

      _ReferenceOrdBOM.BillOfMaterialCategory,
      cast( _ReferenceOrdBOM.BillOfMaterial as cs_stlnr preserving type ) as BillOfMaterial,
      _ChangeRecordTP.ChangeRecordType,
      _ChangeRecordTP.Partner,
      _ChangeRecordTP._ChangeRecordContactPerson,
      _ChangeRecordTP.ChangeRecordLifecycleStatus,
      /* Associations */
      _ChangeRecordTP,
      _ChangeRecordItemProcgText,
      _ChangeRecordItemRelText,
      _SalesDocument,
      _Material,
      _Plant,
      _BillOfMaterialVariantUsage
}

where
     items.ChangeRecordReferenceType = 'OBM'
  or items.ChangeRecordItemType      = 'SalesBillOfMaterial'