I_ProdnRtgVersWrkflwInboxTP
Production Routing Workflow MyInbox
I_ProdnRtgVersWrkflwInboxTP is a Transactional CDS View that provides data about "Production Routing Workflow MyInbox" in SAP S/4HANA. It reads from 1 data source (I_ProductionRoutingVersion) and exposes 22 fields with key field BillOfOperationsKey. It has 1 association to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ProductionRoutingVersion | I_ProductionRoutingVersion | from |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_BOOVersionStatusText | _BOOVersionStatusText | $projection.BillOfOperationsVersionStatus = _BOOVersionStatusText.BillOfOperationsVersionStatus -- C_ProdnVersObjPgTP need to add the production version to get the details of prod version lock detail |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPRODRTGVWFINBOX | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Production Routing Workflow MyInbox | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| VDM.viewType | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| AbapCatalog.preserveKey | true | view | |
| ObjectModel.transactionalProcessingEnabled | true | view | |
| ObjectModel.compositionRoot | true | view | |
| ObjectModel.writeActivePersistence | IPRODRTGVWFINBOX | view | |
| ObjectModel.representativeKey | BillOfOperationsKey | view |
Fields (22)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BillOfOperationsKey | |||
| BillOfOperations | ||||
| BillOfOperationsGroup | BillOfOperationsGroup | |||
| BillOfOperationsVersion | BillOfOperationsVersion | |||
| BillOfOperationsVariant | BillOfOperationsVariant | |||
| BillOfOperationsType | BillOfOperationsType | |||
| BillOfOperationsSubtype | BillOfOperationsSubtype | |||
| BillOfOperationsStatus | BillOfOperationsStatus | |||
| BillOfOperationsUsage | BillOfOperationsUsage | |||
| BillOfOperationsDesc | BillOfOperationsDesc | |||
| BillOfOperationsVersionStatus | BillOfOperationsVersionStatus | |||
| Plant | Plant | |||
| MinimumLotSizeQuantity | MinimumLotSizeQuantity | |||
| MaximumLotSizeQuantity | MaximumLotSizeQuantity | |||
| BillOfOperationsUnit | BillOfOperationsUnit | |||
| RoutingIsReworkRouting | RoutingIsReworkRouting | |||
| ProdnProcgIsFlexible | ProdnProcgIsFlexible | |||
| CreationDateTime | CreationDateTime | |||
| CreatedByUser | CreatedByUser | |||
| LastChangeDateTime | LastChangeDateTime | |||
| LastChangedByUser | LastChangedByUser | |||
| _BOOVersionStatusText | _BOOVersionStatusText |
@AbapCatalog.sqlViewName: 'IPRODRTGVWFINBOX'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Production Routing Workflow MyInbox'
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations: true
@VDM.viewType: #TRANSACTIONAL
@ObjectModel.usageType: {
serviceQuality: #B,
sizeCategory: #M,
dataClass: #MASTER
}
@AbapCatalog: {preserveKey: true }
@ObjectModel: {
transactionalProcessingEnabled: true, -- on root node only
compositionRoot: true, -- on root node only
writeActivePersistence: 'IPRODRTGVWFINBOX',
semanticKey: ['BillOfOperationsKey'],
representativeKey: 'BillOfOperationsKey'
}
define view I_ProdnRtgVersWrkflwInboxTP as select from I_ProductionRoutingVersion
association [0..*] to I_BOOVersionStatusText as _BOOVersionStatusText on $projection.BillOfOperationsVersionStatus = _BOOVersionStatusText.BillOfOperationsVersionStatus
// association [0..*] to I_BOOVersionBOMAssignment as _BOOVersionBOMAssignment on $projection.BillOfOperationsGroup = _BOOVersionBOMAssignment.BillOfOperationsGroup
// and $projection.BillOfOperationsVersion = _BOOVersionBOMAssignment.billofoperationsversion
// and $projection.BillOfOperationsType = _BOOVersionBOMAssignment.billofoperationstype
// and $projection.BillOfOperationsVariant = _BOOVersionBOMAssignment.billofoperationsvariant
// association [0..*] to P_MfgProcgExecOrdMainStatus as _MfgProcgExecOrdMainStatus on $projection.orderid = _MfgProcgExecOrdMainStatus.ManufacturingOrder
-- C_ProdnVersObjPgTP need to add the production version to get the details of prod version lock detail
{
@UI.hidden: true
key cast(concat(concat(BillOfOperationsType, BillOfOperationsGroup), concat(BillOfOperationsVariant, BillOfOperationsVersion)) as abap.sstring(100) ) as BillOfOperationsKey,
@UI.identification: [{position: 10, label: 'Routing' }]
@Consumption: { semanticObject: 'ShopFloorRouting'}
concat(concat(BillOfOperationsGroup, ('-')), concat(BillOfOperationsVariant, concat(('-'), BillOfOperationsVersion))) as BillOfOperations,
BillOfOperationsGroup,
BillOfOperationsVersion,
BillOfOperationsVariant,
BillOfOperationsType,
BillOfOperationsSubtype,
BillOfOperationsStatus,
BillOfOperationsUsage,
@UI.identification: [{position: 20}]
BillOfOperationsDesc,
@UI.identification: [{position: 30}]
@ObjectModel.readOnly: true
@ObjectModel.text.association: '_BOOVersionStatusText'
BillOfOperationsVersionStatus,
@UI.identification: [{position: 40}]
Plant,
// @UI.identification: [{position: 57}]
// case
// when BillOfOperationsVersionStatus = '10'
// then 2
// when BillOfOperationsVersionStatus = '20'
// then 3
// else 1
// end as BOOVersionStatusCriticality,
@Semantics.quantity.unitOfMeasure: 'BillOfOperationsUnit'
MinimumLotSizeQuantity,
@Semantics.quantity.unitOfMeasure: 'BillOfOperationsUnit'
MaximumLotSizeQuantity,
BillOfOperationsUnit,
RoutingIsReworkRouting,
ProdnProcgIsFlexible,
@UI.identification: [{position: 50}]
CreationDateTime,
@UI.identification: [{position: 60}]
CreatedByUser,
@UI.identification: [{position: 70}]
LastChangeDateTime,
@UI.identification: [{position: 80}]
LastChangedByUser,
// // *** Material Details *****************
//
// _BOOVersionBOMAssignment.Material,
// _BOOVersionBOMAssignment._Material._Text.MaterialName,
//
// // ******* Production order Details ***********
//
// OrderID,
// _MfgProcgExecOrdMainStatus.OrderMainStatus,
//
// // ***** For Production Version Fields ********
//
// -- cast(' ' as matnr preserving type ) as Material,
// cast(' ' as verid preserving type ) as ProductionVersion,
// cast(' ' as vers_text preserving type ) as ProductionVersionText,
// cast( '00000000' as vdm_v_validity_start_date ) as ValidityStartDate,
// cast( '00000000' as vdm_v_validity_end_date ) as ValidityEndDate,
// cast( 0 as sa_losvn ) as MaterialMinLotSizeQuantity,
// cast( 0 as sa_losbs ) as MaterialMaxLotSizeQuantity,
//
_BOOVersionStatusText
// _BOOVersionBOMAssignment
// ,
// _MfgProcgExecOrdMainStatus
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODUCTIONROUTINGVERSION"
],
"ASSOCIATED":
[
"I_BOOVERSIONSTATUSTEXT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA