P_ProductValuationWD

DDL: P_PRODUCTVALUATIONWD SQL: PPRDVALUATIONWD Type: view COMPOSITE

P_ProductValuationWD is a Composite CDS View in SAP S/4HANA. It reads from 5 data sources (I_ProductValuation, I_DraftAdministrativeData, P_ProductValuationD, P_ProductValuationD, P_ProductD) and exposes 35 fields with key fields Draftkey, ActiveProduct, ActiveValuationArea, ActiveInventoryValuationType, ActiveProduct.

Data Sources (5)

SourceAliasJoin Type
I_ProductValuation ActiveDocument from
I_DraftAdministrativeData DraftAdministrativeData inner
P_ProductValuationD DraftDocument left_outer
P_ProductValuationD DraftDocument union_all
P_ProductD DraftRootDocument inner

Annotations (6)

NameValueLevelField
AbapCatalog.sqlViewName PPRDVALUATIONWD view
VDM.viewType #COMPOSITE view
VDM.private true view
ClientDependent true view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view

Fields (35)

KeyFieldSource TableSource FieldDescription
KEY Draftkey
KEY ActiveProduct I_ProductValuation Product
KEY ActiveValuationArea I_ProductValuation ValuationArea
KEY ActiveInventoryValuationType I_ProductValuation ValuationType
ParentDraftKey
Product I_ProductValuation Product
ValuationArea I_ProductValuation ValuationArea
ValuationType I_ProductValuation ValuationType
ValuationClass I_ProductValuation ValuationClass
PriceDeterminationControl I_ProductValuation PriceDeterminationControl
IsMarkedForDeletion
StandardPrice I_ProductValuation StandardPrice
PriceUnitQty I_ProductValuation PriceUnitQty
InventoryValuationProcedure I_ProductValuation InventoryValuationProcedure
MovingAveragePrice I_ProductValuation MovingAveragePrice
ValuationCategory I_ProductValuation ValuationCategory
ProductUsageType I_ProductValuation ProductUsageType
ProductOriginType I_ProductValuation ProductOriginType
IsProducedInhouse I_ProductValuation IsProducedInhouse
ProdCostEstNumber I_ProductValuation ProdCostEstNumber
ValuationMargin I_ProductValuation ValuationMargin
IsActiveEntity
HasActiveEntity
DraftkeyasDraftkey
KEY ActiveProduct P_ProductValuationD ActiveProduct
KEY ActiveValuationArea P_ProductValuationD ActiveValuationArea
KEY ActiveInventoryValuationType P_ProductValuationD ActiveInventoryValuationType
ParentDraftKey P_ProductValuationD ParentDraftKey
product P_ProductD product
IsMarkedForDeletion
priceunitqty P_ProductValuationD priceunitqty
IsActiveEntity
HasActiveEntity
HasDraftEntity
DraftAdministrativeDataUUID
@AbapCatalog.sqlViewName: 'PPRDVALUATIONWD'
@VDM.viewType: #COMPOSITE
@VDM.private: true
@ClientDependent: true
@AbapCatalog.compiler.compareFilter: true
//@EndUserText.label: 'Product Valuation Union (draft)'

@AccessControl.authorizationCheck: #NOT_REQUIRED
define view P_ProductValuationWD
  as select from    I_ProductValuation  as ActiveDocument
  //    left outer join P_ProductD          as DraftRootDocument on DraftRootDocument.product = ActiveDocument.Product

  //    left outer join P_ProductValuationD as DraftDocument     on DraftDocument.ParentDraftKey = DraftRootDocument.Draftkey

    left outer join P_ProductValuationD as DraftDocument on  DraftDocument.ActiveProduct                = ActiveDocument.Product
                                                         and DraftDocument.ActiveValuationArea          = ActiveDocument.ValuationArea
                                                         and DraftDocument.ActiveInventoryValuationType = ActiveDocument.ValuationType
{
  key cast ( hextobin('00000000000000000000000000000000') as sysuuid_x )                       as Draftkey,
  key ActiveDocument.Product                                                                   as ActiveProduct,
  key ActiveDocument.ValuationArea                                                             as ActiveValuationArea,
  key ActiveDocument.ValuationType                                                             as ActiveInventoryValuationType,
      cast ( hextobin('00000000000000000000000000000000') as sysuuid_x )                       as ParentDraftKey,
      ActiveDocument.Product,
      ActiveDocument.ValuationArea,
      ActiveDocument.ValuationType,
      ActiveDocument.ValuationClass,
      ActiveDocument.PriceDeterminationControl,
      //      ActiveDocument.TaxClassificationCategory,

      //      ActiveDocument.ValuationClassInPrevYear, //pstat changes

      //      ActiveDocument.ValuationClassInPrevPeriod, //pstat changes

      //      ActiveDocument.FiscalMonthCurrentPeriod,   // pstat changes

      //      ActiveDocument.FiscalYearCurrentPeriod,     // pstat changes

      cast(ActiveDocument.IsMarkedForDeletion as boole_d)                                      as IsMarkedForDeletion,
      ActiveDocument.StandardPrice,
      ActiveDocument.PriceUnitQty,
      ActiveDocument.InventoryValuationProcedure,
      //      ActiveDocument.FutureEvaluatedAmountValue,   "PSTAT Move

      //      ActiveDocument.FuturePriceValidityStartDate,    "PSTAT Move

      //      ActiveDocument.TotalValStockQuantity,       //pstat

      ActiveDocument.MovingAveragePrice,
      //      ActiveDocument.TotalValStockPrevPeriod,     //pstat

      //      ActiveDocument.TotalValStockPrevPeriodValue,  //pstat

      //      ActiveDocument.TotalValStockPrevYear,       //pstat

      //      ActiveDocument.TotalValStockPrevYearValue,  //pstat

      ActiveDocument.ValuationCategory,
      //      ActiveDocument.TotalValStockValue,          //pstat

      ActiveDocument.ProductUsageType,
      ActiveDocument.ProductOriginType,
      ActiveDocument.IsProducedInhouse,
      //      ActiveDocument.ValnClsForSpclStkAtVndr,     //pstat

      ActiveDocument.ProdCostEstNumber,
      //      ActiveDocument.CostEstimateNumber,


      //Retail field

      ActiveDocument.ValuationMargin,



      cast( 'X' as boole_d )                                                                   as IsActiveEntity,
      cast( ' ' as boole_d )                                                                   as HasActiveEntity,
      cast(
      case
       when DraftDocument.Draftkey is null
       then ' '
       else 'X'
      end  as boole_d)                                                                         as HasDraftEntity,
      cast(DraftDocument.ParentDraftKey as sysuuid_x )                                         as DraftAdministrativeDataUUID
}

union all

select from  P_ProductValuationD       as DraftDocument
  inner join P_ProductD                as DraftRootDocument       on DraftRootDocument.Draftkey = DraftDocument.ParentDraftKey
  inner join I_DraftAdministrativeData as DraftAdministrativeData on DraftAdministrativeData.DraftUUID = DraftDocument.ParentDraftKey
//

{
  key DraftDocument.Draftkey                                                        as Draftkey,
  key DraftDocument.ActiveProduct                                                   as ActiveProduct,
  key DraftDocument.ActiveValuationArea                                             as ActiveValuationArea,
  key DraftDocument.ActiveInventoryValuationType                                    as ActiveInventoryValuationType,
      DraftDocument.ParentDraftKey                                                  as ParentDraftKey,
      DraftRootDocument.product,
      DraftDocument.valuationarea,
      DraftDocument.valuationtype,
      DraftDocument.valuationclass,
      DraftDocument.pricedeterminationcontrol,
      //      DraftDocument.taxclassificationcategory,

      //      DraftDocument.valuationclassinprevyear, //pstat changes

      //      DraftDocument.valuationclassinprevperiod, //pstat changes

      //      DraftDocument.fiscalmonthcurrentperiod,   // pstat changes

      //      DraftDocument.fiscalyearcurrentperiod,    // pstat changes

      cast(DraftDocument.ismarkedfordeletion as boole_d)                            as IsMarkedForDeletion,
      DraftDocument.standardprice,
      DraftDocument.priceunitqty,
      DraftDocument.inventoryvaluationprocedure,
      //      DraftDocument.futureevaluatedamountvalue,  "PSTAT Move

      //      DraftDocument.futurepricevaliditystartdate,    "PSTAT Move

      //      DraftDocument.totalvalstockquantity,        //pstat

      DraftDocument.movingaverageprice,
      //      DraftDocument.totalvalstockprevperiod,      //pstat

      //      DraftDocument.totalvalstockprevperiodvalue,   //pstat

      //      DraftDocument.totalvalstockprevyear,        //pstat

      //      DraftDocument.totalvalstockprevyearvalue,   //pstat

      DraftDocument.valuationcategory,
      //      DraftDocument.totalvalstockvalue,     //pstat

      DraftDocument.productusagetype,
      DraftDocument.productorigintype,
      DraftDocument.isproducedinhouse,
      //      DraftDocument.valnclsforspclstkatvndr,  //pstat

      DraftDocument.prodcostestnumber,
      //      DraftDocument.costestimatenumber,


      //Retail field

      DraftDocument.valuationmargin,



      cast( ' ' as boole_d )                                                        as IsActiveEntity,
      cast( DraftDocument.hasactiveentity as boole_d )                              as HasActiveEntity,
      cast( ' ' as boole_d )                                                        as HasDraftEntity,
      cast(DraftDocument.ParentDraftKey as sysuuid_x )                              as DraftAdministrativeDataUUID
}
where
     DraftAdministrativeData.CreatedByUser   = $session.user
  or DraftAdministrativeData.InProcessByUser = $session.user
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_DRAFTADMINISTRATIVEDATA",
"I_PRODUCTVALUATION",
"P_PRODUCTD",
"P_PRODUCTVALUATIOND"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/