I_MatlValnMngMrkdReldCostEst

DDL: I_MATLVALNMNGMRKDRELDCOSTEST Type: view_entity COMPOSITE Package: ODATA_MATVAL_MANAGE

Matl Valuations Marked and Reld Cost Est

I_MatlValnMngMrkdReldCostEst is a Composite CDS View that provides data about "Matl Valuations Marked and Reld Cost Est" in SAP S/4HANA. It reads from 5 data sources (R_MarkingAllowance, I_ProductCostEstimate, I_Product, R_MatlLedgerValnCrcyRole, I_MaterialLedgerPrice) and exposes 28 fields with key fields CostEstimate, CostingVersion, ValuationVariant, ValuationArea, CompanyCode. Part of development package ODATA_MATVAL_MANAGE.

Data Sources (5)

SourceAliasJoin Type
R_MarkingAllowance f inner
I_ProductCostEstimate k inner
I_Product ma inner
R_MatlLedgerValnCrcyRole ml inner
I_MaterialLedgerPrice price from

Annotations (7)

NameValueLevelField
EndUserText.label Matl Valuations Marked and Reld Cost Est view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #COMPOSITE view

Fields (28)

KeyFieldSource TableSource FieldDescription
KEY CostEstimate I_MaterialLedgerPrice CostEstimate
KEY CostingVersion I_ProductCostEstimate CostingVersion
KEY ValuationVariant I_ProductCostEstimate ValuationVariant
KEY ValuationArea I_MaterialLedgerPrice ValuationArea
KEY CompanyCode I_MaterialLedgerPrice CompanyCode
KEY Ledger I_MaterialLedgerPrice Ledger
KEY CurrencyRole I_MaterialLedgerPrice CurrencyRole
AccountingValuationView R_MarkingAllowance AccountingValuationView
AccountingValuationSubview R_MarkingAllowance AccountingValuationSubview
CostEstimateStatus I_ProductCostEstimate CostEstimateStatus
CostingVariant I_ProductCostEstimate CostingVariant
CostingType I_ProductCostEstimate CostingType
ControllingValuationType R_MarkingAllowance AccountingValuationView
CostEstimateMarkingDate I_ProductCostEstimate CostEstimateMarkingDate
CostEstimateMarkedByUser I_ProductCostEstimate CostEstimateMarkedByUser
CostEstimateReleaseDate I_ProductCostEstimate CostEstimateReleaseDate
CostEstimateReleasedByUser I_ProductCostEstimate CostEstimateReleasedByUser
CurrencyRoleName R_MatlLedgerValnCrcyRole CurrencyRoleName
LegalCurrencyRole R_MatlLedgerValnCrcyRole LegalCurrencyRole
LegalCurrencyRoleName R_MatlLedgerValnCrcyRole LegalCurrencyRoleName
PlannedPrice I_MaterialLedgerPrice MaterialPrice
FixedPortionOfPlannedPrice I_MaterialLedgerPrice FixedPortionOfMaterialPrice
Currency I_MaterialLedgerPrice Currency
Material I_MaterialLedgerPrice Material
BaseUnit I_Product BaseUnit
ValuationQuantityUnit I_Product BaseUnit
MaterialPriceUnitQty I_MaterialLedgerPrice MaterialPriceUnitQty
CostEstimateValidityStartDate I_ProductCostEstimate CostEstimateValidityStartDate
@EndUserText.label: 'Matl Valuations Marked and Reld Cost Est'
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED
@VDM.viewType: #COMPOSITE

define view entity I_MatlValnMngMrkdReldCostEst
  as select from I_MaterialLedgerPrice    as price

    inner join   R_MatlLedgerValnCrcyRole as ml
      on  ml.CompanyCode  = price.CompanyCode
      and ml.Ledger       = price.Ledger
      and ml.CurrencyRole = price.CurrencyRole

    inner join   R_MarkingAllowance       as f
      on  f.CompanyCode                = price.CompanyCode
      and f.AccountingValuationView    = ml.AccountingValuationView
      and f.AccountingValuationSubview = ml.AccountingValuationSubview
      and f.Ledger = price.Ledger
      and f.FiscalPeriod               = price.MatlPrcValdtyStartFiscalPeriod
      and f.FiscalYear                 = price.MatlPrcValidityStartFiscalYear

    inner join   I_ProductCostEstimate    as k
      on  k.CostingReferenceObject = '0'
      and k.CostEstimate           = price.CostEstimate
      and k.CostingVariant         = f.CostingVariant
      and k.CostingVersion         = f.CostingVersion
      and k.PostingFiscalYear      = f.FiscalYear
      and k.PostingPeriod          = f.FiscalPeriod

    inner join   I_Product                as ma
      on ma.Product = price.Material

{
  key price.CostEstimate                as CostEstimate,
  key k.CostingVersion                  as CostingVersion,
  key k.ValuationVariant                as ValuationVariant,
//  key ml.LedgerValuationCurrencyRole    as LedgerValuationCurrencyRole,

  key price.ValuationArea               as ValuationArea,
  key price.CompanyCode                 as CompanyCode,
  key price.Ledger,
  key price.CurrencyRole,

      f.AccountingValuationView         as AccountingValuationView,
      f.AccountingValuationSubview      as AccountingValuationSubview,
      k.CostEstimateStatus, //              as CostingStatus,

      k.CostingVariant                  as CostingVariant,
      k.CostingType                     as CostingType,
      f.AccountingValuationView         as ControllingValuationType,
      k.CostEstimateMarkingDate         as CostEstimateMarkingDate,
      k.CostEstimateMarkedByUser,

      k.CostEstimateReleaseDate         as CostEstimateReleaseDate,
      k.CostEstimateReleasedByUser,

      ml.CurrencyRoleName,
      ml.LegalCurrencyRole,
      ml.LegalCurrencyRoleName,

      @Semantics.amount.currencyCode: 'Currency'
      price.MaterialPrice               as PlannedPrice,

      @Semantics.amount.currencyCode: 'Currency'
      price.FixedPortionOfMaterialPrice as FixedPortionOfPlannedPrice,

      price.Currency                    as Currency,
      price.Material                    as Material,
      ma.BaseUnit                       as BaseUnit,
      ma.BaseUnit                       as ValuationQuantityUnit,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      price.MaterialPriceUnitQty        as MaterialPriceUnitQty,
      // Valuation UOM for Catch Weight Management

      // Catch Weight Management is currently not relevant for the cloud, but discussions are ongoing about its potential activation in the future.

      // Adjustments are required in the I_Product CDS view and here as well when it is activated.

//      cast (case

//              when ma./cwm/xcwmat = 'X' and ma./cwm/valum <> '' then ma./cwm/valum

//              else ma.meins

//            end as /cwm/valum)          as ValuationQuantityUnit,

      //      ma./cwm/xcwmat,

      k.CostEstimateValidityStartDate   as CostEstimateValidityStartDate
}

where (   (    price.MaterialPriceType              = 'FSTDCE'
           and k.CostEstimateStatus                 = 'VO')
       or (    price.MaterialPriceType              = 'STDCE'
           and price.MaterialPriceCostEstimateStage = 'C'
           and k.CostEstimateStatus                 = 'FR'))