I_ProjMatComponentVersion

DDL: I_PROJMATCOMPONENTVERSION SQL: IPROJMATCOMPVER Type: view BASIC

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). It has 20 associations to related views.

Data Sources (3)

SourceAliasJoin Type
grpga grpga left_outer
I_NetworkActivityVersion NetworkActivityVersion inner
vsrsadd_cn vsrsadd_cn left_outer

Associations (20)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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
@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


};