cancel
Showing results for 
Search instead for 
Did you mean: 

How to avoid interactive PROMPT in DM Package

Former Member
0 Kudos

Hi,

I need to pass a fixed set of members to a data manager package during its excution. Since the members are fixed it does not make sense to prompt for entering the members. Like here

PROMPT(SELECTINPUT,,,,"%ENTITY_DIM%")

it prompts to enter member values for the ENTITY dimension. Let's say the entity dimension is TERRITORY and members are always A & B in a certain case e.g. I like to calculate something only for A & B territory. Then how to assign A and B to the default selection variable %SELECTION% bypassing this PROMPT command - any thought?

Thanks and best regards

DipM

Accepted Solutions (1)

Accepted Solutions (1)

james_lim
Advisor
Advisor
0 Kudos

Dip,

You can use INFO statement to assign some value instead of using %Entity_Dim% and use a variable that is defined in INFO command to your Logic or Dumpload task.

The other easy way is specify that entity in the logic script using *XDIM_MemberSet entity = A,B without using prompt.

Then user doesn't need to select entity and it will calculate only for that entity.

I hope it will help you.

James Lim.

Former Member
0 Kudos

James,

could you please paste some example coding of the Info statement?

I am trying to pass a a constant to the %SELECTION% parameter, but the system doesn't recognise it.

I am on BPC 7.0 NW

The example would really help me.

Regards

Jan

james_lim
Advisor
Advisor
0 Kudos

Jan,

You can't set parameter to %selection% but may use it %<DimName>_SET% like %Category_SET%.

Or. %<DimName>_TO_SET% like %Category_TO_SET% using INFO statement.

INFO (%CATEGORY_SET%, Value)

Please try to do it. If it is possible, please post your script and let me know what you want.

Thanks

James Lim

Former Member
0 Kudos

Hi James,

I have tryied your approach but still the system deletes all categories within a year which the user selects.

Here is my code:

INFO(%CATEGORY_SET%,100)

PROMPT(SELECTINPUT,%SELECTION%,,"Select the members to CLEAR","%TIME_DIM%")

TASK(/CPMB/CLEAR_CUBE,CHECKLCK,%CHECKLCK%)

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

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

TASK(/CPMB/CLEAR_COMMENTS_FOR_CLEAR,ENABLETASK,"1")

TASK(/CPMB/CLEAR_COMMENTS_FOR_CLEAR,CHECKLCK,"1")

I really appreciate your help.

Jan

Former Member
0 Kudos

Looking at the available Dynamic Constants - I'm not sure %CATEGORY_SET% is one that is recognized by the system.

If 100 is a value in your category dimension, try

INFO(%CATEGORY_DIM%,100)

-Amy

james_lim
Advisor
Advisor
0 Kudos

Jan,

I tried it but didn't work even in MS version.

I think program initialize %selection% value internally.

Please open a ticket. I think it is not a bug but should open a ticket to ask enhancement.

Thank you.

James Lim.

Former Member
0 Kudos

Hi Amy,

I have tried your suggestion but the package can not be run with this statement. It is not recognised.

I will try to solve it via OSS and post the result in this thread.

Thanks for your help

Jan

Former Member
0 Kudos

Dear all,

Any good solution for this kind of requirements?

Answers (2)

Answers (2)

Former Member
0 Kudos

Why not just filtering directly in your script using XDIM_MEMBERSET TERRITORY= ...

D

Former Member
0 Kudos

Are you running custom logic w/the data manager package? If so, can you not set those constants directly in your logic?

Otherwise, you could have a variable in your logic and then pass a constant into that variable through the REPLACEPARAM and EQU fields in your data manager package. (see the how to guide on passing dynamic parameters to script logic).

I have done this in several packages - usually with prompting the user for a value(s), but I believe it works if you code a constant value as well. The caveat I've found is in some scenarios, script logic can only accept a single value into the variable (in a SELECT and XDIM_FILTER). But in a WHEN it will take as many values as you want to pass in.

Hope that helps.

-Amy