C_SFOAssldTraceableComponent

DDL: C_SFOASSLDTRACEABLECOMPONENT Type: view_entity CONSUMPTION Package: MPE_EXEC_COMMON

Shop floor order assembled traceable component

C_SFOAssldTraceableComponent is a Consumption CDS View that provides data about "Shop floor order assembled traceable component" in SAP S/4HANA. It reads from 1 data source (P_SFOTraceableAssldComp) and exposes 60 fields with key fields Reservation, ReservationItem, RecordType, OpActyNtwkInstance, OpActyNtwkElement. It has 4 associations to related views. Part of development package MPE_EXEC_COMMON.

Data Sources (1)

SourceAliasJoin Type
P_SFOTraceableAssldComp ass from

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[1..1] I_OpActyNtwkInstance _OpActyNtwkInstance $projection.OpActyNtwkInstance = _OpActyNtwkInstance.OpActyNtwkInstance
[1..1] I_OperationActivityInstance _OperationActivityInstance $projection.OpActyNtwkInstance = _OperationActivityInstance.OpActyNtwkInstance and $projection.OpActyNtwkElement = _OperationActivityInstance.OpActyNtwkElement ----Extension
[0..1] E_BillOfMaterialItemTP _BillOfMaterialItemExtension $projection.BillOfMaterialCategory = _BillOfMaterialItemExtension.BillOfMaterialCategory and $projection.BillOfMaterialInternalID = _BillOfMaterialItemExtension.BillOfMaterial and $projection.BOMItem = _BillOfMaterialItemExtension.BillOfMaterialItemNodeNumber and $projection.BOMItemInternalChangeCount = _BillOfMaterialItemExtension.BOMItemInternalChangeCount

Annotations (12)

NameValueLevelField
Metadata.allowExtensions true view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view
UI.headerInfo.typeName Traceable Component view
UI.headerInfo.typeNamePlural Traceable Components view
UI.headerInfo.title.label Traceable Component view
UI.textArrangement #TEXT_LAST view
EndUserText.label Shop floor order assembled traceable component view

Fields (60)

KeyFieldSource TableSource FieldDescription
KEY Reservation P_SFOTraceableAssldComp Reservation
KEY ReservationItem P_SFOTraceableAssldComp ReservationItem
KEY RecordType P_SFOTraceableAssldComp RecordType
KEY OpActyNtwkInstance P_SFOTraceableAssldComp OpActyNtwkInstance
KEY OpActyNtwkElement P_SFOTraceableAssldComp OpActyNtwkElement
KEY ShopFloorItem P_SFOTraceableAssldComp ShopFloorItem
Batch
Material
KEY Plant P_SFOTraceableAssldComp Plant
KEY DgtlMockUpCharcsUUID P_SFOTraceableAssldComp DgtlMockUpCharcsUUID
BillOfMaterialItemNumber P_SFOTraceableAssldComp BillOfMaterialItemNumber
BillOfMaterialCategory P_SFOTraceableAssldComp BillOfMaterialCategory
BillOfMaterialInternalID P_SFOTraceableAssldComp BillOfMaterialInternalID
BOMItem P_SFOTraceableAssldComp BOMItem
BOMItemInternalChangeCount P_SFOTraceableAssldComp BOMItemInternalChangeCount
BillOfMaterialVariant P_SFOTraceableAssldComp BillOfMaterialVariant
BillOfMaterialVersion P_SFOTraceableAssldComp BillOfMaterialVersion
InheritedNodeNumberForBOMItem P_SFOTraceableAssldComp InheritedNodeNumberForBOMItem
InheritedNodeNumberVersionBOM P_SFOTraceableAssldComp InheritedNodeNumberVersionBOM
Assembly P_SFOTraceableAssldComp Assembly
MaterialName
RequiredQuantity
RequiredQuantityInBaseUnit P_SFOTraceableAssldComp RequiredQuantityInBaseUnit
MaterialComponentQuantity
ResvnItmWithdrawnQtyInBaseUnit P_SFOTraceableAssldComp ResvnItmWithdrawnQtyInBaseUnit
ResvnItmTotalWithdrawnQty P_SFOTraceableAssldComp ResvnItmTotalWithdrawnQty
MaterialBaseUnit P_SFOTraceableAssldComp MaterialBaseUnit
EntryUnit P_SFOTraceableAssldComp EntryUnit
OrderInternalID P_SFOTraceableAssldComp OrderInternalID
OrderOperationInternalID P_SFOTraceableAssldComp OrderOperationInternalID
SerialNumber
ManufacturerSerialNumber P_SFOTraceableAssldComp ManufacturerSerialNumber
BatchBySupplier
ReferenceDesignatorValue P_SFOTraceableAssldComp ReferenceDesignatorValue
ReferenceDesignatorName
MaterialCompIsVariableSized
FormulaKey P_SFOTraceableAssldComp FormulaKey
VariableSizeDimension1 P_SFOTraceableAssldComp VariableSizeDimension1
VariableSizeDimension2 P_SFOTraceableAssldComp VariableSizeDimension2
VariableSizeDimension3 P_SFOTraceableAssldComp VariableSizeDimension3
VariableSizeDimensionUnit P_SFOTraceableAssldComp VariableSizeDimensionUnit
VarblSizeCompFrmtdFormulaVal
VariableSizeComponentQuantity P_SFOTraceableAssldComp VariableSizeComponentQuantity
VariableSizeComponentUnit P_SFOTraceableAssldComp VariableSizeComponentUnit
MfgRefStrucItmDetIsContextual P_SFOTraceableAssldComp MfgRefStrucItmDetIsContextual
ManufacturingOrder P_SFOTraceableAssldComp ManufacturingOrder
MfgOrderOperationText P_SFOTraceableAssldComp OperationText
OperationActivityName
MatlCompAssembleControl P_SFOTraceableAssldComp MatlCompAssembleControl
BOMItemCategory P_SFOTraceableAssldComp BOMItemCategory
BillOfMaterialItemCategoryDesc
EffectivityParameterVariant P_SFOTraceableAssldComp EffectivityParameterVariant
MfgRefStrucBOMLeafAssgmtUUID
MfgRefStructureItemDetailUUID P_SFOTraceableAssldComp MfgRefStructureItemDetailUUID
MfgRefStrucItmRefDsgntrName
BillOfMaterialVariantUsage
_Material P_SFOTraceableAssldComp _Material
_Plant _Plant
_OpActyNtwkInstance _OpActyNtwkInstance
_OperationActivityInstance _OperationActivityInstance
@Metadata.allowExtensions: true

@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

@ObjectModel.usageType: {serviceQuality: #D, sizeCategory: #XL, dataClass: #MIXED}

@VDM.viewType: #CONSUMPTION

@UI.headerInfo.typeName: 'Traceable Component'
@UI.headerInfo.typeNamePlural: 'Traceable Components'
@UI.headerInfo.title.label: 'Traceable Component'
@UI.presentationVariant:[
  {
   sortOrder:[{by: 'MaterialName', direction: #ASC}],
   requestAtLeast: ['EffectivityParameterVariant','Assembly']
  }]

@UI.textArrangement: #TEXT_LAST
@UI.lineItem:[{criticality: 'ComponentAssemblyCriticality'}]

@EndUserText.label: 'Shop floor order assembled traceable component'
define view entity C_SFOAssldTraceableComponent
  as select from           P_SFOTraceableAssldComp as ass
    left outer to one join I_OpActyNtwkElement     as OpActyNtwkElement on  OpActyNtwkElement.OperationActivityNetwork = ass.OperationActivityNetwork
                                                                        and OpActyNtwkElement.OpActyNtwkVersionCounter = ass.OpActyNtwkVersionCounter
                                                                        and OpActyNtwkElement.OpActyNtwkElement        = ass.OpActyNtwkElement
  association [0..1] to I_Plant                     as _Plant                       on  $projection.Plant = _Plant.Plant
  association [1..1] to I_OpActyNtwkInstance        as _OpActyNtwkInstance          on  $projection.OpActyNtwkInstance = _OpActyNtwkInstance.OpActyNtwkInstance
  association [1..1] to I_OperationActivityInstance as _OperationActivityInstance   on  $projection.OpActyNtwkInstance = _OperationActivityInstance.OpActyNtwkInstance
                                                                                    and $projection.OpActyNtwkElement  = _OperationActivityInstance.OpActyNtwkElement
  ----Extension Association
  association [0..1] to E_BillOfMaterialItemTP      as _BillOfMaterialItemExtension on  $projection.BillOfMaterialCategory     = _BillOfMaterialItemExtension.BillOfMaterialCategory
                                                                                    and $projection.BillOfMaterialInternalID   = _BillOfMaterialItemExtension.BillOfMaterial
                                                                                    and $projection.BOMItem                    = _BillOfMaterialItemExtension.BillOfMaterialItemNodeNumber
                                                                                    and $projection.BOMItemInternalChangeCount = _BillOfMaterialItemExtension.BOMItemInternalChangeCount

  //  association [0..1] to C_ShopFloorItem as _Genealogy on $projection.ShopFloorItem = _Genealogy.ShopFloorItem

{
      @UI.hidden:true
  key ass.Reservation,
      @UI.hidden:true
  key ass.ReservationItem,
      @UI.hidden:true
  key ass.RecordType,
      @UI.hidden:true
      @ObjectModel.foreignKey.association: '_OpActyNtwkInstance'
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_OpActyNtwkInstanceStdVH', element: 'OpActyNtwkInstance' } } ]
  key ass.OpActyNtwkInstance,
      @UI.hidden:true
      @ObjectModel.foreignKey.association: '_OperationActivityInstance'
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_OpActyInstceStdVH', element: 'OpActyNtwkElement' } } ]
  key ass.OpActyNtwkElement,
      @UI.hidden:true
  key ass.ShopFloorItem,
      @UI:{
       lineItem:[{position:40}]}       -- defines default columns of the table on ObjectList
  key ass.Batch,
      @UI:{
       lineItem:[{position:10}]}       -- defines default columns of the table on ObjectList
      @ObjectModel.foreignKey.association: '_Material'
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MaterialStdVH', element: 'Material' } } ]
      @ObjectModel.text.element:['MaterialName']
  key ass.Material,
      @UI.hidden: true
      @ObjectModel.foreignKey.association: '_Plant'
  key ass.Plant,
      @UI.hidden: true
  key ass.DgtlMockUpCharcsUUID,

      ass.BillOfMaterialItemNumber                                                                           as BillOfMaterialItemNumber,
      @UI.hidden: true
      ass.BillOfMaterialCategory                                                                             as BillOfMaterialCategory,
      @UI.hidden: true
      ass.BillOfMaterialInternalID                                                                           as BillOfMaterialInternalID,
      @UI.hidden: true
      ass.BOMItem                                                                                            as BOMItem,
      @UI.hidden: true
      ass.BOMItemInternalChangeCount                                                                         as BOMItemInternalChangeCount,
      @UI.hidden: true
      ass.BillOfMaterialVariant                                                                              as BillOfMaterialVariant,
      @UI.hidden: true
      ass.BillOfMaterialVersion                                                                              as BillOfMaterialVersion,
      @UI.hidden: true
      ass.InheritedNodeNumberForBOMItem                                                                      as InheritedNodeNumberForBOMItem,
      @UI.hidden: true
      ass.InheritedNodeNumberVersionBOM                                                                      as InheritedNodeNumberVersionBOM,
      @UI.hidden: true
      ass.Assembly                                                                                           as Assembly,

      cast(coalesce(ass._MfgBOMItemWithPhantomHier.MfgBOMItemIsPhantomChild, '')
        as mpe_bom_phantom_child preserving type)                                                            as MfgBOMItemIsPhantomChild,

      @UI.hidden: true
      ass._Material._Text[1: Language=$session.system_language].MaterialName                                 as MaterialName,
      @Semantics.quantity.unitOfMeasure: 'EntryUnit'
      @UI:{
       lineItem:[{position:60}]}       -- defines default columns of the table on ObjectList
      ass.RequiredQuantity,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      ass.RequiredQuantityInBaseUnit,
      @Semantics.quantity.unitOfMeasure: 'EntryUnit'
      @UI:{
       lineItem:[{position:50}]}       -- defines default columns of the table on ObjectList
      ass.MaterialComponentQuantity,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      ass.ResvnItmWithdrawnQtyInBaseUnit,
      @UI.hidden:true
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      ass.ResvnItmTotalWithdrawnQty,
      @UI.hidden:true
      ass.MaterialBaseUnit,
      @UI.hidden:true
      ass.EntryUnit,
      @UI.hidden:true
      ass.OrderInternalID,
      @UI.hidden:true
      ass.OrderOperationInternalID,

      -- SFI Fields
      @UI:{
       lineItem:[{position:30}]} -- defines default columns of the table on ObjectList
      ass.SerialNumber,

      ass.ManufacturerSerialNumber,

      @ObjectModel: {
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_MPE_BATCHBYSUPPLIER_VE'
      }
      cast('               ' as lichn preserving type )                                                      as BatchBySupplier,

      @UI.hidden: true
      ass.ReferenceDesignatorValue,
      @ObjectModel: {
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_MPE_BOM_MRS_HIERARCHY_VE'
      }
      cast('' as vmp_ref_des )                                                                               as ReferenceDesignatorName,

      -- Variable-Size Item Fields
      @UI.hidden: true
      ass.MaterialCompIsVariableSized,
      @UI.hidden: true
      ass.FormulaKey,
      @UI.hidden: true
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      ass.VariableSizeDimension1,
      @UI.hidden: true
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      ass.VariableSizeDimension2,
      @UI.hidden: true
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      ass.VariableSizeDimension3,
      @UI.hidden: true
      ass.VariableSizeDimensionUnit,
      @ObjectModel: {
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_MPE_VSI_FRMTD_FORMULA_VE'
      }
      cast('' as mpe_vsi_formatted_formula)                                                                  as VarblSizeCompFrmtdFormulaVal,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeComponentUnit'
      ass.VariableSizeComponentQuantity,
      @UI.hidden: true
      ass.VariableSizeComponentUnit,

      @UI.hidden: true
      ass.MfgRefStrucItmDetIsContextual,

      ass.ManufacturingOrder,

      --Operation Fields
      @ObjectModel.text.element:['MfgOrderOperationText']
      cast(ass.Operation as mpe_vornr_char preserving type)                                                  as ManufacturingOrderOperation,

      @UI.hidden: true
      @Semantics.text: true
      ass.OperationText                                                                                      as MfgOrderOperationText,

      -- OA Details Fields
      @ObjectModel.text.element:['OperationActivityName']
      cast(coalesce(OpActyNtwkElement.OpActyNtwkElementExternalID, '') as mpe_oa_number_ext preserving type) as OpActyNtwkElementExternalID,

      @UI.hidden: true
      @Semantics.text: true
      OpActyNtwkElement._OperationActivityText[1: Language=$session.system_language].OperationActivityName   as OperationActivityName,

      @UI.hidden: true
      case
                when ass.Reservation = '0000000000' then 1
                else 0
                end                                                                                          as ComponentAssemblyCriticality,
      @UI.hidden: true
      ass.MatlCompAssembleControl,
      @UI:{
       lineItem:[{position:20}]} -- defines default columns of the table on ObjectList
      cast(ass._MatlCompAssembleControl._Text[1: Language=$session.system_language].MatlCompAssembleControlName
        as mpe_assembly_type_name preserving type )                                                          as MatlCompAssembleControlName,

      @ObjectModel.text.element:['BillOfMaterialItemCategoryDesc']
      ass.BOMItemCategory,
      @UI.hidden: true
      ass._BOMItemCategory._ItemCategoryT[1: Language=$session.system_language].BillOfMaterialItemCategoryDesc,

      @UI.hidden: true
      ass.EffectivityParameterVariant                                                                        as EffectivityParameterVariant,

      -- MRS fields
      @UI.hidden: true
      ass.MfgRefStrucBOMLeafAssgmtUUID,
      @UI.hidden: true
      ass.MfgRefStructureItemDetailUUID,
      @ObjectModel: {
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_MPE_BOM_MRS_HIERARCHY_VE'
      }
      cast('' as mpe_mrs_designator_name )                                                                   as MfgRefStrucItmRefDsgntrName,
      @UI.hidden: true
      @ObjectModel: {
              virtualElement: true,
              virtualElementCalculatedBy: 'ABAP:CL_MPE_BOM_MRS_HIERARCHY_VE'
            }
      cast('' as stlan )                                                                                     as BillOfMaterialVariantUsage,

      ass._Material,
      _Plant,
      _OpActyNtwkInstance,
      _OperationActivityInstance
      //      _Genealogy

}
where
       ass.ResvnItmWithdrawnQtyInBaseUnit > 0
  and(
       ass.DebitCreditCode                = 'H'
    or ass.DebitCreditCode                = ''
    or ass.DebitCreditCode                is null
  )