Created On:  06 November 2013

Problem:

When verifying JCL that runs a DB2 program called L$DWVTAP, the program name is not being picked up or resolved as it contains the $ character, how can this be avoided?

Resolution:

By default, the $ sign is not currently valid in program names. The good news is that what is allowed/disallowed is configurable through the LEGACY.XML file.
Here are the lines that control this in the default LEGACY.XML file (in the Product installation/data directory):
      ^([A-Z]\w{4,7})$ 
The accept tag is a Perl like regular expression which controls what is allowed.
There is lots of information on the internet for it (e.g. http://www.troubleshooters.com/codecorn/littperl/perlreg.htm).
The accept tag in the default file, can be expanded as follows...
- Name start with a letter: A-Z
- Continue with a word long at least 4 characters but no more than 7 characters (A-Z or _): \w
In order to allow the pattern required, the second part of the rule in the file must be modify. 
There are many different ways to specify the pattern, this is just one of them.
  ^([A-Z](\w|\$){4,7})$ 
The amendment - (\w|\$) - means either a word character or $, so now allows the $ character. 
It is recommended to place this pattern in a file called LEGACY.XML, but place the new file in the top level directory for the workspace.
It is recommended to NOT amend the default LEGACY.XML file in the installation directories, as any changes will /could be overwritten when any fixes are delivered for the product.
Placing it in the workspace directory will avoid this.
The tool should be stopped and restarted so that this syntax can be included when the tool is loaded, for a specific workspace.
A sample LEGACY.XML file is attached for customer use.
When the JCL is re-verified, the new pattern will be expanded and the program name will be allowed.
Incident #2600077