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
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$?
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
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!
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!
Hi Vadim,
select command brings multiple ids from employee dimension.
Regards,
Raj
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!
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
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.
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
Are you sure that you provided a full script?
Yes Vadim, I have provided full script.
Regards,
Raj