on 09-09-2016 9:11 AM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
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
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
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!
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
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
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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...
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
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
Extra info required:
Full list of dimension in each model!
Advanced script for DM package.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
10 | |
3 | |
2 | |
1 | |
1 | |
1 | |
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.