Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
hansrokers
Contributor III
Contributor III

user defined functions not working on server after upgrading to 12.20

After upgrading the server to version 12.20 my user defined fuctions are not working anymore.

I am getting this error in the logfile:

Error: Unexpected token: '(', expected one of: ',', ':', 'OPERATOR_PLUS', 'OPERATOR_MINUS', 'OPERATOR_MULTIPLICATION', 'OPERATOR_DIVISION', 'OPERATOR_STRING_CONCAT', ...

Any hints ?

5 Replies
Or
MVP
MVP

Sounds like you're having the same issue as described in this thread:

https://community.qlik.com/message/1507014#1507014

So first step would be to try the solution suggested there. If that doesn't work, perhaps posting more information would be helpful towards debugging.

hansrokers
Contributor III
Contributor III
Author

That does not help.

I made this simple script:

///$bnf off


load myfunction(a) as c, b Inline[

a,b

1,2

];


and this function with the macro editor:

function myfunction(a)

myfunction=a*-1

end function

This is working fine on the desktop and on the server with version 12.10 but not with version 12.20

Or
MVP
MVP

I copy-pasted your code into QlikView 12.20 SR3 and it runs without problems. Macro security is set to the defaults (Safe Mode / Only Safe Mode).

hansrokers
Contributor III
Contributor III
Author

Inserting ///$bnf off as the 1st line in my existing documents solves my problem.

However above example does not work anymore doing that for both desktop and server.

Strange.


So, without ///$bnf off  it is not possible to use user definded functions anymore ?

Or
MVP
MVP

Disabling BNF reload mode on the local QlikView client:

Update the QV.exe  Settings.ini file by adding the line EnableBnfReload=0 under the [Settings 7] tag for the default reload setting "EnableBnfReload".
By default, Settings.ini can be found in C:\%USER%\AppData\Roaming\QlikTech\QlikView​
 

Disabling BNF reload mode for the entire server:

Update the QVB.exe  Settings.ini by adding the line EnableBnfReload=0 under the [Settings 7] tag for the default reload setting "EnableBnfReload".
By default, the Settings.ini can be found in C:\Windows\System32\config\systemprofile\AppData\Roaming\QlikTech\QlikViewBatch.

Modify it to read:

[Settings 7] EnableBnfReload=0


Disabling BNF reload mode for individual apps:

Add the ///$bnf off tag at the top of the script (it must be within the first 50 characters of the script). Reload the script.
It is a good idea to use the ///$bnf off tag as a troubleshooting step.  See if toggling this setting in the load script will cause a change in the suspect behavior.