on 2020 Apr 07 5:51 PM
Hi Friends,
In package run selections for a Dimension instead of drop box needed check box to select the members in Dynamic script
Example Below Run package selection

More Details below: ENTITY DIMENSION
CHECK BOX: XYZ
CHECK BOX: ABC
CHECK BOX : 123
User want to select all three check boxes and run one time package.
Thanks, Kishore
Request clarification before answering.
I can propose only not elegant scenario with RADIOBUTTON:
PROMPT(RADIOBUTTON,%E1%,"Select DE",DE,{"Yes, DE","No, Empty"},{"DE",""})
PROMPT(RADIOBUTTON,%E2%,"Select FR",FR,{"Yes, FR","No, Empty"},{"FR",""})
...Each line will provide user an option to include or exclude some entity and the result will be stored in some line variable (E1, E2...).
All the mentioned variables have to be passed to the script lgf file with REPLACEPARAM:
INFO(%EQU%,=)
INFO(%TAB%,;)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,E1%EQU%%E1%%TAB%E2%EQU%%E2%)
LGF script:
*SELECT(%EN%,ID,ENTITY,ID=$E1$,$E2$)
*XDIM_MEMBERSET ENTITY=%EN%ENTITY will be scoped based on user selection!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
vadim.kalinin
Thanks for the code and tested working fine.
I have added one more prompt: Radio button line for other entity member and in REPLACPARAM line added for E3 Variable as given
(REPLACEPARAM,E1%EQU%%E1%%TAB%E2%EQU%%E2%%TAB%E3%EQU%%E3%%)--- This is not working and E3 is added in script .
(REPLACEPARAM,E1%EQU%%E1%%TAB%E2%EQU%%E2%%) --- This is working fine and package was success but i did not checked the data accuracy .
Please suggest if I continue with REPLACE PARAM Option 1. Should it work for E3 variable too.
Thanks
Kishore
Please provide full text of your scripts!
vadim.kalinin
Please find below dynamic script
PROMPT(SELECT,,,,"%CATEGORY_DIM%,%TIME_DIM%,")
PROMPT(RADIOBUTTON,%E1%,"Select ABC",ABC,{"Yes, ABC","No, Empty"},{"ABC",""})
PROMPT(RADIOBUTTON,%E2%,"Select XYZ",XYZ_VL,{"Yes, XYZ","No, Empty"},{"XYZ",""})
PROMPT(RADIOBUTTON,%E3%,"Select DEF",DEF,{"Yes, DEF","No, Empty"},{"DEF",""})
PROMPT(COMBOBOX,%COSTCENTER%,"SELECT COST CENTER",0,"",{"MNR"},)
PROMPT(COMBOBOX,%COUNTRY%,"SELECT COUNTRY",0,"",{"US"},)
INFO(%EQU%,=)
INFO(%TAB%,;)
TASK(/CPMB/FX_RESTATMENT_LOGIC,SUSER,%USER%)
TASK(/CPMB/FX_RESTATMENT_LOGIC,SAPPSET,%APPSET%)
TASK(/CPMB/FX_RESTATMENT_LOGIC,SAPP,%APP%)
TASK(/CPMB/FX_RESTATMENT_LOGIC,SELECTION,%SELECTION%)
TASK(/CPMB/FX_RESTATMENT_LOGIC,REPLACEPARAM,E1%EQU%%E1%%TAB%E2%EQU%%E2%%TAB%E3%EQU%%E3%%)
TASK(/CPMB/FX_RESTATMENT_LOGIC,LOGICFILENAME,TEST1.LGF)
You have to be accurate when you edit lines!
Not:
TASK(/CPMB/FX_RESTATMENT_LOGIC,REPLACEPARAM,E1%EQU%%E1%%TAB%E2%EQU%%E2%%TAB%E3%EQU%%E3%%)But
TASK(/CPMB/FX_RESTATMENT_LOGIC,REPLACEPARAM,E1%EQU%%E1%%TAB%E2%EQU%%E2%%TAB%E3%EQU%%E3%)Extra % at the end in your line!
Look on the syntax:
TASK(/CPMB/FX_RESTATMENT_LOGIC,REPLACEPARAM,
E1
%EQU%
%E1%
%TAB%
E2
%EQU%
%E2%
%TAB%
E3
%EQU%
%E3%
)
OK, look on the following lines:
PROMPT(RADIOBUTTON,%E1%,"Select ABC",ABC,{"Yes, ABC","No, Empty"},{"ABC",""})
PROMPT(RADIOBUTTON,%E2%,"Select XYZ",XYZ_VL,{"Yes, XYZ","No, Empty"},{"XYZ",""})
PROMPT(RADIOBUTTON,%E3%,"Select DEF",DEF,{"Yes, DEF","No, Empty"},{"DEF",""})Second line is incorrect: default value "XYZ_VL" do not match value here: {"XYZ",""}
First value here:
{"ABC",""}
{"XYZ",""}
{"DEF",""}have to be a valid dimension member!
And this value have to be duplicated as default selection:
PROMPT(RADIOBUTTON,%VARIABLE%,"Label for both options",DEF_SELECTION,{"Label for Def selection","Label for empty selection"},{"DEF_SELECTION",""})If you have issues - post DM formula log.
vadim.kalinin
Second line "XYZ_VL" its typo in editing from original script . I changed the members for security purpose.
Checked data accuracy also after package success by using below one I am getting results only for E1 and E2, E3 no results.
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,E1%EQU%%E1%%TAB%E2%EQU%%E2%)SL:

Thanks
Kishore V
Sorry, but looks like you are constantly doing some typo mistakes. An due to the fact that you really think that it's not secure to show real member ID's I can't help you.
In my test case everything is working fine!
Demonstration for 3 members:
Advanced script:
PROMPT(RADIOBUTTON,%E1%,"Select DE",DE,{"Yes, DE","No, Empty"},{"DE",""})
PROMPT(RADIOBUTTON,%E2%,"Select FR",FR,{"Yes, FR","No, Empty"},{"FR",""})
PROMPT(RADIOBUTTON,%E3%,"Select US",US,{"Yes, US","No, Empty"},{"US",""})
INFO(%EQU%,=)
INFO(%TAB%,;)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,E1%EQU%%E1%%TAB%E2%EQU%%E2%%TAB%E3%EQU%%E3%)
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,LOGICFILENAME,TUSER4.LGF)Script logic TUSER4.LGF:
*SELECT(%EN%,ID,ENTITY,ID=$E1$,$E2$,$E3$)
*XDIM_MEMBERSET ENTITY=%EN%
*XDIM_MEMBERSET TIME=2007.01
*XDIM_MEMBERSET CATEGORY=Actual
*XDIM_MEMBERSET ACCOUNT=PL110
*WHEN ACCOUNT
*IS *
*REC(EXPRESSION=%VALUE%)
*ENDWHEN
DM log (All 3 selected):
/CPMB/MODIFY completed in 0 seconds
/CPMB/DEFAULT_FORMULAS_LOGIC completed in 0 seconds
/CPMB/CLEAR completed in 0 seconds
[Selection]
--------------------------------------------------------------
E1 = DE
E2 = FR
E3 = US
[Message]
--------------------------------------------------------------
model: Planning. Package status: SUCCESS
Formula log:
LOG BEGIN TIME:2020-04-11 14:56:08
FILE:\ROOT\WEBFOLDERS\SHELLTEST\ADMINAPP\Planning\TUSER4.LGF
USER:SUPPORT_EXT
APPSET:SHELLTEST
APPLICATION:Planning
[INFO] GET_DIM_LIST(): I_APPL_ID="Planning", #dimensions=9
ACCOUNT,AUDITTRAIL,CATEGORY,ENTITY,INTERCO,MEASURES,PRODUCT,RPTCURRENCY,TIME
#dim_memberset=4
ENTITY:DE,FR,US,3 in total. <-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
TIME:2007.01,1 in total.
CATEGORY:Actual,1 in total.
ACCOUNT:PL110,1 in total.
REC :%VALUE%
CALCULATION BEGIN:
QUERY PROCESSING DATA
QUERY TIME : 0.00 ms. 3 RECORDS QUERIED OUT.
QUERY REFERENCE DATA
CALCULATION TIME IN TOTAL :0.00 ms.
3 RECORDS ARE GENERATED.
CALCULATION END.
ENDWHEN ACCUMULATION: 3 RECORDS ARE GENERATED.
DATA TO WRITE BACK:
ACCOUNT AUDITTRAIL CATEGORY ENTITY INTERCO PRODUCT RPTCURRENCY TIME SIGNEDDATA
PL110 Input Actual DE I_DE ProductA LC 2007.01 20.00
...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
P.S. Solution, provided in my answer: https://answers.sap.com/answers/13021422/view.html
is the only possible solution without complex ABAP development!
Hi,
You can you use the checkbox prompt for the same in the advanced script, with the syntax as below.
Regards,
Harsha
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 8 | |
| 8 | |
| 6 | |
| 2 | |
| 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.