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

syntax error missing name after.operator

Former Member
0 Likes
666

Dear Experts,

I am facing "syntax error missing name after .operator" when I am running the below script or executing the package

*SELECT(%EMPL%, ID, EMPLOYEE, PREVIOUSKEY <> "" AND NATIONAL = N)
*SELECT (%PREMP%, [PREVIOUSKEY], "EMPLOYEE", ID = %EMPL% AND NATIONAL = N)
*XDIM_MEMBERSET EMPLOYEE = %PREMP%

*XDIM_MEMBERSET COSTCENTER = BAS(HR)
//*XDIM_MEMBERSET COSTCENTER = C1000

//*XDIM_MEMBERSET TIME AS %TIM% = BAS(%TIME_SET%)
*XDIM_MEMBERSET TIME = $VAR1$.01

*XDIM_MEMBERSET VERSION = Plan

*XDIM_MEMBERSET HR_ACCOUNT = 7010,7060,7160,7390

*FOR %TT% = $VAR1$.01,$VAR1$.02,$VAR1$.03,$VAR1$.04,$VAR1$.05,$VAR1$.06,$VAR1$.07,$VAR1$.08,$VAR1$.09,$VAR1$.10,$VAR1$.11,$VAR1$.12

*WHEN EMPLOYEE
*IS %PREMP%
*REC(EXPRESSION = ((%VALUE% *([VERSION].[Plan],[HR_ACCOUNT].[HEAD_COUNT],[TIME].[%TT%],[EMPLOYEE].[%EMPL%]))*(1+((10)/100))), TIME = %TT%, VERSION = "Plan", EMPLOYEE = %EMPL%)

*ENDWHEN
*NEXT

*COMMIT

Error is showing at bold letter script.

This logic we are using to calculate the some percentage on the gl accounts values and paste it into the year what I give in package.

We are using sap BPC 10.1 NW and SP24 EPM.

Help me to overcome with this error.

Appreciate for your help

Regards,

Raj

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member186338
Active Contributor
0 Likes

Please read:

https://blogs.sap.com/2014/01/31/how-to-ask-questions-about-script-logic-issues/

Please provide advanced script for DM package!

How the data is passed to $VAR1$?

Former Member
0 Likes
Hi Vadim,

Please see the DM package script below,

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

'PROMPT(TEXT,%VAR1%,"Input Increase in Basic Pay in decimals",)

PROMPT(TEXT,%VAR1%,"Target Year",)

INFO(%EQU%,=)

INFO(%TAB%,;)

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

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

'TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,VAR2%EQU%%VAR2%)

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

'TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,VAR2%EQU%%VAR2%)

'TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,VAR3%EQU%%VAR3%)

'TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,VAR4%EQU%%VAR4%)

'TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,VAR5%EQU%%VAR5%)

'TASK(Execute formulas,FORMULASCRIPT,*FUNCTION VARA=%VAR1%{cr}{lf}*FUNCTION VARB=%VAR2%{cr}{lf}*FUNCTION VARC=%VAR3%{cr}{lf}*FUNCTION VARD=%VAR4%{cr}{lf}*FUNCTION VARE=%VAR5%)

Regards,

Raj

former_member186338
Active Contributor
0 Likes

Remove useless commented lines from this script (coming from BPC MS??)!

Correct script will be:

PROMPT(TEXT,%VAR1%,"Target Year",)
INFO(%EQU%,=)
INFO(%TAB%,;)
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,SAL_COST_CAL_PRO_CC.LGF)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,VAR1%EQU%%VAR1%)

What do you enter when you run this package?

Screenshot!

former_member186338
Active Contributor
0 Likes

And explain what do you have for the following lines:

*SELECT(%EMPL%, ID, EMPLOYEE, PREVIOUSKEY <> "" AND NATIONAL = N)
*SELECT (%PREMP%, [PREVIOUSKEY], "EMPLOYEE", ID = %EMPL% AND NATIONAL = N)

What will be in %EMPL%? %PREMP%? Single member or multiple?

P.S. The script itself is strange!

Former Member
0 Likes

Hi Vadim,

Thanks for your reply, I am giving time as 2018. My time dimension looks like below

I removed commented lines and ran the package got same error like before.

When I validate the script logic in web admin I am getting the error as "syntax error missing name after .operator".

Regards,

Raj

Former Member
0 Likes

Hi Vadim,

select command brings multiple ids from employee dimension.

Regards,

Raj

former_member186338
Active Contributor
0 Likes

Are you sure that you provided a full script?

former_member186338
Active Contributor
0 Likes

If multiple then this line is absolutely incorrect:

*REC(EXPRESSION = ((%VALUE% *([VERSION].[Plan],[HR_ACCOUNT].[HEAD_COUNT],[TIME].[%TT%],[EMPLOYEE].[%EMPL%]))....

Only single member allowed here!

Former Member
0 Likes

Hi Vadim,

I will check on how to rec multiple members.

Please give me clues/hint if any to achieve multiple members.

Thanks & Regards,

Raj

Former Member
0 Likes

Yes Vadim, I have provided full script.

Regards,

Raj

former_member186338
Active Contributor
0 Likes

Please explain the calculation logic you want to achieve using this script! Starting from details of EMPLOYEE dimension!

P.S. There is no "magic" solution to write to multiple members, full script has to be redesigned.