“Error in shortDescrip(value) : missing value where TRUE/FALSE needed” when executing SAS data functions on TIBCO Spotfire Statistics Services server

“Error in shortDescrip(value) : missing value where TRUE/FALSE needed” when executing SAS data functions on TIBCO Spotfire Statistics Services server

book

Article ID: KB0077093

calendar_today

Updated On:

Products Versions
Spotfire Statistics Services All Versions

Description

When executing a SAS data function on TIBCO Spotfire Statistics Services (TSSS) server from TIBCO Spotfire, you may see the data function execution failing with the following error:
 Could not execute function call. TIBCO Spotfire Statistics Services returned an error: 'error running postprocessor: Error in shortDescrip(levels(value)) : missing value where TRUE/FALSE needed'.    at Spotfire.Dxp.Data.DataFunctions.Executors.RemoteFunctionClient.OnExecuting()    at Spotfire.Dxp.Data.DataFunctions.Executors.AbstractFunctionClient.<RunFunction>d__0.MoveNext()    at Spotfire.Dxp.Data.DataFunctions.Executors.SPlusFunctionExecutor.<ExecuteFunction>d__0.MoveNext()    at Spotfire.Dxp.Data.DataFunctions.DataFunctionExecutorService.<ExecuteFunction>d__6.MoveNext()

On the TIBCO Spotfire Statistics Services server, in the SplusServer.log from <SPSERVER_HOME>\tomcat\logs folder (where SPSERVER_HOME is the path of TSSS installation directory), the following error will be seen: 
 2019-09-25 08:58:22,110 | WARN | | ScheduledJobExecutor | execution exception jobId: 33 java.lang.IllegalStateException: error running preprocessor: Error in shortDescrip(value) : missing value where TRUE/FALSE needed at com.insightful.splusserver.engine.splusengine.SplusMessageServer.runGeneric(SplusMessageServer.java:1365) at com.insightful.splusserver.engine.splusengine.SplusMessageServer.runFunction(SplusMessageServer.java:1277) at com.insightful.splusserver.engine.splusengine.SplusMessageServer.runSync(SplusMessageServer.java:1122) at com.insightful.splusserver.threadpool.ScheduledJobExecutor.execute(ScheduledJobExecutor.java:67) at com.insightful.splusserver.threadpool.JobExecutionPoolThread.run(JobExecutionPoolThread.java:132) 2019-09-25 08:58:22,203 | INFO | | JobService | execution done jobId:33, status:Failed, engine:1946117188-10, instance:HRMSASAPT10, runMsecs:125, error:Server Exception: java.lang.IllegalStateException: error running preprocessor: Error in shortDescrip(value) : missing value where TRUE/FALSE needed

 

Issue/Introduction

This article describes the root cause and resolution for the “Error in shortDescrip(value) : missing value where TRUE/FALSE needed” error seen when executing SAS data functions on TIBCO Spotfire Statistics Services server.

Environment

TIBCO Spotfire Statistics Services (TSSS) configured with SAS engine

Resolution

This is a known issue which is caused due to a defect in the debugging output. This occurs only when "Enable Data Function debugging" is checked in Tools > Options > Data Functions in Spotfire (see  Enable Data Function debugging for more details.

To resolve, uncheck the "Enable Data Function debugging" option from TIBCO Spotfire Analyst client under Tools > Options > Data Functions:
User-added image

Additional Information

Doc: Enable Data Function debugging Doc: How to Register a Data Function