When editing a SQLRPGLE source member, the syntax checker is incorrectly flagging lines with "Variable name casing does not match definition." errors. This appears to happen when the embedded SQL contains a literal value that is continued on the next line using the "+" continuation character. Also note the use of a host variable on the line before the continued literal.
**FREE
dcl-s ucPath Varchar(256);
dcl-s stmLib Char(10);
dcl-s stmFile Char(10);
dcl-s stmMbr Char(10);
dcl-s stmType Char(10);
ucPath = %upper('/a/path/to/a/source/stream/file/mylib/QRPGLESRC/JUNKBUG.SQLRPGLE');
exec sql
SELECT
CHAR(IFNULL(REGEXP_SUBSTR(:ucPath,
'/([A-Z$#@][A-Z0-9$#@_.]{0,9})/([A-Z$#@][A-Z0-9$#@_.]{0,9})+
/([A-Z$#@][A-Z0-9$#@_.]{0,9}?)(\.([A-Z$#@][A-Z0-9$#@_]{0,9}))?$'
, 1, 1, '', 1), ''), 10) lib
,CHAR(IFNULL(REGEXP_SUBSTR(:ucPath,
'/([A-Z$#@][A-Z0-9$#@_.]{0,9})+ <-Variable...
/([A-Z$#@][A-Z0-9$#@_.]{0,9}?)(\.([A-Z$#@][A-Z0-9$#@_]{0,9}))?$'
, 1, 1, '', 1), ''), 10) file
,CHAR(IFNULL(REGEXP_SUBSTR(:ucPath, <-Variable...
'/([A-Z$#@][A-Z0-9$#@_.]{0,9}?)(\.([A-Z$#@][A-Z0-9$#@_]{0,9}))?$'
, 1, 1, '', 1), ''), 10) mbr
,CHAR(IFNULL(REGEXP_SUBSTR(:ucPath, <-Variable...
'/([A-Z$#@][A-Z0-9$#@_.]{0,9}?)(\.([A-Z$#@][A-Z0-9$#@_]{0,9}))?$' <-Variable...
, 1, 1, '', 3), ''), 10) mbrtype
INTO :stmLib, :stmFile, :stmMbr, :stmType
FROM sysibm.sysdummy1 a;
snd-msg 'Library:=/' + %trim(stmLib) + '/'
+ ' File:=/' + %trim(stmFile) + '/'
+ ' Member:=/' + %trim(stmMbr) + '/'
+ ' Type:=/' + %trim(stmType) + '/';
*inLR = *ON;
return;
When editing a SQLRPGLE source member, the syntax checker is incorrectly flagging lines with "Variable name casing does not match definition." errors. This appears to happen when the embedded SQL contains a literal value that is continued on the next line using the "+" continuation character. Also note the use of a host variable on the line before the continued literal.
For example, the following source has the lines indicated with
<-Variable...incorrectly flagged in error:Active extensions
Remote system
Enabled features
Shell env
Variants
{ "american": "#@$", "local": "#@$", "qsysNameRegex": {} }