Error handling (SQR 4008)表达式中的未知函数或变量
我有这样一个SQR代码: 开始程序SPL-REMOVE($Vndr\u Name\u Shrt\u Usr,:$outputshrt) 让$valid_chars_shrt='abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvxyz-。:/'@0123456789@()=+%*“£$” 让$invalid\u chars\u shrt=translate($Vndr\u Name\u shrt\u Usr,$valid\u chars\u shrt,”) Let#invalid_shrt=长度($invalid_chars_shrt) 如果无效 让$outputshrt=translate($Vndr\u Name\u Shrt\u Usr,$invalid\u chars\u Shrt',) 其他 让$outputshrt=$Vndr\u Name\u Shrt\u Usr 如果结束 结束程序 在运行SQR时,我得到以下错误: (SQR 4008)表达式中的未知函数或变量:@0123456789@ 让$valid_chars_shrt='abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz-。:/'@0123456789@()=+%*“£$” 我可以知道为什么吗?如何避免出现此类错误?如果这确实是代码: 让$valid_chars_shrt='abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz-。:/'@0123456789@()=+%*“£$” 问题在于@012345678之前的单引号。它使带引号的字符串不平衡。将其更改为两个单引号“”(不是双引号)。这应该可以工作,但除非我对其进行测试,否则无法保证。如果这确实是代码: 让$valid_chars_shrt='abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz-。:/'@0123456789@()=+%*“£$”Error handling (SQR 4008)表达式中的未知函数或变量,error-handling,special-characters,peoplesoft,sqr,Error Handling,Special Characters,Peoplesoft,Sqr,我有这样一个SQR代码: 开始程序SPL-REMOVE($Vndr\u Name\u Shrt\u Usr,:$outputshrt) 让$valid_chars_shrt='abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvxyz-。:/'@0123456789@()=+%*“£$” 让$invalid\u chars\u shrt=translate($Vndr\u Name\u shrt\u Usr,$valid\u chars\u shrt,
问题在于@012345678之前的单引号。它使带引号的字符串不平衡。将其更改为两个单引号“”(不是双引号)。这应该行得通,但除非我测试它,否则不能保证。你给了我一个想法!虽然我对代码的其他部分做了一些调整,但后来我意识到在那个特定的代码中有一个令人困惑的撇号。你给了我一个想法!虽然我对代码的其他部分做了一些调整,但后来我意识到在特定代码中有一个令人困惑的撇号。