C_ObjPgMaintOrderOpMaterial

DDL: C_OBJPGMAINTORDEROPMATERIAL SQL: COPMORDOPMATL Type: view CONSUMPTION Package: ODATA_EAM_ORD_MAN

Maintenance Order Operation Material

C_ObjPgMaintOrderOpMaterial is a Consumption CDS View that provides data about "Maintenance Order Operation Material" in SAP S/4HANA. It reads from 1 data source (I_MaintOrdOpComponentMaterial) and exposes 40 fields with key fields MaintenanceOrder, MaintenanceOrderOperation, MaintOrderComponentInternalID. It has 4 associations to related views. Part of development package ODATA_EAM_ORD_MAN.

Data Sources (1)

SourceAliasJoin Type
I_MaintOrdOpComponentMaterial I_MaintOrdOpComponentMaterial from

Associations (4)

CardinalityTargetAliasCondition
[1..1] I_MaintenanceOrder _MaintenanceOrder _MaintenanceOrder.MaintenanceOrder = $projection.MaintenanceOrder
[0..1] C_EAMProductQuickVw _EAMProductQuickVw _EAMProductQuickVw.Material = $projection.Material
[0..*] I_FldLogsSupplyProcessText _FldLogsSupplyProcessText _FldLogsSupplyProcessText.FldLogsSupplyProcess = $projection.FldLogsSupplyProcess
[0..*] I_MaintOrdCompDelivDateAdjmtT _MaintOrdCompDelivDateAdjmtT _MaintOrdCompDelivDateAdjmtT.MaintOrdCompDeliveryDateAdjmt = $projection.MaintOrdCompDeliveryDateAdjmt

Annotations (10)

NameValueLevelField
AbapCatalog.compiler.compareFilter true view
AbapCatalog.sqlViewName COPMORDOPMATL view
AccessControl.authorizationCheck #MANDATORY view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Maintenance Order Operation Material view
Metadata.allowExtensions true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view

Fields (40)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder I_MaintOrdOpComponentMaterial MaintenanceOrder
KEY MaintenanceOrderOperation I_MaintOrdOpComponentMaterial MaintenanceOrderOperation
KEY MaintOrderComponentInternalID I_MaintOrdOpComponentMaterial MaintOrderComponentInternalID
MaintenanceOrderComponent I_MaintOrdOpComponentMaterial MaintenanceOrderComponent Item Number
Reservation I_MaintOrdOpComponentMaterial Reservation
ReservationItem I_MaintOrdOpComponentMaterial ReservationItem Reservation Item Number
Material I_MaintOrdOpComponentMaterial Material
ItemCategory I_MaintOrdOpComponentMaterial MaintComponentItemCategory Item Category
BillOfMaterialItemCategoryDesc Item Category Text
MaintOrderCompDebitCreditCode I_MaintOrdOpComponentMaterial MaintOrderCompDebitCreditCode
AbsoluteQuantity I_MaintOrdOpComponentMaterial RequirementQuantityInBaseUnit
BaseUnit I_MaintOrdOpComponentMaterial BaseUnit
StorageLocation I_MaintOrdOpComponentMaterial StorageLocation
StorageLocationName Storage Location Name
MaterialGroup I_MaintOrdOpComponentMaterial MaterialGroup
MaterialGroupName Material Group Description
Supplier I_MaintOrdOpComponentMaterial Supplier Supplier
SupplierProduct I_MaintOrdOpComponentMaterial SupplierProduct Supplier Material Number
PurchaseRequisition I_MaintOrdOpComponentMaterial PurchaseRequisition Purchase Requisition
PurchaseRequisitionItem I_MaintOrdOpComponentMaterial PurchaseRequisitionItem Purchase Requisition Item
PurReqnOrResvnGeneration I_MaintOrdOpComponentMaterial PurReqnOrResvnGeneration
PerformancePeriodStartDate I_MaintOrdOpComponentMaterial PerformancePeriodStartDate Start Date
PerformancePeriodStartTime I_MaintOrdOpComponentMaterial PerformancePeriodStartTime Start Time
PerformancePeriodEndDate I_MaintOrdOpComponentMaterial PerformancePeriodEndDate End Date
PerformancePeriodEndTime I_MaintOrdOpComponentMaterial PerformancePeriodEndTime End Time
LeanServiceDuration I_MaintOrdOpComponentMaterial LeanServiceDuration Service Duration
LeanServiceDurationUnit I_MaintOrdOpComponentMaterial LeanServiceDurationUnit Service Duration Unit
MaintOrdCompDeliveryDateAdjmt I_MaintOrdOpComponentMaterial MaintOrdCompDeliveryDateAdjmt Align Requirement Date
MaintOrdCompDelivDateAdjmtText
SrvcSchedgIsAlignedWthOpWrkCtr I_MaintOrdOpComponentMaterial SrvcSchedgIsAlignedWthOpWrkCtr
MaintOrdOpComponentCurrency I_MaintOrdOpComponentMaterial MaintOrdOpComponentCurrency
ExpectedOverallLimitAmount I_MaintOrdOpComponentMaterial ExpectedOverallLimitAmount Expected Value
OverallLimitAmount I_MaintOrdOpComponentMaterial OverallLimitAmount Overall Limit
FldLogsDelivIsHeldOnShore FldLogsDelivIsHeldOnShore
FldLogsSupplyProcess FldLogsSupplyProcess
_PurReqnOrResvnGeneration _PurReqnOrResvnGeneration
PurReqnOrResvnGenerationName
_MaintenanceOrder _MaintenanceOrder
_EAMProductQuickVw _EAMProductQuickVw
_FldLogsSupplyProcessText _FldLogsSupplyProcessText
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.sqlViewName: 'COPMORDOPMATL'
@AccessControl.authorizationCheck: #MANDATORY
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.privilegedAssociations:  ['_EAMProductQuickVw']
@EndUserText.label: 'Maintenance Order Operation Material'
@Metadata.allowExtensions: true
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED

@VDM.viewType: #CONSUMPTION

define view C_ObjPgMaintOrderOpMaterial
  as select from I_MaintOrdOpComponentMaterial
  association [1..1] to I_MaintenanceOrder            as _MaintenanceOrder            on _MaintenanceOrder.MaintenanceOrder = $projection.MaintenanceOrder
  association [0..1] to C_EAMProductQuickVw           as _EAMProductQuickVw           on _EAMProductQuickVw.Material = $projection.Material
  association [0..*] to I_FldLogsSupplyProcessText    as _FldLogsSupplyProcessText    on _FldLogsSupplyProcessText.FldLogsSupplyProcess = $projection.FldLogsSupplyProcess
  association [0..*] to I_MaintOrdCompDelivDateAdjmtT as _MaintOrdCompDelivDateAdjmtT on _MaintOrdCompDelivDateAdjmtT.MaintOrdCompDeliveryDateAdjmt = $projection.MaintOrdCompDeliveryDateAdjmt
{
      @UI.hidden: true
  key I_MaintOrdOpComponentMaterial.MaintenanceOrder,

      @UI.hidden: true
  key I_MaintOrdOpComponentMaterial.MaintenanceOrderOperation,

      @UI.hidden: true
  key I_MaintOrdOpComponentMaterial.MaintOrderComponentInternalID,
  
      @EndUserText.label: 'Item Number'
      @UI.lineItem: { importance: #HIGH, position: 10}
      I_MaintOrdOpComponentMaterial.MaintenanceOrderComponent,

      I_MaintOrdOpComponentMaterial.Reservation,

      @EndUserText.label: 'Reservation Item Number'
      I_MaintOrdOpComponentMaterial.ReservationItem,

      @Consumption.semanticObject: 'Material'
      @UI.lineItem: { importance: #HIGH, position: 20}
      @ObjectModel: { foreignKey.association: '_EAMProductQuickVw', mandatory: true}
      @UI:{
      fieldGroup: {
          importance: #HIGH,
          groupLabel: 'Product',
          qualifier: 'Product'
      //                position: 40

      }
      }
      I_MaintOrdOpComponentMaterial.Material,

      @UI.lineItem: { importance: #HIGH, position: 30}
      case I_MaintOrdOpComponentMaterial.Material
        when '' then I_MaintOrdOpComponentMaterial.ComponentDescription
        else I_MaintOrdOpComponentMaterial._MaterialText[1:Language=$session.system_language].MaterialName
      end                                                                                 as ItemComponentDescription,

      @EndUserText.label: 'Item Category'
      @ObjectModel.text.element:  [ 'BillOfMaterialItemCategoryDesc' ]
      @UI.lineItem: { importance: #HIGH, position: 40}
      @UI.textArrangement: #TEXT_FIRST
      I_MaintOrdOpComponentMaterial.MaintComponentItemCategory as ItemCategory,

      @EndUserText.label: 'Item Category Text'
      I_MaintOrdOpComponentMaterial._ItemCategoryText[1:Language=$session.system_language].MaintComponentItemCategoryDesc as BillOfMaterialItemCategoryDesc,

      @UI.hidden: true
      I_MaintOrdOpComponentMaterial.MaintOrderCompDebitCreditCode,
      @UI.hidden: true
      I_MaintOrdOpComponentMaterial.RequirementQuantityInBaseUnit        as AbsoluteQuantity,
      @UI.lineItem: { importance: #HIGH, position: 50}
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      cast(case MaintOrderCompDebitCreditCode
          when 'S' then -RequirementQuantityInBaseUnit
          else RequirementQuantityInBaseUnit
      end                    as bdmng preserving type )         as RequirementQuantityInBaseUnit,

      I_MaintOrdOpComponentMaterial.BaseUnit,

      @ObjectModel.text.element:  [ 'StorageLocationName' ]
      @UI.lineItem: { importance: #HIGH, position: 60}
      @UI.textArrangement: #TEXT_FIRST
      I_MaintOrdOpComponentMaterial.StorageLocation,

      @EndUserText.label: 'Storage Location Name'
      I_MaintOrdOpComponentMaterial._StorageLocation.StorageLocationName,

      @ObjectModel.text.element:  [ 'MaterialGroupName' ]
      @UI.lineItem: { importance: #HIGH, position: 70}
      @UI.textArrangement: #TEXT_FIRST
      I_MaintOrdOpComponentMaterial.MaterialGroup,

      @EndUserText.label: 'Material Group Description'
      I_MaintOrdOpComponentMaterial._MaterialGroup._Text[1:Language = $session.system_language].MaterialGroupName,

      @EndUserText.label: 'Supplier'
      @EndUserText.quickInfo: 'Supplier' 
      @UI.lineItem: { importance: #HIGH, position: 75}
      I_MaintOrdOpComponentMaterial.Supplier,
      
      @EndUserText.label: 'Supplier Material Number'
      @EndUserText.quickInfo: 'Supplier Material Number'
      @UI.lineItem: { importance: #HIGH, position: 76}
      I_MaintOrdOpComponentMaterial.SupplierProduct,
      
      @Consumption.semanticObject: 'PurchaseRequisition'
      @EndUserText.label: 'Purchase Requisition'
      @UI.lineItem: { importance: #HIGH, position: 80}
      I_MaintOrdOpComponentMaterial.PurchaseRequisition,

      @Consumption.semanticObject: 'PurchaseRequisitionItem'
      @EndUserText.label: 'Purchase Requisition Item'
      @UI.lineItem: { importance: #HIGH, position: 90}
      I_MaintOrdOpComponentMaterial.PurchaseRequisitionItem,

      @UI.lineItem: { importance: #HIGH, position: 100}
      @UI.textArrangement: #TEXT_ONLY
      @ObjectModel.text.element:  [ 'PurReqnOrResvnGenerationName' ]
      I_MaintOrdOpComponentMaterial.PurReqnOrResvnGeneration,

      @EndUserText.label: 'Start Date'
      @UI.hidden: true
      I_MaintOrdOpComponentMaterial.PerformancePeriodStartDate,

      @EndUserText.label: 'Start Time'
      @UI.hidden: true
      I_MaintOrdOpComponentMaterial.PerformancePeriodStartTime,

      @EndUserText: {label: 'Start', quickInfo: 'Start Date and Time'}
      cast(dats_tims_to_tstmp(I_MaintOrdOpComponentMaterial.PerformancePeriodStartDate,
      I_MaintOrdOpComponentMaterial.PerformancePeriodStartTime,
      abap_system_timezone($session.client,'NULL'), $session.client,'NULL') as timestamp) as PerformancePeriodStartDateTime,


      @EndUserText.label: 'End Date'
      @UI.hidden: true
      I_MaintOrdOpComponentMaterial.PerformancePeriodEndDate,

      @EndUserText.label: 'End Time'
      @UI.hidden: true
      I_MaintOrdOpComponentMaterial.PerformancePeriodEndTime,

      @EndUserText: {label: 'Finish', quickInfo: 'Finish Date and Time'}
      cast(dats_tims_to_tstmp(I_MaintOrdOpComponentMaterial.PerformancePeriodEndDate,
      I_MaintOrdOpComponentMaterial.PerformancePeriodEndTime,
      abap_system_timezone($session.client,'NULL'), $session.client,'NULL') as timestamp) as PerformancePeriodEndDateTime,


      @EndUserText.label: 'Service Duration'
      I_MaintOrdOpComponentMaterial.LeanServiceDuration,

      @UI.hidden: true
      @EndUserText.label: 'Service Duration Unit'
      I_MaintOrdOpComponentMaterial.LeanServiceDurationUnit,

      @EndUserText.label: 'Align Requirement Date'
      @UI.textArrangement: #TEXT_ONLY
      @ObjectModel.text.element: ['MaintOrdCompDelivDateAdjmtText']
      I_MaintOrdOpComponentMaterial.MaintOrdCompDeliveryDateAdjmt,

      @UI.hidden: true
      _MaintOrdCompDelivDateAdjmtT[1:Language = $session.system_language].MaintOrdCompDelivDateAdjmtText,

      I_MaintOrdOpComponentMaterial.SrvcSchedgIsAlignedWthOpWrkCtr,

      @UI.hidden: true
      @Semantics.currencyCode: true
      I_MaintOrdOpComponentMaterial.MaintOrdOpComponentCurrency,

      @Semantics.amount.currencyCode: 'MaintOrdOpComponentCurrency'
      @EndUserText.label: 'Expected Value'
      I_MaintOrdOpComponentMaterial.ExpectedOverallLimitAmount,

      @Semantics.amount.currencyCode: 'MaintOrdOpComponentCurrency'
      @EndUserText.label: 'Overall Limit'
      I_MaintOrdOpComponentMaterial.OverallLimitAmount,

      FldLogsDelivIsHeldOnShore,
      @ObjectModel.text.association: '_FldLogsSupplyProcessText'
      @ObjectModel.text.control: #ASSOCIATED_TEXT_UI_HIDDEN
      FldLogsSupplyProcess,

      @Consumption.filter.hidden: true
      _PurReqnOrResvnGeneration,
      @UI.hidden: true
      @Semantics.text: true
       _PurReqnOrResvnGeneration._PurReqnOrResvnGenerationText[1:Language=$session.system_language].PurReqnOrResvnGenerationName as PurReqnOrResvnGenerationName,

      /* Associations - DCL */
      @Consumption.filter.hidden: true
      _MaintenanceOrder,
      @Consumption.filter.hidden: true
      _EAMProductQuickVw,
      @Consumption.filter.hidden: true
      _FldLogsSupplyProcessText

}
where
  I_MaintOrdOpComponentMaterial.IsDeleted = ''