(SQR 4008) 表达式中的未知函数或变量

(SQR 4008) Unknown function or variable in expression

我有一个这样的二维码:

开始程序 SPL-REMOVE($Vndr_Name_Shrt_Usr, :$outputshrt)

令$valid_chars_shrt = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -.:/'@0123456789@()=+%*"£$'

设$invalid_chars_shrt = translate($Vndr_Name_Shrt_Usr, $valid_chars_shrt, '')

令#invalid_shrt = 长度($invalid_chars_shrt)

如果#invalid_shrt

设 $outputshrt = translate($Vndr_Name_Shrt_Usr, $invalid_chars_shrt, '')

其他

令$outputshrt = $Vndr_Name_Shrt_Usr

结束-if

程序结束

在 运行 SQR 上,我收到此错误:

(SQR 4008) 表达式中的未知函数或变量:@0123456789@ 让 $valid_chars_shrt = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -.:/'@0123456789@()=+%*"£$'

请问这是为什么?我怎样才能避免出现这样的错误?

如果这确实是代码: 让 $valid_chars_shrt = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -.:/'@0123456789@()=+%*"£$'

问题出在@012345678 之前的单引号上。它使引用的字符串不平衡。将其更改为两个单引号 ''(不是双引号)。这应该有效,但除非我测试它,否则不能保证。