I_ProjectMaterialCompBasicData

DDL: I_PROJECTMATERIALCOMPBASICDATA SQL: IPRJMATCOMBASDAT Type: view BASIC Package: VDM_PS_PROJECT_SCHEDULE

Basic Data for Proj Material Component

I_ProjectMaterialCompBasicData is a Basic CDS View that provides data about "Basic Data for Proj Material Component" in SAP S/4HANA. It reads from 1 data source (resb) and exposes 76 fields with key fields Reservation, ReservationItem, RecordType. It has 9 associations to related views. Part of development package VDM_PS_PROJECT_SCHEDULE.

Data Sources (1)

SourceAliasJoin Type
resb resb from

Associations (9)

CardinalityTargetAliasCondition
[0..1] I_ProjMatCompAdditionalData _ProjMatCompAdditionalData $projection.Reservation = _ProjMatCompAdditionalData.Reservation and $projection.ReservationItem = _ProjMatCompAdditionalData.ReservationItem and $projection.RecordType = _ProjMatCompAdditionalData.RecordType
[1..1] I_ProjectNetworkBasicData _ProjectNetworkBasicData $projection.ProjectNetworkInternalID = _ProjectNetworkBasicData.ProjectNetworkInternalID and _ProjectNetworkBasicData.OrderCategory = '20'
[0..1] I_ProjNtwkActyMatBOMAssembly _ProjNtwkActyMatBOMAssembly $projection.BillOfMaterialCategory = _ProjNtwkActyMatBOMAssembly.BillOfMaterialCategory and $projection.BillOfMaterialInternalID = _ProjNtwkActyMatBOMAssembly.BillOfMaterial and $projection.BillOfMaterialVariant = _ProjNtwkActyMatBOMAssembly.BillOfMaterialVariant
[0..1] I_StorageLocation _StorageLocation $projection.Plant = _StorageLocation.Plant and $projection.StorageLocation = _StorageLocation.StorageLocation
[0..1] I_MaterialText _MaterialText $projection.Material = _MaterialText.Material and _MaterialText.Language = $session.system_language
[0..1] I_BomItemCategoryText _BillOfMatItemCategoryText $projection.BOMItemCategory = _BillOfMatItemCategoryText.BillOfMaterialItemCategory and _BillOfMatItemCategoryText.Language = $session.system_language
[0..1] I_MRPQuantityDistrKeyText _MRPQuantityDistrKeyText $projection.Plant = _MRPQuantityDistrKeyText.Plant and $projection.QuantityDistributionKey = _MRPQuantityDistrKeyText.QuantityDistributionKey and _MRPQuantityDistrKeyText.Language = $session.system_language
[1..1] E_ReservationDocumentItem _ReservationExtension $projection.Reservation = _ReservationExtension.Reservation and $projection.ReservationItem = _ReservationExtension.ReservationItem and $projection.RecordType = _ReservationExtension.RecordType
[1..1] E_ProjectMaterialComponent _MaterialExtension $projection.Reservation = _MaterialExtension.Reservation and $projection.ReservationItem = _MaterialExtension.ReservationItem and $projection.RecordType = _MaterialExtension.RecordType

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IPRJMATCOMBASDAT view
VDM.viewType #BASIC view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Basic Data for Proj Material Component view

Fields (76)

KeyFieldSource TableSource FieldDescription
KEY Reservation resb rsnum
KEY ReservationItem
KEY RecordType resb rsart
ProjectNetworkInternalID resb aufpl
NetworkActivityInternalID resb aplzl
ProjectNetwork
NetworkActivity
Material resb matnr
MatlCompRequirementDate
DeliveryDurationInDays
GoodsReceiptDurationInDays resb webaz
Currency
Plant resb werks
BillOfMaterialItemNumber
MaterialComponentObject resb objnr
GoodsMovementType
MaterialComponentIsMissing
OpenQuantity Open Quantity
ReservationIsFinallyIssued resb kzear
SalesOrder
SalesOrderItem
GoodsRecipientName
UnloadingPointName
GoodsMovementIsAllowed
MatlCompIsMarkedForDeletion
StorageLocation
PurchasingGroup
ReceivedQuantity
ShortfallQuantity
MRPRequiredQuantityInBaseUnit resb lmeng
MaterialCompIsCostRelevant
Creditor resb lifnr
MaterialComponentPrice resb gpreis Price
MaterialPriceUnitQty resb peinh Price Per Unit
MatlCompIsMarkedForBackflush
GLAccount
IsBulkMaterialComponent
ConsumptionPosting resb kzvbr
ProjectObjectChangeNumber resb aennr
FormulaKey
BOMItemCategory
RqmtDateIsEnteredManually
ProductionSeries
OperationLeadTimeOffset
OperationLeadTimeOffsetUnit
BOMItemDescription
NumberOfAssignedMaterials 1
BillOfMaterialCategory resb stlty
BillOfMaterialInternalID
BillOfMaterialVariant resb stlal
MaterialCompIsProcuredDirectly resb dbskz
MatlCompIsProcuredExternally resb flgex
IsPreliminaryOrder resb vorab
AccountAssignmentCategory resb knttp
MaterialCompIsSpecialStock resb sobkz
RequirementPlan resb pbdnr
MatlCompIsTextItem resb txtps
DistributionFunction resb funct
QuantityDistributionKey resb verti
SortField
MatlCompIsRelevantForMRP resb no_disp
Batch resb charg
BaseUnit
EntryUnit
ConfirmedAvailableQuantity resb vmeng
RequirementQuantityInBaseUnit resb bdmng
QuantityInEntryUnit resb erfmg
MaterialQtyToBaseQtyDnmntr resb umren
QuantityNumerator resb umrez
_ProjMatCompAdditionalData _ProjMatCompAdditionalData
_ProjectNetworkBasicData _ProjectNetworkBasicData
_ProjNtwkActyMatBOMAssembly _ProjNtwkActyMatBOMAssembly
_StorageLocation _StorageLocation
_MaterialText _MaterialText
_BillOfMatItemCategoryText _BillOfMatItemCategoryText
_MRPQuantityDistrKeyText _MRPQuantityDistrKeyText
@AbapCatalog.sqlViewName: 'IPRJMATCOMBASDAT'
@VDM.viewType: #BASIC
//@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Basic Data for Proj Material Component'

define view I_ProjectMaterialCompBasicData
  as select from resb
  association [0..1] to I_ProjMatCompAdditionalData  as _ProjMatCompAdditionalData  on  $projection.Reservation     = _ProjMatCompAdditionalData.Reservation
                                                                                    and $projection.ReservationItem = _ProjMatCompAdditionalData.ReservationItem
                                                                                    and $projection.RecordType      = _ProjMatCompAdditionalData.RecordType
  association [1..1] to I_ProjectNetworkBasicData    as _ProjectNetworkBasicData    on  $projection.ProjectNetworkInternalID   = _ProjectNetworkBasicData.ProjectNetworkInternalID
                                                                                    and _ProjectNetworkBasicData.OrderCategory = '20'
  association [0..1] to I_ProjNtwkActyMatBOMAssembly as _ProjNtwkActyMatBOMAssembly on  $projection.BillOfMaterialCategory   = _ProjNtwkActyMatBOMAssembly.BillOfMaterialCategory
                                                                                    and $projection.BillOfMaterialInternalID = _ProjNtwkActyMatBOMAssembly.BillOfMaterial
                                                                                    and $projection.BillOfMaterialVariant    = _ProjNtwkActyMatBOMAssembly.BillOfMaterialVariant
  association [0..1] to I_StorageLocation            as _StorageLocation            on  $projection.Plant           = _StorageLocation.Plant
                                                                                    and $projection.StorageLocation = _StorageLocation.StorageLocation
  association [0..1] to I_MaterialText               as _MaterialText               on  $projection.Material   = _MaterialText.Material
                                                                                    and _MaterialText.Language = $session.system_language
  association [0..1] to I_BomItemCategoryText        as _BillOfMatItemCategoryText  on  $projection.BOMItemCategory         = _BillOfMatItemCategoryText.BillOfMaterialItemCategory
                                                                                    and _BillOfMatItemCategoryText.Language = $session.system_language
  association [0..1] to I_MRPQuantityDistrKeyText    as _MRPQuantityDistrKeyText    on  $projection.Plant                   = _MRPQuantityDistrKeyText.Plant
                                                                                    and $projection.QuantityDistributionKey = _MRPQuantityDistrKeyText.QuantityDistributionKey
                                                                                    and _MRPQuantityDistrKeyText.Language   = $session.system_language
  association [1..1] to E_ReservationDocumentItem    as _ReservationExtension       on  $projection.Reservation     = _ReservationExtension.Reservation
                                                                                    and $projection.ReservationItem = _ReservationExtension.ReservationItem
                                                                                    and $projection.RecordType      = _ReservationExtension.RecordType
  association [1..1] to E_ProjectMaterialComponent   as _MaterialExtension          on  $projection.Reservation     = _MaterialExtension.Reservation
                                                                                    and $projection.ReservationItem = _MaterialExtension.ReservationItem
                                                                                    and $projection.RecordType      = _MaterialExtension.RecordType

{
  key resb.rsnum                                           as Reservation,
  key cast ( resb.rspos as ps_s4_rspos preserving type )   as ReservationItem,
  key resb.rsart                                           as RecordType,
      resb.aufpl                                           as ProjectNetworkInternalID,
      resb.aplzl                                           as NetworkActivityInternalID,
      cast ( resb.aufnr as ps_s4_aufnr preserving type )   as ProjectNetwork,
      cast ( resb.vornr as ps_vornr preserving type )      as NetworkActivity,
      resb.matnr                                           as Material,
      cast ( resb.bdter as ps_s4_bdter preserving type )   as MatlCompRequirementDate,
      @DefaultAggregation: #SUM
      cast ( resb.lifzt as ps_s4_lifzt )                   as DeliveryDurationInDays,
      @DefaultAggregation: #NONE
      resb.webaz                                           as GoodsReceiptDurationInDays,
      @Semantics.currencyCode: true
      cast ( resb.waers as waers )                         as Currency,
      resb.werks                                           as Plant,
      cast ( resb.posnr as char4 preserving type )         as BillOfMaterialItemNumber,
      resb.objnr                                           as MaterialComponentObject,
      cast ( resb.bwart as bwartwa )                       as GoodsMovementType,
      cast ( resb.xfehl as xfehl )                         as MaterialComponentIsMissing,
      @EndUserText.label: 'Open Quantity'
      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      resb.bdmng - resb.enmng                              as OpenQuantity,
      resb.kzear                                           as ReservationIsFinallyIssued,
      cast ( resb.kdauf as ps_s4_kdauf )                   as SalesOrder,
      cast ( resb.kdpos as ps_s4_kdpos )                   as SalesOrderItem,
      cast ( resb.wempf as ps_s4_wempf )                   as GoodsRecipientName,
      cast ( resb.ablad as ps_s4_ablad preserving type )   as UnloadingPointName,
      cast ( resb.xwaok as xwaok )                         as GoodsMovementIsAllowed,
      cast ( resb.xloek as ps_s4_loevm )                   as MatlCompIsMarkedForDeletion,
      cast ( resb.lgort as ps_s4_lgort_d preserving type ) as StorageLocation,
      cast ( resb.ekgrp as ekgrp )                         as PurchasingGroup,
      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      cast ( resb.enmng as mmiv_quantity_received )        as ReceivedQuantity,
      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      cast ( resb.flmng as ps_s4_flmng )                   as ShortfallQuantity,
      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      resb.lmeng                                           as MRPRequiredQuantityInBaseUnit,
      cast ( resb.sanka as ps_s4_ck_selkz )                as MaterialCompIsCostRelevant,
      resb.lifnr                                           as Creditor,
      @EndUserText.label: 'Price'
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'Currency'
      resb.gpreis                                          as MaterialComponentPrice,
      @EndUserText.label: 'Price Per Unit'
      @DefaultAggregation: #NONE
      resb.peinh                                           as MaterialPriceUnitQty,
      cast ( resb.rgekz as rgekz )                         as MatlCompIsMarkedForBackflush,
      cast ( resb.saknr as saknr )                         as GLAccount,
      cast ( resb.schgt as schgt )                         as IsBulkMaterialComponent,
      resb.kzvbr                                           as ConsumptionPosting,
      resb.aennr                                           as ProjectObjectChangeNumber,
      cast ( resb.rform  as ps_s4_rform preserving type )  as FormulaKey,
      cast ( resb.postp as ps_s4_postp preserving type )   as BOMItemCategory,
      cast ( resb.kzmpf as ps_s4_kzmpf )                   as RqmtDateIsEnteredManually,
      cast ( resb.sernr as ps_s4_sernr )                   as ProductionSeries,
      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'OperationLeadTimeOffsetUnit'
      cast ( resb.nlfzv as ps_s4_cs_nlfzv )                as OperationLeadTimeOffset,
      @Semantics.unitOfMeasure: true
      cast ( resb.nlfmv as ps_s4_cs_nlfmv )                as OperationLeadTimeOffsetUnit,
      @Semantics.text: true
      cast ( resb.potx1 as ps_s4_potx1 )                   as BOMItemDescription,
      1                                                    as NumberOfAssignedMaterials,
      resb.stlty                                           as BillOfMaterialCategory,
      cast( resb.stlnr as pph_stnum preserving type )      as BillOfMaterialInternalID,
      resb.stlal                                           as BillOfMaterialVariant,
      //Procurement Type fields - start

      resb.dbskz                                           as MaterialCompIsProcuredDirectly,
      resb.flgex                                           as MatlCompIsProcuredExternally,
      resb.vorab                                           as IsPreliminaryOrder,
      resb.knttp                                           as AccountAssignmentCategory,
      resb.sobkz                                           as MaterialCompIsSpecialStock,
      resb.pbdnr                                           as RequirementPlan,
      resb.txtps                                           as MatlCompIsTextItem,
      //Procurement Type fields - end

      resb.funct                                           as DistributionFunction,
      resb.verti                                           as QuantityDistributionKey,
      cast ( resb.sortf as eqfnr )                         as SortField,
      resb.no_disp                                         as MatlCompIsRelevantForMRP,
      resb.charg                                           as Batch,
      @Semantics.unitOfMeasure: true
      cast ( resb.meins as meins )                         as BaseUnit,
      @Semantics.unitOfMeasure: true
      cast ( resb.erfme as meins )                         as EntryUnit,
      resb.vmeng                                           as ConfirmedAvailableQuantity,
      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      resb.bdmng                                           as RequirementQuantityInBaseUnit,
      resb.erfmg                                           as QuantityInEntryUnit,
      resb.umren                                           as MaterialQtyToBaseQtyDnmntr,
      resb.umrez                                           as QuantityNumerator,

      _ProjMatCompAdditionalData,
      _ProjectNetworkBasicData,
      _ProjNtwkActyMatBOMAssembly,
      _StorageLocation,
      _MaterialText,
      _BillOfMatItemCategoryText,
      _MRPQuantityDistrKeyText
}
//04.01.2022 - Begin of comments(fixes for Mov. type(customer can maintain own mov. types, we shouldn't add restrictions only for 281 and 261))

//where

//     resb.bwart = '281'

//  or resb.bwart = '261'

//04.01.2022 - End of comments(fixes for Mov. type(customer can maintain own mov. types, we shouldn't add restrictions only for 281 and 261))