I_ProjectMaterialComponent

DDL: I_PROJECTMATERIALCOMPONENT SQL: IPROJMATCOMP Type: view BASIC

Project Material Component Details

I_ProjectMaterialComponent is a Basic CDS View that provides data about "Project Material Component Details" in SAP S/4HANA. It reads from 6 data sources. It has 21 associations to related views.

Data Sources (6)

SourceAliasJoin Type
grpga grpga left_outer
I_NetworkActivity NetworkActivity inner
P_Projmatcomponent01 PurOrd left_outer
P_Projmatcomponent01 PurReq left_outer
resb resb from
rsadd rsadd left_outer

Associations (21)

CardinalityTargetAliasCondition
[1..1] I_WBSElement _WBSGroupElement $projection.GroupingWBSElementInternalID = _WBSGroupElement.WBSElementInternalID
[1..1] I_Plant _PlantName $projection.Plant = _PlantName.Plant
[0..1] I_ProjectNetwork _ProjectNetwork $projection.ProjectNetwork = _ProjectNetwork.ProjectNetwork
[0..1] I_WBSElement _WBSElement $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
[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_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
[0..1] I_AccAssgnmtCategory _AccAssgnmtCategory $projection.AccountAssignmentCategory = _AccAssgnmtCategory.AccountAssignmentCategory
[0..*] I_MaterialGroup _MaterialGroup $projection.MaterialGroup = _MaterialGroup.MaterialGroup
[1..1] I_Material _Material $projection.Material = _Material.Material
[0..1] I_BillOfMaterialItemCategory _BillOfMaterialItemCategory $projection.BOMItemCategory = _BillOfMaterialItemCategory.BillOfMaterialItemCategory
[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_ProjMatBomCategory _ProjMatBomCategory $projection.BillOfMaterialCategory = _ProjMatBomCategory.BillOfMaterialCategory
[0..1] I_ProjMatBomCategory _BillOfMaterialCategory $projection.MaterialCompMainAssemblyCat = _BillOfMaterialCategory.BillOfMaterialCategory
[0..1] P_ProjMatBOMAssembly _ProjMatBOMAssembly resb.stlty = _ProjMatBOMAssembly.BillOfMaterialCategory and resb.stlnr = _ProjMatBOMAssembly.BillOfMaterial and resb.stlal = _ProjMatBOMAssembly.BillOfMaterialVariant
[0..1] P_ProjMatBOMAssembly _BillOfMaterial ( rsadd.bstln = _BillOfMaterial.BillOfMaterial and rsadd.bstlt = _BillOfMaterial.BillOfMaterialCategory ) or( rsadd.bstln = _BillOfMaterial.BillOfMaterial )
[1..1] E_ProjectMaterialComponent _Extension resb.rsnum = _Extension.Reservation and resb.rspos = _Extension.ReservationItem and resb.rsart = _Extension.RecordType

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IPROJMATCOMP view
EndUserText.label Project Material Component Details view
VDM.viewType #BASIC view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MASTER view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
@AbapCatalog.sqlViewName: 'IPROJMATCOMP'
@EndUserText.label: 'Project Material Component Details'
@VDM.viewType: #BASIC
//@Analytics: { dataCategory: #DIMENSION, dataExtraction.enabled: true }

//@ObjectModel.dataCategory: #DIMENSION

@AccessControl.authorizationCheck: #CHECK
//@AccessControl.privilegedAssociations:  [ '_Extension' ]

@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory : #XL
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

define view I_ProjectMaterialComponent

  as select from    resb
    inner join      I_NetworkActivity    as NetworkActivity on  resb.aufnr = NetworkActivity.ProjectNetwork
                                                            and resb.vornr = NetworkActivity.NetworkActivity
    left outer join rsadd                                   on  resb.rsnum = rsadd.rsnum
                                                            and resb.rspos = rsadd.rspos
                                                            and resb.rsart = rsadd.rsart
    left outer join grpga                                   on grpga.pspnr = resb.pspel

    left outer join P_Projmatcomponent01 as PurReq          on  resb.rsnum = PurReq.Reservation
                                                            and resb.rspos = PurReq.ReservationItem
                                                            and resb.rsart = PurReq.RecordType
                                                            and PurReq.PurchaseRequisition != ''
    left outer join P_Projmatcomponent01 as PurOrd          on  resb.rsnum = PurOrd.Reservation
                                                            and resb.rspos = PurOrd.ReservationItem
                                                            and resb.rsart = PurOrd.RecordType
                                                            and PurOrd.PurchaseOrder != ''

  association [1..1] to I_WBSElement                 as _WBSGroupElement            on  $projection.GroupingWBSElementInternalID = _WBSGroupElement.WBSElementInternalID
  association [1..1] to I_Plant                      as _PlantName                  on  $projection.Plant = _PlantName.Plant
  association [0..1] to I_ProjectNetwork             as _ProjectNetwork             on  $projection.ProjectNetwork = _ProjectNetwork.ProjectNetwork
  association [0..1] to I_WBSElement                 as _WBSElement                 on  $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
  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_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 [0..1] to I_AccAssgnmtCategory         as _AccAssgnmtCategory         on  $projection.AccountAssignmentCategory = _AccAssgnmtCategory.AccountAssignmentCategory
  association [0..*] to I_MaterialGroup              as _MaterialGroup              on  $projection.MaterialGroup = _MaterialGroup.MaterialGroup
  association [1..1] to I_Material                   as _Material                   on  $projection.Material = _Material.Material
  association [0..1] to I_BillOfMaterialItemCategory as _BillOfMaterialItemCategory on  $projection.BOMItemCategory = _BillOfMaterialItemCategory.BillOfMaterialItemCategory
  association [1..1] to I_Supplier                   as _Supplier                   on  $projection.Creditor = _Supplier.Supplier
  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_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  resb.stlty = _BOMAssembly.stlty
                                                                                    and resb.stlnr = _BOMAssembly.stlnr
                                                                                    and resb.stlal = _BOMAssembly.stlal
  association [0..1] to I_BOMAssembly                as _MainBOM1                   on  rsadd.bstln = _MainBOM1.stlnr
                                                                                    and rsadd.bstlt = _MainBOM1.stlty
  association [0..1] to I_BOMAssembly                as _MainBOM2                   on  rsadd.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  resb.stlty = _ProjMatBOMAssembly.BillOfMaterialCategory
                                                                                    and resb.stlnr = _ProjMatBOMAssembly.BillOfMaterial
                                                                                    and resb.stlal = _ProjMatBOMAssembly.BillOfMaterialVariant
  association [0..1] to P_ProjMatBOMAssembly         as _BillOfMaterial             on  (
      rsadd.bstln     = _BillOfMaterial.BillOfMaterial
      and rsadd.bstlt = _BillOfMaterial.BillOfMaterialCategory
    )
  or(
    rsadd.bstln       = _BillOfMaterial.BillOfMaterial
  )
  association [1..1] to E_ProjectMaterialComponent   as _Extension                  on  resb.rsnum = _Extension.Reservation
                                                                                    and resb.rspos = _Extension.ReservationItem
                                                                                    and resb.rsart = _Extension.RecordType

{

  key resb.rsnum                                                                              as  Reservation, //

  key cast (resb.rspos as ps_s4_rspos preserving type )                                       as  ReservationItem, //

  key resb.rsart                                                                              as  RecordType, //

      cast(resb.aufnr  as ps_s4_aufnr preserving type )                                       as  ProjectNetwork, //

      resb.werks                                                                              as  Plant, //

      resb.matnr                                                                              as  Material, //


      resb.aufpl                                                                              as  ProjectNetworkInternalID,
      resb.aplzl                                                                              as  NetworkActivityInternalID,
      //    resb.bdart                                   as  RequirementType, //

      cast (resb.bwart as bwartwa)                                                            as  GoodsMovementType, //

      cast (resb.kzmpf as ps_s4_kzmpf)                                                        as  RqmtDateIsEnteredManually,
      cast (resb.sernr as ps_s4_sernr)                                                        as  ProductionSeries,

      resb.stlty                                                                              as  BillOfMaterialCategory,

      cast (resb.nlfzv as ps_s4_cs_nlfzv)                                                     as  OperationLeadTimeOffset,
      cast (resb.nlfmv as ps_s4_cs_nlfmv)                                                     as  OperationLeadTimeOffsetUnit,
      resb.posnr                                                                              as  BillOfMaterialItemNumber,
      cast (resb.potx1 as ps_s4_potx1)                                                        as  BOMItemDescription,
      //     cast (resb.charg as charg_d)                 as  Batch, //

      cast (resb.ekgrp as ekgrp)                                                              as  PurchasingGroup, //

      //    @Semantics.unitOfMeasure:true

      //     resb.erfme                                   as  EntryUnit, //


      //    resb.fmeng                                   as  QuantityIsFixed, //


      cast  (resb.kdauf as ps_s4_kdauf)                                                       as  SalesOrder, //


      cast(resb.kdpos as ps_s4_kdpos)                                                         as  SalesOrderItem, //


      resb.kzbws                                                                              as  InventorySpecialStockValnType, //


      resb.kzvbr                                                                              as  ConsumptionPosting, //


      cast( resb.lgort as ps_s4_lgort_d preserving type )                                     as  StorageLocation, //


      resb.lifnr                                                                              as  Creditor, //

      @Semantics.unitOfMeasure:true
      resb.meins                                                                              as  BaseUnit, //


      resb.objnr                                                                              as  MaterialComponentObject, //


      cast( NetworkActivity.WBSElementInternalID as ps_s4_pspnr)                              as  WBSElementInternalID,

      cast (resb.saknr as saknr)                                                              as  GLAccount, //



      //     resb.sortf                                   as  MatlCompFreeDefinedAttribute, //


      // _PlantName.PlantName,

      /*
            case when
                        resb.flgex
                    =   'X'
                and     resb.flgex
                    =   'E'
                and     resb.knttp
                    !=  ''
                and     rsadd.strecke
                    =   'X'
            then
                'X'
            else
                ''
            end                                                                               as  IsThirdPtyReqnForSalesOrdItem,
      */
      case when
                  resb.no_disp
              =   'X'

      then
          ''
      else
          'X'
      end                                                                                     as  PurchaseOrderExists,

      //     resb.pbdnr                                   as  RequirementPlan, //


      //     rsadd.bednr                                  as  RequirementTracking, //


      resb.kzear                                                                              as  ReservationIsFinallyIssued, //


      //    cast (rsadd.idnlf as idnlf)                   as  MaterialIDByVendor, //


      //     cast (rsadd.kunnr as kunnr)                  as  Customer, //


      cast (resb.sanka as ps_s4_ck_selkz)                                                     as  MaterialCompIsCostRelevant, //


      cast (resb.rgekz as rgekz)                                                              as  MatlCompIsMarkedForBackflush, //


      //    cast (resb.rohps as rohps)                   as  MaterialCompIsVariableSized, //


      cast (resb.schgt as schgt)                                                              as  IsBulkMaterialComponent, //


      cast (resb.sobkz as sobkz)                                                              as  MaterialCompIsSpecialStock, //


      cast (resb.txtps as txtps)                                                              as  MatlCompIsTextItem, //


      cast (resb.xfehl as xfehl)                                                              as  MaterialComponentIsMissing, //


      cast (resb.xloek as ps_s4_loevm)                                                        as  MatlCompIsMarkedForDeletion, //


      //    rsadd.flief                               as  FixedVendorName, //

      // @EndUserText.label: 'Is Reservation For Network'

      /*
            case when
                        resb.flgex
                    =   ''
                and     resb.vorab
                    =   ''
                and     resb.knttp
                    =   ''
            then
                'X'
            else
                ''
            end                                                                               as  IsReservationForNetwork,
            // @EndUserText.label: 'Is Plnd Indep Rqmt For Plant'

            case when
                        resb.flgex
                    =   ''
                and     resb.vorab
                    =   'X'
                and     resb.knttp
                    =   ''
            then
                'X'
            else
                ''
            end                                                                               as  IsPlndIndepRqmtForPlant,
            // @EndUserText.label: 'Is Pur Reqn For Network'

            case when
                        resb.sobkz
                    =   ''
                and     resb.knttp
                    !=  ''
                and     rsadd.strecke
                    =   ''
            then
                'X'
            else
                ''
            end                                                                               as  IsPurReqnForNetwork,
            // @EndUserText.label: 'Is Third Pty Reqn For Network'

            case when
                        resb.sobkz
                    =   ''
                and     resb.knttp
                    !=  ''
                and     rsadd.strecke
                    =   'X'
            then
                'X'
            else
                ''
            end                                                                               as  IsThirdPtyReqnForNetwork,
            // @EndUserText.label: 'Is Reservation For WBS Element'

            case when
                        resb.flgex
                    =   ''
                and     resb.vorab
                    =   ''
                and     resb.sobkz
                    =   'Q'
                and     resb.knttp
                    !=  ''
                and resb.pbdnr = ''
            then
                'X'
            else
                ''
            end                                                                               as  IsReservationForWBSElement,
            // @EndUserText.label: 'Is Plnd Indep Rqmt For WBS Element'

            case when
                        resb.flgex
                    =   ''
                and     resb.vorab
                    =   'X'
                and     resb.sobkz
                    =   'Q'
                and     resb.knttp
                    !=  ''
                and resb.pbdnr != ''
            then
                'X'
            else
                ''
            end                                                                               as  IsPlndIndepRqmtForWBSElement,
            // @EndUserText.label: 'Is Resvn Pur Reqn For WBS Element'

            case when
                        resb.flgex
                    =   'X'
                and     resb.vorab
                    =   ''
                and     resb.sobkz
                    =   'Q'
                and     resb.knttp
                    !=  ''
                and     rsadd.strecke
                    =   ''
            then
                'X'
            else
                ''
            end                                                                               as  IsResvnPurReqnForWBSElement,
            // @EndUserText.label: 'Is Third Pty Reqn For WBS Element'

            case when
                        resb.flgex
                    =   'X'
                and     resb.sobkz
                    =   'Q'
                and     resb.knttp
                    !=  ''
                and     rsadd.strecke
                    =   'X'
            then
                'X'
            else
                ''
            end                                                                               as  IsThirdPtyReqnForWBSElement,
            // @EndUserText.label: 'Is Prelim Reqn For WBS Element'

            case when
                        resb.flgex
                    =   'X'
                and     resb.vorab
                    =   'X'
                and     resb.sobkz
                    =   'Q'
                and     resb.knttp
                    !=  ''
                and     rsadd.strecke
                    =   ''
            then
                'X'
            else
                ''
            end                                                                               as  IsPrelimReqnForWBSElement,
            // @EndUserText.label: 'Is Reservation For Sales Ord Item'

            case when
                        resb.flgex
                    =   ''
                and     resb.vorab
                    =   ''
                and     resb.sobkz
                    =   'E'
                and     resb.knttp
                    !=  ''
                and resb.pbdnr = ''
            then
                'X'
            else
                ''
            end                                                                               as  IsReservationForSalesOrdItem,
            // @EndUserText.label: 'Is Plnd Indep Rqmt For Sales Ord Item'

            case when
                        resb.flgex
                    =   ''
                and     resb.vorab
                    =   'X'
                and     resb.sobkz
                    =   'E'
                and     resb.knttp
                    !=  ''
                and resb.pbdnr != ''
            then
                'X'
            else
                ''
            end                                                                               as  IsPlndIndepRqmtForSalesOrdItem,
            // @EndUserText.label: 'Is Resvn Pur Reqn For Sales Ord Item'

            case when
                        resb.flgex
                    =   'X'
                and     resb.vorab
                    =   ''
                and     resb.sobkz
                    =   'E'
                and     resb.knttp
                    !=  ''
                and     rsadd.strecke
                    =   ''
            then
                'X'
            else
                ''
            end                                                                               as  IsResvnPurReqnForSalesOrdItem,
            // @EndUserText.label: 'Is Prelim Reqn For Sales Ord Item'

            case when
                        resb.flgex
                    =   'X'
                and     resb.vorab
                    =   'X'
                and     resb.sobkz
                    =   'E'
                and     resb.knttp
                    !=  ''
                and     rsadd.strecke
                    =   ''
            then
                'X'
            else
                ''
            end                                                                               as  IsPrelimReqnForSalesOrdItem,

      */
      //    cast (resb.kdein as kdein)                   as  ScheduleLine, //


      //     cast (resb.kfpos as kfpos)                   as  MatlCompIsConfigurable, //


      cast (resb.knttp as ps_s4_knttp)                                                        as  AccountAssignmentCategory, //


      //     cast (resb.nafkz as nafkz)                   as  IsFollowUpMaterialActive, //


      cast (resb.no_disp as no_disp_plus)                                                     as  MatlCompIsRelevantForMRP, //


      cast(resb.wempf   as  ps_s4_wempf )                                                     as  GoodsRecipientName, //


      cast (resb.xwaok as xwaok)                                                              as  GoodsMovementIsAllowed, //


      rsadd.afnam                                                                             as  RequisitionerUser, //


      cast (rsadd.changeby as ps_s4_aenam)                                                    as  LastChangedByUser, //


      cast (rsadd.changedat as ps_s4_aedat)                                                   as  LastChangeDate, //


      cast (rsadd.creaby as ernam)                                                            as  CreatedByUser, //


      cast (rsadd.creadat as erdat)                                                           as  CreationDate,  //


      //     rsadd.ekorg                               as  PurchasingOrganisation, //


      cast (rsadd.emlif as emlif)                                                             as  Supplier, //


      rsadd.fplnr                                                                             as  BillingPlan, //


      //     rsadd.kzfix                                  as  PurgInfoRecdDataIsFixed, //


      _ProjectNetwork.ProjectNetworkDescription                                               as  ProjectNetworkDescription, //

      cast( NetworkActivity.Project as psb_bo_pspid_de preserving type )                      as  Project, //

      NetworkActivity.ProjectWithCodingMask                                                   as  ProjectWithCodingMask,

      cast ( resb.bdter as ps_s4_bdter preserving type )                                      as  MatlCompRequirementDate, //


      //     resb.cuobj                                   as  ProductConfiguration, //


      cast (resb.dbskz as dbskz)                                                              as  MaterialCompIsProcuredDirectly, //


      cast (resb.dumps as dumps)                                                              as  MaterialComponentIsPhantomItem, //


      cast (resb.flgex as flgex)                                                              as  MatlCompIsProcuredExternally, //


      //      cast(resb.vorab as vorabkz)                  as  IsPreliminaryOrder, //


      cast(resb.vornr  as pt_vornr_receiver preserving type )                                 as  NetworkActivity, //

      @Semantics.currencyCode: true
      cast (resb.waers as waers)                                                              as  Currency, //




      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      cast (resb.flmng as ps_s4_flmng)                                                        as  ShortfallQuantity, //


      //     @DefaultAggregation: #NONE

      //     @Semantics.quantity.unitOfMeasure: 'EntryUnit'

      //      resb.erfmg                                   as  QuantityInEntryUnit, //


      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      cast (resb.enmng  as pph_enmng )                                                        as  WithdrawnQuantity, //


      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      cast (resb.enmng as mmiv_quantity_received)                                             as  ReceivedQuantity,

      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      cast(resb.bdmng as ps_s4_bdmng preserving type )                                        as  RequirementQuantityInBaseUnit, //


      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      resb.lmeng                                                                              as  MRPRequiredQuantityInBaseUnit, //



      @DefaultAggregation: #NONE
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      resb.vmeng                                                                              as  ConfirmedAvailableQuantity, //

      @EndUserText.label: 'Price'
      //    // Medium label of data element ppcomp: 'Price/currency'

      @DefaultAggregation: #SUM
//     decimal_shift(

//         amount => resb.gpreis ,

//          currency => resb.waers,

//          error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR

//      )                                                                                       as  MaterialComponentPrice, //

   @Semantics.amount.currencyCode:'Currency'
    resb.gpreis                                                                               as  MaterialComponentPrice,
      @EndUserText.label: 'Withdrawn Quantity Amount'
       //Medium label of data element enwrt: 'Withdr. Value'

      @DefaultAggregation: #NONE
//      decimal_shift(

//          amount => resb.enwrt,

//          currency => resb.waers,

//          error_handling => #CNV_ERROR_HANDLING.FAIL_ON_ERROR

//      )                                                                                       as  WithdrawnQuantityAmount, //

    @Semantics.amount.currencyCode:'Currency'
    resb.enwrt                                                                                   as  WithdrawnQuantityAmount,
      //

      @EndUserText.label: 'Number Of Missing Matl Comp'
      @DefaultAggregation: #NONE
      case when
                  resb.xfehl  = 'X'
      then
          '1'
      else
          '0'
      end                                                                                     as  NumberOfMissingMatlComp,

      @DefaultAggregation: #SUM
      cast (resb.lifzt as ps_s4_lifzt)                                                        as  DeliveryDurationInDays, //


      @DefaultAggregation: #NONE
      resb.webaz                                                                              as  GoodsReceiptDurationInDays, //


      @EndUserText.label: 'Price Per Unit'
      @DefaultAggregation: #NONE

      resb.peinh                                                                              as  MaterialPriceUnitQty, //


      cast( resb.ablad as ps_s4_ablad preserving type )                                       as  UnloadingPointName,

      //    resb.banfn                                    as  PurchaseRequisition,


      //    cast (resb.bnfpo as ps_s4_bnfpo)              as  PurchaseRequisitionItem,


      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,

      //    resb.ebeln                                    as  PurchaseOrder,


      resb.matkl                                                                              as  MaterialGroup,

      cast(
      case
      when resb.dbskz <> 'F' and resb.flgex = ' ' and resb.vorab = ' ' and resb.knttp = ' '
      then 'K05'
      when resb.dbskz <> 'F' and resb.flgex = ' ' and resb.vorab = 'X'  and resb.knttp = ' '
      then 'K12'
      when resb.sobkz = ' ' and resb.knttp <> ' ' and rsadd.strecke = ' '
      then 'K01'
      when resb.sobkz = ' ' and resb.knttp <> ' ' and rsadd.strecke = 'X'
      then 'K02'
      when resb.dbskz <> 'F' and resb.flgex = ' ' and resb.vorab = ' ' and resb.sobkz = 'Q' and resb.knttp <> ' ' and resb.pbdnr = ' '
      then 'K06'
      when (resb.vorab = 'X'  or resb.pbdnr <> ' ') and (resb.dbskz <> 'F' and resb.flgex = ' ' and resb.sobkz = 'Q' and resb.knttp <> ' ')
      then 'K10'
      when (resb.flgex = 'X'  or resb.dbskz = 'F') and (resb.vorab = ' ' and resb.sobkz = 'Q' and resb.knttp <> ' ' and rsadd.strecke = ' ')
      then 'K08'
      when (resb.flgex = 'X'  or resb.dbskz = 'F') and (resb.sobkz = 'Q' and resb.knttp <> ' ' and rsadd.strecke = 'X')
      then   'K15'
      when  (resb.flgex = 'X'  or resb.dbskz = 'F') and (resb.vorab = 'X' and resb.sobkz = 'Q' and resb.knttp <> ' ' and rsadd.strecke = ' ')
      then 'K03'
      when resb.flgex <> 'F'  and resb.dbskz = ' ' and resb.vorab = ' ' and resb.sobkz = 'E' and resb.knttp <> ' ' and resb.pbdnr = ' '
      then 'K07'
      when (resb.vorab = 'F' or resb.pbdnr <> ' ') and (resb.dbskz <> 'F' and resb.flgex = ' ' and resb.sobkz = 'E' and resb.knttp <> ' ')
      then 'K11'
      when (resb.flgex = 'X'  or resb.dbskz = 'F') and (resb.vorab = ' ' and resb.sobkz = 'E' and resb.knttp <> ' ' and rsadd.strecke = ' ')
      then 'K09'
      when (resb.flgex = 'X'  or resb.dbskz = 'F') and (resb.sobkz = 'E' and resb.knttp <> ' ' and rsadd.strecke = 'X')
      then 'K16'
      when (resb.flgex = 'X'  or resb.dbskz = 'F') and (resb.vorab = 'X' and resb.sobkz = 'E' and resb.knttp <> ' ' and rsadd.strecke = ' ')
      then 'K04'
      end  as ps_s4_procmttyp )                                                               as  ProcurementType,

      resb.umren                                                                              as  MaterialQtyToBaseQtyDnmntr,
      resb.umrez                                                                              as  QuantityNumerator,

      @EndUserText.label: 'Committed Quantity'
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      case
      when resb.erfme <> ' ' and resb.erfme <> resb.meins
      then
        case
        when resb.vmeng = resb.bdmng
        then
          case
          when resb.bdmng is null
          then resb.bdmng
          else
             resb.erfmg
          end

         else
         cast(resb.vmeng as abap.fltp) * ( cast(resb.umren as abap.fltp) / cast(resb.umrez as abap.fltp))
          end

      else
      cast(resb.vmeng as abap.fltp)
      end                                                                                     as  CommittedQuantity,

      /*
            _BOMAssembly.Assembly,
            _BOMAssembly.AssemblyName,

            case
            when rsadd.bstlt is not null
            then _MainBOM1.Assembly
            else _MainBOM2.Assembly
            end                                           as  MainBOM,

            case
            when rsadd.bstlt is not null
            then _MainBOM1.AssemblyName
            else _MainBOM2.AssemblyName
            end                                           as  MainBOMName,

            case
            when rsadd.bstlt is not null
            then _MainBOM1.stlty
            else _MainBOM2.stlty
            end                                           as  MainBOMCat,

      */

      _ProjMatBOMAssembly.Assembly,
      _ProjMatBOMAssembly.AssemblyName,
      _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'
      resb.bdmng - resb.enmng                                                                 as  OpenQuantity,

      cast(PurReq.PurchaseRequisition as ps_s4_banfn preserving type)                         as  PurchaseRequisition,
      PurReq.PurchaseRequisitionItem,
      PurOrd.PurchaseOrder,
      PurOrd.PurchaseOrderItem,
      resb.fldlogssupplyprocess                                                               as FldLogsSupplyProcess,
      resb.fldlogsdelivisheldonshore                                                          as FldLogsDelivIsHeldOnShore,
      resb.fldlogsversion                                                                     as FldLogsVersion,


      //    Begin of Lean Service Fields-------------------------------------------

      resb.producttype                                                                                                            as ProductTypeCode, //

      resb.startdate                                                                                                              as PerformancePeriodStartDate,
      resb.enddate                                                                                                                as PerformancePeriodEndDate,
      resb.serviceperformer                                                                                                       as ServicePerformer,
      @Semantics.quantity.unitOfMeasure: 'LeanServiceDurationUnit'
      resb.serviceduration                                                                                                        as LeanServiceDuration,
      @Semantics.unitOfMeasure: true
      resb.servicedurationunit                                                                                                    as LeanServiceDurationUnit,
      @Semantics.amount.currencyCode: 'Currency'
      rsadd.overalllimitamount                                                                                                    as OverallLimitAmount,
      @Semantics.amount.currencyCode: 'Currency'
      rsadd.expectedoveralllimitamount                                                                                            as ExpectedOverallLimitAmount,
      //    End of Lean Service Fields---------------------------------------------



      _WBSElement,
      _WBSGroupElement,
      _AccAssgnmtCategory,
      _StorageLocation,
      _InventorySpecialStockType,
      _ProjectNetwork.ControllingArea,
      _MaterialText,
      _PlantName,
      _ProjectNetwork,
      _NetworkActivity,
      _Material,
      _BillOfMaterialItemCategory,
      _Supplier,
      _ProjMatlProcurementType,
      _ConsumptionPostingName,
      _ProjMatBomCategory,
      _BillOfMaterialCategory,
      _SpecialStockValuationName
};