I_ProductWorkScheduling

DDL: I_PRODUCTWORKSCHEDULING Type: view BASIC Package: VDM_MD_PRODUCT_DDIC

Product WorkScheduling core entity

I_ProductWorkScheduling is a Basic CDS View that provides data about "Product WorkScheduling core entity" in SAP S/4HANA. It reads from 1 data source (P_ProductPlantBasic) and exposes 33 fields with key fields Product, Plant. It has 12 associations to related views. Part of development package VDM_MD_PRODUCT_DDIC.

Data Sources (1)

SourceAliasJoin Type
P_ProductPlantBasic WorkScheduling from

Associations (12)

CardinalityTargetAliasCondition
[1..1] I_Product _Product $projection.Product = _Product.Product
[0..1] E_Productplant _ProdWorkSchedulingExt $projection.Product = _ProdWorkSchedulingExt.Product and $projection.Plant = _ProdWorkSchedulingExt.Plant
[0..1] I_StorageLocation _ProductionInvtryManagedLoc $projection.Plant = _ProductionInvtryManagedLoc.Plant and $projection.ProductionInvtryManagedLoc = _ProductionInvtryManagedLoc.StorageLocation
[0..1] I_ProductionSupervisor _ProductionSupervisor $projection.Plant = _ProductionSupervisor.Plant and $projection.ProductionSupervisor = _ProductionSupervisor.ProductionSupervisor
[0..1] I_ProductionSchedulingProfile _ProductionSchedulingProfile $projection.Plant = _ProductionSchedulingProfile.Plant and $projection.ProductionSchedulingProfile = _ProductionSchedulingProfile.ProductionSchedulingProfile
[1..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[0..1] I_UnitOfMeasure _ProductProductionQuantityUnit $projection.ProductProductionQuantityUnit = _ProductProductionQuantityUnit.UnitOfMeasure
[0..*] I_ProdnOrdBatDetnCodeText _ProdnOrdBatDetnCodeText $projection.ProdnOrderIsBatchRequired = _ProdnOrdBatDetnCodeText.ProductionOrderBatchCode
[0..*] I_ProdComponentBackflushCodeT _ProdComponentBackflushCodeT $projection.MatlCompIsMarkedForBackflush = _ProdComponentBackflushCodeT.ProductComponentBackflushCode
[0..*] I_ProductDescription_2 _ProductDescription $projection.Product = _ProductDescription.Product
[0..*] I_UnitOfMeasureText _BaseUnitOfMeasureText $projection.BaseUnit = _BaseUnitOfMeasureText.UnitOfMeasure
[0..*] I_UnitOfMeasureText _ProdProdnQuantityUnitText $projection.ProductProductionQuantityUnit = _ProdProdnQuantityUnitText.UnitOfMeasure

Annotations (15)

NameValueLevelField
AbapCatalog.sqlViewName IPRDWORKSCHED view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
VDM.viewType #BASIC view
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Product WorkScheduling core entity view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MASTER view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.ignorePropagatedAnnotations true view
AccessControl.personalData.blocking #NOT_REQUIRED view
Analytics.dataExtraction.enabled true view
ObjectModel.modelingPattern #ANALYTICAL_DIMENSION view
ObjectModel.sapObjectNodeType.name ProductPlantWorkScheduling view

Fields (33)

KeyFieldSource TableSource FieldDescription
KEY Product P_ProductPlantBasic Product
KEY Plant P_ProductPlantBasic Plant
MaterialBaseQuantity P_ProductPlantBasic MaterialBaseQuantity
UnlimitedOverDelivIsAllowed P_ProductPlantBasic UnlimitedOverDelivIsAllowed
OverDelivToleranceLimit P_ProductPlantBasic OverDelivToleranceLimit
UnderDelivToleranceLimit P_ProductPlantBasic UnderDelivToleranceLimit
ProductionInvtryManagedLoc P_ProductPlantBasic ProductionInvtryManagedLoc
IsActiveEntity
ProdnOrderIsBatchRequired P_ProductPlantBasic ProdnOrderIsBatchRequired
ProdIsWithdrawnFrmProdnBin P_ProductPlantBasic ProdIsWithdrawnFrmProdnBin
TransitionMatrixProductsGroup P_ProductPlantBasic TransitionMatrixProductsGroup
OrderChangeManagementProfile P_ProductPlantBasic OrderChangeManagementProfile
MatlCompIsMarkedForBackflush P_ProductPlantBasic MatlCompIsMarkedForBackflush
SetupAndTeardownTime P_ProductPlantBasic SetupAndTeardownTime
ProductionSchedulingProfile P_ProductPlantBasic ProductionSchedulingProfile
TransitionTime P_ProductPlantBasic TransitionTime
ProcessingTimeInDays P_ProductPlantBasic ProcessingTimeInDays
ProductionSupervisor P_ProductPlantBasic ProductionSupervisor
ProductProductionQuantityUnit P_ProductPlantBasic ProductProductionQuantityUnit
HasProductionVersion P_ProductPlantBasic HasProductionVersion
BaseUnit _Product BaseUnit
_Product _Product
_Plant _Plant
_ProductionInvtryManagedLoc _ProductionInvtryManagedLoc
_ProductionSupervisor _ProductionSupervisor
_ProductionSchedulingProfile _ProductionSchedulingProfile
_BaseUnitOfMeasure _Product _BaseUnitOfMeasure
_ProductProductionQuantityUnit _ProductProductionQuantityUnit
_ProdnOrdBatDetnCodeText _ProdnOrdBatDetnCodeText
_ProdComponentBackflushCodeT _ProdComponentBackflushCodeT
_ProductDescription _ProductDescription
_BaseUnitOfMeasureText _BaseUnitOfMeasureText
_ProdProdnQuantityUnitText _ProdProdnQuantityUnitText
// 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
         
}