I_ProjMatComponentVersion
Project Material Component Version
I_ProjMatComponentVersion is a Basic CDS View that provides data about "Project Material Component Version" in SAP S/4HANA. It reads from 3 data sources (grpga, I_NetworkActivityVersion, vsrsadd_cn) and exposes 110 fields with key fields Reservation, Version, ReservationItem, RecordType. It has 20 associations to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| grpga | grpga | left_outer |
| I_NetworkActivityVersion | NetworkActivityVersion | inner |
| vsrsadd_cn | vsrsadd_cn | left_outer |
Associations (20)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_WBSElement | _WBSGroupElement | $projection.GroupingWBSElementInternalID = _WBSGroupElement.WBSElementInternalID |
| [1..1] | I_Plant | _PlantName | vsresb_cn.werks = _PlantName.Plant |
| [0..1] | I_ProjectNetwork | _ProjectNetwork | $projection.ProjectNetwork = _ProjectNetwork.ProjectNetwork |
| [0..1] | I_MaterialText | _MaterialText | $projection.Material = _MaterialText.Material and _MaterialText.Language = $session.system_language |
| [0..1] | I_NetworkActivity | _NetworkActivity | $projection.ProjectNetwork = _NetworkActivity.ProjectNetwork and $projection.NetworkActivity = _NetworkActivity.NetworkActivity |
| [0..1] | I_AccAssgnmtCategory | _AccAssgnmtCategory | $projection.AccountAssignmentCategory = _AccAssgnmtCategory.AccountAssignmentCategory |
| [0..1] | I_BillOfMaterialItemCategory | _BillOfMaterialItemCategory | $projection.BOMItemCategory = _BillOfMaterialItemCategory.BillOfMaterialItemCategory |
| [0..1] | I_InventorySpecialStockType | _InventorySpecialStockType | $projection.MaterialCompIsSpecialStock = _InventorySpecialStockType.InventorySpecialStockType |
| [0..1] | I_SpecialStockValuationName | _SpecialStockValuationName | $projection.InventorySpecialStockValnType = _SpecialStockValuationName.InventorySpecialStockValnType |
| [0..1] | I_StorageLocation | _StorageLocation | $projection.Plant = _StorageLocation.Plant and $projection.StorageLocation = _StorageLocation.StorageLocation |
| [1..1] | I_Material | _Material | $projection.Material = _Material.Material |
| [1..1] | I_Supplier | _Supplier | $projection.Creditor = _Supplier.Supplier |
| [1..1] | I_ProjMatlProcurementType | _ProjMatlProcurementType | $projection.ProcurementType = _ProjMatlProcurementType.ProcurementType |
| [1..1] | I_ConsumptionPostingName | _ConsumptionPostingName | $projection.ConsumptionPosting = _ConsumptionPostingName.ConsumptionPosting |
| [0..1] | I_WBSElement | _WBSElement | $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID |
| [0..1] | I_ProjMatBomCategory | _ProjMatBomCategory | $projection.BillOfMaterialCategory = _ProjMatBomCategory.BillOfMaterialCategory |
| [0..1] | I_ProjMatBomCategory | _BillOfMaterialCategory | $projection.MaterialCompMainAssemblyCat = _BillOfMaterialCategory.BillOfMaterialCategory |
| [0..1] | P_ProjMatBOMAssembly | _ProjMatBOMAssembly | vsresb_cn.stlty = _ProjMatBOMAssembly.BillOfMaterialCategory and vsresb_cn.stlnr = _ProjMatBOMAssembly.BillOfMaterial and vsresb_cn.stlal = _ProjMatBOMAssembly.BillOfMaterialVariant |
| [0..1] | P_ProjMatBOMAssembly | _BillOfMaterial | ( vsrsadd_cn.bstln = _BillOfMaterial.BillOfMaterial and vsrsadd_cn.bstlt = _BillOfMaterial.BillOfMaterialCategory ) or ( vsrsadd_cn.bstln = _BillOfMaterial.BillOfMaterial ) |
| [1..1] | E_ProjMatComponentVersion | _Extension | vsresb_cn.vsnmr = _Extension.Version and vsresb_cn.rsnum = _Extension.Reservation and vsresb_cn.rspos = _Extension.ReservationItem and vsresb_cn.rsart = _Extension.RecordType |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPROJMATCOMPVER | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| EndUserText.label | Project Material Component Version | view | |
| VDM.viewType | #BASIC | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view |
Fields (110)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Reservation | vsresb_cn | rsnum | |
| KEY | Version | |||
| KEY | ReservationItem | |||
| KEY | RecordType | vsresb_cn | rsart | |
| ProjectNetwork | ||||
| Plant | vsresb_cn | werks | ||
| Material | vsresb_cn | matnr | ||
| AccountAssignmentCategory | ||||
| GoodsMovementType | ||||
| BillOfMaterialCategory | vsresb_cn | stlty | ||
| UnloadingPointName | ||||
| ProjectObjectChangeNumber | vsresb_cn | aennr | ||
| PurchaseRequisition | ||||
| PurchaseRequisitionItem | ||||
| FormulaKey | ||||
| ProductionSeries | ||||
| OperationLeadTimeOffset | ||||
| OperationLeadTimeOffsetUnit | ||||
| RqmtDateIsEnteredManually | ||||
| BillOfMaterialItemNumber | vsresb_cn | posnr | ||
| BOMItemDescription | ||||
| PurchasingGroup | ||||
| SalesOrder | ||||
| SalesOrderItem | ||||
| InventorySpecialStockValnType | vsresb_cn | kzbws | ||
| ConsumptionPosting | vsresb_cn | kzvbr | ||
| ProductTypeCode | vsresb_cn | producttype | ||
| PerformancePeriodStartDate | vsresb_cn | startdate | ||
| PerformancePeriodEndDate | vsresb_cn | enddate | ||
| ServicePerformer | vsresb_cn | serviceperformer | ||
| LeanServiceDuration | vsresb_cn | serviceduration | ||
| LeanServiceDurationUnit | vsresb_cn | servicedurationunit | ||
| OverallLimitAmount | vsrsadd_cn | overalllimitamount | ||
| ExpectedOverallLimitAmount | vsrsadd_cn | expectedoveralllimitamount | ||
| StorageLocation | ||||
| Creditor | vsresb_cn | lifnr | ||
| BaseUnit | vsresb_cn | meins | ||
| MaterialComponentObject | vsresb_cn | objnr | ||
| WBSElementInternalID | ||||
| GLAccount | ||||
| PlantName | _PlantName | PlantName | ||
| ReservationIsFinallyIssued | vsresb_cn | kzear | ||
| MaterialCompIsCostRelevant | ||||
| MatlCompIsMarkedForBackflush | ||||
| IsBulkMaterialComponent | ||||
| MaterialCompIsSpecialStock | ||||
| MatlCompIsTextItem | ||||
| MaterialComponentIsMissing | ||||
| MatlCompIsMarkedForDeletion | ||||
| MatlCompIsRelevantForMRP | ||||
| GoodsRecipientName | ||||
| GoodsMovementIsAllowed | ||||
| RequisitionerUser | vsrsadd_cn | afnam | ||
| LastChangedByUser | ||||
| LastChangeDate | ||||
| CreatedByUser | ||||
| CreationDate | ||||
| Supplier | ||||
| BillingPlan | vsrsadd_cn | fplnr | ||
| ProjectNetworkDescription | ||||
| Project | ||||
| ProjectWithCodingMask | I_NetworkActivityVersion | ProjectWithCodingMask | ||
| MatlCompRequirementDate | ||||
| MaterialCompIsProcuredDirectly | ||||
| MaterialComponentIsPhantomItem | ||||
| MatlCompIsProcuredExternally | ||||
| NetworkActivity | ||||
| Currency | ||||
| ShortfallQuantity | Shortfall Quantity | |||
| WithdrawnQuantity | ||||
| ReceivedQuantity | ||||
| RequirementQuantityInBaseUnit | ||||
| MRPRequiredQuantityInBaseUnit | vsresb_cn | lmeng | ||
| ConfirmedAvailableQuantity | vsresb_cn | vmeng | ||
| MaterialComponentPrice | vsresb_cn | gpreis | Price | |
| WithdrawnQuantityAmount | vsresb_cn | enwrt | Withdrawn Quantity Amount | |
| DeliveryDurationInDays | ||||
| GoodsReceiptDurationInDays | vsresb_cn | webaz | ||
| MaterialPriceUnitQty | vsresb_cn | peinh | Price Per Unit | |
| MaterialQtyToBaseQtyDnmntr | vsresb_cn | umren | ||
| QuantityNumerator | vsresb_cn | umrez | ||
| vmengasvmengendasCommittedQuantity | Committed Quantity | |||
| Assembly | _ProjMatBOMAssembly | Assembly | ||
| AssemblyName | _ProjMatBOMAssembly | AssemblyName | ||
| FldLogsSupplyProcess | vsresb_cn | fldlogssupplyprocess | ||
| FldLogsDelivIsHeldOnShore | vsresb_cn | fldlogsdelivisheldonshore | ||
| FldLogsVersion | vsresb_cn | fldlogsversion | ||
| BillOfMaterial | _BillOfMaterial | Assembly | ||
| BOMHeaderText | _BillOfMaterial | AssemblyName | ||
| MaterialCompMainAssemblyCat | _BillOfMaterial | BillOfMaterialCategory | ||
| GroupingWBSElementInternalID | grpga | grpnr | ||
| OpenQuantity | Open Quantity | |||
| BOMItemCategory | ||||
| _WBSGroupElement | _WBSGroupElement | |||
| _AccAssgnmtCategory | _AccAssgnmtCategory | |||
| ControllingArea | I_NetworkActivityVersion | ControllingArea | ||
| _MaterialText | _MaterialText | |||
| _PlantName | _PlantName | |||
| _ProjectNetwork | _ProjectNetwork | |||
| _BillOfMaterialItemCategory | _BillOfMaterialItemCategory | |||
| _StorageLocation | _StorageLocation | |||
| _Material | _Material | |||
| _Supplier | _Supplier | |||
| _InventorySpecialStockType | _InventorySpecialStockType | |||
| _ProjMatlProcurementType | _ProjMatlProcurementType | |||
| _ConsumptionPostingName | _ConsumptionPostingName | |||
| _WBSElement | _WBSElement | |||
| _ProjMatBomCategory | _ProjMatBomCategory | |||
| _BillOfMaterialCategory | _BillOfMaterialCategory | |||
| _SpecialStockValuationName | _SpecialStockValuationName |
@AbapCatalog.sqlViewName: 'IPROJMATCOMPVER'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
//@AccessControl.privilegedAssociations: [ '_Extension' ]
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@EndUserText.label: 'Project Material Component Version'
@VDM.viewType: #BASIC
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory : #XL
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
define view I_ProjMatComponentVersion
as select distinct from vsresb_cn
inner join I_NetworkActivityVersion as NetworkActivityVersion on vsresb_cn.vsnmr = NetworkActivityVersion.Version
and vsresb_cn.aufnr = NetworkActivityVersion.NetworkVersion
and vsresb_cn.vornr = NetworkActivityVersion.NetworkActivity
left outer join vsrsadd_cn on vsresb_cn.rsnum = vsrsadd_cn.rsnum
and vsresb_cn.rspos = vsrsadd_cn.rspos
and vsresb_cn.rsart = vsrsadd_cn.rsart
and vsresb_cn.vsnmr = vsrsadd_cn.vsnmr
//left outer join ebkn on ebkn.nplnr = vsresb_cn.aufnr and
// ebkn.ps_psp_pnr = vsresb_cn.pspel
left outer join grpga on grpga.pspnr = vsresb_cn.pspel
association [1..1] to I_WBSElement as _WBSGroupElement on $projection.GroupingWBSElementInternalID = _WBSGroupElement.WBSElementInternalID
association [1..1] to I_Plant as _PlantName on vsresb_cn.werks = _PlantName.Plant
association [0..1] to I_ProjectNetwork as _ProjectNetwork on $projection.ProjectNetwork = _ProjectNetwork.ProjectNetwork
association [0..1] to I_MaterialText as _MaterialText on $projection.Material = _MaterialText.Material
and _MaterialText.Language = $session.system_language
association [0..1] to I_NetworkActivity as _NetworkActivity on $projection.ProjectNetwork = _NetworkActivity.ProjectNetwork
and $projection.NetworkActivity = _NetworkActivity.NetworkActivity
association [0..1] to I_AccAssgnmtCategory as _AccAssgnmtCategory on $projection.AccountAssignmentCategory = _AccAssgnmtCategory.AccountAssignmentCategory
association [0..1] to I_BillOfMaterialItemCategory as _BillOfMaterialItemCategory on $projection.BOMItemCategory = _BillOfMaterialItemCategory.BillOfMaterialItemCategory
association [0..1] to I_InventorySpecialStockType as _InventorySpecialStockType on $projection.MaterialCompIsSpecialStock = _InventorySpecialStockType.InventorySpecialStockType
association [0..1] to I_SpecialStockValuationName as _SpecialStockValuationName on $projection.InventorySpecialStockValnType = _SpecialStockValuationName.InventorySpecialStockValnType
association [0..1] to I_StorageLocation as _StorageLocation on $projection.Plant = _StorageLocation.Plant
and $projection.StorageLocation = _StorageLocation.StorageLocation
association [1..1] to I_Material as _Material on $projection.Material = _Material.Material
association [1..1] to I_Supplier as _Supplier on $projection.Creditor = _Supplier.Supplier
//association [0..1] to as _StorageLocation on $projection.Plant = _StorageLocation.Plant
association [1..1] to I_ProjMatlProcurementType as _ProjMatlProcurementType on $projection.ProcurementType = _ProjMatlProcurementType.ProcurementType
association [1..1] to I_ConsumptionPostingName as _ConsumptionPostingName on $projection.ConsumptionPosting = _ConsumptionPostingName.ConsumptionPosting
association [0..1] to I_WBSElement as _WBSElement on $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
association [0..1] to I_ProjMatBomCategory as _ProjMatBomCategory on $projection.BillOfMaterialCategory = _ProjMatBomCategory.BillOfMaterialCategory
association [0..1] to I_ProjMatBomCategory as _BillOfMaterialCategory on $projection.MaterialCompMainAssemblyCat = _BillOfMaterialCategory.BillOfMaterialCategory
/*
association [0..1] to I_BOMAssembly as _BOMAssembly on vsresb_cn.stlty = _BOMAssembly.stlty
and vsresb_cn.stlnr = _BOMAssembly.stlnr
and vsresb_cn.stlal = _BOMAssembly.stlal
association [0..1] to I_BOMAssembly as _MainBOM1 on vsrsadd_cn.bstln = _MainBOM1.stlnr
and vsrsadd_cn.bstlt = _MainBOM1.stlty
association [0..1] to I_BOMAssembly as _MainBOM2 on vsrsadd_cn.bstln = _MainBOM2.stlnr
association [0..1] to I_ProjMatBomCategory as _BillOfMaterialCategory on $projection.MainBOMCat = _BillOfMaterialCategory.ProjMatBomCategory
*/
association [0..1] to P_ProjMatBOMAssembly as _ProjMatBOMAssembly on vsresb_cn.stlty = _ProjMatBOMAssembly.BillOfMaterialCategory
and vsresb_cn.stlnr = _ProjMatBOMAssembly.BillOfMaterial
and vsresb_cn.stlal = _ProjMatBOMAssembly.BillOfMaterialVariant
association [0..1] to P_ProjMatBOMAssembly as _BillOfMaterial on (
vsrsadd_cn.bstln = _BillOfMaterial.BillOfMaterial
and vsrsadd_cn.bstlt = _BillOfMaterial.BillOfMaterialCategory
)
or (
vsrsadd_cn.bstln = _BillOfMaterial.BillOfMaterial
)
association [1..1] to E_ProjMatComponentVersion as _Extension on vsresb_cn.vsnmr = _Extension.Version
and vsresb_cn.rsnum = _Extension.Reservation
and vsresb_cn.rspos = _Extension.ReservationItem
and vsresb_cn.rsart = _Extension.RecordType
{
key vsresb_cn.rsnum as Reservation,
key cast( vsresb_cn.vsnmr as ps_s4_vsnmr preserving type ) as Version,
key cast (vsresb_cn.rspos as ps_s4_rspos preserving type ) as ReservationItem,
key vsresb_cn.rsart as RecordType, //
// cast(vsresb_cn.aufnr as ps_s4_aufnr preserving type ) as ProjectNetwork, //
cast ((case when vsresb_cn.aufnr like '?!%' then NetworkActivityVersion.ProjectNetwork else vsresb_cn.aufnr end) as ps_s4_aufnr) as ProjectNetwork,
vsresb_cn.werks as Plant, //
vsresb_cn.matnr as Material, //
cast (vsresb_cn.knttp as ps_s4_knttp) as AccountAssignmentCategory,
// vsresb_cn.bdart as RequirementType, //
cast (vsresb_cn.bwart as bwartwa) as GoodsMovementType, //
vsresb_cn.stlty as BillOfMaterialCategory,
cast(vsresb_cn.ablad as ps_s4_ablad preserving type ) as UnloadingPointName,
vsresb_cn.aennr as ProjectObjectChangeNumber,
cast (vsresb_cn.banfn as ps_s4_banfn preserving type ) as PurchaseRequisition,
cast (vsresb_cn.bnfpo as ps_s4_bnfpo) as PurchaseRequisitionItem,
cast (vsresb_cn.rform as ps_s4_rform preserving type ) as FormulaKey,
cast (vsresb_cn.sernr as ps_s4_sernr) as ProductionSeries,
cast (vsresb_cn.nlfzv as ps_s4_cs_nlfzv) as OperationLeadTimeOffset,
cast (vsresb_cn.nlfmv as ps_s4_cs_nlfmv) as OperationLeadTimeOffsetUnit,
cast (vsresb_cn.kzmpf as ps_s4_kzmpf) as RqmtDateIsEnteredManually,
vsresb_cn.posnr as BillOfMaterialItemNumber,
cast (vsresb_cn.potx1 as ps_s4_potx1) as BOMItemDescription,
//_ProjectNetwork.ProjectInternalID as ProjectInternalID,
//_Project.InventorySpecialStockValnType as InventorySpecialStockValnType,
// cast (vsresb_cn.charg as charg_d) as Batch, //
cast (vsresb_cn.ekgrp as ekgrp) as PurchasingGroup, //
// @Semantics.unitOfMeasure:true
// vsresb_cn.erfme as EntryUnit, //
// vsresb_cn.fmeng as QuantityIsFixed, //
cast (vsresb_cn.kdauf as ps_s4_kdauf) as SalesOrder, //
cast(vsresb_cn.kdpos as ps_s4_kdpos) as SalesOrderItem, //
vsresb_cn.kzbws as InventorySpecialStockValnType, //
vsresb_cn.kzvbr as ConsumptionPosting, //
// Begin of Lean Service Fields-------------------------------------------
vsresb_cn.producttype as ProductTypeCode, //
vsresb_cn.startdate as PerformancePeriodStartDate,
vsresb_cn.enddate as PerformancePeriodEndDate,
vsresb_cn.serviceperformer as ServicePerformer,
@Semantics.quantity.unitOfMeasure: 'LeanServiceDurationUnit'
vsresb_cn.serviceduration as LeanServiceDuration,
@Semantics.unitOfMeasure: true
vsresb_cn.servicedurationunit as LeanServiceDurationUnit,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'Currency'
vsrsadd_cn.overalllimitamount as OverallLimitAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'Currency'
vsrsadd_cn.expectedoveralllimitamount as ExpectedOverallLimitAmount,
// End of Lean Service Fields---------------------------------------------
cast(vsresb_cn.lgort as ps_s4_lgort_d preserving type ) as StorageLocation, //
vsresb_cn.lifnr as Creditor, //
@Semantics.unitOfMeasure:true
vsresb_cn.meins as BaseUnit, //
vsresb_cn.objnr as MaterialComponentObject, //
cast( NetworkActivityVersion.WBSElementInternalID as ps_s4_pspnr) as WBSElementInternalID,
cast (vsresb_cn.saknr as saknr) as GLAccount, //
// vsresb_cn.sortf as MatlCompFreeDefinedAttribute, //
_PlantName.PlantName,
// case when
// vsresb_cn.flgex
// = 'X'
// and vsresb_cn.flgex
// = 'E'
// and vsresb_cn.knttp
// != ''
// and vsrsadd_cn.strecke
// = 'X'
// then
// 'X'
// else
// ''
// end as IsThirdPtyReqnForSalesOrdItem,
case when
vsresb_cn.no_disp
= 'X'
then
''
else
'X'
end as PurchaseOrderExists,
// vsresb_cn.pbdnr as RequirementPlan, //
// vsrsadd_cn.bednr as RequirementTracking, //
vsresb_cn.kzear as ReservationIsFinallyIssued, //
// cast (vsrsadd_cn.idnlf as idnlf) as MaterialIDByVendor, //
// cast (vsrsadd_cn.kunnr as kunnr) as Customer, //
cast (vsresb_cn.sanka as ps_s4_ck_selkz ) as MaterialCompIsCostRelevant, //
cast (vsresb_cn.rgekz as rgekz) as MatlCompIsMarkedForBackflush, //
// cast (vsresb_cn.rohps as rohps) as MaterialCompIsVariableSized, //
cast (vsresb_cn.schgt as schgt) as IsBulkMaterialComponent, //
cast (vsresb_cn.sobkz as sobkz) as MaterialCompIsSpecialStock, //
cast (vsresb_cn.txtps as txtps) as MatlCompIsTextItem, //
cast (vsresb_cn.xfehl as xfehl) as MaterialComponentIsMissing, //
cast (vsresb_cn.xloek as ps_s4_loevm ) as MatlCompIsMarkedForDeletion, //
// vsrsadd_cn.flief as FixedVendor, //
// @EndUserText.label: 'Is Reservation For Network'
// case when
// vsresb_cn.flgex
// = ''
// and vsresb_cn.vorab
// = ''
// and vsresb_cn.knttp
// = ''
// then
// 'X'
// else
// ''
// end as IsReservationForNetwork,
// @EndUserText.label: 'Is Plnd Indep Rqmt For Plant'
// case when
// vsresb_cn.flgex
// = ''
// and vsresb_cn.vorab
// = 'X'
// and vsresb_cn.knttp
// = ''
// then
// 'X'
// else
// ''
// end as IsPlndIndepRqmtForPlant,
// @EndUserText.label: 'Is Pur Reqn For Network'
// case when
// vsresb_cn.sobkz
// = ''
// and vsresb_cn.knttp
// != ''
// and vsrsadd_cn.strecke
// = ''
// then
// 'X'
// else
// ''
// end as IsPurReqnForNetwork,
// @EndUserText.label: 'Is Third Pty Reqn For Network'
// case when
// vsresb_cn.sobkz
// = ''
// and vsresb_cn.knttp
// != ''
// and vsrsadd_cn.strecke
// = 'X'
// then
// 'X'
// else
// ''
// end as IsThirdPtyReqnForNetwork,
// @EndUserText.label: 'Is Reservation For WBS Element'
// case when
// vsresb_cn.flgex
// = ''
// and vsresb_cn.vorab
// = ''
// and vsresb_cn.sobkz
// = 'Q'
// and vsresb_cn.knttp
// != ''
// and vsresb_cn.pbdnr = ''
// then
// 'X'
// else
// ''
// end as IsReservationForWBSElement,
// @EndUserText.label: 'Is Plnd Indep Rqmt For WBS Element'
// case when
// vsresb_cn.flgex
// = ''
// and vsresb_cn.vorab
// = 'X'
// and vsresb_cn.sobkz
// = 'Q'
// and vsresb_cn.knttp
// != ''
// and vsresb_cn.pbdnr != ''
// then
// 'X'
// else
// ''
// end as IsPlndIndepRqmtForWBSElement,
// @EndUserText.label: 'Is Resvn Pur Reqn For WBS Element'
// case when
// vsresb_cn.flgex
// = 'X'
// and vsresb_cn.vorab
// = ''
// and vsresb_cn.sobkz
// = 'Q'
// and vsresb_cn.knttp
// != ''
// and vsrsadd_cn.strecke
// = ''
// then
// 'X'
// else
// ''
// end as IsResvnPurReqnForWBSElement,
// @EndUserText.label: 'Is Third Pty Reqn For WBS Element'
// case when
// vsresb_cn.flgex
// = 'X'
// and vsresb_cn.sobkz
// = 'Q'
// and vsresb_cn.knttp
// != ''
// and vsrsadd_cn.strecke
// = 'X'
// then
// 'X'
// else
// ''
// end as IsThirdPtyReqnForWBSElement,
// @EndUserText.label: 'Is Prelim Reqn For WBS Element'
// case when
// vsresb_cn.flgex
// = 'X'
// and vsresb_cn.vorab
// = 'X'
// and vsresb_cn.sobkz
// = 'Q'
// and vsresb_cn.knttp
// != ''
// and vsrsadd_cn.strecke
// = ''
// then
// 'X'
// else
// ''
// end as IsPrelimReqnForWBSElement,
// @EndUserText.label: 'Is Reservation For Sales Ord Item'
/* case when
vsresb_cn.flgex
= ''
and vsresb_cn.vorab
= ''
and vsresb_cn.sobkz
= 'E'
and vsresb_cn.knttp
!= ''
and vsresb_cn.pbdnr = ''
then
'X'
else
''
end as IsReservationForSalesOrdItem,
// @EndUserText.label: 'Is Plnd Indep Rqmt For Sales Ord Item'
case when
vsresb_cn.flgex
= ''
and vsresb_cn.vorab
= 'X'
and vsresb_cn.sobkz
= 'E'
and vsresb_cn.knttp
!= ''
and vsresb_cn.pbdnr != ''
then
'X'
else
''
end as IsPlndIndepRqmtForSalesOrdItem,
// @EndUserText.label: 'Is Resvn Pur Reqn For Sales Ord Item'
case when
vsresb_cn.flgex
= 'X'
and vsresb_cn.vorab
= ''
and vsresb_cn.sobkz
= 'E'
and vsresb_cn.knttp
!= ''
and vsrsadd_cn.strecke
= ''
then
'X'
else
''
end as IsResvnPurReqnForSalesOrdItem,
// @EndUserText.label: 'Is Prelim Reqn For Sales Ord Item'
case when
vsresb_cn.flgex
= 'X'
and vsresb_cn.vorab
= 'X'
and vsresb_cn.sobkz
= 'E'
and vsresb_cn.knttp
!= ''
and vsrsadd_cn.strecke
= ''
then
'X'
else
''
end as IsPrelimReqnForSalesOrdItem,
cast (vsresb_cn.kdein as kdein) as ScheduleLine, //
cast (vsresb_cn.kfpos as kfpos) as MatlCompIsConfigurable, //
cast (vsresb_cn.nafkz as nafkz) as IsFollowUpMaterialActive, //
*/
cast (vsresb_cn.no_disp as no_disp_plus) as MatlCompIsRelevantForMRP, //
cast(vsresb_cn.wempf as ps_s4_wempf ) as GoodsRecipientName, //
cast (vsresb_cn.xwaok as xwaok) as GoodsMovementIsAllowed, //
vsrsadd_cn.afnam as RequisitionerUser, //
cast (vsrsadd_cn.changeby as ps_s4_aenam) as LastChangedByUser, //
cast (vsrsadd_cn.changedat as ps_s4_aedat) as LastChangeDate, //
cast (vsrsadd_cn.creaby as ernam) as CreatedByUser, //
cast (vsrsadd_cn.creadat as erdat) as CreationDate, //
// vsrsadd_cn.ekorg as PurchasingOrganisation, //
cast (vsrsadd_cn.emlif as emlif) as Supplier, //
vsrsadd_cn.fplnr as BillingPlan, //
// vsrsadd_cn.kzfix as PurgInfoRecdDataIsFixed, //
//_ProjectNetwork.ProjectNetworkDescription as ProjectNetworkDescription, //
NetworkActivityVersion._ProjectNetwork.ProjectNetworkDescription as ProjectNetworkDescription,
cast(NetworkActivityVersion.Project as psb_bo_pspid_de preserving type ) as Project, //
NetworkActivityVersion.ProjectWithCodingMask as ProjectWithCodingMask,
cast ( vsresb_cn.bdter as ps_s4_bdter preserving type ) as MatlCompRequirementDate, //
// vsresb_cn.cuobj as ProductConfiguration, //
cast (vsresb_cn.dbskz as dbskz) as MaterialCompIsProcuredDirectly, //
cast (vsresb_cn.dumps as dumps) as MaterialComponentIsPhantomItem, //
cast (vsresb_cn.flgex as flgex) as MatlCompIsProcuredExternally, //
// cast(vsresb_cn.vorab as vorabkz) as IsPreliminaryOrder, //
cast(vsresb_cn.vornr as pt_vornr_receiver preserving type ) as NetworkActivity, //
@Semantics.currencyCode: true
cast (vsresb_cn.waers as waers) as Currency, //
@EndUserText.label: 'Shortfall Quantity'
// Medium label of data element flmng: 'Missing Qty'
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
cast (vsresb_cn.flmng as ps_s4_flmng) as ShortfallQuantity, //
// @DefaultAggregation: #NONE
// @Semantics.quantity.unitOfMeasure: 'EntryUnit'
// vsresb_cn.erfmg as QuantityInEntryUnit, //
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
cast (vsresb_cn.enmng as pph_enmng) as WithdrawnQuantity, //
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
cast (vsresb_cn.enmng as mmiv_quantity_received) as ReceivedQuantity,
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
cast(vsresb_cn.bdmng as ps_s4_bdmng preserving type ) as RequirementQuantityInBaseUnit, //
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
vsresb_cn.lmeng as MRPRequiredQuantityInBaseUnit, //
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
vsresb_cn.vmeng as ConfirmedAvailableQuantity, //
// // Medium label of data element ppcomp: 'Price/currency'
@EndUserText.label: 'Price'
@DefaultAggregation: #SUM
// decimal_shift(
// amount => vsresb_cn.gpreis ,
// currency => vsresb_cn.waers,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR
// ) as MaterialComponentPrice, //
@Semantics.amount.currencyCode:'Currency'
vsresb_cn.gpreis as MaterialComponentPrice,
@EndUserText.label: 'Withdrawn Quantity Amount'
//Medium label of data element enwrt: 'Withdr. Value'
@DefaultAggregation: #NONE
// decimal_shift(
// amount => vsresb_cn.enwrt,
// currency => vsresb_cn.waers,
// error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR
// ) as WithdrawnQuantityAmount, //
@Semantics.amount.currencyCode:'Currency'
vsresb_cn.enwrt as WithdrawnQuantityAmount,
@EndUserText.label: 'Number Of Missing Matl Comp'
@DefaultAggregation: #NONE
case when
vsresb_cn.xfehl = 'X'
then
'1'
else
'0'
end as NumberOfMissingMatlComp,
@DefaultAggregation: #SUM
cast (vsresb_cn.lifzt as ps_s4_lifzt) as DeliveryDurationInDays, //
@DefaultAggregation: #NONE
vsresb_cn.webaz as GoodsReceiptDurationInDays, //
@EndUserText.label: 'Price Per Unit'
@DefaultAggregation: #NONE
vsresb_cn.peinh as MaterialPriceUnitQty, //
//Procurement Type
cast(
case
when vsresb_cn.dbskz <> 'F' and vsresb_cn.flgex = ' ' and vsresb_cn.vorab = ' ' and vsresb_cn.knttp = ' '
then 'K05'
when vsresb_cn.dbskz <> 'F' and vsresb_cn.flgex = ' ' and vsresb_cn.vorab = 'X' and vsresb_cn.knttp = ' '
then 'K12'
when vsresb_cn.sobkz = ' ' and vsresb_cn.knttp <> ' ' and vsrsadd_cn.strecke = ' '
then 'K01'
when vsresb_cn.sobkz = ' ' and vsresb_cn.knttp <> ' ' and vsrsadd_cn.strecke = 'X'
then 'K02'
when vsresb_cn.dbskz <> 'F' and vsresb_cn.flgex = ' ' and vsresb_cn.vorab = ' ' and vsresb_cn.sobkz = 'Q' and vsresb_cn.knttp <> ' ' and vsresb_cn.pbdnr = ' '
then 'K06'
when (vsresb_cn.vorab = 'X' or vsresb_cn.pbdnr <> ' ') and (vsresb_cn.dbskz <> 'F' and vsresb_cn.flgex = ' ' and vsresb_cn.sobkz = 'Q' and vsresb_cn.knttp <> ' ')
then 'K10'
when (vsresb_cn.flgex = 'X' or vsresb_cn.dbskz = 'F') and (vsresb_cn.vorab = ' ' and vsresb_cn.sobkz = 'Q' and vsresb_cn.knttp <> ' ' and vsrsadd_cn.strecke = ' ')
then 'K08'
when (vsresb_cn.flgex = 'X' or vsresb_cn.dbskz = 'F') and (vsresb_cn.sobkz = 'Q' and vsresb_cn.knttp <> ' ' and vsrsadd_cn.strecke = 'X')
then 'K15'
when (vsresb_cn.flgex = 'X' or vsresb_cn.dbskz = 'F') and (vsresb_cn.vorab = 'X' and vsresb_cn.sobkz = 'Q' and vsresb_cn.knttp <> ' ' and vsrsadd_cn.strecke = ' ')
then 'K03'
when vsresb_cn.flgex <> 'F' and vsresb_cn.dbskz = ' ' and vsresb_cn.vorab = ' ' and vsresb_cn.sobkz = 'E' and vsresb_cn.knttp <> ' ' and vsresb_cn.pbdnr = ' '
then 'K07'
when (vsresb_cn.vorab = 'F' or vsresb_cn.pbdnr <> ' ') and (vsresb_cn.dbskz <> 'F' and vsresb_cn.flgex = ' ' and vsresb_cn.sobkz = 'E' and vsresb_cn.knttp <> ' ')
then 'K11'
when (vsresb_cn.flgex = 'X' or vsresb_cn.dbskz = 'F') and (vsresb_cn.vorab = ' ' and vsresb_cn.sobkz = 'E' and vsresb_cn.knttp <> ' ' and vsrsadd_cn.strecke = ' ')
then 'K09'
when (vsresb_cn.flgex = 'X' or vsresb_cn.dbskz = 'F') and (vsresb_cn.sobkz = 'E' and vsresb_cn.knttp <> ' ' and vsrsadd_cn.strecke = 'X')
then 'K16'
when (vsresb_cn.flgex = 'X' or vsresb_cn.dbskz = 'F') and (vsresb_cn.vorab = 'X' and vsresb_cn.sobkz = 'E' and vsresb_cn.knttp <> ' ' and vsrsadd_cn.strecke = ' ')
then 'K04'
end as ps_s4_procmttyp ) as ProcurementType,
vsresb_cn.umren as MaterialQtyToBaseQtyDnmntr,
vsresb_cn.umrez as QuantityNumerator,
@EndUserText.label: 'Committed Quantity'
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
case
when vsresb_cn.erfme <> ' ' and vsresb_cn.erfme <> vsresb_cn.meins
then
case
when vsresb_cn.vmeng = vsresb_cn.bdmng
then
case
when vsresb_cn.bdmng is null
then vsresb_cn.bdmng
else
vsresb_cn.erfmg
end
else
case
when vsresb_cn.umrez = 0
then cast(0 as abap.dec(15,3))
else
cast(vsresb_cn.vmeng as abap.fltp) * ( cast(vsresb_cn.umren as abap.fltp) / cast(vsresb_cn.umrez as abap.fltp))
end
end
else
cast(vsresb_cn.vmeng as vmeng)
end as CommittedQuantity,
/*
case
when vsrsadd_cn.bstlt is not null
then _MainBOM1.Assembly
else _MainBOM2.Assembly
end as MainBOM,
case
when vsrsadd_cn.bstlt is not null
then _MainBOM1.AssemblyName
else _MainBOM2.AssemblyName
end as MainBOMName,
case
when vsrsadd_cn.bstlt is not null
then _MainBOM1.stlty
else _MainBOM2.stlty
end as MainBOMCat,
*/
_ProjMatBOMAssembly.Assembly,
_ProjMatBOMAssembly.AssemblyName,
vsresb_cn.fldlogssupplyprocess as FldLogsSupplyProcess,
vsresb_cn.fldlogsdelivisheldonshore as FldLogsDelivIsHeldOnShore,
vsresb_cn.fldlogsversion as FldLogsVersion,
_BillOfMaterial.Assembly as BillOfMaterial,
_BillOfMaterial.AssemblyName as BOMHeaderText,
_BillOfMaterial.BillOfMaterialCategory as MaterialCompMainAssemblyCat,
grpga.grpnr as GroupingWBSElementInternalID,
@EndUserText.label: 'Open Quantity'
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
vsresb_cn.bdmng - vsresb_cn.enmng as OpenQuantity,
cast(vsresb_cn.postp as ps_s4_postp preserving type ) as BOMItemCategory,
_WBSGroupElement,
// _BOMAssembly.Assembly,
// _BOMAssembly.AssemblyName,
_AccAssgnmtCategory,
NetworkActivityVersion.ControllingArea,
_MaterialText,
_PlantName,
_ProjectNetwork,
_BillOfMaterialItemCategory,
_StorageLocation,
_Material,
_Supplier,
_InventorySpecialStockType,
_ProjMatlProcurementType,
_ConsumptionPostingName,
_WBSElement,
_ProjMatBomCategory,
_BillOfMaterialCategory,
_SpecialStockValuationName
};
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA