Skip to Content
avatar image
Former Member

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

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!

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

6 Answers

  • Best Answer
    Nov 22, 2016 at 09:58 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

  • Nov 22, 2016 at 08:26 AM

    Sorry, but ABSOLUTELY not clear!

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

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 22, 2016 at 08:56 AM

    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.

    Add comment
    10|10000 characters needed characters exceeded

  • Nov 22, 2016 at 09:10 AM

    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!

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 22, 2016 at 09:41 AM

    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
    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 25, 2016 at 01:00 PM

    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!


    Add comment
    10|10000 characters needed characters exceeded

    • 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!