I_ChgRecdRefOrdSpcfcRoutingTP

DDL: I_CHGRECDREFORDSPCFCROUTINGTP SQL: ICRREFOSRTGTP Type: view TRANSACTIONAL

Change Record Reference Object Ord Spcfc Rtg

I_ChgRecdRefOrdSpcfcRoutingTP is a Transactional CDS View that provides data about "Change Record Reference Object Ord Spcfc Rtg" in SAP S/4HANA. It reads from 2 data sources (I_ProductionRoutingVersion, I_ChgRecdRefRoutingBsc) and exposes 26 fields with key field ChangeRecordReferenceUUID. It has 1 association to related views.

Data Sources (2)

SourceAliasJoin Type
I_ProductionRoutingVersion Routing left_outer
I_ChgRecdRefRoutingBsc routingReference from

Associations (1)

CardinalityTargetAliasCondition
[1..1] I_ChangeRecordDraftTP _ChangeRecordTP $projection.ChangeRecordUUID = _ChangeRecordTP.ChangeRecordUUID

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName ICRREFOSRTGTP view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Change Record Reference Object Ord Spcfc Rtg view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #TRANSACTIONAL view
ObjectModel.writeDraftPersistence PLMCRREFOSR_D view
AccessControl.personalData.blocking #NOT_REQUIRED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (26)

KeyFieldSource TableSource FieldDescription
KEY ChangeRecordReferenceUUID I_ChgRecdRefRoutingBsc ChangeRecordReferenceUUID
ChangeRecordUUID I_ChgRecdRefRoutingBsc ChangeRecordUUID
ChangeRecordReferenceType I_ChgRecdRefRoutingBsc ChangeRecordReferenceType
ChangeRecordReferenceSubtype I_ChgRecdRefRoutingBsc ChangeRecordReferenceSubtype
ChangeRecordRefObjectUUID I_ChgRecdRefRoutingBsc ChangeRecordRefObjectUUID
ChangeRecordReference I_ChgRecdRefRoutingBsc ChangeRecordReference
ParentChangeRecordRefUUID I_ChgRecdRefRoutingBsc ParentChangeRecordRefUUID
IsMainReference I_ChgRecdRefRoutingBsc IsMainReference
CreatedByUser I_ChgRecdRefRoutingBsc CreatedByUser
CreationDateTime I_ChgRecdRefRoutingBsc CreationDateTime
LastChangedByUser I_ChgRecdRefRoutingBsc LastChangedByUser
LastChangeDateTime I_ChgRecdRefRoutingBsc LastChangeDateTime
ChangeRecordItemRelevance I_ChgRecdRefRoutingBsc ChangeRecordItemRelevance
ChangeRecordVirtualRefInd I_ChgRecdRefRoutingBsc ChangeRecordVirtualRefInd
Plant I_ProductionRoutingVersion Plant
OrderID I_ProductionRoutingVersion OrderID
ChangeRecordItemProcgStatus
ChgRecdItmTgtSts I_ChgRecdRefRoutingBsc ChgRecdItmTgtSts
ChgRecdItmDSgntr I_ChgRecdRefRoutingBsc ChgRecdItmDSgntr
ChgRecdCurrentItemProcgStatus I_ChgRecdRefRoutingBsc ChgRecdCurrentItemProcgStatus
ChgRecdReasonForChange I_ChgRecdRefRoutingBsc ChgRecdReasonForChange
ExpdCompltnDte I_ChgRecdRefRoutingBsc ExpdCompltnDte
ChgRecdAuthznGrpText I_ChgRecdRefRoutingBsc ChgRecdAuthznGrpText
ChgRecdNmbrChgSts I_ChgRecdRefRoutingBsc ChgRecdNmbrChgSts
ChangeNumber I_ChgRecdRefRoutingBsc ChangeNumber
_ChangeRecordTP _ChangeRecordTP
@AbapCatalog.sqlViewName: 'ICRREFOSRTGTP'
@AbapCatalog.compiler.compareFilter: true
@EndUserText.label: 'Change Record Reference Object Ord Spcfc Rtg'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #TRANSACTIONAL
@ObjectModel: { semanticKey: ['BillOfOperationsType','BillOfOperationsGroup','BillOfOperationsVariant','BillOfOperationsVersion'],
                writeDraftPersistence: 'PLMCRREFOSR_D',
                createEnabled,
                deleteEnabled,
                updateEnabled
              }
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.usageType: {serviceQuality: #C,
                         dataClass: #MIXED,
                         sizeCategory: #L}
@ClientHandling.algorithm: #SESSION_VARIABLE 
define view I_ChgRecdRefOrdSpcfcRoutingTP
  as select from    I_ChgRecdRefRoutingBsc     as routingReference
    left outer join I_ProductionRoutingVersion as Routing on  routingReference.ChgRecRefInternalKey1 = Routing.BillOfOperationsGroup
                                                          and routingReference.ChgRecRefInternalKey2 = Routing.BillOfOperationsType
                                                          and routingReference.ChgRecRefInternalKey3 = Routing.BillOfOperationsVariant
                                                          and routingReference.ChgRecRefInternalKey4 = Routing.BillOfOperationsVersion
  association [1..1] to I_ChangeRecordDraftTP as _ChangeRecordTP on $projection.ChangeRecordUUID = _ChangeRecordTP.ChangeRecordUUID
{
  key   routingReference.ChangeRecordReferenceUUID,
        case
           when Routing.BillOfOperationsType is null then cast(SUBSTRING( routingReference.ChangeRecordReference, 9, 1) as plnty)
           else cast(Routing.BillOfOperationsType as plnty)
           end as BillOfOperationsType,

        case
        when Routing.BillOfOperationsGroup is null then  cast(SUBSTRING( routingReference.ChangeRecordReference, 1, 8) as plnnr)
        else cast(Routing.BillOfOperationsGroup as plnnr)
        end    as BillOfOperationsGroup,

        case
         when Routing.BillOfOperationsVariant is null then cast (SUBSTRING( routingReference.ChangeRecordReference, 10, 2) as plnal)
         else cast(Routing.BillOfOperationsVariant as plnal)
         end   as BillOfOperationsVariant,

        case
          when Routing.BillOfOperationsVersion is null then cast (SUBSTRING( routingReference.ChangeRecordReference, 12, 4) as plnversn)
          else cast(Routing.BillOfOperationsVersion as plnversn)
          end  as BillOfOperationsVersion,
        routingReference.ChangeRecordUUID,
        routingReference.ChangeRecordReferenceType,
        routingReference.ChangeRecordReferenceSubtype,
        routingReference.ChangeRecordRefObjectUUID,
        routingReference.ChangeRecordReference,
        routingReference.ParentChangeRecordRefUUID,
        routingReference.IsMainReference,
        @Semantics.user.createdBy: true
        routingReference.CreatedByUser,
        routingReference.CreationDateTime,
        @Semantics.user.lastChangedBy: true
        routingReference.LastChangedByUser,
        routingReference.LastChangeDateTime,
        routingReference.ChangeRecordItemRelevance,
        routingReference.ChangeRecordVirtualRefInd,
        @ObjectModel.readOnly: true
        Routing.Plant,
        @ObjectModel.readOnly: true
        Routing.OrderID,
       routingReference. ChangeRecordItemProcgStatus,
        routingReference.ChgRecdItmTgtSts,
        routingReference.ChgRecdItmDSgntr,
        routingReference.ChgRecdCurrentItemProcgStatus,
        routingReference.ChgRecdReasonForChange,
        routingReference.ExpdCompltnDte,
        routingReference.ChgRecdAuthznGrpText,
        routingReference.ChgRecdNmbrChgSts,
        routingReference.ChangeNumber,
        @ObjectModel.association.type:  [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
        _ChangeRecordTP
}
where
      Routing.OrderID                            <> ''
  /* Setting to reference type OSR to avoid order specific routings from Routing of
      type ROU getting created here as Routing(type ROU) also stores both master and order specific routings */
  and routingReference.ChangeRecordReferenceType =  'OSR'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHGRECDREFROUTINGBSC",
"I_PRODUCTIONROUTINGVERSION"
],
"ASSOCIATED":
[
"I_CHANGERECORDDRAFTTP"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/