cancel
Showing results for 
Search instead for 
Did you mean: 

Scriot Logic with UJKT error

arun_varghese
Contributor
0 Kudos

Hi All,

System : BPC 10.0 NW

We are facing a strange issue, where we are getting an Exception error when running the code in UJKT. Considering, it to be a straightforward code, we are unbale to find the exact issue.
"UJO_READ:An exception was raised"

here we are getting an Exception error when running the code in UJKT

We tried testing the same code in another environment and model and it worked without any issue.

*XDIM_MEMBERSET ACCOUNT = STAT_TAX
*WHEN  ACCOUNT
*IS STAT_TAX
*REC(FACTOR =1)
*ENDWHEN UJKT ResultLGX:

-------------------------------------------------------------------------------------------------------------------------------------
LOG:
FILE:\ROOT\WEBFOLDERS\XXXXXXXX \ADMINAPP\CONSOLIDATION\TEST.LGF
USER:XXXXXX
APPSET:XXXXXXX
APPLICATION:CONSOLIDATION
[INFO] GET_DIM_LIST(): I_APPL_ID="CONSOLIDATION", #dimensions=13 
ACCOUNT,AUDITTRAIL,CATEGORY,CONT_CTRY,ENTITY,FLOW,FUNC_AREA,INTERCO,MEASURES,PROFIT_CENTER,RPTCURRENCY,SCOPE,TIME

#dim_memberset=1 
ACCOUNT:STAT_TAX,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:
QUERY PROCESSING DATA

UJO_READ:An exception was raised

Here is a code which is working perfectly

*SELECT(%LV_ACC%, ID, ACCOUNT, POPULATE = X)
*XDIM_MEMBERSET ACCOUNT = %LV_ACC%
*XDIM_MEMBERSET CATEGORY = ACTUAL
*XDIM_MEMBERSET ENTITY = EN_3113
*XDIM_MEMBERSET FUNC_AREA = FA_NONE
*XDIM_MEMBERSET TIME = %TIME_SET%, TMVL(-1,%TIME_SET%)

*WHEN  TIME
*IS TMVL(-1,%TIME_SET%)

*WHEN  ACCOUNT
*IS %LV_ACC%
*REC(EXPRESSION = %VALUE%, TIME = %TIME_SET%)
*ENDWHEN

*ENDWHEN 

LOGLGX:

*XDIM_MEMBERSET ACCOUNT = FC_SURVEY,STAT_TAX
*XDIM_MEMBERSET CATEGORY = ACTUAL
*XDIM_MEMBERSET ENTITY = EN_3113
*XDIM_MEMBERSET FUNC_AREA = FA_NONE
*XDIM_MEMBERSET TIME = 2017.09, 2017.08
*WHEN TIME
*IS 2017.08
*WHEN ACCOUNT
*IS FC_SURVEY,STAT_TAX
*REC(EXPRESSION = %VALUE%, TIME = 2017.09)
*ENDWHEN
*ENDWHEN

-------------------------------------------------------------------------------------------------------------------------------------
LOG:

LOG BEGIN TIME:2017-12-08 05:04:17
FILE:\ROOT\WEBFOLDERS\XXXXXXX \ADMINAPP\CONSOLIDATION\TEST.LGF
USER:XXXXX
APPSET:XXXXXX
APPLICATION:CONSOLIDATION
[INFO] GET_DIM_LIST(): I_APPL_ID="CONSOLIDATION", #dimensions=13 
ACCOUNT,AUDITTRAIL,CATEGORY,CONT_CTRY,ENTITY,FLOW,FUNC_AREA,INTERCO,MEASURES,PROFIT_CENTER,RPTCURRENCY,SCOPE,TIME

#dim_memberset=5 
ACCOUNT:FC_SURVEY,STAT_TAX,2 in total.
CATEGORY:ACTUAL,1 in total.
ENTITY:EN_3113,1 in total.
FUNC_AREA:FA_NONE,1 in total.
TIME:2017.08,2017.09,2 in total.

REC :%VALUE%

CALCULATION BEGIN:
QUERY PROCESSING DATA
QUERY TIME : 1.00 ms. 2  RECORDS QUERIED OUT.
QUERY REFERENCE DATA
CALCULATION TIME IN TOTAL :0.00 ms.
2  RECORDS ARE GENERATED.
CALCULATION END.

ENDWHEN ACCUMULATION: 2  RECORDS ARE GENERATED.

DATA TO WRITE BACK:
ACCOUNT	AUDITTRAIL	CATEGORY	CONT_CTRY	ENTITY	FLOW	FUNC_AREA	INTERCO	PROFIT_CENTER	RPTCURRENCY	SCOPE	TIME	SIGNEDDATA
FC_SURVEY	CNI_TAX	ACTUAL	CT_NONE	EN_3113	M800	FA_NONE	IC_NONE	PC_4370	USD	S_NONE	2017.09	1200.00 
STAT_TAX	CNI_TAX	ACTUAL	CT_NONE	EN_3113	M800	FA_NONE	IC_NONE	PC_4370	USD	S_NONE	2017.09	0.05 
2  RECORDS HAVE BEEN WRITTEN BACK.
WRITING TIME :1.00  ms.

SCRIPT RUNNING TIME IN TOTAL:3.00 s.
LOG END TIME:2017-12-08 05:04:18


Now if I comment out the scoping of ENTITY from the above code, I will again get the same UJO_READ Exception error

The below code fails with an Exception error:

*SELECT(%LV_ACC%, ID, ACCOUNT, POPULATE = X)
*XDIM_MEMBERSET ACCOUNT = %LV_ACC%
*XDIM_MEMBERSET CATEGORY = ACTUAL
*XDIM_MEMBERSET FUNC_AREA = FA_NONE
*XDIM_MEMBERSET TIME = %TIME_SET%, TMVL(-1,%TIME_SET%)

*WHEN  TIME
*IS TMVL(-1,%TIME_SET%)

*WHEN  ACCOUNT
*IS %LV_ACC%
*REC(EXPRESSION = %VALUE%, TIME = %TIME_SET%)
*ENDWHEN

*ENDWHEN 

<u>UJKT<br></u>CALCULATION BEGIN:
QUERY PROCESSING DATA

UJO_READ:An exception was raised

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member186338
Active Contributor
0 Kudos

Try to find the entity member that is the reason of the issue. Scope number of entity members...

arun_varghese
Contributor
0 Kudos

Hi Vadim,

Sorry, I didn't get the point of finding the entity member.
Are you referring to give some specific scoping for ENTITY member in all code?

As mentioned in the post, the 2nd code is working fine wth ENTITY member EN_3113

*XDIM_MEMBERSET ENTITY = EN_3113

And when I remove the scoping for ENTITY, without changing anything else in the code, it is throwing exception error.

Also, the below code snippets are also failing with this UJO_READ exception error

*XDIM_MEMBERSET TIME = 2017.07
*WHEN  TIME
*IS 2017.07
*REC(FACTOR =1)
*ENDWHEN

Another Code

*XDIM_MEMBERSET ACCOUNT = STAT_TAX
*WHEN  ACCOUNT
*IS STAT_TAX
*REC(FACTOR =1)
*ENDWHEN 
former_member186338
Active Contributor
0 Kudos

You scoped single entity member EN_3113. The result is fine. Scope more base members, check if adding some particular member will result in error.

arun_varghese
Contributor
0 Kudos

Hi Vadim,

Ok...I got your point.

But, in my case, for the source dataset I am executing the logic, the data is available only for one ENTITY

*XDIM_MEMBERSET ACCOUNT = STAT_TAX
*XDIM_MEMBERSET CATEGORY = ACTUAL
*XDIM_MEMBERSET ENTITY = EN_3113
*XDIM_MEMBERSET FLOW = M800
*XDIM_MEMBERSET FUNC_AREA = FA_NONE
*XDIM_MEMBERSET TIME = 2017.08,2017.09
*WHEN  TIME
*IS 2017.08
*WHEN  ACCOUNT
*IS STAT_TAX
*REC(EXPRESSION = %VALUE%, TIME = 2017.09)
*ENDWHEN
*ENDWHEN 

SOURCE BW DATASET

TIME = 2017.08, 2017.09
ACCOUNT = STAT_TAX
FLOW = M800

As seen above, data is currently available only for 1 ENTITY

former_member186338
Active Contributor
0 Kudos

When you have no scope for entity dimension it means that you scope all members. Some member can be corrupted or...

That’s why I am asking to select number of members to narrow down the issue.

former_member186338
Active Contributor
0 Kudos

P.S. Strange idea to scope time for 08 and 09 if you want to copy from 08 to 09. Only 08 has to be scoped.

When you scope data before when/ENDWHEN only source region has to be scoped.

Also multiple when is useless in this script.

arun_varghese
Contributor
0 Kudos

Hi Vadim,

On you other comment on scoping and additional WHEN statement, I agree that we dont need to scope the Target data and that we can remove the additional WHEN. I was testing some other scenarios and while posting the code, didnt clean up the code. The code will be looking like

*SELECT(%LV_ACC%, ID, ACCOUNT, POPULATE = X)
*XDIM_MEMBERSET ACCOUNT = %LV_ACC%
*XDIM_MEMBERSET CATEGORY = ACTUAL
*XDIM_MEMBERSET ENTITY =  EN_3113
*XDIM_MEMBERSET FLOW = M800
*XDIM_MEMBERSET FUNC_AREA = FA_NONE
*XDIM_MEMBERSET TIME = TMVL(-1,%TIME_SET%)

*WHEN  ACCOUNT
*IS *
*REC(EXPRESSION = %VALUE%, TIME = %TIME_SET%)
*ENDWHEN

As mentioned by you, I tried to scope ENTITY in this manner, by adding one by one all the BASE members of the TOP member of each Hierarchy and also additional single members outside the Heirarchy. The code was working fine.

*XDIM_MEMBERSET ENTITY = BAS(ABC),BAS(XYZ), EN_abcd, EN_xyz

However, when I remove the ENTITY scoping it fails with the same error.

former_member186338
Active Contributor
0 Kudos

Starting from some SP parent members are also scoped for when/endwhen