Causes of compilation errors are usually simple to identify.
After examination, a few procedures that got GREXX compile errors are found not to be REXX procedures, but Tivoli NetView CLISTs. The REXX header had been incorrectly added to them, so they were analyzed by mistake. The procedures are either removed from analysis or rewritten in REXX.
The other GREXX compile errors have the same cause. The REXX procedures contain a SIGNAL ON ERROR statement but no corresponding label. NetView REXX tolerates this, but CA NetMaster does not.
Example: Procedure That Runs in Tivoli NetView but Does Not Compile in CA NetMaster
/* REXX */ SIGNAL ON ERROR TOTAL = (1 + 1) SAY TOTAL
The following compilation error results:
(18.20)---------- NetMaster Operator Console Services (PROD1) ----------------- PROD1:USERO1 NCCF-like facility active, press PF3 to exit ------------------------------------------------------------------------------- NR1101 REXX COMPILE OF TT2 IN LIBRARY COMMANDS HAS ERRORS/WARNINGS: NR1284 ERROR 16 ... NR9916 Error within TT@ , line 2 Label not found
The solution is to make the REXX procedure code more accurate. Add the labels and associated proper error processing logic, as dictated by good programming practice.
When a procedure with a missing ON ERROR label is run in Tivoli NetView and a run-time error occurs, the processing continues exactly as if the ON ERROR statement was not there. This is not an advantage—there could be a false sense of security from having SIGNAL statements that do nothing when triggered.
| Copyright © 2011 CA. All rights reserved. | Tell Technical Publications how we can improve this information |