I_ChgRecdRefProdnRoutingTP

DDL: I_CHGRECDREFPRODNROUTINGTP SQL: ICRREFPRDNRTGTP Type: view TRANSACTIONAL Package: VDM_PLMB_CR

Change Record Reference Object Production Routing TP

I_ChgRecdRefProdnRoutingTP is a Transactional CDS View that provides data about "Change Record Reference Object Production Routing TP" in SAP S/4HANA. It reads from 1 data source (I_ChgRecdRefProdnRoutingBsc) and exposes 23 fields with key field ChangeRecordReferenceUUID. It has 2 associations to related views. Part of development package VDM_PLMB_CR.

Data Sources (1)

SourceAliasJoin Type
I_ChgRecdRefProdnRoutingBsc reference_PRG from

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_ChangeRecordDraftTP _ChangeRecordTP $projection.ChangeRecordUUID = _ChangeRecordTP.ChangeRecordUUID
[0..1] E_ChgRecdRefProdnRoutingBsc _ProdnRoutingExtension $projection.ChangeRecordReferenceUUID = _ProdnRoutingExtension.ChangeRecordReferenceUUID

Annotations (15)

NameValueLevelField
AbapCatalog.sqlViewName ICRREFPRDNRTGTP view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Change Record Reference Object Production Routing TP view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #TRANSACTIONAL view
ObjectModel.writeDraftPersistence PLMCRREFPRG_D view
ObjectModel.createEnabled EXTERNAL_CALCULATION view
ObjectModel.deleteEnabled EXTERNAL_CALCULATION view
ObjectModel.updateEnabled EXTERNAL_CALCULATION 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
AbapCatalog.preserveKey true view

Fields (23)

KeyFieldSource TableSource FieldDescription
KEY ChangeRecordReferenceUUID I_ChgRecdRefProdnRoutingBsc ChangeRecordReferenceUUID
ChangeRecordUUID I_ChgRecdRefProdnRoutingBsc ChangeRecordUUID
ChangeRecordReferenceType I_ChgRecdRefProdnRoutingBsc ChangeRecordReferenceType
ChangeRecordReferenceSubtype I_ChgRecdRefProdnRoutingBsc ChangeRecordReferenceSubtype
ChangeRecordRefObjectUUID I_ChgRecdRefProdnRoutingBsc ChangeRecordRefObjectUUID
ChangeRecordReference I_ChgRecdRefProdnRoutingBsc ChangeRecordReference
ParentChangeRecordRefUUID I_ChgRecdRefProdnRoutingBsc ParentChangeRecordRefUUID
IsMainReference I_ChgRecdRefProdnRoutingBsc IsMainReference
ChgRecdReasonForChange ChgRecdReasonForChange
ExpdCompltnDte ExpdCompltnDte
ChgRecdAuthznGrpText ChgRecdAuthznGrpText
ChgRecdNmbrChgSts ChgRecdNmbrChgSts
CreatedByUser I_ChgRecdRefProdnRoutingBsc CreatedByUser
CreationDateTime I_ChgRecdRefProdnRoutingBsc CreationDateTime
LastChangedByUser I_ChgRecdRefProdnRoutingBsc LastChangedByUser
LastChangeDateTime I_ChgRecdRefProdnRoutingBsc LastChangeDateTime
ChangeRecordItemRelevance I_ChgRecdRefProdnRoutingBsc ChangeRecordItemRelevance
ChangeRecordVirtualRefInd I_ChgRecdRefProdnRoutingBsc ChangeRecordVirtualRefInd
ChangeRecordItemProcgStatus I_ChgRecdRefProdnRoutingBsc ChangeRecordItemProcgStatus
ChgRecdCurrentItemProcgStatus I_ChgRecdRefProdnRoutingBsc ChgRecdCurrentItemProcgStatus
ChgRecdItmTgtSts I_ChgRecdRefProdnRoutingBsc ChgRecdItmTgtSts
ChgRecdItmDSgntr I_ChgRecdRefProdnRoutingBsc ChgRecdItmDSgntr
_ChangeRecordTP _ChangeRecordTP
@AbapCatalog.sqlViewName: 'ICRREFPRDNRTGTP'
@AbapCatalog.compiler.compareFilter: true
@EndUserText.label: 'Change Record Reference Object Production Routing TP'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #TRANSACTIONAL
@ObjectModel: { semanticKey: ['BillOfOperationsType','BillOfOperationsGroup','BillOfOperationsVariant'],
                writeDraftPersistence: 'PLMCRREFPRG_D',
                createEnabled : 'EXTERNAL_CALCULATION',
                deleteEnabled : 'EXTERNAL_CALCULATION',
                updateEnabled : 'EXTERNAL_CALCULATION'
              }
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.usageType: {serviceQuality: #C,
                         dataClass: #MIXED,
                         sizeCategory: #L}
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey:true 
define view I_ChgRecdRefProdnRoutingTP
  as select from           I_ChgRecdRefProdnRoutingBsc as reference_PRG
    left outer to one join I_BillOfOperations          as ProdnRouting on  reference_PRG.ChgRecRefInternalKey1 = ProdnRouting.BillOfOperationsType
                                                                       and reference_PRG.ChgRecRefInternalKey2 = ProdnRouting.BillOfOperationsGroup
                                                                       and reference_PRG.ChgRecRefInternalKey3 = ProdnRouting.BillOfOperationsVariant
  //                                                            and reference_PRG.ChgRecRefInternalKey4 = Routing.BillOfOperationsVersion

  association [1..1] to I_ChangeRecordDraftTP       as _ChangeRecordTP        on $projection.ChangeRecordUUID = _ChangeRecordTP.ChangeRecordUUID
  association [0..1] to E_ChgRecdRefProdnRoutingBsc as _ProdnRoutingExtension on $projection.ChangeRecordReferenceUUID = _ProdnRoutingExtension.ChangeRecordReferenceUUID
{
  key   reference_PRG.ChangeRecordReferenceUUID,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        case
           when ProdnRouting.BillOfOperationsType is null then cast(SUBSTRING( reference_PRG.ChangeRecordReference, 1, 1) as plnty)
           else cast(ProdnRouting.BillOfOperationsType as plnty)
           end as BillOfOperationsType,

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        case
        when ProdnRouting.BillOfOperationsGroup is null then  cast(SUBSTRING( reference_PRG.ChangeRecordReference, 2, 9) as plnnr)
        else cast(ProdnRouting.BillOfOperationsGroup as plnnr)
        end    as BillOfOperationsGroup,

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        case
         when ProdnRouting.BillOfOperationsVariant is null then cast (SUBSTRING( reference_PRG.ChangeRecordReference, 10, 2) as plnal)
         else cast(ProdnRouting.BillOfOperationsVariant as plnal)
         end   as BillOfOperationsVariant,

        //        case

        //          when Routing.BillOfOperationsVersion is null then cast (SUBSTRING( reference_PRG.ChangeRecordReference, 12, 4) as plnversn)

        //          else cast(Routing.BillOfOperationsVersion as plnversn)

        //          end                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                as     BillOfOperationsVersion,

        reference_PRG.ChangeRecordUUID,
        reference_PRG.ChangeRecordReferenceType,
        reference_PRG.ChangeRecordReferenceSubtype,
        reference_PRG.ChangeRecordRefObjectUUID,
        reference_PRG.ChangeRecordReference,
        reference_PRG.ParentChangeRecordRefUUID,
        reference_PRG.IsMainReference, 
        ChgRecdReasonForChange,
        ExpdCompltnDte,
        ChgRecdAuthznGrpText,
        ChgRecdNmbrChgSts,
          
        
        
        @Semantics.user.createdBy: true
        @ObjectModel.readOnly: true
        reference_PRG.CreatedByUser,
        reference_PRG.CreationDateTime,
        @Semantics.user.lastChangedBy: true
        @ObjectModel.readOnly: true
        reference_PRG.LastChangedByUser,
        reference_PRG.LastChangeDateTime,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        reference_PRG.ChangeRecordItemRelevance,
        reference_PRG.ChangeRecordVirtualRefInd,
        //        @ObjectModel.readOnly: true

        //        Routing.Plant,

        //        @ObjectModel.readOnly: true

        //        Routing.OrderID,

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        reference_PRG.ChangeRecordItemProcgStatus,
        @ObjectModel.readOnly: true
        reference_PRG.ChgRecdCurrentItemProcgStatus,
         @ObjectModel.readOnly: true
        reference_PRG.ChgRecdItmTgtSts,
         @ObjectModel.readOnly: true
        reference_PRG.ChgRecdItmDSgntr,
        @ObjectModel.association.type:  [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
        _ChangeRecordTP
}
where
     ProdnRouting.BillOfOperationsType = 'N'
  or ProdnRouting.BillOfOperationsType is null