on ‎2016 Jan 29 8:06 AM
Good morning gurus
I'm having the following error when running my piece of code:
RUN_LOGIC:Unknown Dimension Name in Keyword: "[KIT].[NO_KITS]:
Of course this member exists in the dimension, I've been reading a lot of posts here and it looks like its related to the K2 ABAP engine and the impossibility to perform many RECs under WHEN/END. I don't think this is my case.
Script logic:
*SELECT(%YR%,YEAR,TIME,"[ID]=%TIME_SET%")
*SELECT(%PLT%,ID,LOCATION,"[COMPANY_CODE]<>''")
// YTD Volume aggregation
*XDIM_MEMBERSET TIME=BAS(%YR%.TOT),BAS(%YR%.PER)
*XDIM_MEMBERSET LOCATION=%PLT%
*XDIM_MEMBERSET KIT=BAS(ALL_KITS)
*XDIM_MEMBERSET COMPONENT=BAS(ALL_COMPONENT)
*XDIM_MEMBERSET KEYFIGURE=IVOL,CVOL
*XDIM_MEMBERSET VERSION=A100
*XDIM_MEMBERSET DATASRC=INPUT
*WHEN KEYFIGURE
*IS IVOL
*REC(EXPRESSION=%VALUE%, KEYFIGURE=YTD_IVOL, TIME=%TIME_SET%)
*IS CVOL
*REC(EXPRESSION=%VALUE%, KEYFIGURE=YTD_CVOL, TIME=%TIME_SET%)
*ENDWHEN
*COMMIT
// Variances Allocation based on Ingredient Volume
*XDIM_MEMBERSET TIME=%TIME_SET%
*XDIM_MEMBERSET LOCATION=%PLT%
*XDIM_MEMBERSET KIT=BAS(ALL_KITS)
*XDIM_MEMBERSET COMPONENT=BAS(ALL_COMPONENT)
*XDIM_MEMBERSET KEYFIGURE=YTD_IVOL,YTD_CVOL
*XDIM_MEMBERSET VERSION=A100
*XDIM_MEMBERSET MATG4=NO_MATG4
*XDIM_MEMBERSET CURRENCY=LC
*XDIM_MEMBERSET DATASRC=INPUT
*SELECT(%COMP%,COMPANY_CODE,LOCATION,"[ID]=%PLT%")
*FOR %KF%=REVAL_BS,REVAL_PL
*WHEN KEYFIGURE
*IS YTD_IVOL
*BEGIN
*REC(EXPRESSION=
//VARIANCES at YTD and COMPANY CODE LEVEL
([KEYFIGURE].[%KF%],
[KIT].[NO_KITS],
[COMPONENT].[NO_COMPONENT],
[BRAND].[NO_BRAND],
[COUNTRY].[NO_COUNTRY],
[DATASRC].[INPUT],
[LOCATION].[%COMP%]) *
//SPECIFIC VOLUME
%VALUE%/
//TOTAL VOLUME
([COMPONENT].[ALL_COMPONENT],
[KIT].[ALL_KITS],
[BRAND].[ALL_BRAND],
[COUNTRY].[ALL_COUNTRIES],
[DATASRC].[INPUT],
[LOCATION].[%PLT%])
// POST TO KEYFIGURE
,KEYFIGURE=%KF%,DATASRC=CALC)
*END
*ENDWHEN
*NEXT
IF %PLT% (Plants) is hardcoded to a single plant it works, takes a long time tho, but if the number of plants is dynamically recovered (15 in total) it fails.
I'm attaching UJKT execution too:
PARAMS : TIME=2015.MAR
LGX:
-------------------------------------------------------------------------------------------------------------------------------------
LOG:
FILE:\ROOT\WEBFOLDERS\PWFP \ADMINAPP\COGS\TEST.LGF
USER:09170143
APPSET:PWFP
APPLICATION:COGS
[INFO] GET_DIM_LIST(): I_APPL_ID="COGS", #dimensions=13
BRAND,COMPONENT,COUNTRY,CURRENCY,DATASRC,INGREDIENT,KEYFIGURE,KIT,LOCATION,MATG4,MEASURES,TIME,VERSION
#dim_memberset=7
TIME:2015.APR,2015.AUG,2015.DEC,2015.FEB,2015.JAN,...25 in total.
LOCATION:8900,8901,8902,8903,8904,...26 in total.
KIT:K2000000027,K2000000028,K2050000001,K2050000003,K2050000004,...50 in total.
COMPONENT:C2000000000,C2000000001,C2000000002,C2000000008,C200000001,...1234 in total.
KEYFIGURE:CVOL,IVOL,2 in total.
VERSION:A100,1 in total.
DATASRC:INPUT,1 in total.
REC :%VALUE%
CALCULATION BEGIN:
QUERY PROCESSING DATA
QUERY TIME : 1353.98 ms. 6 RECORDS QUERIED OUT.
QUERY REFERENCE DATA
CALCULATION TIME IN TOTAL :756.70 ms.
2 RECORDS ARE GENERATED.
CALCULATION END.
#dim_memberset=7
TIME:2015.APR,2015.AUG,2015.DEC,2015.FEB,2015.JAN,...25 in total.
LOCATION:8900,8901,8902,8903,8904,...26 in total.
KIT:K2000000027,K2000000028,K2050000001,K2050000003,K2050000004,...50 in total.
COMPONENT:C2000000000,C2000000001,C2000000002,C2000000008,C200000001,...1234 in total.
KEYFIGURE:CVOL,IVOL,2 in total.
VERSION:A100,1 in total.
DATASRC:INPUT,1 in total.
REC :%VALUE%
CALCULATION BEGIN:
QUERY PROCESSING DATA
QUERY TIME : 914.84 ms. 0 RECORDS QUERIED OUT.
QUERY REFERENCE DATA
CALCULATION TIME IN TOTAL :438.55 ms.
NO RECORDS GENERATED.
CALCULATION END.
ENDWHEN ACCUMULATION: 2 RECORDS ARE GENERATED.
DATA TO WRITE BACK:
BRAND COMPONENT COUNTRY CURRENCY DATASRC INGREDIENT KEYFIGURE KIT LOCATION MATG4 TIME VERSION SIGNEDDATA
B000 C2000000001 IEY001 LC INPUT I580000001 YTD_IVOL K291000001 8902 NO_MATG4 2015.MAR A100 900.00
B000 C2000000001 IEY001 LC INPUT I580000001 YTD_IVOL K291000001 8903 NO_MATG4 2015.MAR A100 600.00
2 RECORDS HAVE BEEN WRITTEN BACK.
WRITING TIME :246.07 ms.
[INFO] GET_DIM_LIST(): I_APPL_ID="COGS", #dimensions=13
BRAND,COMPONENT,COUNTRY,CURRENCY,DATASRC,INGREDIENT,KEYFIGURE,KIT,LOCATION,MATG4,MEASURES,TIME,VERSION
#dim_memberset=9
TIME:2015.MAR,1 in total.
LOCATION:8900,8901,8902,8903,8904,...26 in total.
KIT:K2000000027,K2000000028,K2050000001,K2050000003,K2050000004,...50 in total.
COMPONENT:C2000000000,C2000000001,C2000000002,C2000000008,C200000001,...1234 in total.
KEYFIGURE:YTD_CVOL,YTD_IVOL,2 in total.
VERSION:A100,1 in total.
MATG4:NO_MATG4,1 in total.
CURRENCY:LC,1 in total.
DATASRC:INPUT,1 in total.
UJK_VALIDATION_EXCEPTION:Unknown Dimension Name in Keyword: "[KIT].[NO_KITS]:
Thanks ahead for your help
Best regards
/Laura
Request clarification before answering.
Hi Laura,
I see number of issues with this code!
First:
*SELECT(%PLT%,ID,LOCATION,"[COMPANY_CODE]<>''")
...
*XDIM_MEMBERSET LOCATION=%PLT%
will result in:
LOCATION:8900,8901,8902,8903,8904,...26 in total.
26 members in %PLT%
But later you use:
*SELECT(%COMP%,COMPANY_CODE,LOCATION,"[ID]=%PLT%")
Resulting in multiple members in %COMP%?
And you are trying to use multimember %COMP% in:
*REC(EXPRESSION=(...,[LOCATION].[%COMP%])...
Will not work!
Please explain the logic in line with
Vadim
P.S. Also use single line REC instead of BEGIN/END
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 18 | |
| 11 | |
| 9 | |
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.