cancel
Showing results for 
Search instead for 
Did you mean: 

DM package: ask for two versions as input

Former Member
0 Kudos


Business scenario: user must select a source version and then on a different prompt a destination version. Then submit the DM package. This package will call a logic and this logic calls a BAdI sending the two selected versions.

At the moment we are asking the first version with a selectinput and the second version with a text prompt.


PROMPT(SELECTINPUT,,,Select input version,"%CATEGORY_DIM%")

PROMPT(TEXT, %VERS_DEST%, "Type destination version",,,,,")

The user asked to insert both source and destination version from a selection list and not by writing the second one on a text box. Of course he would not insert the two versions on the same selectinput. Combobox is not a solution because there are a lot of versions.

We do not know how to insert two selectinput and how to send the two variables to the script logic.

How can we do this?

Thank you

BPC NW 10

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Kudos

Correct:

PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,"Select Source and Target Category",”%CATEGORY_DIM%”,)

INFO(%EQU%,=)

INFO(%TAB%,;)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SELECTION,%SELECTION%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,TOSELECTION%EQU%%TOSELECTION%)

Then in the script use:

%CATEGORY_SET% for source Category

$TOSELECTION$ for target Category

Vadim

P.S. Or the following (without setting scope with %SELECTION%):

PROMPT(COPYMOVEINPUT,%SEL%,%TOSELECTION%,"Select Source and Target Category",”%CATEGORY_DIM%”,)

INFO(%EQU%,=)

INFO(%TAB%,;)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,SEL%EQU%%SEL%%TAB%TOSEL%EQU%%TOSEL%)

Then in the script use:

$SEL$ for source Category

$TOSEL$ for target Category

Former Member
0 Kudos

Hi Vadim,

thanks for your suggestion. I think this is the right direction, however my DM package looks empty (nothing can be selected by the user) with this code:


PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,"Select Source and Target Version:",”%CATEGORY_DIM%”,)

INFO(%EQU%,=)

INFO(%TAB%,;)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SELECTION,%SELECTION%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,LOGICFILENAME,MY_LOGIC_NAME.LGF)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,TOSELECTION%EQU%%TOSELECTION%)

Are there any errors?

Thank you

former_member186338
Active Contributor
0 Kudos

Sorry, what do you mean by empty? Show some screenshots!

The result of prompt:

PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,"Select Source and Target Version:",”%CATEGORY_DIM%”,)

Vadim

Former Member
0 Kudos

Oh, there is a typo on your PROMPT line:

PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,"Select Source and Target Version:",”%CATEGORY_DIM%”,)

The correct version is:

PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,"Select Source and Target Version:","%CATEGORY_DIM%",)

(I replaced ” with ")

Now it works. Thank you so much!

Alberto

former_member186338
Active Contributor
0 Kudos

Ups, copy/paste from help is not a good practice My mistake!

COPYMOVEINPUT Prompt() Command - SAP BusinessObjects Planning and Consolidation - SAP Library

B.R. Vadim

Answers (2)

Answers (2)

bhagyesh_ravange
Active Participant
0 Kudos

Try as mentioned below

PROMPT(SELECTINPUT,%SOURCECATEGORY%,,"Enter Source Category","%CATEGORY_DIM%")

PROMPT(SELECTINPUT,%TARGETCATEGORY%,,"Enter Target Category","%CATEGORY_DIM%")

INFO(%EQU%,=)

INFO(%TAB%,;)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,SOURCE%EQU%%SOURCECATEGORY%%TAB%TARGET%EQU%%TARGETCATEGORY%)


and then you can use $SOURCE$ and $TARGET$ in your script logic.

Hope it helps...

former_member186338
Active Contributor
0 Kudos

Hi Bhagyesh,

Your proposal will not work, SELECTINPUT variable requires MEMBERSELECTION instead of REPLACEPARAM!!

Please test, before propose...

Vadim

bhagyesh_ravange
Active Participant
0 Kudos

ahh sorry for that mistake..

Shrikant_Jadhav
Active Contributor
0 Kudos

Hi Alberto,

You can consider the following option -

Kindly refer the below link

Shrikant

former_member186338
Active Contributor
0 Kudos

Hi Shrikant,

Your solution is not related to the question

Vadim

Shrikant_Jadhav
Active Contributor
0 Kudos

Hi Vadim,

ups .. by mistake directed to that link.

Shrikant