cancel
Showing results for 
Search instead for 
Did you mean: 

copy package - one to many

chandrakanthk01
Explorer
0 Kudos

Hi experts,

I have a requirement for copying rates from one period to the following 11 months. The user will be selecting the 11 time periods following the current period. I have this script logic developed below on my own.

*XDIM_MEMBERSET VERSION = ACTUAL

*XDIM_MEMBERSET TIME = %TIME_SET%

*RUNALLOCATION

*FACTOR=1

*DIM TIME WHAT=%TIME_SET%; WHERE=%TIME_SET%; USING=<<<; TOTAL=<<<

*ENDALLOCATION

And the advanced script is modified like below:

PROMPT(SELECTINPUT,%SOURCETIME%,,"Select Source Time","%TIME_DIM%")

PROMPT(SELECTINPUT,%TARGETTIME%,,"Select Target Time","%TIME_DIM%")

INFO(%EQU%,=)

INFO(%TAB%,;)

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

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

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,SOURCETIME%EQU%%SOURCETIME%%TAB%TARGETTIME%EQU%%TARGETTIME%)

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,COPY_RATES.LGF)

But my package is failing with the error : Invalidate selection condition

model: Rates. Package status: ERROR

Request all of you to help me in executing the DMP successfully please.

Thanks,

Chandrakanth.K

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member186338
Active Contributor
0 Kudos

First of all you have to remove this line:

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

%SELECTION% variable is not assigned

Then you can't use %TIME_SET% in your script - it's empty.

You have 2 variables to be used in script logic:

$SOURCETIME$

$TARGETTIME$

Or you can use another approach (use %SELECTION% for Source Time):

PROMPT(SELECTINPUT,%SELECTION%,,"Select Source Time","%TIME_DIM%") 
PROMPT(SELECTINPUT,%TARGETTIME%,,"Select Target Time","%TIME_DIM%") 
INFO(%EQU%,=) 
INFO(%TAB%,;) 
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%) 
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%) 
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,TARGETTIME%EQU%%TARGETTIME%) 
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,COPY_RATES.LGF)  

With the script:

*XDIM_MEMBERSET VERSION = ACTUAL 

*RUNALLOCATION 
*FACTOR=1 
// %TIME_SET% will contain Source Time from %SELECTION%
// $TARGETTIME$ will contain Target time periods from %%TARGETTIME%
*DIM TIME WHAT=%TIME_SET%; WHERE=$TARGETTIME$
*ENDALLOCATION

P.S. In future, please, use CODE button to insert code text for readability.