cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

*DIM_NONAGGR - UJ_STATIC_CHECK:Error found in the System /UJHANA_ERROR001

collepicolo
Explorer
0 Likes
3,495

Hi -

This week the *DIM_NONAGGR engine started failing in our production system. The same logic that we are using in production works in our quality and development system. The problem doesn't seem related to transactional or master data, we are experience the same problem in different models and environments. We can't find any SAP note that would fix this error in our current Support Package 14 in BW 750. We opened a ticket with SAP but we are not getting much of assistance at this moment, so any help would be very welcome.

We have the ACCELERATOR_ON marked with X in all the models. We have the ENABLE_HANA_MDX on in our environment level. We don't have the ENABLE_NATIVE_HANA_MODEL because we have write-back BAdI.

Below a screenshot of the error in UJKT:

Data Region

PROG_ID=ASI_001463
VER=WORKING_FCST
DEPTID=NO_DEPTID

Script

//==Variables=============================================================================
//Select Plan ID's
*SELECT(%PLAN_ID_ALL%,PLAN_ID,PROG_ID,ID=%PROG_ID_SET% AND TYPE=O,P,M AND ID<>ASI_NO_PROG_ID AND COMP_CODE=0611)
*SELECT(%PLAN_ID%,ID,PROG_ID,ID=%PLAN_ID_ALL% AND COMP_CODE=0611)  //yields unique occurrence from above select
*SELECT(%PID%,ID,PROG_ID,PLAN_ID=%PLAN_ID% AND CALC=N AND COMP_CODE=0611 AND PLAN_ID<>"")

// Pushdown
*SELECT(%GPID%,ID,PROG_ID,ID=%PID%,sortby=ID)
*SELECT(%GPID_PLAN_ID%,PLAN_ID,PROG_ID,ID=%PID%,sortby=ID)

//***************************************************************************************
*XDIM_MEMBERSET TIME=TNONE
*XDIM_MEMBERSET DATASOURCE=BOB_INP
*XDIM_MEMBERSET UNIT=USD
*XDIM_MEMBERSET P_ACCT=CQUAD
*XDIM_MEMBERSET DEPTID=NO_DEPTID
 
*RUNALLOCATION
*DIM_NONAGGR PROG_ID WHAT=%GPID_PLAN_ID%; WHERE=%GPID% 
*DIM DATASOURCE WHAT=BOB_INP; WHERE=INP 
*DIM UNIT WHAT=USD; WHERE=<<<
 
*ENDALLOCATION

This is the error log in SLG1:

*EDIT 1

SAP Components:

component.jpg

****FINISH EDIT 1

*EDIT 2

Dimension PROG_ID Screenshots, focusing on only one program to make it simple to follow, the *DIM_NONAGGR fail even for only one program selected such as the ASI_001463:

PLAN_ID

COMPANY CODE

TYPE

****FINISH EDIT 2

If we run the allocation without the *DIM_NONAGGR it executes without the error.

Any suggestions about something that we are missing that could fix the *DIM_NONAGGR?

Ideally we would like to use the *DIM_NONAGGR but if we can't how would we write this same piece using *FOR and *NEXT probably? We have several other parts using it, all are failing if we can get an example of how to re-write it using other structure we could replicate in other scripts.

Thank you

Accepted Solutions (0)

Answers (4)

Answers (4)

collepicolo
Explorer
0 Likes

Just to close the loop, to have this resolved we have to run the program UJHANA_MANAGE_TRACE and press deactivate. After that the *DIM_NONAGGR will return to work as always.

*Vadim, if you would like to reproduce the issue on your side try to activate the trace, check the table is populate and run a simple *DIM_NONAGGR in any model/environment that you have.

Thanks

collepicolo
Explorer
0 Likes

Good news, after debugging we were able to find the problem cause. It seems somehow one table got populated with an entry that shouldn't be there. We don't know yet what made this to happen, we are going to communicate this to SAP and see if they can help from this point.

former_member186338
Active Contributor
0 Likes

Can you explain how it's related to your issue?

former_member186338
Active Contributor
0 Likes

By the way, I have found interesting note:

https://launchpad.support.sap.com/#/notes/0002641351

with the reference to:

https://launchpad.support.sap.com/#/notes/1960281

Try your script with the line:

*ACCELERATOR=OFF
collepicolo
Explorer
0 Likes

I added the *FACTOR=1 and it didn't work. Making the accelerator off doesn't work, I get another error and according note 1903167 this should be on to have the *DIM_NONAGGR working.

former_member186338
Active Contributor
0 Likes

collepicolo

1. "and according note 1903167 this should be on to have the *DIM_NONAGGR working." - incorrect statement!

From the note:

"An new keyword *DIM_NONAGGR is introduced for more efficient allocation scripting which will further help to improve performance. This keyword can be used for both HANA and non-HANA system."

2. In your screenshot I see some strange mismatch between lgx and log:

Recommended - remove all SELECT statements from the test script and use fixed lists in WHAT and WHERE

Also, don't remove FACTOR - bad practice, at some SP you will get strange result without it. It's a documented part of RUNALLOCATION syntax.

Test script:

*XDIM_MEMBERSET TIME=TNONE
*XDIM_MEMBERSET DATASOURCE=BOB_INP
*XDIM_MEMBERSET UNIT=USD
*XDIM_MEMBERSET P_ACCT=CQUAD
*XDIM_MEMBERSET DEPTID=NO_DEPTID
 
*RUNALLOCATION
*FACTOR=1
*ACCELERATOR=OFF // test with ON and OFF
*DIM_NONAGGR PROG_ID WHAT=ASI_001463,ASI_001463,ASI_001463; WHERE=A26011,A36119,ASI_001463 
*DIM DATASOURCE WHAT=BOB_INP; WHERE=INP 
//*DIM UNIT WHAT=USD; WHERE=<<< - useless line, already scoped!
*ENDALLOCATION

P.S. And reload transaction UJKT!

collepicolo
Explorer
0 Likes

Here is the result:

I think there was some cache in UJKT on my last execution, anyways, still doesn't working.

This statement in the note is a bit misleading: "Pre-requisite, Environment level setting 'ACCELERATOR_ON' is set to 'X' in IMG."

Other thing, I know that I mentioned this a couple of time but why would we need to change the logic if it works in different systems? Also, the *DIM_NONAGGR doesn't work in different models and environments in this system. I wonder where could I check if the pre-requirements and/or entries are all setup accordingly to have it working properly.

former_member186338
Active Contributor
0 Likes

collepicolo

OK, strange - member count is the same!

Let's test simple one:

*XDIM_MEMBERSET TIME=TNONE
*XDIM_MEMBERSET DATASOURCE=BOB_INP
*XDIM_MEMBERSET UNIT=USD
*XDIM_MEMBERSET P_ACCT=CQUAD
*XDIM_MEMBERSET DEPTID=NO_DEPTID
*RUNALLOCATION
*FACTOR=1
*ACCELERATOR=OFF 
*DIM_NONAGGR PROG_ID WHAT=A26011,A36119; WHERE=A26011,A36119 
*DIM DATASOURCE WHAT=BOB_INP; WHERE=INP 
*ENDALLOCATION

Unfortunately, I don't have the system with your configuration, Have to ask you to perform tests.

And test also with

*ACCELERATOR=ON

to see the difference

former_member186338
Active Contributor
0 Likes

May be that starting from some SP RUNALLOCATION with *DIM_NONAGGR didn't like same ID's in WHAT!

Can you test something like:

*DIM_NONAGGR PROG_ID WHAT=ASI_001463,ASI_001463;WHERE=A26011,A36119

And without same ID's:

*DIM_NONAGGR PROG_ID WHAT=A26011,A36119;WHERE=A26011,A36119
collepicolo
Explorer
0 Likes
*DIM_NONAGGR PROG_ID WHAT=ASI_001463,ASI_001463;WHERE=A26011,A36119

*DIM_NONAGGR PROG_ID WHAT=A26011,A36119;WHERE=A26011,A36119

It didn't like either. Do we have some tables that I could check if the ENABLE_HANA_MDX is really active or any other one like that?

former_member186338
Active Contributor
0 Likes

collepicolo

By the way, in your script the line:

*FACTOR=1

is missing.

Not sure it can affect the code execution, but better to add it.