@AbapCatalog.sqlViewName: 'IPRDVALUATIONWD'
@EndUserText.label: 'Product BO - Valuation Node (draft)'
@Search.searchable: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType:#TRANSACTIONAL
@ObjectModel: {
writeDraftPersistence: 'PROD_VALUATION',
semanticKey: ['Product', 'ValuationArea','ValuationType'],
createEnabled: true,
deleteEnabled: true,
updateEnabled: true,
usageType.serviceQuality: #C,
usageType.sizeCategory : #XL,
usageType.dataClass: #TRANSACTIONAL
}
define view I_ProductValuationWD
as select from I_ProductValuationBasic as Valuation
association [0..1] to E_Productvaluation as _ActiveExtension on $projection.Product = _ActiveExtension.Product
and $projection.ValuationArea = _ActiveExtension.ValuationArea
and $projection.ValuationType = _ActiveExtension.ValuationType
association [0..1] to E_Productvaluation as _DraftExtension on $projection.Product = _DraftExtension.Product
and $projection.ValuationArea = _DraftExtension.ValuationArea
and $projection.ValuationType = _DraftExtension.ValuationType
// association [0..1] to E_Productvaluationd as _DraftExtension on $projection.DraftKey = _DraftExtension.DraftKey
association [1..1] to I_ProductWD as _Product on $projection.Product = _Product.Product
association [0..*] to I_Productmlaccountwd as _MLAccount on $projection.Product = _MLAccount.Product
and $projection.ValuationArea = _MLAccount.ValuationArea
and $projection.ValuationType = _MLAccount.ValuationType
association [0..*] to I_ProductMLPricesTP as _MLPrices on $projection.Product = _MLPrices.Product
and $projection.ValuationArea = _MLPrices.ValuationArea
and $projection.ValuationType = _MLPrices.ValuationType
association [0..1] to I_ProductValuationAcctTP as _ValuationAccount on $projection.Product = _ValuationAccount.Product
and $projection.ValuationArea = _ValuationAccount.ValuationArea
and $projection.ValuationType = _ValuationAccount.ValuationType
association [0..1] to I_ProductValuationCostingTP as _ValuationCosting on $projection.Product = _ValuationCosting.Product
and $projection.ValuationArea = _ValuationCosting.ValuationArea
and $projection.ValuationType = _ValuationCosting.ValuationType
{
@ObjectModel.readOnly:true
key Valuation.Product,
@ObjectModel.readOnly:true
key Valuation.ValuationArea,
@ObjectModel.readOnly:true
key Valuation.ValuationType,
@ObjectModel.readOnly: true
Valuation.ProdCostEstNumber,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #HIGH
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.ValuationArea as ValuationAreaForEdit,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.ValuationType as ValuationTypeForEdit,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.ValuationClass,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.PriceDeterminationControl,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.StandardPrice,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.PriceUnitQty,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.InventoryValuationProcedure,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.IsMarkedForDeletion,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.MovingAveragePrice,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.ValuationCategory,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.ProductUsageType,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.ProductOriginType,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.IsProducedInhouse,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.ValuationClassSalesOrderStock,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.ProjectStockValuationClass,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.PlannedPrice1InCoCodeCrcy,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.PlannedPrice2InCoCodeCrcy,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.PlannedPrice3InCoCodeCrcy,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.FuturePlndPrice1ValdtyDate,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.FuturePlndPrice2ValdtyDate,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.FuturePlndPrice3ValdtyDate,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.PriceLastChangeDate,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.Currency,
cast(case when Valuation.ValuationType <> '' then 'X' else ' ' end as abap.char( 1 ) ) as IsSplitValuation,
//Retail
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.ValuationMargin,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Valuation.BaseUnit,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION' "PSTAT Move : Moved to I_ProductValuationAcctTP
// Valuation.TaxClassificationCategory,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.ValuationClassInPrevYear, //pstat changes
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.ValuationClassInPrevPeriod, //pstat changes
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.FiscalMonthCurrentPeriod, //pstat chnages
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.FiscalYearCurrentPeriod, //pstat changes
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION' "PSTAT Move : Moved to I_ProductValuationAcctTP
// Valuation.FutureEvaluatedAmountValue,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION' "PSTAT Move : Moved to I_ProductValuationAcctTP
// Valuation.FuturePriceValidityStartDate,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION' "pstat
// Valuation.TotalValStockQuantity,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.TotalValStockPrevPeriod, "pstat
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.TotalValStockPrevPeriodValue, "pstat
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.TotalValStockPrevYear, "pstat
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.TotalValStockPrevYearValue, "pstat
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.TotalValStockValue, "pstat
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.ValnClsForSpclStkAtVndr, "pstat changes
//ML Fields
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.CostEstimateNumber,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION' "PSTAT Move : Moved to I_ProductValuationAcctTP
// Valuation.TaxPricel1InCoCodeCrcy,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION' "PSTAT Change : Moved to I_ProductValuationAcctTP
// Valuation.TaxPrice2InCoCodeCrcy,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION' "PSTAT Change : Moved to I_ProductValuationAcctTP
// Valuation.TaxPrice3InCoCodeCrcy,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.CommercialPrice1InCoCodeCrcy, "PSTAT Change : Moved to I_ProductValuationAcctTP
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.CommercialPrice2InCoCodeCrcy, "PSTAT Change : Moved to I_ProductValuationAcctTP
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.CommercialPrice3InCoCodeCrcy, "PSTAT Change : Moved to I_ProductValuationAcctTP
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.DevaluationYearCount, "PSTAT Change : Moved to I_ProductValuationAcctTP
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.LIFOValuationPoolNumber, "PSTAT Change : Moved to I_ProductValuationAcctTP
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.IsLIFOAndFIFORelevant, "PSTAT Change : Moved to I_ProductValuationAcctTP
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION' //PSTAT Delete.. needed only in basic for union
// Valuation.PlannedPrice,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION' "PSTAT Delete : Read only
// Valuation.FutrCostEstValuationVariant,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION' "PSTAT Delete : Read only
// Valuation.FutrPlanProjSlsOrdValnStrategy,
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
// Valuation.FixedPortionOfPlannedPrice, "PSTAT Delete : Read only
// @ObjectModel.readOnly: 'EXTERNAL_CALCULATION' "PSTAT Delete : Read only
// Valuation.FutureCostEstCostingVersion,
@ObjectModel.association.type: [ #TO_COMPOSITION_ROOT,#TO_COMPOSITION_PARENT ]
_Product,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_MLAccount,
// @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
// _ProdValPrices,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_MLPrices,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_ValuationAccount,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_ValuationCosting,
_ValuationClass,
//_ValuationClassText,
_ValnClassSalesOrderStock,
//_ValnClassSalesOrderStockText,
_ValnClassProjectStock,
//_ValnClassProjectStockText,
_InventoryValnProcedure,
//_InventoryValnProcedureText,
_PriceDeterminationControl,
//_PriceDeterminationControlText,
_BR_MaterialUsage,
//_BR_MaterialUsageText,
_BR_MaterialOrigin,
//_BR_MaterialOriginText,
_InventoryValuationType
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODUCTVALUATIONBASIC"
],
"ASSOCIATED":
[
"E_PRODUCTVALUATION",
"I_BR_MATERIALORIGIN",
"I_BR_MATERIALUSAGE",
"I_INVENTORYVALUATIONTYPE",
"I_PRICEDETERMINATIONCONTROL",
"I_PRODUCTMLACCOUNTWD",
"I_PRODUCTMLPRICESTP",
"I_PRODUCTVALUATIONACCTTP",
"I_PRODUCTVALUATIONCOSTINGTP",
"I_PRODUCTWD",
"I_PRODVALNPRICECONTROL",
"I_PRODVALUATIONCLASS"
],
"BASE":
[
"I_PRODUCTVALUATIONBASIC"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/