C_MaintOrderComponentTP

DDL: C_MAINTORDERCOMPONENTTP Type: view_entity CONSUMPTION Package: ODATA_EAM_MALFUNCTION_MANAGE

Maintenance Order Component with Draft

C_MaintOrderComponentTP is a Consumption CDS View that provides data about "Maintenance Order Component with Draft" in SAP S/4HANA. It reads from 1 data source (I_MaintOrderComponentTP) and exposes 30 fields with key fields MaintenanceOrder, MaintenanceOrderOperation, MaintOrderComponentInternalID, MaintenanceOrderSubOperation. It has 4 associations to related views. Part of development package ODATA_EAM_MALFUNCTION_MANAGE.

Data Sources (1)

SourceAliasJoin Type
I_MaintOrderComponentTP I_MaintOrderComponentTP from

Associations (4)

CardinalityTargetAliasCondition
[1..1] C_MaintOrderTP _MaintOrderTP $projection.MaintenanceOrder = _MaintOrderTP.MaintenanceOrder
[1..1] C_MaintOrderOperationTP _MaintOrderOperationTP $projection.MaintenanceOrder = _MaintOrderOperationTP.MaintenanceOrder and $projection.MaintenanceOrderOperation = _MaintOrderOperationTP.MaintenanceOrderOperation
[0..1] C_StorageLocationVH _StorageLocationVH $projection.Material = _StorageLocationVH.Material and $projection.Plant = _StorageLocationVH.Plant and $projection.StorageLocation = _StorageLocationVH.StorageLocation
[0..*] I_MaterialText _MaterialText $projection.Material = _MaterialText.Material

Annotations (10)

NameValueLevelField
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Maintenance Order Component with Draft view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view
ObjectModel.transactionalProcessingDelegated true view

Fields (30)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder I_MaintOrderComponentTP MaintenanceOrder
KEY MaintenanceOrderOperation I_MaintOrderComponentTP MaintenanceOrderOperation Operation
KEY MaintOrderComponentInternalID I_MaintOrderComponentTP MaintOrderComponentInternalID
KEY MaintenanceOrderSubOperation I_MaintOrderComponentTP MaintenanceOrderSubOperation
MaintenanceOrderComponent I_MaintOrderComponentTP MaintenanceOrderComponent
MaintOrderComponentForEdit I_MaintOrderComponentTP MaintOrderComponentForEdit
Reservation I_MaintOrderComponentTP Reservation
ReservationItem I_MaintOrderComponentTP ReservationItem
ReservationType I_MaintOrderComponentTP ReservationType
Material I_MaintOrderComponentTP Material
ComponentDescription I_MaintOrderComponentTP ComponentDescription
RequirementQuantityInBaseUnit I_MaintOrderComponentTP RequirementQuantityInBaseUnit Planned Quantity
BaseUnit I_MaintOrderComponentTP BaseUnit
Plant I_MaintOrderComponentTP Plant
StorageLocation I_MaintOrderComponentTP StorageLocation
MaintOrderRoutingNumber I_MaintOrderComponentTP MaintOrderRoutingNumber
MaintOrderOperationCounter I_MaintOrderComponentTP MaintOrderOperationCounter
QuantityWithdrawnInBaseUnit I_MaintOrderComponentTP QuantityWithdrawnInBaseUnit Quantity Issued
MaterialThumbnailMIMEType
MaterialHasThumbnail
ForDCLSupplier
_MaintOrderOperationTP _MaintOrderOperationTP
_MaintOrderTP _MaintOrderTP
_Material I_MaintOrderComponentTP _Material
_UnitOfMeasure I_MaintOrderComponentTP _UnitOfMeasure
_StorageLocation I_MaintOrderComponentTP _StorageLocation
_Plant I_MaintOrderComponentTP _Plant
_StorageLocationVH _StorageLocationVH
_MaterialText _MaterialText
ForDCL_Supplier
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Order Component with Draft'

@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL

@ObjectModel: {
  semanticKey: [ 'Material', 'MaintenanceOrder', 'MaintenanceOrderOperation', 'MaintOrderComponentInternalID', 'MaintenanceOrderSubOperation'],
  createEnabled: true,
  updateEnabled: true,
  deleteEnabled: true,
  transactionalProcessingDelegated: true
}

//@UI.presentationVariant: [{

//    id: 'maintOrderComponentByOperation',

//    groupBy: [ 'MaintenanceOrderOperation' ],

//    requestAtLeast : [ 'MaintenanceOrderOperation', 'OperationDescription' ],

//    visualizations: [

//      { type: #AS_LINEITEM }

//    ]

//  }]


@AccessControl.privilegedAssociations: ['_MaterialText']

define view entity C_MaintOrderComponentTP
  as select from I_MaintOrderComponentTP as I_MaintOrderComponentTP // I_MaintOrderOperComp as

  association [1..1] to C_MaintOrderTP          as _MaintOrderTP          on  $projection.MaintenanceOrder = _MaintOrderTP.MaintenanceOrder
  association [1..1] to C_MaintOrderOperationTP as _MaintOrderOperationTP on  $projection.MaintenanceOrder          = _MaintOrderOperationTP.MaintenanceOrder
                                                                          and $projection.MaintenanceOrderOperation = _MaintOrderOperationTP.MaintenanceOrderOperation
  association [0..1] to C_StorageLocationVH     as _StorageLocationVH     on  $projection.Material        = _StorageLocationVH.Material
                                                                          and $projection.Plant           = _StorageLocationVH.Plant
                                                                          and $projection.StorageLocation = _StorageLocationVH.StorageLocation
  association [0..*] to I_MaterialText          as _MaterialText          on  $projection.Material        = _MaterialText.Material
{
      @ObjectModel.foreignKey.association: '_MaintOrderTP'
  key I_MaintOrderComponentTP.MaintenanceOrder,
  
      @ObjectModel.foreignKey.association: '_MaintOrderOperationTP'
      @EndUserText.label: 'Operation'
  key I_MaintOrderComponentTP.MaintenanceOrderOperation,
  
  key I_MaintOrderComponentTP.MaintOrderComponentInternalID,
  
  key I_MaintOrderComponentTP.MaintenanceOrderSubOperation,
  
      @UI.hidden: true
      @ObjectModel.text.element:  [ 'Material', 'ComponentDescription' ]
      I_MaintOrderComponentTP.MaintenanceOrderComponent,
      
      @UI.hidden: true
      I_MaintOrderComponentTP.MaintOrderComponentForEdit,

      I_MaintOrderComponentTP.Reservation,
      I_MaintOrderComponentTP.ReservationItem,
      @UI.hidden: true
      I_MaintOrderComponentTP.ReservationType,

      //--[ GENERATED:012:GFBfhxvv7jY4hYOuhNduX0

      @Consumption.valueHelpDefinition: [ 
        { entity:  { name:    'I_MaterialStdVH',
                     element: 'Material' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_Material'
      @ObjectModel.text.association: '_MaterialText' 
       @UI: {
        lineItem: [ { position: 10, importance: #HIGH}]
      }
      I_MaintOrderComponentTP.Material,
      I_MaintOrderComponentTP.ComponentDescription,

      @UI.lineItem: [ { position: 20 } ]
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @EndUserText.label: 'Planned Quantity'
      I_MaintOrderComponentTP.RequirementQuantityInBaseUnit,
      I_MaintOrderComponentTP.BaseUnit,

      I_MaintOrderComponentTP.Plant,

      @Consumption.valueHelp: '_StorageLocationVH'
      I_MaintOrderComponentTP.StorageLocation,
      @UI.hidden: true
      I_MaintOrderComponentTP.MaintOrderRoutingNumber,
      @UI.hidden: true
      I_MaintOrderComponentTP.MaintOrderOperationCounter,

      @Semantics.quantity.unitOfMeasure: 'BASEUNIT' 
@UI.lineItem: [ { position: 30 } ]
      @EndUserText.label: 'Quantity Issued'
      @EndUserText.quickInfo: 'Quantity Issued'
      I_MaintOrderComponentTP.QuantityWithdrawnInBaseUnit,

      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MALFUNC_MATERIAL_EXIT'
      @ObjectModel.readOnly: true
      @UI.hidden: true
      cast( '' as  w3conttype  )                            as MaterialThumbnailMIMEType,
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_MALFUNC_MATERIAL_EXIT'
      @ObjectModel.readOnly: true
      @UI.hidden: true
      cast('' as xfeld )                                    as MaterialHasThumbnail,
      
      -- For DCL:
      @Consumption.hidden: true
      Supplier,

      /* Associations */
      @ObjectModel.association.type: [ #TO_COMPOSITION_PARENT ]
      _MaintOrderOperationTP,
      @ObjectModel.association.type: [ #TO_COMPOSITION_ROOT ]
      _MaintOrderTP,
      I_MaintOrderComponentTP._Material,
      I_MaintOrderComponentTP._UnitOfMeasure,
      I_MaintOrderComponentTP._StorageLocation,
      I_MaintOrderComponentTP._Plant,
      _StorageLocationVH,
      _MaterialText,
      -- For DCL:
      _Supplier
}
where
  I_MaintOrderComponentTP.IsDeleted = ''