Note is 2206128.
I was suspecting the issue to be with the CURRENCY (DEVISE_RPT for us), as I saw a case where data were not doubled when no currency conversion was run, and doubled when my quantity account (VVQ03) had been translated.
Also I added a 3rd currency in the dimension and results can now be trippled.
But I might be completly wrong ... Apart from the fact that support saw something going that way:
"From our side, we also found something in the HANA index alert log:
[18338]{430710}[93/-1] 2016-01-30 13:42:17.115590 e CalcEngine
ceCalcScenarioModeler.cpp(00493) : The following errors occured:
Inconsistent calculation model (34011)
Details (Errors):
- CalculationNode (T_WHERE_NEW0) -> attributes -> calculatedAttribute
(DATA_WHERE) -> expression: Attribute 'lc' is missing in node
T_WHERE_NEW0.
This error seems relevant with the issue you reported, say the
restriction condition of DEVISE_RPT = 'LC' is missing, therefore all
the members will be read out from the master data table, say, the 'LC'
and 'EUR' data will be retrieved, which lead to the error result as
you reported."
Below what I sent to sap (can't attached the doc)
Source data:
| 01102521-0010016572 | ZZOSSTEST | VVQ03 | E_PM92 | 2015.03 | 00288 | CODE_USAGE_NA | IMPORT_BW | REEL | LC | 0,2500000 |
| 01102521-0010016572 | ZZOSSTEST | VV010 | E_PM92 | 2015.03 | 00288 | CODE_USAGE_NA | IMPORT_BW | REEL | LC | 27,7500000 |
| 01102521-0010016572 | ZZOSSTEST | VVQ03 | E_PM92 | 2016.01 | 00288 | CODE_USAGE_NA | IMPORT_APS | BUDGETV0 | LC | 3,1736454 |
Run script.
What does the script do :
1) Copy BUDGET/ VVQ03 / E_PM92/all 2016 months (WHAT)
TO
BUDGET/QTE_REF/SITE_EXPEDITION_NA/ 2016.SAISIE (WHERE)
2) Copy REEL/ VV010 / E_PM92 / all months of 2015 (WHAT)
TO
BUDGET/CA_REF/SITE_EXPEDITION_NA/2016.SAISIE (WHERE)
3) Divide CA_REF / QTE_REF = PMV_REF on 2016.SAISIE
4) Reallocate 2016.SAISIE on all months of 2016 (2016.01, ..., 2016.12: same amount copied on all months)
Results I get are, as you can see lines are doubled ...
I suspect the problem to be with the CURRENCY dimension (here DEVISE_RPT).
I have added a third member to the dimension and now amounts are sometimes tripled. But I may be completly wrong...
The only thing I'm sure off is that was working without the note.
The thing is we need that note as without it scripts were failing and reporting also...!
| 01102521-0010016572 | ZZOSSTEST | PMV_REF | SITE_EXPEDITION_NA | 2016.SAISIE | 00288 | CODE_USAGE_NA | CALCUL | BUDGETV0 | LC | 111,0000000 |
| 01102521-0010016572 | ZZOSSTEST | PMV_REF | SITE_EXPEDITION_NA | 2016.SAISIE | 00288 | CODE_USAGE_NA | CALCUL | BUDGETV0 | LC | 111,0000000 |
| 01102521-0010016572 | ZZOSSTEST | CA_REF | SITE_EXPEDITION_NA | 2016.SAISIE | 00288 | CODE_USAGE_NA | CALCUL | BUDGETV0 | LC | 27,7500000 |
| 01102521-0010016572 | ZZOSSTEST | QTE_REF | SITE_EXPEDITION_NA | 2016.SAISIE | 00288 | CODE_USAGE_NA | CALCUL | BUDGETV0 | LC | 0,2500000 |
| 01102521-0010016572 | ZZOSSTEST | QTE_REF | SITE_EXPEDITION_NA | 2016.SAISIE | 00288 | CODE_USAGE_NA | CALCUL | BUDGETV0 | LC | 0,2500000 |
| 01102521-0010016572 | ZZOSSTEST | VVQ03 | E_PM92 | 2016.01 | 00288 | CODE_USAGE_NA | IMPORT_APS | BUDGETV0 | LC | 3,1736454 |
| 01102521-0010016572 | ZZOSSTEST | QTE_REF | SITE_EXPEDITION_NA | 2016.01 | 00288 | CODE_USAGE_NA | CALCUL | BUDGETV0 | LC | 0,2500000 |
| 01102521-0010016572 | ZZOSSTEST | QTE_REF | SITE_EXPEDITION_NA | 2016.01 | 00288 | CODE_USAGE_NA | CALCUL | BUDGETV0 | LC | 0,2500000 |
| 01102521-0010016572 | ZZOSSTEST | PMV_REF | SITE_EXPEDITION_NA | 2016.01 | 00288 | CODE_USAGE_NA | CALCUL | BUDGETV0 | LC | 111,0000000 |
| 01102521-0010016572 | ZZOSSTEST | PMV_REF | SITE_EXPEDITION_NA | 2016.01 | 00288 | CODE_USAGE_NA | CALCUL | BUDGETV0 | LC | 111,0000000 |
| 01102521-0010016572 | ZZOSSTEST | CA_REF | SITE_EXPEDITION_NA | 2016.01 | 00288 | CODE_USAGE_NA | CALCUL | BUDGETV0 | LC | 27,7500000 |
| 01102521-0010016572 | ZZOSSTEST | CA_REF | SITE_EXPEDITION_NA | 2016.01 | 00288 | CODE_USAGE_NA | CALCUL | BUDGETV0 | LC | 27,7500000 |
Script:
*SELECT(%YEAR%, "[YEAR]","CATEGORIE","[ID] = 'BUDGETV0' ")
*SELECT(%CLT%,"ID","HCLIENT"," [CALC] = 'N'")
*SELECT(%PRD%,"ID","HPRODUIT"," [CALC] = 'N'")
// On calcule le PMV_REF
// Les mois choisis par l'utilisateur sont agrégés et postés sur ANNEE.SAISIE (2016.SAISIE) et CA_REF/QTE_REF
*XDIM_MEMBERSET CATEGORIE=REEL
*XDIM_MEMBERSET DEVISE_RPT=LC
*XDIM_MEMBERSET SITE_EXPEDITION=BAS(TOTAL_SITE_EXPEDITION)
*XDIM_MEMBERSET CODE_USAGE=<ALL>
*XDIM_MEMBERSET HCLIENT=<ALL>
*XDIM_MEMBERSET HPRODUIT=<ALL>
*XDIM_MEMBERSET NATURE=VVQ03,BAS(CA_BRUT_AP_R_FF)
*XDIM_MEMBERSET ORGANISATION=%ORGANISATION_SET%
*XDIM_MEMBERSET SOURCE_DONNEES=IMPORT_BW
*XDIM_MEMBERSET TEMPS=%TEMPS_SET%
*RUNALLOCATION
*FACTOR=1
*DIM NATURE WHAT=BAS(CA_BRUT_AP_R_FF); WHERE=CA_REF;
*DIM SITE_EXPEDITION WHAT=BAS(TOTAL_SITE_EXPEDITION); WHERE=SITE_EXPEDITION_NA;
*DIM SOURCE_DONNEES WHAT=IMPORT_BW; WHERE=CALCUL;
*DIM_NONAGGR HCLIENT WHAT=%CLT%; WHERE=<<<;
*DIM_NONAGGR HPRODUIT WHAT=%PRD%; WHERE=<<<;
*DIM CATEGORIE WHAT=REEL; WHERE=BUDGETV0;
*DIM TEMPS WHAT=BAS(%TEMPS_SET%); WHERE=%YEAR%.SAISIE;
*ENDALLOCATION
*RUNALLOCATION
*FACTOR=1
*DIM NATURE WHAT=VVQ03; WHERE=QTE_REF;
*DIM SITE_EXPEDITION WHAT=BAS(TOTAL_SITE_EXPEDITION); WHERE=SITE_EXPEDITION_NA;
*DIM SOURCE_DONNEES WHAT=IMPORT_BW; WHERE=CALCUL;
*DIM_NONAGGR HCLIENT WHAT=%CLT%; WHERE=<<<;
*DIM_NONAGGR HPRODUIT WHAT=%PRD%; WHERE=<<<;
*DIM CATEGORIE WHAT=REEL; WHERE=BUDGETV0;
*DIM TEMPS WHAT=BAS(%TEMPS_SET%); WHERE=%YEAR%.SAISIE;
*ENDALLOCATION
// On calcule un PMV REF sur ANNEE.SAISIE en divisant CA_REF par QTE_REF
*XDIM_MEMBERSET CATEGORIE=BUDGETV0
*XDIM_MEMBERSET DEVISE_RPT=LC
*XDIM_MEMBERSET SITE_EXPEDITION=SITE_EXPEDITION_NA
*XDIM_MEMBERSET CODE_USAGE=<ALL>
*XDIM_MEMBERSET HCLIENT=<ALL>
*XDIM_MEMBERSET HPRODUIT=<ALL>
*XDIM_MEMBERSET NATURE=CA_REF,QTE_REF
*XDIM_MEMBERSET ORGANISATION=%ORGANISATION_SET%
*XDIM_MEMBERSET SOURCE_DONNEES=CALCUL
*XDIM_MEMBERSET TEMPS=%YEAR%.SAISIE
*RUNALLOCATION
*FACTOR=1/USING
*DIM NATURE WHAT=CA_REF; WHERE=PMV_REF; USING=QTE_REF
*DIM SITE_EXPEDITION WHAT=SITE_EXPEDITION_NA; WHERE=<<<; USING=<<<
*DIM SOURCE_DONNEES WHAT=CALCUL; WHERE=<<<; USING=<<<
*DIM_NONAGGR HCLIENT WHAT=%CLT%; WHERE=<<<; USING=<<<
*DIM_NONAGGR HPRODUIT WHAT=%PRD%; WHERE=<<<; USING=<<<
*DIM CATEGORIE WHAT=BUDGETV0; WHERE=<<<; USING=<<<
*DIM TEMPS WHAT=%YEAR%.SAISIE; WHERE=<<<; USING=<<<
*ENDALLOCATION
//-----------------------------------------------------------------------------
// On recopie les montants de ANNEE.SAISIE sur chaque mois du budget
*XDIM_MEMBERSET CATEGORIE=BUDGETV0
*XDIM_MEMBERSET DEVISE_RPT=LC
*XDIM_MEMBERSET SITE_EXPEDITION=SITE_EXPEDITION_NA
*XDIM_MEMBERSET CODE_USAGE=<ALL>
*XDIM_MEMBERSET HCLIENT=<ALL>
*XDIM_MEMBERSET HPRODUIT=<ALL>
*XDIM_MEMBERSET NATURE=CA_REF,QTE_REF,PMV_REF
*XDIM_MEMBERSET ORGANISATION=%ORGANISATION_SET%
*XDIM_MEMBERSET SOURCE_DONNEES=CALCUL
*XDIM_MEMBERSET TEMPS=%YEAR%.SAISIE
*RUNALLOCATION
*FACTOR=1
*DIM TEMPS WHAT=%YEAR%.SAISIE; WHERE=BAS(%YEAR%.TOTAL);
*ENDALLOCATION
What do you think?
Best Regards
Camille