cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Incremental Mode through user selection in FXTRANS

Former Member
0 Likes
569

Hi Experts,

I am trying to leverage the functionality of INCREMENTAL_MODE in FXTRANS.LGF through a user selection Radio button and Data Manager variable.

For example:

*RUN_PROGRAM CURR_CONVERSION

CATEGORY = %CATEGORY_SET%

GROUP = %SCOPE_SET%

TID_RA = %TIME_SET%

OTHER = [ENTITY=%ENTITY_SET%]

RATEENTITY = Global

INCREMENTAL_MODE=$ICR$

*ENDRUN_PROGRAM

PROMPT(SELECTINPUT,,,,"%ENTITY_DIM%,%CATEGORY_DIM%,%GROUP_DIM%,%TIME_DIM%")

PROMPT(RADIOBUTTON,%ICR%,"Incremental?",%N%,{"Yes","No"},{%Y%%N%})

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

INFO(%EQU%,=)

INFO(%Y%,X)

INFO(%N%,  )

TASK(/CPMB/FX_RESTATMENT_LOGIC,REPLACEPARAM,ICR%EQU%%ICR%)

Even when I select "No" in the Radio button it still runs in Incremental Mode. It seems I am unable to provide an Empty Value through the Data manager Variable.

I have also tried

*RUN_PROGRAM CURR_CONVERSION

CATEGORY = %CATEGORY_SET%

GROUP = %SCOPE_SET%

TID_RA = %TIME_SET%

OTHER = [ENTITY=%ENTITY_SET%]

RATEENTITY = Global

$ICR$

*ENDRUN_PROGRAM

PROMPT(SELECTINPUT,,,,"%ENTITY_DIM%,%CATEGORY_DIM%,%GROUP_DIM%,%TIME_DIM%")

PROMPT(RADIOBUTTON,%ICR%,"Incremental?",%N%,{"Yes","No"},{%Y%%N%})

INFO(%Y%,INCREMENTAL_MODE=X)

INFO(%N%,INCREMENTAL_MODE=)

INFO(%EQU%,=)

TASK(/CPMB/FX_RESTATMENT_LOGIC,REPLACEPARAM,ICR%EQU%%ICR%)

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

Even when I select "Yes" in the Radio button it still doesn't run in Incremental Mode. It seems I am unable to Replace $ICR$ in the Script.

For the time being, I have created 2 LGF's, one without Incremental Mode and one with "Incremental Mode=X" and through Radio button selecting the LGF file to run as below:

FXTRANS.LGF

*RUN_PROGRAM CURR_CONVERSION

CATEGORY = %CATEGORY_SET%

GROUP = %SCOPE_SET%

TID_RA = %TIME_SET%

OTHER = [ENTITY=%ENTITY_SET%]

RATEENTITY = Global

*ENDRUN_PROGRAM

FXTRANS_INCRE.LGF

*RUN_PROGRAM CURR_CONVERSION

CATEGORY = %CATEGORY_SET%

GROUP = %SCOPE_SET%

TID_RA = %TIME_SET%

OTHER = [ENTITY=%ENTITY_SET%]

RATEENTITY = Global

INCREMENTAL_MODE=X

*ENDRUN_PROGRAM

PROMPT(SELECTINPUT,,,,"%CATEGORY_DIM%,%ENTITY_DIM%,%TIME_DIM%,%GROUP_DIM%")

PROMPT(RADIOBUTTON,%X%,"Incremental?",FXTRANS.LGF,{"Yes","No"},{"FXTRANS_INCRE.LGF","FXTRANS.LGF"})

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,LOGICFILENAME,%X%)

Is there a way to provide Incremental Mode on/off as a user selection without having 2 logic files?

Thanks and Regards,

Collin.

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Likes

Hi Collin,

Strange syntax:

PROMPT(RADIOBUTTON,%ICR%,"Incremental?",%N%,{"Yes","No"},{%Y%%N%})


May be {%Y%,%N%}? RADIOBUTTON Prompt() Command - SAP BusinessObjects Planning and Consolidation - SAP Library


Or


PROMPT(RADIOBUTTON,%ICR%,"Incremental?","",{"Yes","No"},{"X",""})


Vadim

Former Member
0 Likes

Hi Vadim,

I have tried as below:

*RUN_PROGRAM CURR_CONVERSION

CATEGORY = %CATEGORY_SET%

GROUP = %SCOPE_SET%

TID_RA = %TIME_SET%

OTHER = [ENTITY=%ENTITY_SET%]

RATEENTITY = Global

INCREMENTAL_MODE=$ICR$

*ENDRUN_PROGRAM

PROMPT(SELECTINPUT,,,,"%ENTITY_DIM%,%CATEGORY_DIM%,%GROUP_DIM%,%TIME_DIM%")

PROMPT(RADIOBUTTON,%ICR%,"Incremental?",X,{"Yes","No"},{"X",""})

INFO(%EQU%,=)

TASK(/CPMB/FX_RESTATMENT_LOGIC,REPLACEPARAM,ICR%EQU%%ICR%)

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

Whether I select "Yes" or "No" it run in Incremental Mode.

Regards,

Collin.

former_member186338
Active Contributor
0 Likes

Ups. I can see that some lines foe REPLACEPARAM are missing:

INFO(%TAB%,;)

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

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

Please add!

Former Member
0 Likes

Hi Vadim,

As per my understanding, TAB only acts as a separator between multiple Data manager variables in Task REPLACEPARAM. Since there is only 1 in my Script TAB has no requirement.

I have updated as follows:

LGF no change.

PROMPT(SELECTINPUT,,,,"%ENTITY_DIM%,%CATEGORY_DIM%,%GROUP_DIM%,%TIME_DIM%")

PROMPT(RADIOBUTTON,%ICR%,"Incremental?",X,{"Yes","No"},{"X",""})

INFO(%EQU%,=)

INFO(%TAB%,;)

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

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

TASK(/CPMB/FX_RESTATMENT_LOGIC,REPLACEPARAM,ICR%EQU%%ICR%)

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

Again, whether I select "Yes" or "No" it runs in Incremental Mode.

Regards,

Collin.

former_member186338
Active Contributor
0 Likes

Ok, looks like I understand the issue!

Empty value can't be passed as parameter using REPLACEPARAM!

If you use something like:

PROMPT(RADIOBUTTON,%ICR%,"Incremental?",N,{"Yes","No"},{"X","N"})


For N - it will also run in the incremental mode?

former_member186338
Active Contributor
0 Likes

I know some trick to get empty value

In any dimension you need 2 members (new or already existing) and some property!

For example in ACCOUNT dimension you have:

ID       SOMEPROPERTY

M1      X

M2

For M1 SOMEPROPERTY is "X", for M2 - empty!

Then:

PROMPT(RADIOBUTTON,%ICR%,"Incremental?",M2,{"Yes","No"},{"M1","M2"})


In the script add line:


*SELECT(%IC%,[SOMEPROPERTY],ACCOUNT,[ID]=$ICR$)


As a result, variable %IC% will be "X" for M1 and empty for M2


Then:


INCREMENTAL_MODE=%IC%

former_member186338
Active Contributor
0 Likes

P.S. Even better:

In TIME dimension TIMEID property is useless on parent members.

If for 2006.Q1 we put X in the TIMEID property then:

PROMPT(RADIOBUTTON,%ICR%,"Incremental?",ZZZ,{"Yes","No"},{2006.Q1,ZZZ})


ZZZ - not existing TIME member


*SELECT(%IC%,[TIMEID],TIME,[ID]=$ICR$)

will result for %IC%

ZZZ - empty

2006.Q1 - X


Vadim


P.S. Screenshots:


If "No"

If "Yes"

TIME dimension:

Former Member
0 Likes

Its working.

Thanks.

former_member186338
Active Contributor
0 Likes

Even without property

$ICR$ - Y or N

using prompt:

PROMPT(RADIOBUTTON,%ICR%,"Incremental?",N,{"Yes","No"},{Y,N})

*SELECT(%ICN%,[TIMEID],TIME,[ID]=XXX) //%ICN% - will be empty - not existing member

*FOR %ICY%=X //%ICY% - will be X

*RUN_PROGRAM CURR_CONVERSION

CATEGORY = ACTUAL

TID_RA = 2010.01

OTHER = [ENTITY=DE]

RATEENTITY = Global

INCREMENTAL_MODE=%IC$ICR$% //Result - X or empty!

*ENDRUN_PROGRAM

*NEXT

Vadim

Answers (0)