cancel
Showing results for 
Search instead for 
Did you mean: 

*RUNALLOCATION - "UJK_VALIDATION_EXCEPTION:Member "_INP_E_" not exist"

maleodillet
Participant
0 Kudos

Hi Gurus,

I have an issue with my allocation script logic, I am trying to allocate a certain set of percentages from one data point to several data intersections. I am setting a certain number of exclusions during the initial scope so please excuse my abuse of "*XDIM_MEMBERSET AS".

The UJKT Validation error that i am getting is in reference to a concatenation suffix that I am using in *WHERE for my for COST_OBJECT dim.

_INP_E%VAR% gives me the member containing the data set and then [ENTITY]=%VAR% gives me the set of member where to allocate. It was previously working but not anymore.

Any help would be deeply appreciate it. Thanks in advance.

Please see my code right below:

*XDIM_MEMBERSET COMMITMENT_ITEM AS %BSMEMBXCL%=BAS(FT10_CLASS.010),BAS(FT10_015_1.01),BAS(FT10_150_7),BAS(FT10_CLASS.020)
*XDIM_MEMBERSET COMMITMENT_ITEM AS %BSMEMB%=BAS(%COMMITMENT_ITEM_SET%)
*XDIM_MEMBERSET COST_OBJECT AS %BSMEMBCO%=BAS(%COST_OBJECT_SET%)
*XDIM_MEMBERSET CURRENCY AS %BSMEMBCURR%=BAS(TCURR)
*XDIM_MEMBERSET CONTENT AS %BSMEMBCONT%=BAS(%CONTENT_SET%)

*SELECT(%MEMBTTLCURR%,ID,CURRENCY,[ID]=%BSMEMBCURR% AND [ID]=USD)
*SELECT(%MEMBTTL%,ID,COMMITMENT_ITEM,[ID]=%BSMEMB% AND [ID]<>%BSMEMBXCL%)
*SELECT(%MEMBTTLCO%,ID,COST_OBJECT,[ID]=%BSMEMBCO%)
*SELECT(%MEMBENT%,ENTITY,COST_OBJECT,[ID]=%BSMEMBCO%)
*SELECT(%RATE_VER%,SOURCE,VERSION,[ID]=%VERSION_SET%)
*SELECT(%MEMBECONT%,ID,CONTENT,[ID]=%BSMEMBCONT%)

*XDIM_MEMBERSET AUDIT_TRAIL = CURRENCY_MIX
*XDIM_MEMBERSET VERSION =%VERSION_SET%
*XDIM_MEMBERSET CURRENCY = %MEMBTTLCURR%
*XDIM_MEMBERSET COMMITMENT_ITEM= %MEMBTTL% 
*XDIM_MEMBERSET CONTENT = %MEMBECONT%
*XDIM_MEMBERSET COST_OBJECT = %BSMEMBCO%
*XDIM_MEMBERSET FUND = %FUND_SET%
*XDIM_MEMBERSET TIME = %TIME_SET%
*XDIM_MEMBERSET MEASURES = PERIODIC

*FOR %VAR% = %MEMBENT%
*RUNALLOCATION
*FACTOR = 1
*DIM VERSION WHAT =%RATE_VER% ; WHERE =<<< 
*DIM COST_OBJECT WHAT=_INP_E_%VAR% ; WHERE =[ENTITY]="%VAR%"
*DIM COMMITMENT_ITEM WHAT=CINR ; WHERE =%MEMBTTL%
*DIM CURRENCY WHAT=%MEMBTTLCURR% ; WHERE=<<<
*DIM CONTENT WHAT=CONTINUING_SCE ; WHERE=%MEMBECONT%
*ENDALLOCATION 
*NEXT

My full UJKT log file is very large so I will attach it in a separate .TXT file.alloc-error-log.txt

And this is my UJKT exception error:

UJK_VALIDATION_EXCEPTION:Member "_INP_E_" not exist

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Kudos

1. Never start with large script, test small parts!

2. Instead of VALIDATE - use Execute(Simulate) - %XXXX_SET% variables will be processed

3. Comment RUNALLOCATION and use the following code to test:

...
//XDIM_MEMBERSET statements has to be inside FOR/NEXT loop!
*XDIM_MEMBERSET AUDIT_TRAIL = CURRENCY_MIX
*XDIM_MEMBERSET VERSION =%VERSION_SET% //Useless line - defined in *DIM
*XDIM_MEMBERSET CURRENCY = %MEMBTTLCURR%
*XDIM_MEMBERSET COMMITMENT_ITEM= %MEMBTTL% //Useless line - defined in *DIM 
*XDIM_MEMBERSET CONTENT = %MEMBECONT% //Useless line - defined in *DIM
*XDIM_MEMBERSET COST_OBJECT = %BSMEMBCO% //Useless line - defined in *DIM
*XDIM_MEMBERSET FUND = %FUND_SET%
*XDIM_MEMBERSET TIME = %TIME_SET%
*XDIM_MEMBERSET MEASURES = PERIODIC

*FOR %VAR% = %MEMBENT%
//*RUNALLOCATION
//*FACTOR = 1
//*DIM VERSION WHAT =%RATE_VER% ; WHERE =<<< 
//*DIM COST_OBJECT WHAT=_INP_E_%VAR% ; WHERE =[ENTITY]="%VAR%"
//*DIM COMMITMENT_ITEM WHAT=CINR ; WHERE =%MEMBTTL%
//*DIM CURRENCY WHAT=%MEMBTTLCURR% ; WHERE=<<< // Useless Line!
//*DIM CONTENT WHAT=CONTINUING_SCE ; WHERE=%MEMBECONT%
//*ENDALLOCATION 
*XDIM_MEMBERSET COST_OBJECT=_INP_E_%VAR% //To test variable!
*XDIM_FILTER COST_OBJECT = [COST_OBJECT].properties("ENTITY") = "%VAR%" //test
*NEXT
maleodillet
Participant
0 Kudos

Hi Vadim,

As always, thanks for the fast and valuable response. I did make all the changes you'd recommended but the problem still persisted but then I realized that the [ENTITY] property has some empty cells therefore when it tries to concatenate "_INP_E_%VAR%" for some records it was getting only "_INP_E_" which is in fact not a members of the dimension.

All I did was to change this *SELECT statement to fill the %VAR% variable without blanks and I don't get the UJKT Validation error anymore.

Could please kindly take a look at it and see if there is anymore room for improvement. Thanks

Change made:

*SELECT(%MEMBENT%,ENTITY,COST_OBJECT,[ID]=%BSMEMBCO% AND [ENTITY] <> " ")
//******************************************************************************************************************
// and this is my final code .......................
//******************************************************************************************************************

*XDIM_MEMBERSET COMMITMENT_ITEM AS %BSMEMBXCL%=BAS(FT10_CLASS.010),BAS(FT10_015_1.01),BAS(FT10_150_7),BAS(FT10_CLASS.020)
*XDIM_MEMBERSET COMMITMENT_ITEM AS %BSMEMB%=BAS(%COMMITMENT_ITEM_SET%)
*XDIM_MEMBERSET COST_OBJECT AS %BSMEMBCO%=BAS(%COST_OBJECT_SET%)
*XDIM_MEMBERSET CURRENCY AS %BSMEMBCURR%=BAS(TCURR)
*XDIM_MEMBERSET CONTENT AS %BSMEMBCONT%=BAS(%CONTENT_SET%)


*SELECT(%MEMBTTLCURR%,ID,CURRENCY,[ID]=%BSMEMBCURR% AND [ID]=USD)
*SELECT(%MEMBTTL%,ID,COMMITMENT_ITEM,[ID]=%BSMEMB% AND [ID]<>%BSMEMBXCL%)

*SELECT(%MEMBTTLCO%,ID,COST_OBJECT,[ID]=%BSMEMBCO%)
*SELECT(%MEMBENT%,ENTITY,COST_OBJECT,[ID]=%BSMEMBCO% AND [ENTITY] <> " ")

*SELECT(%RATE_VER%,[SOURCE],VERSION,ID=%VERSION_SET%)

*SELECT(%MEMBECONT%,ID,CONTENT,[ID]=%BSMEMBCONT%)

*XDIM_MEMBERSET AUDIT_TRAIL = CURRENCY_MIX
*XDIM_MEMBERSET CURRENCY = %MEMBTTLCURR%
*XDIM_MEMBERSET FUND = %FUND_SET%
*XDIM_MEMBERSET TIME = %TIME_SET%
*XDIM_MEMBERSET MEASURES = PERIODIC
*FOR %VAR% = %MEMBENT%
*RUNALLOCATION

*FACTOR = 1
*DIM VERSION WHAT =%RATE_VER% ; WHERE =<<< 
*DIM COST_OBJECT WHAT=_INP_E_%VAR% ; WHERE =[ENTITY]="%VAR%"
*DIM COMMITMENT_ITEM WHAT=CINR ; WHERE =%MEMBTTL%
*DIM CONTENT WHAT=CONTINUING_SCE ; WHERE=%MEMBECONT%
*ENDALLOCATION 
*NEXT


former_member186338
Active Contributor
0 Kudos

maleodillet

Sorry, but I do not understand this line:

*SELECT(%MEMBENT%,ENTITY,COST_OBJECT,[ID]=%BSMEMBCO% AND [ENTITY] <> " ")

" " - means space, not empty (empty is "")

Also - read my answer again!

//XDIM_MEMBERSET statements has to be inside FOR/NEXT loop!

*ENDALLOCATION line will reset the scope! Scope statements has to be at the beginning of for/next!

Please accept the correct answer!

Answers (1)

Answers (1)

maleodillet
Participant
0 Kudos

Thanks Vadim.