@AbapCatalog.sqlViewName: 'PRTMOTBPKPI1'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
//@EndUserText.label: 'Event-based Order KPI'
@VDM.viewType: #COMPOSITE
@VDM.private:true
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@AbapCatalog.preserveKey:true
define view P_RealTimeMfgOrderToBePostKPI1
with parameters
P_FiscalPeriodStartDate : budat,
P_FiscalPeriodEndDate : budat
as select from P_RealTimeMfgOrder(P_FiscalPeriodEndDate : $parameters.P_FiscalPeriodEndDate) as _Ord
inner join I_LedgerCompanyCodeCrcyRoles as _CrcyRoles on _CrcyRoles.CompanyCode = _Ord.CompanyCode
//inner join I_Ledger as _Ledger on _CrcyRoles.Ledger = _Ledger.Ledger
// and _Ledger.LedgerType = ''
left outer to one join P_RealTimeMfgOrdWIPRlvtActCost(P_FiscalPeriodStartDate : $parameters.P_FiscalPeriodStartDate,
P_FiscalPeriodEndDate : $parameters.P_FiscalPeriodEndDate
) as _ActlCosts on _ActlCosts.OrderID = _Ord.OrderID
and _ActlCosts.Ledger = _CrcyRoles.Ledger
and _ActlCosts.CompanyCode = _Ord.CompanyCode
left outer to one join P_RealTimeMfgOrdBalance(P_FiscalPeriodStartDate : $parameters.P_FiscalPeriodStartDate,
P_FiscalPeriodEndDate : $parameters.P_FiscalPeriodEndDate
) as _Balance on _Balance.OrderID = _Ord.OrderID
and _Balance.Ledger = _CrcyRoles.Ledger
and _Balance.CompanyCode = _Ord.CompanyCode
left outer to one join P_RealTimeMfgOrderWIP(P_FiscalPeriodStartDate : $parameters.P_FiscalPeriodStartDate,
P_FiscalPeriodEndDate : $parameters.P_FiscalPeriodEndDate
) as _WIP on _WIP.OrderID = _Ord.OrderID
and _WIP.Ledger = _CrcyRoles.Ledger
and _WIP.CompanyCode = _Ord.CompanyCode
left outer to one join P_RealTimeMfgOrderReserve(P_FiscalPeriodStartDate : $parameters.P_FiscalPeriodStartDate,
P_FiscalPeriodEndDate : $parameters.P_FiscalPeriodEndDate
) as _Rsrv on _Rsrv.OrderID = _Ord.OrderID
and _Rsrv.Ledger = _CrcyRoles.Ledger
left outer to one join R_EvtBsdProdnCostError as _OrderLog on _Ord.OrderID = _OrderLog.OrderID
and _CrcyRoles.Ledger = _OrderLog.Ledger
and _OrderLog.BusinessTransactionCategory <> 'KZPR'
// left outer to one join P_COOutputQuantitiesByObject(
// P_FromFiscalYearPeriod : '0000000',
// P_ToFiscalYearPeriod : $parameters.P_ToFiscalYearPeriod) as _OutputQty on _Ord.ControllingObject = _OutputQty.ControllingObject
{
key _Ord.OrderID,
key _Ledger.Ledger,
_Ledger._Text[1: Language = $session.system_language].LedgerName,
_Ord.OrderDescription,
_Ord.ControllingObject,
_Ord.OrderType,
_Ord.OrderCategory,
_Ord.ControllingArea,
_Ord.CompanyCode,
_Ord.Material,
_Ord.Plant,
_Ord.StatusCode,
ProfitCenter,
ResultsAnalysisKey,
// ProductionUnit,
_OrderLog.SimulationStatus,
_OrderLog.LogNumber,
LogHandle,
_OrderLog.LogMessageText,
//Severity,
_OrderLog.EventBasedProdnCostWlLogType,
// @Semantics.unitOfMeasure:true
// cast(CostCtrActivityTypeQtyUnit as fis_meinh) as BaseUnit,
// @DefaultAggregation: #SUM
// @Semantics: { quantity : {unitOfMeasure: 'BaseUnit'} }
// COALESCE(PlanOutputQuantity, 0) as PlanOutputQuantity,
// @DefaultAggregation: #SUM
// @Semantics: { quantity : {unitOfMeasure: 'BaseUnit'} }
// COALESCE(ActualOutputQuantity, 0) as ActualOutputQuantity,
/////////////////////////////////////////////////////////////////////////////////////
// //Cumulative to be posted value
/////////////////////////////////////////////////////////////////////////////////////
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast(
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.AmountInCompanyCodeCurrency, 0)
- coalesce(_WIP.AmountInCompanyCodeCurrency, 0)
- coalesce(_Rsrv.AmountInCompanyCodeCurrency, 0)
else
//COALESCE(_Balance.AmountInCompanyCodeCurrency, 0)
_Balance.AmountInCompanyCodeCurrency
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.AmountInCompanyCodeCurrency, 0)
- coalesce(_WIP.AmountInCompanyCodeCurrency, 0)
- coalesce(_Rsrv.AmountInCompanyCodeCurrency, 0)
else
- coalesce(_WIP.AmountInCompanyCodeCurrency, 0)
//- _WIP.AmountInCompanyCodeCurrency
- coalesce(_Rsrv.AmountInCompanyCodeCurrency, 0)
end
else
//COALESCE(_Balance.AmountInCompanyCodeCurrency, 0)
_Balance.AmountInCompanyCodeCurrency
end
end as fis_hsl) as AmountInCompanyCodeCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.AmountInGlobalCurrency, 0)
- coalesce(_WIP.AmountInGlobalCurrency, 0)
- coalesce(_Rsrv.AmountInGlobalCurrency, 0)
else
// COALESCE(_Balance.AmountInGlobalCurrency, 0)
_Balance.AmountInGlobalCurrency
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.AmountInGlobalCurrency, 0)
- coalesce(_WIP.AmountInGlobalCurrency, 0)
- coalesce(_Rsrv.AmountInGlobalCurrency, 0)
else
- coalesce(_WIP.AmountInGlobalCurrency, 0)
//- _WIP.AmountInGlobalCurrency
- coalesce(_Rsrv.AmountInGlobalCurrency, 0)
end
else
//COALESCE(_Balance.AmountInGlobalCurrency, 0)
_Balance.AmountInGlobalCurrency
end
end as fis_ksl ) as AmountInGlobalCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.AmountInFreeDefinedCurrency1, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency1, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency1, 0)
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency1, 0)
_Balance.AmountInFreeDefinedCurrency1
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.AmountInFreeDefinedCurrency1, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency1, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency1, 0)
else
- coalesce(_WIP.AmountInFreeDefinedCurrency1, 0)
//- _WIP.AmountInFreeDefinedCurrency1
- coalesce(_Rsrv.AmountInFreeDefinedCurrency1, 0)
end
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency1, 0)
_Balance.AmountInFreeDefinedCurrency1
end
end as fis_osl ) as AmountInFreeDefinedCurrency1,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.AmountInFreeDefinedCurrency2, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency2, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency2, 0)
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency2, 0)
_Balance.AmountInFreeDefinedCurrency2
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.AmountInFreeDefinedCurrency2, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency2, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency2, 0)
else
- coalesce(_WIP.AmountInFreeDefinedCurrency2, 0)
//- _WIP.AmountInFreeDefinedCurrency2
- coalesce(_Rsrv.AmountInFreeDefinedCurrency2, 0)
end
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency2, 0)
_Balance.AmountInFreeDefinedCurrency2
end
end as fis_vsl ) as AmountInFreeDefinedCurrency2,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.AmountInFreeDefinedCurrency3, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency3, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency3, 0)
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency3, 0)
_Balance.AmountInFreeDefinedCurrency3
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.AmountInFreeDefinedCurrency3, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency3, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency3, 0)
else
- coalesce(_WIP.AmountInFreeDefinedCurrency3, 0)
//- _WIP.AmountInFreeDefinedCurrency3
- coalesce(_Rsrv.AmountInFreeDefinedCurrency3, 0)
end
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency3, 0)
_Balance.AmountInFreeDefinedCurrency3
end
end as fis_bsl ) as AmountInFreeDefinedCurrency3, //BSL,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.AmountInFreeDefinedCurrency4, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency4, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency4, 0)
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency4, 0)
_Balance.AmountInFreeDefinedCurrency4
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.AmountInFreeDefinedCurrency4, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency4, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency4, 0)
else
- coalesce(_WIP.AmountInFreeDefinedCurrency4, 0)
//- _WIP.AmountInFreeDefinedCurrency4
- coalesce(_Rsrv.AmountInFreeDefinedCurrency4, 0)
end
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency4, 0)
_Balance.AmountInFreeDefinedCurrency4
end
end as fis_csl ) as AmountInFreeDefinedCurrency4, //CSL,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.AmountInFreeDefinedCurrency5, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency5, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency5, 0)
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency5, 0)
_Balance.AmountInFreeDefinedCurrency5
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.AmountInFreeDefinedCurrency5, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency5, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency5, 0)
else
- coalesce(_WIP.AmountInFreeDefinedCurrency5, 0)
//- _WIP.AmountInFreeDefinedCurrency5
- coalesce(_Rsrv.AmountInFreeDefinedCurrency5, 0)
end
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency5, 0)
_Balance.AmountInFreeDefinedCurrency5
end
end as fis_dsl ) as AmountInFreeDefinedCurrency5, //DSL,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.AmountInFreeDefinedCurrency6, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency6, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency6, 0)
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency6, 0)
_Balance.AmountInFreeDefinedCurrency6
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.AmountInFreeDefinedCurrency6, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency6, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency6, 0)
else
- coalesce(_WIP.AmountInFreeDefinedCurrency6, 0)
//- _WIP.AmountInFreeDefinedCurrency6
- coalesce(_Rsrv.AmountInFreeDefinedCurrency6, 0)
end
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency6, 0)
_Balance.AmountInFreeDefinedCurrency6
end
end as fis_esl ) as AmountInFreeDefinedCurrency6, // ESL,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.AmountInFreeDefinedCurrency7, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency7, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency7, 0)
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency7, 0)
_Balance.AmountInFreeDefinedCurrency7
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.AmountInFreeDefinedCurrency7, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency7, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency7, 0)
else
- coalesce(_WIP.AmountInFreeDefinedCurrency7, 0)
//- _WIP.AmountInFreeDefinedCurrency7
- coalesce(_Rsrv.AmountInFreeDefinedCurrency7, 0)
end
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency7, 0)
_Balance.AmountInFreeDefinedCurrency7
end
end as fis_fsl) as AmountInFreeDefinedCurrency7, //FSL,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.AmountInFreeDefinedCurrency8, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency8, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency8, 0)
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency8, 0)
_Balance.AmountInFreeDefinedCurrency8
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.AmountInFreeDefinedCurrency8, 0)
- coalesce(_WIP.AmountInFreeDefinedCurrency8, 0)
- coalesce(_Rsrv.AmountInFreeDefinedCurrency8, 0)
else
- coalesce(_WIP.AmountInFreeDefinedCurrency8, 0)
//- _WIP.AmountInFreeDefinedCurrency8
- coalesce(_Rsrv.AmountInFreeDefinedCurrency8, 0)
end
else
//COALESCE(_Balance.AmountInFreeDefinedCurrency8, 0)
_Balance.AmountInFreeDefinedCurrency8
end
end as fis_gsl ) as AmountInFreeDefinedCurrency8, //GSL,
//Current period to be posted value
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast(
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.PeriodAmountInCompanyCodeCrcy, 0)
- coalesce(_WIP.PeriodAmountInCompanyCodeCrcy, 0)
- coalesce(_Rsrv.PeriodAmountInCompanyCodeCrcy, 0)
else
//COALESCE(_Balance.PeriodAmountInCompanyCodeCrcy, 0)
_Balance.PeriodAmountInCompanyCodeCrcy
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.PeriodAmountInCompanyCodeCrcy, 0)
- coalesce(_WIP.PeriodAmountInCompanyCodeCrcy, 0)
- coalesce(_Rsrv.PeriodAmountInCompanyCodeCrcy, 0)
else
- coalesce(_WIP.PeriodAmountInCompanyCodeCrcy, 0)
//- _WIP.PeriodAmountInCompanyCodeCrcy
- coalesce(_Rsrv.PeriodAmountInCompanyCodeCrcy, 0)
end
else
//COALESCE(_Balance.PeriodAmountInCompanyCodeCrcy, 0)
_Balance.PeriodAmountInCompanyCodeCrcy
end
end as fis_hsl) as PeriodAmountInCompanyCodeCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.PeriodAmountInGlobalCurrency, 0)
- coalesce(_WIP.PeriodAmountInGlobalCurrency, 0)
- coalesce(_Rsrv.PeriodAmountInGlobalCurrency, 0)
else
//COALESCE(_Balance.PeriodAmountInGlobalCurrency, 0)
_Balance.PeriodAmountInGlobalCurrency
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.PeriodAmountInGlobalCurrency, 0)
- coalesce(_WIP.PeriodAmountInGlobalCurrency, 0)
- coalesce(_Rsrv.PeriodAmountInGlobalCurrency, 0)
else
- coalesce(_WIP.PeriodAmountInGlobalCurrency, 0)
//- _WIP.PeriodAmountInGlobalCurrency
- coalesce(_Rsrv.PeriodAmountInGlobalCurrency, 0)
end
else
//COALESCE(_Balance.PeriodAmountInGlobalCurrency, 0)
_Balance.PeriodAmountInGlobalCurrency
end
end as fis_ksl ) as PeriodAmountInGlobalCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.PeriodAmountInFreeDfndCrcy1, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy1, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy1, 0)
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy1, 0)
_Balance.PeriodAmountInFreeDfndCrcy1
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.PeriodAmountInFreeDfndCrcy1, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy1, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy1, 0)
else
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy1, 0)
//- _WIP.PeriodAmountInFreeDfndCrcy1
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy1, 0)
end
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy1, 0)
_Balance.PeriodAmountInFreeDfndCrcy1
end
end as fis_osl ) as PeriodAmountInFreeDfndCrcy1,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.PeriodAmountInFreeDfndCrcy2, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy2, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy2, 0)
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy2, 0)
_Balance.PeriodAmountInFreeDfndCrcy2
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.PeriodAmountInFreeDfndCrcy2, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy2, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy2, 0)
else
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy2, 0)
//- _WIP.PeriodAmountInFreeDfndCrcy2
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy2, 0)
end
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy2, 0)
_Balance.PeriodAmountInFreeDfndCrcy2
end
end as fis_vsl ) as PeriodAmountInFreeDfndCrcy2,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.PeriodAmountInFreeDfndCrcy3, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy3, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy3, 0)
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy3, 0)
_Balance.PeriodAmountInFreeDfndCrcy3
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.PeriodAmountInFreeDfndCrcy3, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy3, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy3, 0)
else
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy3, 0)
//- _WIP.PeriodAmountInFreeDfndCrcy3
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy3, 0)
end
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy3, 0)
_Balance.PeriodAmountInFreeDfndCrcy3
end
end as fis_bsl ) as PeriodAmountInFreeDfndCrcy3, //BSL,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.PeriodAmountInFreeDfndCrcy4, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy4, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy4, 0)
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy4, 0)
_Balance.PeriodAmountInFreeDfndCrcy4
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.PeriodAmountInFreeDfndCrcy4, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy4, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy4, 0)
else
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy4, 0)
//- _WIP.PeriodAmountInFreeDfndCrcy4
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy4, 0)
end
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy4, 0)
_Balance.PeriodAmountInFreeDfndCrcy4
end
end as fis_csl ) as PeriodAmountInFreeDfndCrcy4, //CSL,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.PeriodAmountInFreeDfndCrcy5, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy5, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy5, 0)
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy5, 0)
_Balance.PeriodAmountInFreeDfndCrcy5
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.PeriodAmountInFreeDfndCrcy5, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy5, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy5, 0)
else
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy5, 0)
//- _WIP.PeriodAmountInFreeDfndCrcy5
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy5, 0)
end
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy5, 0)
_Balance.PeriodAmountInFreeDfndCrcy5
end
end as fis_dsl ) as PeriodAmountInFreeDfndCrcy5, //DSL,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.PeriodAmountInFreeDfndCrcy6, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy6, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy6, 0)
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy6, 0)
_Balance.PeriodAmountInFreeDfndCrcy6
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.PeriodAmountInFreeDfndCrcy6, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy6, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy6, 0)
else
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy6, 0)
//- _WIP.PeriodAmountInFreeDfndCrcy6
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy6, 0)
end
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy6, 0)
_Balance.PeriodAmountInFreeDfndCrcy6
end
end as fis_esl ) as PeriodAmountInFreeDfndCrcy6, // ESL,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.PeriodAmountInFreeDfndCrcy7, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy7, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy7, 0)
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy7, 0)
_Balance.PeriodAmountInFreeDfndCrcy7
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.PeriodAmountInFreeDfndCrcy7, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy7, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy7, 0)
else
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy7, 0)
//- _WIP.PeriodAmountInFreeDfndCrcy7
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy7, 0)
end
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy7, 0)
_Balance.PeriodAmountInFreeDfndCrcy7
end
end as fis_fsl) as PeriodAmountInFreeDfndCrcy7, //FSL,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
cast (
case when _Ord.StatusCode = 'I0002' then
case when _Ord.RcvrObjectType = 'MA' or _Ord.WIPIsForNonMaterialReceiver = 'X' then
coalesce(_ActlCosts.PeriodAmountInFreeDfndCrcy8, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy8, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy8, 0)
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy8, 0)
_Balance.PeriodAmountInFreeDfndCrcy8
end
else
case when _Ord.RcvrObjectType = 'MA' then
case when RealTimeVarianceIsActive = 'X' then
- coalesce(_Balance.PeriodAmountInFreeDfndCrcy8, 0)
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy8, 0)
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy8, 0)
else
- coalesce(_WIP.PeriodAmountInFreeDfndCrcy8, 0)
//- _WIP.PeriodAmountInFreeDfndCrcy8
- coalesce(_Rsrv.PeriodAmountInFreeDfndCrcy8, 0)
end
else
//COALESCE(_Balance.PeriodAmountInFreeDfndCrcy8, 0)
_Balance.PeriodAmountInFreeDfndCrcy8
end
end as fis_gsl ) as PeriodAmountInFreeDfndCrcy8, //GSL,
_CrcyRoles._CoCodeCurrencyRoleCurrency.Currency as CompanyCodeCurrency,
_CrcyRoles._GlobalCurrencyRoleCurrency.Currency as GlobalCurrency,
_CrcyRoles._FreeDfndCrcyRole1Currency.Currency as FreeDefinedCurrency1,
_CrcyRoles._FreeDfndCrcyRole2Currency.Currency as FreeDefinedCurrency2,
_CrcyRoles._FreeDfndCrcyRole3Currency.Currency as FreeDefinedCurrency3,
_CrcyRoles._FreeDfndCrcyRole4Currency.Currency as FreeDefinedCurrency4,
_CrcyRoles._FreeDfndCrcyRole5Currency.Currency as FreeDefinedCurrency5,
_CrcyRoles._FreeDfndCrcyRole6Currency.Currency as FreeDefinedCurrency6,
_CrcyRoles._FreeDfndCrcyRole7Currency.Currency as FreeDefinedCurrency7,
_CrcyRoles._FreeDfndCrcyRole8Currency.Currency as FreeDefinedCurrency8
}
where
_CrcyRoles._Ledger.LedgerType = ''
and _CrcyRoles._Ledger.ReferenceLedger = ''
and ( _CrcyRoles._Ledger.AccountingValuationView = '0'
or _CrcyRoles._Ledger.AccountingValuationView = '1'
or _CrcyRoles._Ledger.AccountingValuationView = ''
or _CrcyRoles._Ledger.AccountingValuationView = '2'
or _CrcyRoles._Ledger.AccountingValuationView = '3' )