cancel
Showing results for 
Search instead for 
Did you mean: 

GET THE VALUE OF CATEGORY DIM IN DYNAMIC SCRIPT

Former Member
0 Kudos

hi bpc gurus:

I have one logic script which is supossed to be called from 2 packages: PACKAGE01 and PACKAGE02, the thing is that PACKAGE01 is executed just for category=REAL so category is not prompted in the variables, since it s harcoded in the dynamic script, but PACKAGE02 is executed for any version so the category is prompted.

In the dynamic script of PACKAGE02 I have not been able to get the value of category dimension that user picks in the prompt values and I need it to send it to the logic script.

This is the LS:

*XDIM_MEMBERSET VERSION = $VERSION$ // THIS IS THE VARIABLE FILLED IN THE DYNAMIC SCRIPT

*XDIM_MEMBERSET SOCIEDAD = %SOCIEDAD_SET%

*XDIM_MEMBERSET TIEMPO = BAS(%TIEMPO_SET%)

*WHEN TIEMPO

*IS *

*REC(FACTOR = 0)

*ENDWHEN

*COMMIT

This is dynamic script of PACKAGE01:

PROMPT(SELECTINPUT,,,,"SOCIEDAD,%TIME_DIM%")

PROMPT(MESSAGE,PACKAGE01)

INFO(%EQU%,=)

INFO(%TAB%,:)

INFO(%VERREAL%,REAL) // CATEGORY HARCODED

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

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,VERSION%EQU%%VERREAL%)

This is dynamic script of PACKAGE02:

PROMPT(SELECTINPUT,,,,"%CATEGORY_DIM%,SOCIEDAD,%TIME_DIM%")

PROMPT(MESSAGE,PACKAGE02)

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

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,VERSION%EQU%%CATEGORY_DIM%)// I guess my problem is here

Hope there is  a way to figure it out.

I know I can build a LS for each package, but I m trying to make this simple and reusable.

regards

mah

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Kudos

Hi,

The issue is in 2 lines:

Instead of:

PROMPT(SELECTINPUT,,,,"%CATEGORY_DIM%,SOCIEDAD,%TIME_DIM%")

you need 2 lines (separate SELECTINPUT for CATEGORY):

PROMPT(SELECTINPUT,%SELECTION%,,,"SOCIEDAD,%TIME_DIM%")

PROMPT(SELECTINPUT,%VERSION%,,,"%CATEGORY_DIM%")

and instead of:

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,VERSION%EQU%%CATEGORY_DIM%)

this line (for variables from SELECTINPUT MEMBERSELECTION has to be used):

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

Also, info lines are required:

INFO(%EQU%,=)

INFO(%TAB%,;)

INFO(%TAB%,;) is incorrect in your PACKAGE01 code (use ";" instead of ":") but since %TAB% is not used then not a big issue.

B.R. Vadim

P.S. For PACKAGE01 it's better to add:

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

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

former_member186338
Active Contributor
0 Kudos

P.P.S. And STOP using *COMMIT with WHEN/ENDWHEN - useless (autocommit after ENDWHEN!)

Former Member
0 Kudos

Thanks for the help Vadim.

Answers (0)