KB Article #180675
Function call contains unresolved parameters causing errors
Problem
Function call in TSIM runtime (master log book or OBRW):
(JAVA:de.axway.is.components.core.slave.SlaveService#callService) (NAME=SSI) (ssi_src.ssi_dst) (/Axway/edi/TSIM/spool/obj/is0/om394658.1.15.0.1.1.0.784688.1) (resultfile=/Axway/edi/TSIM/spool/runtime/is0/result784688.394658.1.15.0.1.1.0) (protfile=/Axway/edi/TSIM/spool/obj/is0/om394658.1.15.0.1.1.0.784688.0.prot) (destfile=spool/obj/ssi394658.1.FILENUM) (ENCODING_IN=$(ENCODING_IN)) (ENCODING_OUT=$(ENCODING_OUT))
Function call runs on error:
START SCANNER 3.10.0.22 14.11.2019 04:12:07 (Formdb: 32 bit, little-endian, Unicode: $(ENCODING_IN)->$(ENCODING_OUT))
java.nio.charset.IllegalCharsetNameException: $(ENCODING_IN)
The values for parameters ENCODING_IN, ENCODING_OUT are actually the strings from the definition of the function class:
FCTNCALL=SERVICE:SSI ssi_src.ssi_dst $(INPUT) resultfile=$RESULT protfile=$PROTFILE destfile=spool/obj/ssi$(JOB_ID).$(JOBSTEP_NO).FILENUM ENCODING_IN=$(ENCODING_IN) ENCODING_OUT=$(ENCODING_OUT)
No values are passed to these parameters on the wf rule or jobstep declaration.
Resolution
This behavior is caused by parameter "KEEP_UNKNOWN_VARS=Y" from file ediboss.par.
Parameter description:
* if keepUnknownVars=false the unknown parameters will be deleted (ex ACTUAL_PARAM="ADDRESS1=Test_$(ADDRESS1)" will result in (Test_)
* if keepUnknownVars=true the unknown parameters will be kept unresolved (ex ACTUAL_PARAM="ADDRESS1=Test_$(ADDRESS1)" will result in (Test_$(ADDRESS1))
To solve the problem, configure parameter "KEEP_UNKNOWN_VARS=N" in ediboss.par file and activate.
NOTE: Also be aware of parameter "keepEmptyVars" from ediboss.par file.
Description:
* if keepEmptyVars=true the empty variables (ex ACTUAL_PARAM="ADDRESS11=") will appear on function call as "()"
* if keepEmptyVars=false the empty variables will not appear on function call