I_WORKCENTERPRODUCTCOST
Interface View for Product Cost by Work Center
I_WORKCENTERPRODUCTCOST is a CDS View in S/4HANA. Interface View for Product Cost by Work Center. 1 CDS views read from this table.
CDS Views using this table (1)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| I_WorkCenterProdCostCube | view | from | COMPOSITE | Production Cost By Work Center |
@AbapCatalog.sqlViewName: 'IFIPRODCOSTBYWC'
@ClientHandling.type: #CLIENT_DEPENDENT
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.representativeKey: 'WorkCenterInternalID'
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
@Metadata.ignorePropagatedAnnotations: true
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@EndUserText.label: 'Interface View for Product Cost by Work Center'
define view I_WorkCenterProductCost
with parameters
P_FromFiscalYearPeriod : fis_jahrper,
P_ToFiscalYearPeriod : fis_jahrper,
P_PlanningCategory : fcom_category,
P_CurrencyRole : fac_crcyrole
as select from P_WorkCenterProductCost (
P_FromFiscalYearPeriod : $parameters.P_FromFiscalYearPeriod,
P_ToFiscalYearPeriod : $parameters.P_ToFiscalYearPeriod,
P_PlanningCategory : $parameters.P_PlanningCategory,
P_CurrencyRole : $parameters.P_CurrencyRole
) as _costs
// inner join I_COPCCObjectStatus as _Status on _costs.OrderID = _Status.OrderID
// and _Status.OrderItem = '0000'
// and (
// _Status.ControllingObjectStatus = 'OPEN'
// or _Status.ControllingObjectStatus = 'CLSD'
// )
association [0..1] to I_ProductCostCtrlgOrder as _CtrlgOrder on $projection.OrderID = _CtrlgOrder.OrderID
// and $projection.CompanyCode = _CtrlgOrder.CompanyCode
association [0..1] to I_ProductCostCtrlgOrderItem as _RepresentativeOrderItem on $projection.OrderID = _RepresentativeOrderItem.OrderID
and _RepresentativeOrderItem.OrderItem = '0001'
association [0..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [0..1] to I_WorkCenter as _WorkCenter on $projection.WorkCenterInternalID = _WorkCenter.WorkCenterInternalID
and _WorkCenter.WorkCenterTypeCode = 'A'
association [0..1] to I_Material as _Material on $projection.Material = _Material.Material
association [0..1] to I_GLAccount as _GLAccount on $projection.GLAccount = _GLAccount.GLAccount
and $projection.CompanyCode = _GLAccount.CompanyCode
association [0..*] to I_CostCenter as _CostCenter on $projection.PartnerCostCenter = _CostCenter.CostCenter
and $projection.ControllingArea = _CostCenter.ControllingArea
association [0..*] to I_CostCenterActivityType as _ActivityType on $projection.PartnerCostCtrActivityType = _ActivityType.CostCtrActivityType
and $projection.ControllingArea = _ActivityType.ControllingArea
association [0..1] to I_UnitOfMeasure as _Unit on $projection.UnitOfMeasure = _Unit.UnitOfMeasure
association [0..1] to I_ControllingArea as _ControllingArea on $projection.ControllingArea = _ControllingArea.ControllingArea
association [0..1] to I_Plant as _Plant on $projection.Plant = _Plant.Plant
association [0..1] to I_ProductionOrderOperation as _ProdnOrdOp on $projection.OrderID = _ProdnOrdOp.OrderID
and $projection.OrderOperation = _ProdnOrdOp.OrderOperation
association [0..1] to I_ProcessOrderOperation as _ProcOrdOp on $projection.OrderID = _ProcOrdOp.OrderID
and $projection.OrderOperation = _ProcOrdOp.OrderOperation
association [0..1] to I_MfgOrderCategory as _OrderCategory on $projection.ordercategory = _OrderCategory.ManufacturingOrderCategory
association [0..1] to I_OrderType as _OrderType on $projection.ordertype = _OrderType.OrderType
association [0..1] to I_Ledger as _Ledger on $projection.Ledger = _Ledger.Ledger
{
@ObjectModel.foreignKey.association: '_CtrlgOrder'
key _costs.OrderID as OrderID,
//key _costs.OrderItem,
@ObjectModel.foreignKey.association: '_ProdnOrdOp'
key cast(COALESCE(OrderOperation, '') as fis_vornr) as OrderOperation,
@ObjectModel.foreignKey.association: '_Ledger'
key Ledger,
key WorkCenterInternalID,
@ObjectModel.foreignKey.association: '_GLAccount'
key cast(GLAccount as fis_saknr) as GLAccount,
@ObjectModel.foreignKey.association: '_Material'
key cast(COALESCE(_costs.Material, '') as matnr) as Material,
// key cast(COALESCE(_costs.Material, '') as matnr) as Material,
@ObjectModel.foreignKey.association: '_CostCenter'
// key cast(COALESCE(PartnerCostCenter, '') as fis_skost) as PartnerCostCenter,
//key cast(COALESCE(PartnerCostCenter, '') as fis_cctr_no) as PartnerCostCenter,
key cast(case when PartnerCostCenter is null then _WorkCenter._WorkCenterCostCenter.CostCenter
when PartnerCostCenter = '' then _WorkCenter._WorkCenterCostCenter.CostCenter
else PartnerCostCenter end as fis_skost) as PartnerCostCenter,
@ObjectModel.foreignKey.association: '_ActivityType'
// key cast(COALESCE(PartnerCostCtrActivityType, '') as lstar) as PartnerCostCtrActivityType,
key cast(COALESCE(PartnerCostCtrActivityType, '') as lstar) as PartnerCostCtrActivityType,
@Semantics.unitOfMeasure:true
@ObjectModel.foreignKey.association: '_Unit'
key cast(UnitOfMeasure as co_meinh) as UnitOfMeasure,
cast(COALESCE(_WorkCenter.WorkCenter, '') as pph_arbpl) as WorkCenter,
@ObjectModel.foreignKey.association: '_ControllingArea'
//_CtrlgOrder.ControllingArea,
_costs.ControllingArea,
@ObjectModel.foreignKey.association: '_CompanyCode'
// _CtrlgOrder.CompanyCode,
_costs.CompanyCode,
_CtrlgOrder.ProfitCenter,
_costs.Plant,
//_CtrlgOrder.Plant,
_CtrlgOrder.OrderDescription,
_CtrlgOrder.OrderCategory,
_CtrlgOrder.OrderType,
_CtrlgOrder.BusinessArea,
_CtrlgOrder.ResponsibleCostCenter,
_CtrlgOrder.ReferenceOrder,
_CtrlgOrder.MfgOrderHasMultipleItems,
_CtrlgOrder.OrderIsEventBasedPosting,
_RepresentativeOrderItem.MRPPlant,
_RepresentativeOrderItem.SalesOrder as SalesOrder,
@Semantics.businessDate.at: true
cast(substring( cast(tstmp_current_utctimestamp() as abap.char( 17 ) ), 1, 8 ) as abap.dats ) as ValidityDate,
// Currencies
@Semantics.currencyCode: true
GlobalCurrency,
@Semantics.currencyCode: true
_costs.CompanyCodeCurrency,
@Semantics.currencyCode: true
DisplayCurrency,
//Plan Costs in GlobalCurrency
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast(DebitPlanCostInCtrlgAreaCrcy as fis_dr_plancost_in_cocrcy) as DebitPlanCostInCtrlgAreaCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast(DebitPlnFxdCostInCtrlgAreaCrcy as fis_dr_plnfxdcost_in_cocrcy ) as DebitPlnFxdCostInCtrlgAreaCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast((DebitPlanCostInCtrlgAreaCrcy - DebitPlnFxdCostInCtrlgAreaCrcy) as fis_dr_plnvarblcost_in_cocrcy) as DebitPlnVarblCostInCOCrcy,
//Plan Costs in CompanyCodeCurrency/ObjectCurrency
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast(DebitPlanCostInCoCodeCurrency as fis_dr_plancost_in_cccrcy) as DebitPlanCostInCoCodeCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast(DebitPlnFxdCostInCoCodeCrcy as fis_dr_planfxdcost_in_cccrcy) as DebitPlanFixedCostInCoCodeCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast((DebitPlanCostInCoCodeCurrency - DebitPlnFxdCostInCoCodeCrcy) as fis_dr_plnvarblcost_in_cccrcy) as DebitPlanVarblCostInCoCodeCrcy,
//Plan Costs in Display Currency
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'DisplayCurrency'} }
cast(DebitPlanCostInDspCrcy as fis_dr_plancost_in_dspcrcy) as DebitPlanCostInDspCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'DisplayCurrency'} }
cast(DebitPlnFxdCostInDspCrcy as fis_dr_plnfxdcost_in_dspcrcy ) as DebitPlnFxdCostInDspCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'DisplayCurrency'} }
cast((DebitPlanCostInDspCrcy - DebitPlnFxdCostInDspCrcy) as fis_dr_plnvarblcost_in_dspcrcy) as DebitPlnVarblCostInDspCrcy,
//Actual Costs in Global Currency
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast(DebitActlCostInCtrlgAreaCrcy as fis_dr_actlcost_in_cocrcy) as DebitActlCostInCtrlgAreaCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast(DebitActlFxdCostInCOCrcy as fis_dr_actlfxdcost_in_cocrcy) as DebitActlFxdCostInCOCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast((DebitActlCostInCtrlgAreaCrcy - DebitActlFxdCostInCOCrcy) as fis_actlvarblcost_in_cocrcy) as DebitActlVarblCostInCOCrcy,
//Actual Costs in Company Code Currency
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast(DebitActualCostInCoCodeCrcy as fis_dr_actlcost_in_cccrcy) as DebitActlCostInCoCodeCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast(DebitActlFxdCostInCoCodeCrcy as fis_dr_actlfxdcost_in_cccrcy) as DebitActlFixedCostInCoCodeCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast((DebitActualCostInCoCodeCrcy - DebitActlFxdCostInCoCodeCrcy) as fis_dr_actlvarblcost_incccrcy) as DebitActlVarblCostInCoCodeCrcy,
//Actual Costs in Display Currency
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'DisplayCurrency'} }
cast(DebitActlCostInDspCrcy as fis_dr_actlcost_in_dspcrcy) as DebitActlCostInDspCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'DisplayCurrency'} }
cast(DebitActlFxdCostInDspCrcy as fis_dr_actlfxdcost_in_dspcrcy) as DebitActlFxdCostInDspCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'DisplayCurrency'} }
cast((DebitActlCostInDspCrcy - DebitActlFxdCostInDspCrcy) as fis_dr_actlvarblcost_indspcrcy) as DebitActlVarblCostInDspCrcy,
//Plan - Actual Deviation
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast((DebitActlCostInCtrlgAreaCrcy - DebitPlanCostInCtrlgAreaCrcy) as fis_dr_actlplndiffcostincocrcy) as DebitActlPlnDiffCostInCOCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast((DebitActualCostInCoCodeCrcy - DebitPlanCostInCoCodeCurrency) as fis_dractlplndiffcostincccrcy) as DebitActlPlnDiffCostInCCCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'DisplayCurrency'} }
cast((DebitActlCostInDspCrcy - DebitPlanCostInDspCrcy) as fis_dr_actlplndiffcostincocrcy) as DebitActlPlnDiffCostInDspCrcy,
//Quantity
@DefaultAggregation: #SUM
@Semantics: { quantity : {unitOfMeasure: 'UnitOfMeasure'} }
cast(ActualTotalQuantity as fis_actlqty_in_costsrceunit) as ActualQtyInCostSourceUnit,
@DefaultAggregation: #SUM
@Semantics: { quantity : {unitOfMeasure: 'UnitOfMeasure'} }
cast(PlanTotalQuantity as fis_planqty_in_costsrceunit) as PlanQtyInCostSourceUnit,
//Plan - Actual Quantity Deviation
@DefaultAggregation: #SUM
@Semantics: { quantity : {unitOfMeasure: 'UnitOfMeasure'} }
cast((ActualTotalQuantity - PlanTotalQuantity) as fis_actlplandiffquantity) as ActlPlanDiffQuantity,
_CtrlgOrder,
_CompanyCode,
_WorkCenter,
_Material,
_GLAccount,
_CostCenter,
_ActivityType,
_ControllingArea,
_Unit,
_Plant,
_ProdnOrdOp,
_ProcOrdOp,
_OrderCategory,
_Ledger,
_OrderType
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODUCTCOSTCTRLGORDER",
"I_PRODUCTCOSTCTRLGORDERITEM",
"I_WORKCENTER",
"I_WORKCENTERCOSTCENTER",
"P_WORKCENTERPRODUCTCOST"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_COSTCENTERACTIVITYTYPE",
"I_GLACCOUNT",
"I_LEDGER",
"I_MATERIAL",
"I_MFGORDERCATEGORY",
"I_ORDERTYPE",
"I_PLANT",
"I_PROCESSORDEROPERATION",
"I_PRODUCTCOSTCTRLGORDER",
"I_PRODUCTCOSTCTRLGORDERITEM",
"I_PRODUCTIONORDEROPERATION",
"I_UNITOFMEASURE",
"I_WORKCENTER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/