P_PRODUCTIONMODELCOMPONENT

CDS View

Prodn Model Sales Order Component

P_PRODUCTIONMODELCOMPONENT is a CDS View in S/4HANA. Prodn Model Sales Order Component. It contains 95 fields. 5 CDS views read from this table.

CDS Views using this table (5)

ViewTypeJoinVDMDescription
I_ProdnModelComponentInstance view_entity from COMPOSITE Production Model Component Instance
I_ProdnModOpActyCompInstance view_entity inner COMPOSITE Prodn Model Op Acty Component Instance
I_ProdnModOpActyComponent view_entity inner COMPOSITE Production Model Activity Component
I_ProdnModOperationComponent view_entity inner COMPOSITE Production Model Operation Component
I_ProductionModelComponent view_entity from COMPOSITE Production Model Component

Fields (95)

KeyField CDS FieldsUsed in Views
KEY BillOfOperationsVersion BillOfOperationsVersion 4
KEY ProductionModelComponentUUID ProductionModelComponentUUID 5
KEY ProductionModelUUID ProductionModelUUID 5
AlternativeItemGroup AlternativeItemGroup 3
AlternativeItemPriority AlternativeItemPriority 3
AlternativeItemStrategy AlternativeItemStrategy 3
BillOfMaterial BillOfMaterial 2
BillOfMaterialCategory BillOfMaterialCategory 5
BillOfMaterialComponent BillOfMaterialComponent 3
BillOfMaterialItemCategory BillOfMaterialItemCategory 3
BillOfMaterialItemNodeNumber BillOfMaterialItemNodeNumber 5
BillOfMaterialItemObjectType BillOfMaterialItemObjectType 3
BillOfMaterialItemQuantity BillOfMaterialItemQuantity 3
BillOfMaterialItemUnit BillOfMaterialItemUnit 5
BillOfMaterialVariant BillOfMaterialVariant 4
BillOfMaterialVariantUsage BillOfMaterialVariantUsage 5
BillOfMaterialVersion BillOfMaterialVersion 4
BillOfOperationsGroup BillOfOperationsGroup 4
BillOfOperationsType BillOfOperationsType 5
BillOfOperationsVariant BillOfOperationsVariant 4
BOMIsRecursive BOMIsRecursive 3
BOMItemCreatedByUser BOMItemCreatedByUser 3
BOMItemDescription BOMItemDescription 3
BOMItemHasFixedQuantity BOMItemHasFixedQuantity 3
BOMItemInternalChangeCount BOMItemInternalChangeCount 5
BOMItemIsCostingRelevant MaterialCompCostingRelevancy 3
BOMItemIsPlantMaintRelevant BOMItemIsPlantMaintRelevant 3
BOMItemIsSalesRelevant BOMItemSalesRelevancy 3
BOMItemIsSparePart MatlComponentSparePartType 3
BOMItemLastChangeDate BOMItemLastChangeDate 3
BOMItemLastChangedByUser BOMItemLastChangedByUser 3
BOMItemRecordCreationDate BOMItemRecordCreationDate 3
BOMItemSorter BOMItemSorter 3
BOMItemText2 BOMItemText2 3
ChgToEngineeringChgDocument ChgToEngineeringChgDocument 3
ComponentDescription ComponentDescription 3
ComponentScrapInPercent ComponentScrapInPercent 3
CostElement CostElement 3
Creditor Creditor 3
Currency Currency 3
DeliveryDurationInDays DeliveryDurationInDays 3
DependencyObjectNumber DependencyObjectNumber 3
DiscontinuationGroup DiscontinuationGroup 3
DistrKeyCompConsumption DistrKeyCompConsumption 3
DocNumber DocNumber 3
DocumentIsCreatedByCAD DocumentIsCreatedByCAD 3
DocumentPart DocumentPart 3
DocumentType DocumentType 3
DocumentVersion DocumentVersion 3
EngineeringChangeDocument EngineeringChangeDocument 3
ExplosionType ExplosionType 3
FollowUpGroup FollowUpGroup 3
FormulaKey FormulaKey 3
GoodsReceiptDuration GoodsReceiptDuration 3
IdentifierBOMItem IdentifierBOMItem 3
InheritedNodeNumberForBOMItem InheritedNodeNumberForBOMItem 5
InheritedNodeNumberVersionBOM InheritedNodeNumberVersionBOM 5
IsALE IsALE 3
IsAssembly IsAssembly 3
IsBOMRecursiveAllowed IsBOMRecursiveAllowed 3
IsBulkMaterial IsBulkMaterial 3
IsDeleted IsDeleted 3
IsEngineeringRelevant IsEngineeringRelevant 3
IsMaterialProvision MaterialProvisionType 3
IsNetScrap IsNetScrap 3
IsPhantomItem IsPhantomItem 3
IsPMAssemblyRelevant IsPMAssemblyRelevant 3
IsProductionRelevant IsProductionRelevant 3
IsSubItem IsSubItem 3
LeadTimeOffset LeadTimeOffset 3
Material Material 4
MaterialComponentPrice MaterialComponentPrice 3
MaterialGroup MaterialGroup 3
MaterialIsCoProduct MaterialIsCoProduct 3
OperationLeadTimeOffset OperationLeadTimeOffset 3
OperationScrapInPercent OperationScrapInPercent 3
OpsLeadTimeOffsetUnit OpsLeadTimeOffsetUnit 3
Plant Plant 5
PreliminaryMaterial PreliminaryMaterial 3
ProdOrderIssueLocation ProdOrderIssueLocation 3
ProductionSupplyArea ProductionSupplyArea 3
PurchasingGroup PurchasingGroup 3
PurchasingOrganization PurchasingOrganization 3
QuantityVariableSizeItem QuantityVariableSizeItem 3
ReferencePoint ReferencePoint 3
Size1 Size1 3
Size2 Size2 3
Size3 Size3 3
SpecialProcurementType SpecialProcurementType 3
UnitOfMeasureForSize1To3 UnitOfMeasureForSize1To3 3
UnitOfMeasureForVarSizeItem VariableSizeItemUnit 3
UsageProbabilityPercent UsageProbabilityPercent 3
ValidityEndDate ValidityEndDate 3
ValidityStartDate ValidityStartDate 3
VariableSizeCompUnitOfMeasure VariableSizeCompUnitOfMeasure 3
@EndUserText.label: 'Prodn Model Sales Order Component'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.private:true
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType:{
  serviceQuality: #B,
  sizeCategory: #XL,
  dataClass: #TRANSACTIONAL
}
define view entity P_ProductionModelComponent

  as select from           I_BillOfMaterialItemBasic    as BOMItem

    inner join             I_BillOfMaterialValidItem    as ValidItem         on  BOMItem.BillOfMaterialCategory       = ValidItem.BillOfMaterialCategory
                                                                             and BOMItem.BillOfMaterial               = ValidItem.BillOfMaterial
                                                                             and BOMItem.BillOfMaterialItemNodeNumber = ValidItem.BillOfMaterialItemNodeNumber

    inner join             I_ProductionModelBasic       as ProductionModel   on  ProductionModel.BillOfMaterialCategory = ValidItem.BillOfMaterialCategory
                                                                             and ProductionModel.BillOfMaterial         = ValidItem.BillOfMaterial
                                                                             and ProductionModel.BillOfMaterialVariant  = ValidItem.BillOfMaterialVariant
                                                                             and ProductionModel.Material               = ProductionModel.Material
                                                                             and ProductionModel.Plant                  = ProductionModel.Plant
                                                                             and ProductionModel.SalesOrder             = ProductionModel.SalesOrder
                                                                             and ProductionModel.SalesOrderItem         = ProductionModel.SalesOrderItem

    left outer to one join I_SalesOrderBOMLink          as SalesOrderBOMLink on  SalesOrderBOMLink.BillOfMaterial        = BOMItem.BillOfMaterial
                                                                             and SalesOrderBOMLink.BillOfMaterialVariant = ValidItem.BillOfMaterialVariant

    left outer to one join I_MaterialBOMLink            as MaterialBOMLink   on  MaterialBOMLink.BillOfMaterial             = ProductionModel.BillOfMaterial
                                                                             and MaterialBOMLink.BillOfMaterialVariant      = ProductionModel.BillOfMaterialVariant
                                                                             and MaterialBOMLink.BillOfMaterialVariantUsage = ProductionModel.BillOfMaterialVariantUsage
                                                                             and MaterialBOMLink.BillOfMaterialVariant      = ProductionModel.BillOfMaterialVariant
                                                                             and MaterialBOMLink.Material                   = ProductionModel.Material
                                                                             and MaterialBOMLink.Plant                      = ProductionModel.Plant

    inner join             I_ProdnModBOOVersBOMAssgmt   as BOOBOMAssignment  on  BOOBOMAssignment.BillOfOperationsType    = ProductionModel.BillOfOperationsType
                                                                             and BOOBOMAssignment.BillOfOperationsGroup   = ProductionModel.BillOfOperationsGroup
                                                                             and BOOBOMAssignment.BillOfOperationsVariant = ProductionModel.BillOfOperationsVariant
                                                                             and ValidItem.BillOfMaterialVersion             = BOOBOMAssignment.BillOfMaterialVersion
                                                                             
    left outer to one join I_MatlProcurementProfile     as t460a             on  t460a.MaterialProcurementProfile = BOMItem.SpecialProcurementType
                                                                             and t460a.Plant                      = ProductionModel.Plant

    left outer to one join I_Supplier                   as Supplier          on BOMItem.Creditor                      = Supplier.Supplier
                                                                             and( Supplier.IsBusinessPurposeCompleted    is null
                                                                               or Supplier.IsBusinessPurposeCompleted = '' )

    left outer to one join I_MaterialText               as _MaterialText     on  BOMItem.BillOfMaterialComponent = _MaterialText.Material
                                                                             and _MaterialText.Language          = $session.system_language

    left outer to one join I_BillOfMaterialItemCategory as _BOMItemCategory  on _BOMItemCategory.BillOfMaterialItemCategory = BOMItem.BillOfMaterialItemCategory

  association [0..1] to I_MaterialText as _MaterialTextEN on  $projection.BillOfMaterialComponent = _MaterialTextEN.Material
                                                          and _MaterialTextEN.Language            = 'E'

{
  key    ProductionModel.ProductionModelUUID                                as ProductionModelUUID,
  key    BOMItem.BillOfMaterialItemUUID                                     as ProductionModelComponentUUID,
  key    BOOBOMAssignment.BillOfOperationsVersion                           as BillOfOperationsVersion,
         ProductionModel.BillOfMaterialCategory                             as BillOfMaterialCategory,
         ProductionModel.BillOfMaterial                                     as BillOfMaterial,
         ProductionModel.Material                                           as Material,
         ProductionModel.Plant                                              as Plant,
         ProductionModel.BillOfMaterialVariant                              as BillOfMaterialVariant,
         ProductionModel.BillOfMaterialVariantUsage                         as BillOfMaterialVariantUsage,
         ProductionModel.BillOfOperationsGroup                              as BillOfOperationsGroup,
         ProductionModel.BillOfOperationsType                               as BillOfOperationsType,
         ProductionModel.BillOfOperationsVariant                            as BillOfOperationsVariant,
         BOOBOMAssignment.BillOfMaterialVersion                             as BillOfMaterialVersion,
         ValidItem.InheritedNodeNumberForBOMItem                            as InheritedNodeNumberForBOMItem,
         BOMItem.BillOfMaterialItemNodeNumber                               as BillOfMaterialItemNodeNumber,
         BOMItem.BOMItemInternalChangeCount                                 as BOMItemInternalChangeCount,
         BOMItem.InheritedNodeNumberVersionBOM                              as InheritedNodeNumberVersionBOM,
         @Semantics.businessDate.from: true
         BOMItem.ValidityStartDate                                          as ValidityStartDate,
         @Semantics.businessDate.to: true
         cast('99991231' as datub )                                         as ValidityEndDate,
         BOMItem.EngineeringChangeDocument                                  as EngineeringChangeDocument,
         cast( BOMItem.EngineeringChangeDocument as aenra preserving type ) as ChgToEngineeringChgDocument,
         BOMItem.BOMItemRecordCreationDate                                  as BOMItemRecordCreationDate,
         BOMItem.BOMItemCreatedByUser                                       as BOMItemCreatedByUser,
         BOMItem.BOMItemLastChangeDate                                      as BOMItemLastChangeDate,
         BOMItem.BOMItemLastChangedByUser                                   as BOMItemLastChangedByUser,
         BOMItem.BillOfMaterialComponent                                    as BillOfMaterialComponent,
         BOMItem.BillOfMaterialItemCategory                                 as BillOfMaterialItemCategory,
         BOMItem.BillOfMaterialItemNumber                                   as BillOfMaterialItemNumber,
         BOMItem.BillOfMaterialItemUnit                                     as BillOfMaterialItemUnit,
         @Semantics.quantity.unitOfMeasure : 'BillOfMaterialItemUnit'
         case when _BOMItemCategory.FixedItemCategory = 'R'
         then BOMItem.NumberOfVariableSizeItem
         else BOMItem.BillOfMaterialItemQuantity
         end                                                                as BillOfMaterialItemQuantity,
         BOMItem.IsSubItem                                                  as IsSubItem,
         BOMItem.BOMItemSorter                                              as BOMItemSorter,
         BOMItem.FixedQuantity                                              as BOMItemHasFixedQuantity,
         BOMItem.PurchasingGroup                                            as PurchasingGroup,
         BOMItem.Currency                                                   as Currency,
         @Semantics.amount.currencyCode : 'Currency'
         BOMItem.MaterialComponentPrice                                     as MaterialComponentPrice,
         case when
         ( BOMItem.IdentifierBOMItem is null or BOMItem.IdentifierBOMItem = '')
          then BOMItem.InheritedNodeNumberForBOMItem
          else
         BOMItem.IdentifierBOMItem
         end                                                                as IdentifierBOMItem,
         BOMItem.ComponentScrapInPercent                                    as ComponentScrapInPercent,
         BOMItem.OperationScrapInPercent                                    as OperationScrapInPercent,
         BOMItem.IsNetScrap                                                 as IsNetScrap,
         @Semantics.quantity.unitOfMeasure : 'VariableSizeCompUnitOfMeasure'
         BOMItem.NumberOfVariableSizeItem                                   as NumberOfVariableSizeItem,
         case when _BOMItemCategory.BillOfMaterialItemCategory = 'R'
         then BOMItem.BillOfMaterialItemUnit
         else ValidItem.VariableSizeItemUnit
         end                                                                as VariableSizeCompUnitOfMeasure,
         @Semantics.quantity.unitOfMeasure : 'UnitOfMeasureForVarSizeItem'
         BOMItem.QuantityVariableSizeItem                                   as QuantityVariableSizeItem,
         BOMItem.FormulaKey                                                 as FormulaKey,
         //tcs03.roame as UnitOfMeasureForVarSizeItem,

         ValidItem.VariableSizeItemUnit                                     as UnitOfMeasureForVarSizeItem,
         case
            when _BOMItemCategory.FixedItemCategory = 'L'
               then
               case when _MaterialText.MaterialName is not null or _MaterialText.MaterialName <> ''
               then _MaterialText.MaterialName
             else _MaterialTextEN.MaterialName
               end
            when _BOMItemCategory.FixedItemCategory = 'R' and  (BOMItem.BillOfMaterialComponent is not null)
               then
               case when _MaterialText.MaterialName is not null or _MaterialText.MaterialName <> ''
               then _MaterialText.MaterialName
               else _MaterialTextEN.MaterialName
               end
            when _BOMItemCategory.FixedItemCategory = 'R' and  (BOMItem.BillOfMaterialComponent = '')
               then BOMItem.BOMItemText1
            when _BOMItemCategory.FixedItemCategory = 'N' and (BOMItem.BillOfMaterialComponent <> '')
               then
               case when _MaterialText.MaterialName is not null or _MaterialText.MaterialName <> ''
               then _MaterialText.MaterialName
              else _MaterialTextEN.MaterialName
               end
            when _BOMItemCategory.FixedItemCategory = 'N' and  (BOMItem.BillOfMaterialComponent = '')
               then BOMItem.BOMItemText1
            else
            BOMItem.BOMItemText1
         end                                                                as ComponentDescription,
         BOMItem.BOMItemText1                                               as BOMItemDescription,
         BOMItem.BOMItemText2                                               as BOMItemText2,
         BOMItem.MaterialGroup                                              as MaterialGroup,
         BOMItem.DocumentType                                               as DocumentType,
         BOMItem.DocNumber                                                  as DocNumber,
         BOMItem.DocumentVersion                                            as DocumentVersion,
         BOMItem.DocumentPart                                               as DocumentPart,
         BOMItem.DependencyObjectNumber                                     as DependencyObjectNumber,
         BOMItem.IsBulkMaterial                                             as IsBulkMaterial,
         BOMItem.BOMItemIsSparePart                                         as BOMItemIsSparePart,
         BOMItem.BOMItemIsSalesRelevant                                     as BOMItemIsSalesRelevant,
         BOMItem.IsProductionRelevant                                       as IsProductionRelevant,
         BOMItem.BOMItemIsPlantMaintRelevant                                as BOMItemIsPlantMaintRelevant,
         BOMItem.BOMItemIsCostingRelevant                                   as BOMItemIsCostingRelevant,
         BOMItem.IsEngineeringRelevant                                      as IsEngineeringRelevant,
         BOMItem.SpecialProcurementType                                     as SpecialProcurementType,
         BOMItem.IsBOMRecursiveAllowed                                      as IsBOMRecursiveAllowed,
         BOMItem.OperationLeadTimeOffset                                    as OperationLeadTimeOffset,
         BOMItem.OpsLeadTimeOffsetUnit                                      as OpsLeadTimeOffsetUnit,
         BOMItem.IsMaterialProvision                                        as IsMaterialProvision,
         BOMItem.BOMIsRecursive                                             as BOMIsRecursive,
         BOMItem.DocumentIsCreatedByCAD                                     as DocumentIsCreatedByCAD,
         BOMItem.DistrKeyCompConsumption                                    as DistrKeyCompConsumption,
         BOMItem.DeliveryDurationInDays                                     as DeliveryDurationInDays,
         case when Supplier.IsBusinessPurposeCompleted is null or Supplier.IsBusinessPurposeCompleted = ''
         then BOMItem.Creditor else
         cast ('          ' as lifnr preserving type)
         end                                                                as Creditor,
         BOMItem.CostElement                                                as CostElement,
         BOMItem.Size1                                                      as Size1,
         BOMItem.Size2                                                      as Size2,
         BOMItem.Size3                                                      as Size3,
         BOMItem.UnitOfMeasureForSize1To3                                   as UnitOfMeasureForSize1To3,
         BOMItem.ProdOrderIssueLocation                                     as ProdOrderIssueLocation,
         BOMItem.MaterialIsCoProduct                                        as MaterialIsCoProduct,
         BOMItem.ExplosionType                                              as ExplosionType,
         BOMItem.FollowUpGroup                                              as FollowUpGroup,
         BOMItem.DiscontinuationGroup                                       as DiscontinuationGroup,
         BOMItem.ReferencePoint                                             as ReferencePoint,
         BOMItem.LeadTimeOffset                                             as LeadTimeOffset,
         BOMItem.ProductionSupplyArea                                       as ProductionSupplyArea,
         BOMItem.IsALE                                                      as IsALE,
         BOMItem.GoodsReceiptDuration                                       as GoodsReceiptDuration,
         BOMItem.PurchasingOrganization                                     as PurchasingOrganization,
         BOMItem.IsDeleted                                                  as IsDeleted,
         //Alternative Item Fields

         BOMItem.AlternativeItemGroup                                       as AlternativeItemGroup,
         BOMItem.AlternativeItemPriority                                    as AlternativeItemPriority,
         BOMItem.AlternativeItemStrategy                                    as AlternativeItemStrategy,
         BOMItem.UsageProbabilityPercent                                    as UsageProbabilityPercent,
         cast(' ' as stkkz preserving type)                                 as IsPMAssemblyRelevant,
         cast(' ' as xfeld preserving type)                                 as IsAssembly,
         case
           when t460a.IsPhantomItem = 'X'
          then cast('X' as xfeld preserving type)
          else
          cast('' as xfeld preserving type)
          end                                                               as IsPhantomItem,
         //t460a.SpclProcmtTypeIsConsistent,

         cast(BOMItem.BOMItemText1 as maktx preserving type )               as PreliminaryMaterial,
         BOMItem.ObjectType as BillOfMaterialItemObjectType

}
where
     BOMItem.BillOfMaterialCategory = 'K'
  or BOMItem.BillOfMaterialCategory = 'M'