I_MAINTORDOPCOMPONENTMATERIAL
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)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| C_ObjPgMaintOrderOpMaterial | view | from | CONSUMPTION | Maintenance Order Operation Material |
Fields (29)
| Key | Field | CDS Fields | Used 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'