I_MAINTORDOPCOMPONENTMATERIAL

CDS View

Fetching Operation Material Data

I_MAINTORDOPCOMPONENTMATERIAL is a CDS View in S/4HANA. Fetching Operation Material Data. It contains 29 fields. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
C_ObjPgMaintOrderOpMaterial view from CONSUMPTION Maintenance Order Operation Material

Fields (29)

KeyField CDS FieldsUsed in Views
KEY MaintenanceOrder MaintenanceOrder 1
KEY MaintenanceOrderOperation MaintenanceOrderOperation 1
KEY MaintOrderComponentInternalID MaintOrderComponentInternalID 1
BaseUnit BaseUnit 1
ExpectedOverallLimitAmount ExpectedOverallLimitAmount 1
LeanServiceDuration LeanServiceDuration 1
LeanServiceDurationUnit LeanServiceDurationUnit 1
MaintComponentItemCategory ItemCategory 1
MaintenanceOrderComponent MaintenanceOrderComponent 1
MaintOrdCompDeliveryDateAdjmt MaintOrdCompDeliveryDateAdjmt 1
MaintOrderCompDebitCreditCode MaintOrderCompDebitCreditCode 1
MaintOrdOpComponentCurrency MaintOrdOpComponentCurrency 1
Material Material 1
MaterialGroup MaterialGroup 1
OverallLimitAmount OverallLimitAmount 1
PerformancePeriodEndDate PerformancePeriodEndDate 1
PerformancePeriodEndTime PerformancePeriodEndTime 1
PerformancePeriodStartDate PerformancePeriodStartDate 1
PerformancePeriodStartTime PerformancePeriodStartTime 1
PurchaseRequisition PurchaseRequisition 1
PurchaseRequisitionItem PurchaseRequisitionItem 1
PurReqnOrResvnGeneration PurReqnOrResvnGeneration 1
RequirementQuantityInBaseUnit AbsoluteQuantity 1
Reservation Reservation 1
ReservationItem ReservationItem 1
SrvcSchedgIsAlignedWthOpWrkCtr SrvcSchedgIsAlignedWthOpWrkCtr 1
StorageLocation StorageLocation 1
Supplier Supplier 1
SupplierProduct SupplierProduct 1
 @AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Fetching Operation Material Data'
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #B
@VDM.viewType: #BASIC
@ObjectModel.usageType.sizeCategory: #XL

@AccessControl.personalData.blocking: #REQUIRED

define view entity I_MaintOrdOpComponentMaterial
  as select from           resb

    left outer to one join aufk               on resb.aufnr = aufk.aufnr
    left outer to one join rsdb as rsdb_banfn on  rsdb_banfn.rsnum =  resb.rsnum
                                              and rsdb_banfn.rspos =  resb.rspos
                                              and rsdb_banfn.rsart =  resb.rsart
                                              and rsdb_banfn.banfn <> ''
    left outer to one join rsadd              on  resb.rsnum = rsadd.rsnum
                                              and resb.rspos = rsadd.rspos
                                              and resb.rsart = rsadd.rsart
  //this 3 assoaitioan from the I_MaintOrderOperComp

  association [1..1] to I_MaintOrderOperTechObj    as _MaintenanceOrderOperation on  $projection.MaintenanceOrder          = _MaintenanceOrderOperation.MaintenanceOrder
                                                                                 and $projection.MaintenanceOrderOperation = _MaintenanceOrderOperation.MaintenanceOrderOperation
  association [1..1] to I_MaintOrderTechObj        as _MaintenanceOrder          on  $projection.MaintenanceOrder = _MaintenanceOrder.MaintenanceOrder
 // association [0..*] to I_StatusObjectActiveStatus as _StatusObjectActiveStatus  on  $projection.MaintOrderComponentInternalID = _StatusObjectActiveStatus.StatusObject


  association [0..*] to I_StatusObjectStatusBasic as _StatusObjectActiveStatus  on  $projection.MaintOrderComponentInternalID = _StatusObjectActiveStatus.StatusObject
  ////  

  association [0..1] to I_ReservationDocumentItem  as _ReservationItem           on  _ReservationItem.Reservation     = $projection.Reservation
                                                                                 and _ReservationItem.ReservationItem = $projection.ReservationItem
                                                                                 and _ReservationItem.RecordType      = $projection.ReservationType
  association [0..*] to I_MaterialText             as _MaterialText              on  _MaterialText.Material = $projection.Material
  association [0..1] to I_MaterialGroup            as _MaterialGroup             on  _MaterialGroup.MaterialGroup = $projection.MaterialGroup
  association [0..1] to I_Plant                    as _Plant                     on  _Plant.Plant = $projection.Plant
  association [0..1] to I_StorageLocation          as _StorageLocation           on  _StorageLocation.Plant           = $projection.Plant
                                                                                 and _StorageLocation.StorageLocation = $projection.StorageLocation
  association [0..*] to I_MaintCompItemCategoryTxt as _ItemCategoryText          on  _ItemCategoryText.MaintComponentItemCategory = $projection.MaintComponentItemCategory
  association [0..1] to I_ProductTypeCode          as _ProductTypeCode           on  _ProductTypeCode.ProductTypeCode = $projection.ProductTypeCode
  association [0..1] to I_PurReqnOrResvnGeneration as _PurReqnOrResvnGeneration  on  $projection.PurReqnOrResvnGeneration = _PurReqnOrResvnGeneration.PurReqnOrResvnGeneration
  association [0..1] to I_PMUnitOfMeasureVH           as _UnitOfMeasure               on  _UnitOfMeasure.UnitOfMeasure = $projection.BaseUnit
  association [0..1] to I_ReservationDocRecordType    as _ReservationDocRecordType    on  $projection.ReservationType  = _ReservationDocRecordType.RecordType
  association [1..1] to I_ReservationDocumentHeader         as _ReservationDocumentHeader             on  $projection.Reservation = _ReservationDocumentHeader.Reservation
  association [0..*] to I_PurReqnOrResvnGenerationText as _PurReqnOrResvnGenerationText
      on  $projection.PurReqnOrResvnGeneration = _PurReqnOrResvnGenerationText.PurReqnOrResvnGeneration //for the purchase requisition Text added this association  

{

      @ObjectModel.foreignKey.association: '_MaintenanceOrder'
  key resb.aufnr                                                                                              as MaintenanceOrder,
  key cast( resb.vornr as maintenanceorderoperation preserving type )                                         as MaintenanceOrderOperation,
  key cast( resb.uvorn as maintenanceordersuboperation preserving type )                                      as MaintenanceOrderSubOperation,
  key resb.objnr                                                                                              as MaintOrderComponentInternalID,
     @ObjectModel.foreignKey.association: '_ReservationDocumentHeader'
      resb.rsnum                                                                                              as Reservation,
      @ObjectModel.foreignKey.association: '_ReservationItem'
      resb.rspos                                                                                              as ReservationItem,
      @ObjectModel.foreignKey.association: '_ReservationDocRecordType'
      resb.rsart                                                                                              as ReservationType,
      cast( resb.posnr as maintenanceordercomponent preserving type  )                                        as MaintenanceOrderComponent,
      @ObjectModel.text.association: '_MaterialText'
      resb.matnr                                                                                              as Material,

      @ObjectModel.foreignKey.association: '_MaterialGroup'
      resb.matkl                                                                                              as MaterialGroup,
      resb.potx1                                                                                              as ComponentDescription,

      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @DefaultAggregation: #SUM
      resb.bdmng                                                                                              as RequirementQuantityInBaseUnit,
      @ObjectModel.foreignKey.association: '_UnitOfMeasure'
      resb.meins                                                                                              as BaseUnit,
      resb.shkzg                                                                                              as MaintOrderCompDebitCreditCode,
      @ObjectModel.foreignKey.association: '_Plant'
      resb.werks                                                                                              as Plant,
      @ObjectModel.foreignKey.association: '_StorageLocation'
      resb.lgort                                                                                              as StorageLocation,
      resb.aufpl                                                                                              as MaintOrderRoutingNumber,
      resb.aplzl                                                                                              as MaintOrderOperationCounter,
      @ObjectModel.text.association: '_ItemCategoryText'
      resb.postp                                                                                              as MaintComponentItemCategory,
      rsdb_banfn.banfn                                                                                        as PurchaseRequisition,
      rsdb_banfn.bnfpo                                                                                        as PurchaseRequisitionItem,
       @ObjectModel.text.association: '_PurReqnOrResvnGenerationText'
      cast(
      case
      when resb.no_disp = '1' then '1'
      when resb.no_disp = 'X' then '2'
      when resb.no_disp = '' then '3'
      end as purreqnorresvngeneration)                                                                        as PurReqnOrResvnGeneration,
      cast(
        case when resb.dbskz = 'F' then 'X'
        end as xfeld )                                                                                        as MaterialCompIsProcuredDirectly,
      resb.lifnr                                                                                              as Supplier,
      rsadd.idnlf                                                                                             as SupplierProduct,
      cast( case when resb.xloek = '' then resb.xloek
                 when _StatusObjectActiveStatus[ 1: StatusCode = 'I0013' ].StatusIsInactive = 'X' then ''
                 when _StatusObjectActiveStatus[ 1: StatusCode = 'I0013' ].StatusIsInactive = '' then 'X'
             else '' end as xloek ) as IsDeleted,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @DefaultAggregation: #SUM
      resb.enmng                                                                                              as QuantityWithdrawnInBaseUnit,
      @ObjectModel.foreignKey.association: '_ProductTypeCode'
      resb.producttype                                                                                        as ProductTypeCode,
      resb.startdate                                                                                          as PerformancePeriodStartDate,
      resb.enddate                                                                                            as PerformancePeriodEndDate,
      resb.performanceperiodstarttime                                                                         as PerformancePeriodStartTime,
      resb.performanceperiodendtime                                                                           as PerformancePeriodEndTime,
      @Semantics.quantity.unitOfMeasure: 'LeanServiceDurationUnit'
      resb.serviceduration                                                                                    as LeanServiceDuration,
      resb.servicedurationunit                                                                                as LeanServiceDurationUnit,
      resb.waers                                                                                              as MaintOrdOpComponentCurrency,
      resb.funct                                                                                              as DistributionFunction,
      resb.operationworkcenteralignment                                                                       as SrvcSchedgIsAlignedWthOpWrkCtr,
      @Semantics.amount.currencyCode: 'MaintOrdOpComponentCurrency'
      rsadd.overalllimitamount                                                                                as OverallLimitAmount,
      @Semantics.amount.currencyCode: 'MaintOrdOpComponentCurrency'
      rsadd.expectedoveralllimitamount                                                                        as ExpectedOverallLimitAmount,
      resb.kzmpf                                                                                              as RqmtDateIsEnteredManually,
      cast(
       case
           when resb.kzmpf = 'X' then 'M'
           when resb.funct = 'S10' then ''
           when resb.funct = 'S50' then 'X'
       end as cc4_delvry_date_adj preserving type )                                                           as MaintOrdCompDeliveryDateAdjmt,
      resb.fldlogsdelivisheldonshore                                                                          as FldLogsDelivIsHeldOnShore,
      resb.fldlogssupplyprocess                                                                               as FldLogsSupplyProcess,
      //associations

      _MaintenanceOrderOperation,
      _MaintenanceOrder,
      _StatusObjectActiveStatus,
      _ReservationItem,
      _MaterialText,
      _MaterialGroup,
      _Plant,
      _ProductTypeCode,
      _ItemCategoryText,
      _StorageLocation,
      _PurReqnOrResvnGeneration,
      _UnitOfMeasure,
      _ReservationDocRecordType,
      _ReservationDocumentHeader,
      _PurReqnOrResvnGenerationText 

}
where
    resb.producttype <>  '2' and aufk.autyp = '30'