cancel
Showing results for 
Search instead for 
Did you mean: 

Dimension set:"PROFITCENTER" not assigned in Data Manager

Former Member
0 Kudos

Dear  all,

when I try to run logic script test.LGF with below data Region, I got error message -> Dimension set:"PROFITCENTER" not assigned in Data Manager;

strange issue since it would be OK if I assigned specific value to PROFITCENTER, error happened when assign "<ALL>" on it; and also if I run the logic script YTD_TO_PER_01.LGF individually, it is fine when assign assign "<ALL>" on PROFITCENTER.

Does some one know what the root cause about this, any comment would appreciate.

Please check the attachment for env:

data Region:

  ACCOUNTGRP = 30002

  TIME = 2016.04

  PROFITCENTER = <ALL>

I want to provide the detail content of these two script logic:

=======start of test.LGF===========

*START_BADI RUNLOGIC_PH

//Data Set is defined by BADI Parameters, not by Application content

QUERY = OFF

//If set to OFF the script is executed in Simulation mode, i.e. it doesn't write back data

WRITE = ON

//Do not execute a validation check of the underlying "called" script

VALIDATION = OFF

//No additional information will be in the output log

DEBUG = OFF

//Script to be called

LOGIC = YTD_TO_PER_01.LGF

//This script can be located in a different AppSet and/or Application

APPSET = FIAAA

APP = Planning

//Defines Data Set to run the script on

DIMENSION AUDITTRAIL = LOADFI_YTD, XXXX

DIMENSION VERSION = ACT

DIMENSION SCOPE = <NONE>

DIMENSION TCURRENCY = <NONE>

DIMENSION ASSETCLASS = <ALL>

DIMENSION EMPLOYEE = <ALL>

DIMENSION PROJECT = <ALL>

//Dimension on which the Data Set will be split

//CHANGED = TIME

*END_BADI

=======end of test.LGF===========

=======start of YTD_TO_PER_01.LGF===========

Below is the content from YTD_TO_PER_01.LGF

*XDIM_MEMBERSET AUDITTRAIL = LOADFI_YTD, XXXX

*XDIM_MEMBERSET VERSION = ACT

*XDIM_MEMBERSET TIME = %TIME_SET%

*XDIM_MEMBERSET PROFITCENTER = %PROFITCENTER_SET%

*XDIM_MEMBERSET ACCOUNTGRP = %ACCOUNTGRP_SET%

*WHEN VERSION

*IS ACT

*REC(EXPRESSION = 0)

*ENDWHEN

*COMMIT

=======end of YTD_TO_PER_01.LGF===========

BR,

Jacob

Accepted Solutions (1)

Accepted Solutions (1)

former_member200327
Active Contributor
0 Kudos

Hi Jacob,

For performance reasons BPC changed at some point how <ALL> is processed and passed to a BADI.

Can you put DIMENSION PROFITCENTER = <ALL> in call of RUNLOGIC_PH?

Regards,

Gersh

Former Member
0 Kudos

Hi Gersh,

as your suggestion, I put DIMENSION PROFITCENTER = <ALL> in call of RUNLOGIC_PH, and at same time I need add *XDIM_MEMBERSET PROFITCENTER = <ALL> in invoked Script Logic(in this case YTD_TO_PER_01.LGF ).

and it run successfully.

BR,

Jacob

former_member186338
Active Contributor
0 Kudos

Is it so hard to answer my questions?

former_member200327
Active Contributor
0 Kudos

Hi Jacob,

So, it worked?

Alternatively, you can put DIMENSION PROFITCENTER = BAS(%PROFITCENTER_SET%) and remove all XDIM_MEMBERSETs that assigned to DIM_SET in YTD_TO_PER_01.LGF.

Regards,

Gersh

Former Member
0 Kudos

Hi Vadim,

The validation from your suggestion was aborted 2times by User's incidents., Sorry about my delay,

I try to full list of dimension in two models, instead of PROFITCENTER , another twist issue happend: - "Dimension set:"TIME" not assigned in Data Manager", which I certainly already include in two models.


regarding the setting of advanced script in the DM package, I didn't change it, since I want to pass it from UJKT first.

my consideration is that it wouldn't be very smart or friendly enough if full list of dimensions required every time,


and besides, we can run it successfully when we assign PROFITCENTER on a specify value instead of <ALL>, it can proved that no need to list full of dimensions, right?



BR,

Jacob

former_member186338
Active Contributor
0 Kudos

1. I need lists to provide you some  solution. Is it so hard?

2. "regarding the setting of advanced script in the DM package, I didn't change it, since I want to pass it from UJKT first." - then you have to provide screenshot of UJKT with clear view of Data Region! You have to explain what parameters will be selected by user.

Former Member
0 Kudos

Hi Vadim,

1. I need lists to provide you some  solution. Is it so hard?

Re: really sorry that I thought you want me to append the rest of dimension in the two script logic.

I couldn't provide the full of dimension list since the system is from our customer, it is not allowed to published in the Web, hope you can understand.

and I can confirm that the logic in this scenario, no relationship with the rest of dimension.

Data Rigion actually I have provided in the begining of description, I put it on below again, also screenshot for Data Rigion of UJKT, and Selecitons which user chose from running Data Package.

data Region:

  ACCOUNTGRP = 30002

  TIME = 2016.04

  PROFITCENTER = <ALL>

BR,

Jacob

former_member186338
Active Contributor
0 Kudos

"I couldn't provide the full of dimension list since the system is from our customer, it is not allowed to published in the Web, hope you can understand." - sorry, I can't understand! You can always rename some secret dimensions

But I need 2 lists!!!!

former_member186338
Active Contributor
0 Kudos

P.S. DM package selection <all> is not the same as script <ALL>

Former Member
0 Kudos

Hi Vadim,

see the lists:

1, ALL DIMENSIONs IN C_BPC(contain logic  RUNLOGIC_PH to invoke "YTD_TO_PER_01.LGF" )

AUDITTRAIL

VERSION

SCOPE

TCURRENCY

ASSETCLASS

EMPLOYEE

PROJECT

ACCOUNTGRP

COMPANYCODE

COSTCENTER

FLOW

INTERCO

MATERIAL

PROFITCENTER

RPTCURRENCY

TIME

2, ALL DEMENSIONs IN Planning(contain Script Logic - "YTD_TO_PER_01.LGF")

ACCOUNTGRP

ASSETCLASS

AUDITTRAIL

COMPANYCODE

COSTCENTER

EMPLOYEE

FLOW

INTERCO

MATERIAL

PROFITCENTER

PROJECT

RPTCURRENCY

TIME

VERSION

Former Member
0 Kudos

<all> for DM package selection is brought automatically.


and <ALL> is for Data Region in UJKT, <all> is not acceptable in it.


this is what BPC is, they should be the same meaning, you can't unify them.


BR,

Jacob

former_member186338
Active Contributor
0 Kudos

Ok, and just to confirm:

You want the user to select ACCOUNTGRP, PROFITCENTER, TIME

with fixed:

DIMENSION AUDITTRAIL = LOADFI_YTD, XXXX

DIMENSION VERSION = ACT

All other - ALL (none for missing)

former_member186338
Active Contributor
0 Kudos

UJKT is a testing tool and you can't reproduce exactly the DM scope selection!

Former Member
0 Kudos

Hi Gersh,

a syntax error will raise if I use DIMENSION PROFITCENTER = BAS(%PROFITCENTER_SET%)  to replace


XDIM_MEMBERSETs  in YTD_TO_PER_01.LGF.


Please correct me if I misunderstood you.


BR,

Jacob

former_member200327
Active Contributor
0 Kudos

Hi Jacob,

No, it shouldn't. If it does - please post it here.

Regards,

Gersh

Former Member
0 Kudos

Hi Vadim,

yes, I want the user to select ACCOUNTGRP, PROFITCENTER, TIME.

need to fixed:

user can run on DIMENSION PROFITCENTER with <all>


BR,

Jacob

Former Member
0 Kudos

Hi Gersh,

code in in YTD_TO_PER_01.LGF.

BR,

Jacob

former_member186338
Active Contributor
0 Kudos

Your script has to be:

*START_BADI RUNLOGIC_PH

QUERY = OFF

WRITE = ON

VALIDATION = OFF

DEBUG = ON

LOGIC = YTD_TO_PER_01.LGF

APPSET = FIAAA

APP = Planning

DIMENSION AUDITTRAIL = LOADFI_YTD, XXXX

DIMENSION VERSION = ACT

DIMENSION ASSETCLASS = <ALL>

DIMENSION EMPLOYEE = <ALL>

DIMENSION PROJECT = <ALL>

DIMENSION PROFITCENTER = %PROFITCENTER_SET%

DIMENSION ACCOUNTGRP = %ACCOUNTGRP_SET%

DIMENSION TIME = %TIME_SET%

DIMENSION SCOPE = <NONE>

DIMENSION TCURRENCY = <NONE>

*END_BADI

And test it with <all> not in UJKT, but in the real DM package!

former_member186338
Active Contributor
0 Kudos

P.S. You can also add:

DIMENSION COMPANYCODE = <ALL>

DIMENSION COSTCENTER = <ALL>

DIMENSION FLOW = <ALL>

DIMENSION INTERCO = <ALL>

DIMENSION MATERIAL = <ALL>

DIMENSION RPTCURRENCY = <ALL>

former_member186338
Active Contributor
0 Kudos

Sorry, but this syntax is related to RUNLOGIC_PH parameters, not to the calling script!

former_member186338
Active Contributor
0 Kudos

P.S. And BAS is not required in this case, simply:

DIMENSION PROFITCENTER = %PROFITCENTER_SET%

Tested!

former_member186338
Active Contributor
0 Kudos

Detailed sample in my system:

First script:

*START_BADI RUNLOGIC

QUERY = OFF

WRITE = ON

VALIDATION = OFF

DEBUG = ON

LOGIC = TCALL.LGF

APPSET=SIM

APP = ADVSALES

DIMENSION ADV = <ALL>

DIMENSION PLANTYPE=%PLANTYPE_SET%

DIMENSION BE=%BE_SET%

DIMENSION TITLES=1100

DIMENSION PERIODS=%PERIODS_SET%

DIMENSION CORPDIR = <NONE>

DIMENSION INACCT = <NONE>

*END_BADI

Second script TCALL.LGF

*XDIM_MEMBERSET TITLES=%TITLES_SET%

*XDIM_MEMBERSET BE=%BE_SET%

*XDIM_MEMBERSET PERIODS=%PERIODS_SET%

*XDIM_MEMBERSET PLANTYPE=%PLANTYPE_SET%

*WHEN ADV

*IS *

*REC(EXPRESSION=%VALUE%)

*ENDWHEN

First script was launched:

Log:

/CPMB/MODIFY completed in 0 seconds

/CPMB/DEFAULT_FORMULAS_LOGIC completed in 1 seconds

/CPMB/CLEAR completed in 0 seconds

[Selection]

--------------------------------------------------------------

SELECTION = /SIM/INPER/PRIVATEPUBLICATIONS/V.KALININ/TempFiles/FROM.TMP@@@SAVE@@@@@@EXPAND@@@|DIMENSION:BE||DIMENSION:PERIODS|2011.FEB|DIMENSION:PLANTYPE|ACTUAL

SELECTION_KEYDATE =

[Message]

--------------------------------------------------------------

model: INPER. Package status: SUCCESS

Formula log:

LOG BEGIN TIME:2016-09-13 16:35:55

FILE:\ROOT\WEBFOLDERS\SIM\ADMINAPP\INPER\TEST1.LGF

USER:V.KALININ

APPSET:SIM

APPLICATION:INPER

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:BE WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:CORPDIR WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:INACCT WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:TITLES WILL QUERY ON ALL BASE MEMBERS.

EXECUTION BADI:RUNLOGIC

QUERY: OFF

WRITE: ON

LOG BEGIN TIME:2016-09-13 16:35:54

FILE:\ROOT\WEBFOLDERS\SIM\ADMINAPP\INPER\TEST1.LGF

USER:V.KALININ

APPSET:SIM

APPLICATION:ADVSALES

[INFO] GET_DIM_LIST(): I_APPL_ID="ADVSALES", #dimensions=6

ADV,BE,MEASURES,PERIODS,PLANTYPE,TITLES

#dim_memberset=4

TITLES:1100,1 in total.

BE:ALLBE,BE1000,BE1100,BE1200,BE1300,...37 in total.

PERIODS:2011.FEB,1 in total.

PLANTYPE:ACTUAL,1 in total.

REC :%VALUE%

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 23  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :0.00 ms.

23  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 23  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

ADV    BE    PERIODS    PLANTYPE    TITLES    SIGNEDDATA

2020202020701    BE1000    2011.FEB    ACTUAL    1100    - XXXXX.94

former_member200327
Active Contributor
0 Kudos

Hi jacob,

Yes, I agree. if you put a BADI parameter in the middle of a script you most certainly will get a syntax error.

You need BAS in DIMENSION statement only if you later decide using PROFITCENTER or one of it's Properties in CHANGED parameter. But if PROFITCENTER is always <ALL> and not just for testing then you don't have to mention it in either of the scripts.

I won't recommend using VALIDATION = OFF until you get your script working. I also don't recommend using DEBUG = OFF until all performance issues are resolved.

Regards,

Gersh

former_member186338
Active Contributor
0 Kudos

Hi Gersh,

PROFITCENTER is not always ALL, but the topic author has to test the package not in UJKT to test the effect of user selection <all>

And the line: DIMENSION PROFITCENTER = %PROFITCENTER_SET%

is required if in the calling script something like this is used:

*XDIM_MEMBERSET PROFITCENTER = %PROFITCENTER_SET%

Also both lines can be removed simultaneously

Former Member
0 Kudos

Hi Vadim,

Thank you for your help, it is the correct solution, the issue is gone.

BR,

Jacob

Former Member
0 Kudos

also thank you Gersh.

BR,

Jacob

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Jacob,

Instead of Keeping <ALL> in selection, have you tried keeping Base of ALL members selected from the member selector OR ALL MEMBERS option and then running the script?? <ALL> is the by default value shown in the selection box! It has no value......my guess is script logic will not recognize that value.

Regards,

JP

former_member186338
Active Contributor
0 Kudos

Sorry, but incorrect. The issue is not here But I need answers fo my questions to help!

Former Member
0 Kudos

Yes Vadim......<ALL> should work in script logic but in his case its not working. I dont know whether BPC 10.1 on HANA has any changes with script logic working, but the author said that specific profict center selection is working...so I guess the DMP script must be correct. You will get your answers from the author...

Former Member
0 Kudos

Hi JP\Vadim,

thank you for your quick reply.

the error happened when I run test.LGF from data package, which we keep <ALL> on PROFITCENTER as default. - and it is OK if we assign specify members on PROFITCENTER in stead of <ALL>;


above is the situation from UJKT, which have same situation as data package;


I agree that it seems logic script don't recognize <ALL>, but I don't know how to define it in the data region which represent all members of  PROFITCENTER, we have four hierarchies.


BR,

Jacob

former_member186338
Active Contributor
0 Kudos

Sorry, but can you answer my questions?

Former Member
0 Kudos

Hi Vadim,

Here is the status:

Full list of dimension in each model!

Re: you mean when we define the data set?

in this case, we didn't list all the dimension below.

is it necessary to list all dimension even in the invoked script logic(like YTD_TO_PER_01.LGF in this case)?

//Defines Data Set to run the script on

DIMENSION AUDITTRAIL = LOADFI_YTD, XXXX

DIMENSION VERSION = ACT

DIMENSION SCOPE = <NONE>

DIMENSION TCURRENCY = <NONE>

DIMENSION ASSETCLASS = <ALL>

DIMENSION EMPLOYEE = <ALL>

DIMENSION PROJECT = <ALL>

Advanced script for DM package.

Re: sorry, I don't understand what is this question means.

BR,

Jacob

former_member186338
Active Contributor
0 Kudos

Please show 2 dimension lists for 2 models involved!

"Advanced script for DM package.

Re: sorry, I don't understand what is this question means."

You run your script using DM package?

Then look on the advanced script in the DM package!

former_member186338
Active Contributor
0 Kudos

Sample:

former_member186338
Active Contributor
0 Kudos

Is it clear?

former_member186338
Active Contributor
0 Kudos

Extra info required:

Full list of dimension in each model!

Advanced script for DM package.