cancel
Showing results for 
Search instead for 
Did you mean: 

Data Manager Prompt Multiple SELECT in one window with assigning multiple variables

Former Member
0 Kudos

Hello, colleagues!
We have a data package with 3 SELECT prompts as we need to pass 3 selected values via variables to script logic. As a result we have 3 seperated Selection window. The last DM window where u should check selection, select when to run a package and press "Finish" only displays selected member from the last selection window.
Users wants us to display here all 3 selected members of dimensions. Is it possible anyhow? Maybe any workaround?


I've been thinking about several ideas:
Use prompt MESSAGE and fill it with variables with values of choosen dimension members, but variables in MESSAGE doesn't work as i tried.

Edit last window displayed members - can't find anywhere information about possibility of that.
Use 1 prompt SELECT with multiple select of 3 dimension members, but each one selection should go to it's own variable - can't find right syntax how to assigh several variables to several selections in one prompt SELECT.
Thanks in advance for any help!

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor

You are doing something strange...

The correct scripts are:

PROMPT(SELECT,%SELECTION%,,"Selection 1,2,3","%ENTITY_DIM%,%TIME_DIM%,%CATEGORY_DIM%")
PROMPT(KEYDATE,%KEYDATE%,"Key date",0)
INFO(%EQU%,=)
INFO(%TAB%,;)
INFO(%DO_CALC%,ON)
INFO(%COMP1%,2)
TASK(ZBRP_ALLOCATION_LOGIC_21,TAB,%TAB%)
TASK(ZBRP_ALLOCATION_LOGIC_21,EQU,%EQU%)
TASK(ZBRP_ALLOCATION_LOGIC_21,SUSER,%USER%)
TASK(ZBRP_ALLOCATION_LOGIC_21,SAPPSET,%APPSET%)
TASK(ZBRP_ALLOCATION_LOGIC_21,SAPP,%APP%)
TASK(ZBRP_ALLOCATION_LOGIC_21,SELECTION,%SELECTION%)
TASK(ZBRP_ALLOCATION_LOGIC_21,REPLACEPARAM,DO_CALC%EQU%%DO_CALC%%TAB%COMP%EQU%%COMP1%)

TASK(ZBRP_ALLOCATION_LOGIC_21,LOGICFILENAME,LOGIC.LGF)


*SELECT(%V1%, YEAR, TIME, ID = %TIME_SET%)
*SELECT(%V2%, ID, TIME, YEAR = %V1% AND CALC = N)
*SELECT(%V3%, ORG_LINK, CFR, ID = %CFR_SET%)
*XDIM_MEMBERSET TIME = %V2%
*XDIM_MEMBERSET ORGSTR = BAS(%V3%)
*XDIM_MEMBERSET CAT = %CAT_SET%
*START_BADI ZBRP_CALC
DO_CALC = $DO_CALC$ //why do you fix it in advanced script?
COMP = $COMP$ //why do you fix it in advanced script?

ORG = %4% /??? What do you mean by %4%?
QUERY = OFF
WRITE = ON
*END_BADI

former_member186338
Active Contributor

P.S. Why do you use custom chain ZBRP_ALLOCATION_LOGIC_21?

Standard chain /CPMB/DEFAULT_FORMULAS will do the same...

Or /CPMB/ALLOCATION

former_member186338
Active Contributor
0 Kudos

Is it clear? Have you tested it?

Answers (5)

Answers (5)

Former Member
0 Kudos

Vadim, thanks for your help!

We use custom chains as we need to run step by step several tasks (more than 20) with different value of parameter COMP. The values of COMP1,2,3... stored in INFO instructions and are called in different tasks. That's why we fix it in advanced code.

The code i provided you with is just a representative part of big code, which we have. I did it not to overload topic with lots of unnecessary code.

About your another questions:

DO_CALC = $DO_CALC$ //why do you fix it in advanced script?

-I either don't know why it is fixed here as this code wasn't written by me

ORG = %4% /??? What do you mean by %4%?

- It is just missprint, the value should be %V3%

As I understand direct changes in "summary window" is impossible. Yes, your advise works, but i have situation where there are both

SELECT and COPYMOVE or SELECT,SELECTINPUT and COPYMOVE prompts in one package. What workaround is possible here?
Example:
PROMPT(SELECT,%ENTTO%,,"text","%ENTITY_DIM%")

PROMPT(COPYMOVE,%TIMEFROM%,%TIMETO%,"text","%TIME_DIM%")

PROMPT(COPYMOVE,%CATFROM%,%CATTO%,"text","%CATEGORY_DIM%")


Vadim, can u please advise where i can find detailed information about "TASK([taskname],[PropertyName],[PropertyValue])" construction? I have read help.sap.com and tried to google more info but still have a lot of questions. I'm interested in detailed desription of acceptable [PropertyValue] such as REPLACEPARAM,MEMBERSELECTION etc. and rules of filling in this values (for example - why we use @@@SAVE@@@@@@EXPAND@@@|X|).

Thanks in advance!


former_member186338
Active Contributor
0 Kudos

Sorry, I have no time to write multi page explanation here (like online training)! I will answer only separate questions with FULL info provided (and if possible without typo mistakes).

P.S. There is no single place of information you want, use Google, SAP help, SAP notes and ask here specific questions.

Former Member
0 Kudos

Thank you, Vadim.
Here is an example of package with SELECT and COPYMOVE construction. Is it possible somehow to display all parameteres choosen by user in "summary" window of DM package?

Advanced script:


PROMPT(SELECT,%ENTTO%,,"TEXT","%ENTITY_DIM%")
PROMPT(COPYMOVE,%TIMEFROM%,%TIMETO%,"TEXT","%TIME_DIM%")
PROMPT(COPYMOVE,%CATFROM%,%CATTO%,"TEXT","%CATEGORY_DIM%")
PROMPT(KEYDATE,%KEYDATE%,"Key date",0)

INFO(%EQU%,=)
INFO(%TAB%,;)
INFO(%PREFIX%,@@@SAVE@@@@@@EXPAND@@@|X|)
INFO(%SUFFIX%,|)

TASK(ZBRP_ALLOCATION_LOGIC,TAB,%TAB%)
TASK(ZBRP_ALLOCATION_LOGIC,EQU,%EQU%)
TASK(ZBRP_ALLOCATION_LOGIC,SUSER,%USER%)
TASK(ZBRP_ALLOCATION_LOGIC,SAPPSET,%APPSET%)
TASK(ZBRP_ALLOCATION_LOGIC,SAPP,%APP%)
TASK(ZBRP_ALLOCATION_LOGIC,MEMBERSELECTION,CFRTO%EQU%%CFRTO%%TAB%TIMEFROM%EQU%%TIMEFROM%%TAB%TIMETO%EQU%%TIMETO%%TAB%CATFROM%EQU%%CATFROM%%TAB%CATTO%EQU%%CATTO%)
TASK(ZBRP_ALLOCATION_LOGIC,LOGICFILENAME,LOGIC.LGF)


LOGIC.LGF:

*SELECT(%V_YEARFROM%, YEAR, TIME, ID = $TIMEFROM$)
*SELECT(%V_YEARTO%, YEAR, TIME, ID = $TIMETO$)
*SELECT(%V_PERIODS%, ID, TIME, YEAR = %V_YEARTO% AND CALC = N)

//target cleaning
*XDIM_MEMBERSET TIME = %V_PERIODS%
*XDIM_MEMBERSET CFR = $CFRTO$
*XDIM_MEMBERSET CAT = $CATTO$

*WHEN CFR
*IS *
*REC(FACTOR = 0)
*ENDWHEN

*SELECT(%V_ORG%, ORG, CFR, ID = $CFRTO$)

*XDIM_MEMBERSET TIME = %V_PERIODS%
*XDIM_MEMBERSET ORGSTR = BAS(%V_ORG%)
*XDIM_MEMBERSET CAT = $CATTO$
*XDIM_MEMBERSET CFR = $CFRTO$
*XDIM_MEMBERSET BRPACC = BAS(T_OT12_ALL)

*START_BADI ZBRP_CALC
DO_CALC = ON
COMP = 100
ORG = %V_ORG%
SRC_YEAR = %V_YEARFROM%
SRC_CAT = $CATFROM$
QUERY = OFF
WRITE = ON
*END_BADI

former_member186338
Active Contributor
0 Kudos

In this particular case - not possible! If you want some workaround - please open a new discussion!

P.S.

Lines:

INFO(%PREFIX%,@@@SAVE@@@@@@EXPAND@@@|X|)
INFO(%SUFFIX%,|)

Are absolutely useless in this script!

Former Member
0 Kudos

Because I need to pass 3 values to Script Logic to adjust scope

Advanced code:

  • PROMPT(SELECT,%CFRTO%,,"Selection 1","%ENTITY_DIM%")
  • PROMPT(SELECT,%TIMETO%,,"Selection 2","%TIME_DIM%")
  • PROMPT(SELECT,%CATTO%,,"Selection 3","%CATEGORY_DIM%")
  • PROMPT(KEYDATE,%KEYDATE%,"Key date",0)
  • PROMPT(MESSAGE,"")
  • INFO(%EQU%,=)
  • INFO(%TAB%,;)
  • INFO(%PREFIX%,@@@SAVE@@@@@@EXPAND@@@|X|)
  • INFO(%SUFFIX%,|)
  • INFO(%DO_CALC%,ON)
  • INFO(%COMP1%,2)
  • INFO(%SRC_CAT%,)
  • TASK(ZBRP_ALLOCATION_LOGIC_21,TAB,%TAB%)
  • TASK(ZBRP_ALLOCATION_LOGIC_21,EQU,%EQU%)
  • TASK(ZBRP_ALLOCATION_LOGIC_21,SUSER,%USER%)
  • TASK(ZBRP_ALLOCATION_LOGIC_21,SAPPSET,%APPSET%)
  • TASK(ZBRP_ALLOCATION_LOGIC_21,SAPP,%APP%)
  • TASK(ZBRP_ALLOCATION_LOGIC_21,MEMBERSELECTION,DO_CALC%EQU%%PREFIX%%DO_CALC%%SUFFIX%%TAB%COMP%EQU%%PREFIX%%COMP1%%SUFFIX%%TAB%CFRTO%EQU%%CFRTO%%TAB%TIMETO%EQU%%TIMETO%%TAB%CATTO%EQU%%CATTO%)
  • TASK(ZBRP_ALLOCATION_LOGIC_21,LOGICFILENAME,LOGIC.LGF)

    LOGIC.LGF:
  • *SELECT(%V1%, YEAR, TIME, ID = $TIMETO$)
  • *SELECT(%V2%, ID, TIME, YEAR = %V1% AND CALC = N)
  • *SELECT(%V3%, ORG_LINK, CFR, ID = $CFRTO$)
  • *XDIM_MEMBERSET TIME = %V2%
  • *XDIM_MEMBERSET ORGSTR = BAS(%V3%)
  • *XDIM_MEMBERSET CAT = $CATTO$
  • *START_BADI ZBRP_CALC
  • DO_CALC = $DO_CALC$
  • COMP = $COMP$
  • ORG = %4%
  • QUERY = OFF
  • WRITE = ON
  • *END_BADI
former_member186338
Active Contributor
0 Kudos

Please - FULL DM advanced script! And script logic you want to call!

Why you need to use 3 variables?

P.S. It's not possible to solve you issue directly, but there is a workaround! But I need full info!

former_member186338
Active Contributor
0 Kudos

P.S. MESSAGE prompt is processed before other prompts 🙂

Former Member
0 Kudos

6.jpg(21.1 kB)

1.jpg(49.7 kB2.jpg(47.8 k3.jpg(49.4 kB)B))4.jpg(56.0 k5.jpg(59.6 kB)B)

Here it is. And on the last screenshot is what i want DM package to display me.

former_member186338
Active Contributor
0 Kudos

Sorry, but ABSOLUTELY not clear!

Please provide DM advanced script text and prompts screenshots! Using screenshots explain what do you want to achieve!