I_CHGRECDREFROUTINGTP
Change Record Reference Object Routing TP
I_CHGRECDREFROUTINGTP is a CDS View in S/4HANA. Change Record Reference Object Routing TP. It contains 4 fields. 1 CDS views read from this table.
CDS Views using this table (1)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| C_ChangeRecordObjPgRouting | view | from | CONSUMPTION | Change Record Object Page Routing |
Fields (4)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| BillOfOperationsType | BillOfOperationsType | 1 | |
| BillOfOperationsVariant | BillOfOperationsVariant | 1 | |
| BillOfOperationsVersion | BillOfOperationsVersion | 1 | |
| Plant | Plant | 1 |
@AbapCatalog.sqlViewName: 'ICRREFROUTINGTP'
@AbapCatalog.compiler.compareFilter: true
@EndUserText.label: 'Change Record Reference Object Routing TP'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #TRANSACTIONAL
@ObjectModel: { semanticKey: ['BillOfOperationsType','BillOfOperationsGroup','BillOfOperationsVariant','BillOfOperationsVersion'],
writeDraftPersistence: 'PLMCRREFROU_D',
createEnabled,
deleteEnabled,
updateEnabled
}
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.usageType: {serviceQuality: #C,
dataClass: #MIXED,
sizeCategory: #L}
@ClientHandling.algorithm: #SESSION_VARIABLE
define view I_ChgRecdRefRoutingTP
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
association [0..1] to E_ChgRecdRefRoutingBsc as _RoutingExtension on $projection.ChangeRecordReferenceUUID = _RoutingExtension.ChangeRecordReferenceUUID
{
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
@ObjectModel.readOnly: true
routingReference.CreatedByUser,
routingReference.CreationDateTime,
@Semantics.user.lastChangedBy: true
@ObjectModel.readOnly: true
routingReference.LastChangedByUser,
routingReference.LastChangeDateTime,
routingReference.ChangeRecordItemRelevance,
routingReference.ChangeRecordVirtualRefInd,
@ObjectModel.readOnly: true
Routing.Plant,
@ObjectModel.readOnly: true
Routing.OrderID,
ChangeRecordItemProcgStatus,
ChgRecdItmTgtSts,
ChgRecdItmDSgntr,
ChgRecdCurrentItemProcgStatus,
routingReference.ChgRecdReasonForChange,
routingReference.ExpdCompltnDte,
routingReference.ChgRecdAuthznGrpText,
routingReference.ChgRecdNmbrChgSts,
routingReference.ChangeNumber,
@ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
_ChangeRecordTP
}
//where
//Routing.OrderID = '' // Commenting because Routing stores both master and order-specific routings as type ROU. With this condition here
// the draft table for Routing will never store the order specific routing ,so after save the order specific routing was always getting empty.
// Order specific routings need not be shown in Routing section so this condition is used in the Routing consumption view C_ChangeRecordObjPgRouting
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHGRECDREFROUTINGBSC",
"I_PRODUCTIONROUTINGVERSION"
],
"ASSOCIATED":
[
"E_CHGRECDREFROUTINGBSC",
"I_CHANGERECORDDRAFTTP"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/