I_PRODUCTWORKSCHEDULING
Product WorkScheduling core entity
I_PRODUCTWORKSCHEDULING is a CDS View in S/4HANA. Product WorkScheduling core entity. It contains 11 fields. 6 CDS views read from this table.
CDS Views using this table (6)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| A_ClfnProdWrkSchedg | view | from | COMPOSITE | Work Scheduling Data |
| A_ProductWorkScheduling | view | from | COMPOSITE | Work Scheduling Data |
| I_ProductWorkSchedulingWD | view | from | TRANSACTIONAL | Product-Work Scheduling Node (draft) |
| P_ProductWorkSchedulingWD | view | from | COMPOSITE | union |
| R_ProdPlantWorkSchedulingTP | view_entity | from | TRANSACTIONAL | Product Plant Work Scheduling - TP |
| R_ProdPlantWorkSchedulingTP_2 | view_entity | from | TRANSACTIONAL | Product Plant Work Scheduling - TP |
Fields (11)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | Plant | ActivePlant,Plant,PlantForEdit | 2 |
| KEY | Product | ActiveProduct,Product | 2 |
| BaseUnit | BaseUnit | 1 | |
| MaterialBaseQuantity | MaterialBaseQuantity | 2 | |
| MatlCompIsMarkedForBackflush | MatlCompIsMarkedForBackflush | 1 | |
| OverDelivToleranceLimit | OverDelivToleranceLimit | 2 | |
| ProductionInvtryManagedLoc | ProductionInvtryManagedLoc | 1 | |
| ProductionSchedulingProfile | ProductionSchedulingProfile | 1 | |
| ProductionSupervisor | ProductionSupervisor | 1 | |
| UnderDelivToleranceLimit | UnderDelivToleranceLimit | 2 | |
| UnlimitedOverDelivIsAllowed | UnlimitedOverDelivIsAllowed | 2 |
// Product Work scheduling (active)
@AbapCatalog: {
sqlViewName: 'IPRDWORKSCHED',
preserveKey:true,
compiler.compareFilter:true
}
@VDM.viewType: #BASIC
@AccessControl: {
authorizationCheck: #MANDATORY,
privilegedAssociations: ['_ProductionSupervisor']
}
@EndUserText.label: 'Product WorkScheduling core entity'
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory : #XL
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations:true
@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE,
#CDS_MODELING_DATA_SOURCE,
#CDS_MODELING_ASSOCIATION_TARGET,
#EXTRACTION_DATA_SOURCE
]
@AccessControl.personalData.blocking: #NOT_REQUIRED
@Analytics:{
dataExtraction: {
enabled: true,
delta.changeDataCapture :{
mapping: [{ viewElement: ['Product', 'Plant'],
role: #MAIN,
table: 'MARC',
tableElement: ['MATNR', 'WERKS']},
{ viewElement: ['Product'],
role: #LEFT_OUTER_TO_ONE_JOIN,
table: 'MARA',
tableElement: ['MATNR']}
]
}
}
}
@ObjectModel.modelingPattern: #ANALYTICAL_DIMENSION
@ObjectModel.sapObjectNodeType.name: 'ProductPlantWorkScheduling'
define view I_ProductWorkScheduling
as select from P_ProductPlantBasic as WorkScheduling
association [1..1] to I_Product as _Product on $projection.Product = _Product.Product
association [0..1] to E_Productplant as _ProdWorkSchedulingExt on $projection.Product = _ProdWorkSchedulingExt.Product
and $projection.Plant = _ProdWorkSchedulingExt.Plant
association [0..1] to I_StorageLocation as _ProductionInvtryManagedLoc on $projection.Plant = _ProductionInvtryManagedLoc.Plant
and $projection.ProductionInvtryManagedLoc = _ProductionInvtryManagedLoc.StorageLocation
association [0..1] to I_ProductionSupervisor as _ProductionSupervisor on $projection.Plant = _ProductionSupervisor.Plant
and $projection.ProductionSupervisor = _ProductionSupervisor.ProductionSupervisor
association [0..1] to I_ProductionSchedulingProfile as _ProductionSchedulingProfile on $projection.Plant = _ProductionSchedulingProfile.Plant
and $projection.ProductionSchedulingProfile = _ProductionSchedulingProfile.ProductionSchedulingProfile
association [1..1] to I_Plant as _Plant on $projection.Plant = _Plant.Plant
association [0..1] to I_UnitOfMeasure as _ProductProductionQuantityUnit on $projection.ProductProductionQuantityUnit = _ProductProductionQuantityUnit.UnitOfMeasure
association [0..*] to I_ProdnOrdBatDetnCodeText as _ProdnOrdBatDetnCodeText on $projection.ProdnOrderIsBatchRequired = _ProdnOrdBatDetnCodeText.ProductionOrderBatchCode
association [0..*] to I_ProdComponentBackflushCodeT as _ProdComponentBackflushCodeT on $projection.MatlCompIsMarkedForBackflush = _ProdComponentBackflushCodeT.ProductComponentBackflushCode
association [0..*] to I_ProductDescription_2 as _ProductDescription on $projection.Product = _ProductDescription.Product
association [0..*] to I_UnitOfMeasureText as _BaseUnitOfMeasureText on $projection.BaseUnit = _BaseUnitOfMeasureText.UnitOfMeasure
association [0..*] to I_UnitOfMeasureText as _ProdProdnQuantityUnitText on $projection.ProductProductionQuantityUnit = _ProdProdnQuantityUnitText.UnitOfMeasure
{
key WorkScheduling.Product,
@ObjectModel.foreignKey.association: '_Plant'
key WorkScheduling.Plant,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
WorkScheduling.MaterialBaseQuantity,
WorkScheduling.UnlimitedOverDelivIsAllowed,
WorkScheduling.OverDelivToleranceLimit,
WorkScheduling.UnderDelivToleranceLimit,
@ObjectModel.foreignKey.association: '_ProductionInvtryManagedLoc'
@ObjectModel.sapObjectNodeTypeReference:'StorageLocation'
WorkScheduling.ProductionInvtryManagedLoc, //PSTAT Revert
cast( 'X' as sdraft_is_active preserving type ) as IsActiveEntity, // to enbale extensibility in Draft 2.0
// New fields from MDG model, as part of unified API development
@Semantics.booleanIndicator: true
WorkScheduling.ProdnOrderIsBatchRequired,
WorkScheduling.ProdIsWithdrawnFrmProdnBin,
WorkScheduling.TransitionMatrixProductsGroup,
WorkScheduling.OrderChangeManagementProfile,
@Semantics.booleanIndicator: true
WorkScheduling.MatlCompIsMarkedForBackflush,
WorkScheduling.SetupAndTeardownTime,
@ObjectModel.foreignKey.association: '_ProductionSchedulingProfile'
@ObjectModel.sapObjectNodeTypeReference:'ProductionSchedulingProfile'
WorkScheduling.ProductionSchedulingProfile,
WorkScheduling.TransitionTime,
WorkScheduling.ProcessingTimeInDays,
@ObjectModel.foreignKey.association: '_ProductionSupervisor'
WorkScheduling.ProductionSupervisor,
@ObjectModel.foreignKey.association: '_ProductProductionQuantityUnit'
WorkScheduling.ProductProductionQuantityUnit,
WorkScheduling.HasProductionVersion, //calculated field pstat A
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_BaseUnitOfMeasure'
_Product.BaseUnit as BaseUnit,
_Product,
_Plant,
_ProductionInvtryManagedLoc,
_ProductionSupervisor,
_ProductionSchedulingProfile,
_Product._BaseUnitOfMeasure,
_ProductProductionQuantityUnit,
_ProdnOrdBatDetnCodeText,
_ProdComponentBackflushCodeT,
_ProductDescription,
_BaseUnitOfMeasureText,
_ProdProdnQuantityUnitText
}