cancel
Showing results for 
Search instead for 
Did you mean: 

Filter Data Manager Variable for user Selection

former_member597393
Participant
0 Kudos
390

Hi Experts,

I am selecting the time from Data Manager, in advanced script I have this statement :

PROMPT(SELECT,%TIMEID%,,"Selection 1","%TIME_DIM%")

My variable passed to the badi and script logic with the following value :

TIMEID =/.../..FROM.TMP@@@SAVE@@@@@@EXPAND@@@|DIMENSION:TIME|2021.01,2021.02

I want to pass to the script logic only this value 2021.01,2021.02 because I am using it in further calculation in script logic.

How I can filter or trim this variable string in script logic ? or any other alternative in the advanced script of DM ?

Regards

Mohamed

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Kudos

In DM advanced script you can use %SELECTION% or some user defined variable like %TIMEID%

%SELECTION% is passed as %XXX_SET% to script logic.

To pass %TIMEID% you can't use REPLACEPARAM, you have to use MEMBERSELECTION in TASK with the same syntax.

Result of MEMBERSELECTION is $xxx$ variable in script logic.

former_member597393
Participant
0 Kudos

Thanks Vadim,

using standard chain and MEMBERSELECTION , I am able to pass user selection to variable.

Answers (4)

Answers (4)

former_member186338
Active Contributor
0 Kudos

Workaround:

Instead of: PROMPT(SELECT,%TIMEID%,,,"%TIME_DIM%")
Use %SELECTION% for TIME and pass it as %TIME_SET%.

There is some bug in some versions of BPC with multiple variables.

former_member597393
Participant
0 Kudos

Hi Vadim,

can I user SELECTION for multiple variables in one statement , I want the user select all variables in one window and pass each selection using %XXX_SET%

like :

PROMPT(SELECT,,,,"%CATEGORY_DIM%,%ALLOC_SET%,%TIME_SET%")

....

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,..%Variables%..TIMEID%EQU%%TIMEID%)

kindly advise how to write PROMPT(SELECT... ) for this scenario

Regards

Mohamed

former_member186338
Active Contributor
0 Kudos

faouzi.mohamed

MEMBERSELECTION is for single dimension in prompt like:

PROMPT(SELECT,%VERSION%,,,"%CATEGORY_DIM%")

For multiple dimension selection you can use only %SELECTION% variable passes using TASK SELECTION

former_member597393
Participant
0 Kudos

Hi ,

Thank you for your feedback

I updated the DM script , now VERSION is passed with correct value , by TIMEID get concatenated with SELECTION word, I don't know from where getting this string of SELECTION

PROMPT(SELECT,%VERSION%,,,"%CATEGORY_DIM%")
PROMPT(SELECT,%TIMEID%,,,"%TIME_DIM%")
INFO(%EQU%,=)
INFO(%TAB%,;)
TASK(ZALLOC_RUN_LOGIC,TAB,%TAB%)
TASK(ZALLOC_RUN_LOGIC,EQU,%EQU%)
TASK(ZALLOC_RUN_LOGIC,SUSER,%USER%)
TASK(ZALLOC_RUN_LOGIC,SAPPSET,%APPSET%)
TASK(ZALLOC_RUN_LOGIC,SAPP,%APP%)
TASK(ZALLOC_RUN_LOGIC,LOGICFILENAME,Myscript.LGF)
TASK(ZALLOC_RUN_LOGIC,MEMBERSELECTION,VERSION%EQU%%VERSION%%TAB%TIMEID%EQU%%TIMEID%)

  • Myscript :

*START_BAdI CALC_COST
QUERY = OFF
WRITE = ON
VER = $VERSION$
TIME = $TIMEID$

*END_BAdI

  • DM Debug values in

..../TempFiles/FROM.TMP@@@SAVE@@@@@@EXPAND@@@|DIMENSION:TIME|2021.01,2021.02
..../TempFiles/FROM.TMP@@@SAVE@@@@@@EXPAND@@@|DIMENSION:VERSION|ACTUAL

  • DEBUG Result in the BADI , get the following values :

VER=ACTUAL

TIME=2021.01,2021.02SELECTION

Regards

Mohamed

former_member266731
Discoverer
0 Kudos

Hi Bennie,

I am getting this error

RUN_LOGIC:Dimension set:"TIME" not assigned in Data Manager

This my dynamic script

PROMPT(SELECT,,,,"%CATEGORY_DIM%")

PROMPT(SELECT,%TIMEID%,,"Selection 2","%TIME_DIM%")

INFO(%EQU%,=)

INFO(%TAB%,;)

TASK(ZRUNLOGIC,TAB,%TAB%)

TASK(ZRUNLOGIC,EQU,%EQU%)

TASK(ZRUNLOGIC,SUSER,%USER%)

TASK(ZRUNLOGIC,SAPPSET,%APPSET%)

TASK(ZRUNLOGIC,SAPP,%APP%)

TASK(ZRUNLOGIC,LOGICFILENAME,Myscript.LGF)

TASK(ZRUNLOGIC,REPLACEPARAM,SELECTION=%SELECTION%;TIMEID=%TIMEID%)

TASK(ZRUNLOGIC,REPLACEPARAM,SELECTION%EQU%%SELECTION%%TAB%TIMEID%EQU%%TIMEID% )

Regards

Mohamed

former_member186338
Active Contributor
0 Kudos

TASK(ZRUNLOGIC,REPLACEPARAM,SELECTION=%SELECTION%;TIMEID=%TIMEID%)

TASK(ZRUNLOGIC,REPLACEPARAM,SELECTION%EQU%%SELECTION%%TAB%TIMEID%EQU%%TIMEID% )

Completely incorrect!

former_member186338
Active Contributor
0 Kudos

P.S. Crazy idea to use custom chain ZRUNLOGIC! Why not to use standard chain???

benniejayfguevarra
Participant
0 Kudos

Hi faouzi.mohamed,

If you're using the standard DM/Script logic package you can use %TIME_SET% in the script logic.

Thanks,

Bennie