I_MfgOrderSplitChildOrder

DDL: I_MFGORDERSPLITCHILDORDER SQL: IMFGORDERSPLIT Type: view BASIC

Child Order of Manufacturing Order Split

I_MfgOrderSplitChildOrder is a Basic CDS View that provides data about "Child Order of Manufacturing Order Split" in SAP S/4HANA. It reads from 3 data sources (above, I_LogisticsOrderBasic, afsprel) and exposes 25 fields with key fields MfgOrderSplitChildOrder, MfgOrderSplitByProduct. It has 11 associations to related views.

Data Sources (3)

SourceAliasJoin Type
above above inner
I_LogisticsOrderBasic afko inner
afsprel afsprel from

Associations (11)

CardinalityTargetAliasCondition
[1..1] I_ManufacturingOrder _ChildOrder $projection.MfgOrderSplitChildOrder = _ChildOrder.ManufacturingOrder
[1..1] I_ManufacturingOrder _ParentOrder $projection.MfgOrderSplitParentOrder = _ParentOrder.ManufacturingOrder
[1..1] I_ManufacturingOrder _LeadingOrder $projection.MfgOrderSplitLeadingOrder = _LeadingOrder.ManufacturingOrder
[1..1] I_User _CreatedByUser $projection.CreatedByUser = _CreatedByUser.UserID
[1..1] I_CalendarDate _CreationDate $projection.CreationDate = _CreationDate.CalendarDate
[0..1] I_Product _ByProduct $projection.MfgOrderSplitByProduct = _ByProduct.Product
[0..*] I_Batch _ByProductBatch $projection.MfgOrderSplitByProduct = _ByProductBatch.Material and $projection.MfgOrderSplitByProductBatch = _ByProductBatch.Batch
[0..1] I_MaterialDocumentYear _MaterialDocumentYear $projection.ByProductMaterialDocumentYear = _MaterialDocumentYear.MaterialDocumentYear
[0..1] I_MaterialDocumentHeader_2 _MaterialDocumentHeader $projection.ByProductMaterialDocumentYear = _MaterialDocumentHeader.MaterialDocumentYear and $projection.ByProductMaterialDocument = _MaterialDocumentHeader.MaterialDocument
[0..1] I_MaterialDocumentItem_2 _MaterialDocumentItem $projection.ByProductMaterialDocumentYear = _MaterialDocumentItem.MaterialDocumentYear and $projection.ByProductMaterialDocument = _MaterialDocumentItem.MaterialDocument and $projection.ByProductMaterialDocumentItem = _MaterialDocumentItem.MaterialDocumentItem
[1..1] I_UnitOfMeasure _OperationUnit $projection.OperationUnit = _OperationUnit.UnitOfMeasure

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IMFGORDERSPLIT view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #MANDATORY view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.modelingPattern #NONE view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #BASIC view
EndUserText.label Child Order of Manufacturing Order Split view

Fields (25)

KeyFieldSource TableSource FieldDescription
KEY MfgOrderSplitChildOrder afsprel c_aufnr
KEY MfgOrderSplitByProduct afsprel byproduct
MfgOrderSplitUUID afsprel order_split_uuid
MfgOrderSplitChildOrderIntID afsprel splcnt
MfgOrderSplitParentOrder afsprel p_aufnr
MfgOrderSplitLeadingOrder afsprel l_aufnr
ByProductMaterialDocument afsprel byprod_mat_doc
ByProductMaterialDocumentItem afsprel byprod_mat_item
ByProductMaterialDocumentYear afsprel byprod_mat_year
CreationDate
CreationTime afsprel stime
CreatedByUser afsprel suser
OperationUnit
MfgOrderSplitQuantity afsprel splq
_ChildOrder _ChildOrder
_LeadingOrder _LeadingOrder
_ParentOrder _ParentOrder
_ByProduct _ByProduct
_ByProductBatch _ByProductBatch
_MaterialDocumentYear _MaterialDocumentYear
_MaterialDocumentHeader _MaterialDocumentHeader
_MaterialDocumentItem _MaterialDocumentItem
_CreationDate _CreationDate
_CreatedByUser _CreatedByUser
_OperationUnit _OperationUnit
@AbapCatalog.sqlViewName: 'IMFGORDERSPLIT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.privilegedAssociations: ['_CreatedByUser']
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.modelingPattern: #NONE
@ObjectModel.supportedCapabilities: [#CDS_MODELING_DATA_SOURCE, #SQL_DATA_SOURCE]
@ObjectModel.usageType: {serviceQuality: #A, sizeCategory: #M, dataClass: #TRANSACTIONAL}
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #BASIC
@EndUserText.label: 'Child Order of Manufacturing Order Split'

define view I_MfgOrderSplitChildOrder
  as select from afsprel               as afsprel
    inner join   I_LogisticsOrderBasic as afko on afko.OrderID = afsprel.c_aufnr --to filter only "real" child orders

  association [1..1] to I_ManufacturingOrder       as _ChildOrder             on  $projection.MfgOrderSplitChildOrder = _ChildOrder.ManufacturingOrder
  association [1..1] to I_ManufacturingOrder       as _ParentOrder            on  $projection.MfgOrderSplitParentOrder = _ParentOrder.ManufacturingOrder
  association [1..1] to I_ManufacturingOrder       as _LeadingOrder           on  $projection.MfgOrderSplitLeadingOrder = _LeadingOrder.ManufacturingOrder
  association [1..1] to I_User                     as _CreatedByUser          on  $projection.CreatedByUser = _CreatedByUser.UserID
  association [1..1] to I_CalendarDate             as _CreationDate           on  $projection.CreationDate = _CreationDate.CalendarDate
  association [0..1] to I_Product                  as _ByProduct              on  $projection.MfgOrderSplitByProduct = _ByProduct.Product
  association [0..*] to I_Batch                    as _ByProductBatch         on  $projection.MfgOrderSplitByProduct      = _ByProductBatch.Material
                                                                              and $projection.MfgOrderSplitByProductBatch = _ByProductBatch.Batch
  association [0..1] to I_MaterialDocumentYear     as _MaterialDocumentYear   on  $projection.ByProductMaterialDocumentYear = _MaterialDocumentYear.MaterialDocumentYear
  association [0..1] to I_MaterialDocumentHeader_2 as _MaterialDocumentHeader on  $projection.ByProductMaterialDocumentYear = _MaterialDocumentHeader.MaterialDocumentYear
                                                                              and $projection.ByProductMaterialDocument     = _MaterialDocumentHeader.MaterialDocument
  association [0..1] to I_MaterialDocumentItem_2   as _MaterialDocumentItem   on  $projection.ByProductMaterialDocumentYear = _MaterialDocumentItem.MaterialDocumentYear
                                                                              and $projection.ByProductMaterialDocument     = _MaterialDocumentItem.MaterialDocument
                                                                              and $projection.ByProductMaterialDocumentItem = _MaterialDocumentItem.MaterialDocumentItem
  association [1..1] to I_UnitOfMeasure            as _OperationUnit          on  $projection.OperationUnit = _OperationUnit.UnitOfMeasure
{
      // Key

      @ObjectModel.foreignKey.association: '_ChildOrder'
  key afsprel.c_aufnr                                      as MfgOrderSplitChildOrder,
      @ObjectModel.foreignKey.association: '_ByProduct'
  key afsprel.byproduct                                    as MfgOrderSplitByProduct,
--    @ObjectModel.foreignKey.association: '_ByProductBatch'
  key afsprel.byproduct_batch                              as MfgOrderSplitByProductBatch,

      // GUID

      afsprel.order_split_uuid                             as MfgOrderSplitUUID,

      // Hierarchy

      afsprel.splcnt                                       as MfgOrderSplitChildOrderIntID,
      @ObjectModel.foreignKey.association: '_ParentOrder'
      afsprel.p_aufnr                                      as MfgOrderSplitParentOrder,
      @ObjectModel.foreignKey.association: '_LeadingOrder'
      afsprel.l_aufnr                                      as MfgOrderSplitLeadingOrder,

      // Material Document

      @ObjectModel.foreignKey.association: '_MaterialDocumentHeader'
      afsprel.byprod_mat_doc                               as ByProductMaterialDocument,
      @ObjectModel.foreignKey.association: '_MaterialDocumentItem'
      afsprel.byprod_mat_item                              as ByProductMaterialDocumentItem,
      @ObjectModel.foreignKey.association: '_MaterialDocumentYear'
      afsprel.byprod_mat_year                              as ByProductMaterialDocumentYear,

      // Admin Data

      @Semantics.systemDate.createdAt: true
      cast(afsprel.sdate as erdat preserving type)         as CreationDate,
      @Semantics.systemTime.createdAt: true
      afsprel.stime                                        as CreationTime,
      @Semantics.user.createdBy: true
      afsprel.suser                                        as CreatedByUser,

      // Quantity and UoM

      @Semantics.unitOfMeasure: true
      cast(afsprel.qunit as operationunit preserving type) as OperationUnit,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @Aggregation.default: #SUM
      afsprel.splq                                         as MfgOrderSplitQuantity,

      // Associations

      _ChildOrder,
      _LeadingOrder,
      _ParentOrder,
      _ByProduct,
      _ByProductBatch,
      _MaterialDocumentYear,
      _MaterialDocumentHeader,
      _MaterialDocumentItem,
      _CreationDate,
      _CreatedByUser,
      _OperationUnit
}
--where afsprel.c_aufnr <> '' Instead of doing WHERE with not equal this is realized via INNER JOIN above
;