Rules
Details of these rules is also available here.
* more details available from following the link
| R525* | EmailServer policy for nodes should use secure protocol (WMB) |
| R524* | MQEndpoint policy for nodes should use SSL (WMB) |
| R523* | JMS backout queue name does not match .bak (WMB) |
| R522* | JMS backout queue not defined (WMB) |
| R521* | JMS queue read from multiple flows (WMB) |
| R520* | JMS missing queue or topic (WMB) |
| R519* | Opaque fields have been added but validation has been enabled (WMB) |
| R518* | Trace nodes pattern contains ${root} (WMB) |
| R517* | InputNode parse timing should be set to ‘On Demand’ (WMB) |
| R516* | The field is not accessed and could be marked opaque (WMB) |
| R515* | Opaque field accessed in message flow (WMB) |
| R514* | External Java methods should use a classLoader in ACE (WMB) |
| R510* | EVAL statements tainted with user input and can pose a security issues (WMB) |
| R509* | EVAL statements maybe using user input and can pose a security issues (allows EXTERNAL, CONSTANT and literals) (WMB) |
| R505* | Multiple proxies have been used (WMB) |
| R504* | A non HTTPS proxy is being used (WMB) |
| R503* | PROPAGATE statement in Database Node contains FINALIZE (WMB) |
| R502* | Box Request nodes should not be used (WMB) |
| R501* | The flow has two or more JAVA nodes in a row (WMB) |
| R500* | KafkaConsumer policy for nodes should use SSL (WMB) |
| R498* | RESTAPI subflow implementation does not contain a policy enforcement node (PEP) |
| R497* | MQ CHANNEL does not use TLS/SSL (SSLCIPH) (MQ) |
| R496* | AsyncSOAPRequest node using deprecated protocol (WMB) |
| R495* | AsyncSOAPRequest node calls HTTP URL (WMB) |
| R484* | File read or write directory could be manipulated (WMB) |
| R483* | Requests should use HTTPS instead of HTTP (WMB) |
| R475* | IIB Trace Node pattern contains a secret (WMB) |
| R474* | Single local element schemas limit options for mapping nodes in ACE (WMB) |
| R473* | WMB/IIB AggretageControl node flow should be GroupScatter node to run in ACE (WMB) |
| R472* | ACE duplicate Group Nodes Group Name used (WMB) |
| R471* | ACE Group Nodes should be in the same flow (WMB) |
| R470* | ACE Group Gather Node doesnot match with Group Scatter and Group Complete nodes (WMB) |
| R469* | ACE Group Complete Node doesnot match with Group Scatter and Group Gather nodes (WMB) |
| R468* | ACE Group Scatter Node doesnot match with Group Complete and Group Gather nodes (WMB) |
| R467* | Multiple TimeoutNotifications for the same Identifier (WMB) |
| R466* | TimoutControl node Unique Identifier not used by TimoutNotification (WMB) |
| R465* | TimoutNotification node Unique Identifier never defined in TimeoutControl (WMB) |
| R463* | Git conflict markers were found in the file (WMB) |
| R462* | No project file found but folder looks to be a project (WMB) |
| R461* | Project file found but no corresponding application or library descriptor found (WMB) |
| R460* | Unknown messageset (WMB) |
| R459* | Unused messageset (WMB) |
| R458* | Duplicate messageset name (WMB) |
| R457* | MQTTPublish nodes should use SSL (WMB) |
| R456* | MQTTSubscribe nodes should use SSL (WMB) |
| R455* | This mapping node has the highest average elapsed time from the stats available (WMB) |
| R454* | Secure should be set on all cookies to prevent cookies being inspected (WMB) |
| R453* | HttpOnly should be set on all cookies to protect against cross-site-scripting (XSS) (WMB) |
| R449* | Multiple statements on the same line (ignore DETACH / ATTACH) (WMB) |
| R448* | Mismatch between DETACH and ATTACH reference (WMB) |
| R447* | DETACH is last line of function. Could be replaced with a DELETE (WMB) |
| R446* | FILEOUTPUT node uses FTP. For ACE FTPS preferred (ACE) (WMB) |
| R445* | FILEOUTPUT node uses FTP. FTPS or SFTP is preferred (WMB) |
| R444* | SELECT uses constant value. Could use parameterized value to allow caching prepared statement (WMB) |
| R443* | PASSTHRU uses concatenated characters (||) (WMB) |
| R442* | The flow has two or more FILTER nodes in a row (WMB) |
| R441* | PASSTHRU statement invokes a stored procedure using ‘CALL’. Create an external callable procedure with CREATE PROCDURE …. ‘LANGUAGE DATABASE’. (WMB) |
| R440* | DB ‘ROLLBACK’ called from ESQL (WMB) |
| R439* | DB ‘COMMIT’ or ‘ROLLBACK’ called from ESQL from a node that has been it’s transaction mode marked as automatic (WMB) |
| R438* | DB ‘COMMIT’ called from ESQL (WMB) |
| R437* | SUBSTRING starting FROM 1 could be replaced by LEFT function (WMB) |
| R436* | JobExecutionNode using Linux (or Unix) shell files and Windows batch files (WMB) |
| R433* | Navigating message tree could be replaced by a reference (multiple lines) (WMB) |
| R430* | This node has the highest CPU usage from the stats available (WMB) |
| R429* | This flow has the highest CPU usage from the stats available (WMB) |
| R428* | The flow has a compute node following a filter node. Maybe they could be combined ? (WMB) |
| R427* | The AsyncRequest/AsyncResponseNode ID’s don’t match across flows (WMB) |
| R422* | Declared NAMESPACE is not a known w3 namespace (WMB) |
| R419* | The older style ‘msgmap’ nodes will not work in IIB11/ACE (WMB) |
| R418* | The $MQSI marker in using a character that is not allowed ‘(^ $ . | \\ < > ? + * = & [ ] ( )’ (WMB) |
| R417* | There should be a space to separate the $MQSI marker in the comments (WMB) |
| R416* | $MQSI is mismatched in the comments (WMB) |
| R415* | MQOptimizedFlow nodes will not work in IIB11/ACE (WMB) |
| R414* | Hard coded URL in string (WMB) |
| R375* | The generated procedure CopyMessageHeaders has been modified (WMB) |
| R374* | Single line ESQL function found (including CopyEntireMessage) (WMB) |
| R373* | Single line ESQL function found (ignore CopyEntireMessage) (WMB) |
| R372* | The compute node has a datasource set with auto connect but it does not access the database (WMB) |
| R371* | Using CREATE with a PARSE within a LOOP will cause multiple parsers to be created and can consume a lot of resources (WMB) |
| R370* | The compute node has a datasource set but it does not access the database (WMB) |
| R369* | HTTP KeepAlive should be set to TRUE (WMB) |
| R368* | HTTP KeepAlive should be set to FALSE (WMB) |
| R366* | That CCSID is not in the list that you have set as allowed (WMB) |
| R365* | Calling out to a HTTP service using an older (deprecated) SSLProtocol (WMB) |
| R364* | Using ‘LOG EVENT’ to trace could leak information (CWE-209: Information Exposure Through an Error Message) ? (WMB) |
| R362 | PASSTHRU statement is using data directly from the user. More information can be found from – SQL Injection[CWE-89] (WMB) |
| R361* | An ESQL CONSTANT with that value is already declared (WMB) |
| R357* | ESQL REFERENCE TO variables should start with ‘ref’ (WMB) |
| R356* | ESQL REFERENCE TO variables should end with ‘ref’ (WMB) |
| R355* | Use (multiple – more then 1 allowed) space or tab before and after ‘=’ (equals) (RS) (WMB) |
| R354* | HttpRequest nodes should use TLS v1.2 (WMB) |
| R348* | That message MAP cannot be found (WMB) |
| R347* | The same message MAP has been referred to from multiple message flows (WMB) |
| R346* | Unused message MAP (WMB) |
| R344* | There is a variable with a similar name but different case (WMB) |
| R343* | That LOOP label looks to be non-descriptive (WMB) |
| R342* | A mapping node is calling an ESQL method that accesses the DB (WMB) |
| R341* | The OR condition can be split to allow correct representation of condition coverage (WMB) |
| R340* | The node name must be different from the default name (CS) (WMB) |
| R339* | Kafka Topic does not match the naming standard (WMB) |
| R338* | KafkaConsumer nodes should use SSL (WMB) |
| R337* | There are 2 or more of the same target endpoint name (WMB) |
| R336* | The invoke target has not been found (WMB) |
| R335* | ESQL code has been commented out. It should be removed before code checkin (with threshold) (WMB) |
| R334* | Propagating to an unknown label (WMB) |
| R333* | The FOR loop is empty (WMB) |
| R332* | The main() function may not have a valid return value so messages may not be propagated (WMB) |
| R331* | Function has 0 or only 1 return value (WMB) |
| R330* | Multiple blank lines between code (except between procedures) (WMB) |
| R329* | Multiple blank lines between code (WMB) |
| R328* | Function or procedure name is longer then the threshold (WMB) |
| R327* | Function or procedure is recursive (calls itself) (WMB) |
| R326* | Propagate to label found (WMB) |
| R325* | This function has an excessive number of returns (WMB) |
| R324* | This assignment is meaningless (WMB) |
| R323* | Parentheses (brackets) are redundant in this case (WMB) |
| R321* | HTTPInput node should use XML error handling (WMB) |
| R320* | EXTERNAL variables (UDP) should be camelcase (HN) (WMB) |
| R319* | BOOLEAN ESQL variables should be named ‘b’ (HN) (WMB) |
| R318* | The WHILE loop conditions are never updated (and may not exit validly) (WMB) |
| R317 | The COMPUTE mode is ‘message and exception’ but the message and/or exception is never modified, could be set to ‘message’ or ‘LocalEnvironment’ (WMB) |
| R316 | The message model library name should be in one of the allowed naming patterns (RS) (WMB) |
| R315 | The message model library contains no schema (xsd) files (WMB) |
| R314 | The procedure is empty (WMB) |
| R313 | Compute/Filter nodes that access the DB should have ‘treat errors as warnings’ set and ‘throw exception on DB error’ unset (WMB) |
| R312 | All Message Model Libraries carry a sub-folder named after the Library itself (WMB) |
| R311 | Use space or tab before and after ‘=’ (equals) (WMB) |
| R310 | Only the exceptionList is modified. Compute mode could be ‘exception’ (WMB) |
| R309 | The COMPUTE mode is ‘message and local environment’ but the message and/or local environment is never modified, could be set to ‘message’ or ‘LocalEnvironment’ (WMB) |
| R308* | SHARED ROW checks not found (WMB) |
| R307* | An XML value has not been assigned from FIELDVALUE (WMB) |
| R306 | The COMPUTE mode is ‘message’ (default) but the localenvironment or exceptionlist has been modified (WMB) |
| R305 | The COMPUTE mode is ‘all’ but message, outputenvironment and exceptionlist are not modified (WMB) |
| R304 | The COMPUTE mode is ‘localenvironment’ but the message is being modified, should be set to ‘localenvironment and message’ or ‘message’ (WMB) |
| R303 | The COMPUTE mode is ‘message’ (default) but the message is never modified, could be set to ‘local environment’ (WMB) |
| R302* | Use a SELECT+THE in preference to a while loop (WMB) |
| R301* | Prefer EXTERNAL variables to be local to the module making use of them (WMB) |
| R300* | The ESQL format is not formatted correctly (ABN) (WMB) |
| R299* | Multiple nested IF conditions. Use ELSEIF or CASE statement to get quicker dropout (WMB) |
| R298* | Subelements should be named using camel case (WMB) |
| R297* | The name terminals do not match the standards (WMB) |
| R296 | Filter node name does not match allowed formats (WMB) |
| R295 | Validation node used (WMB) |
| R294 | MQHeader node used (WMB) |
| R293* | Transaction mode should be ‘automatic’ to use persistent messages (WMB) |
| R292* | Variables should have meaningful names (WMB) |
| R291* | Avoid looping connections of the nodes back onto themselves (WMB) |
| R290* | Use braces around conditions to make the code more readable (WMB) |
| R289* | A global ESQL variable is only used once. It could be a local variable (WMB) |
| R288 | An XSL template has been declared but not used/referenced (XSL) |
| R287 | An XSL function has been declared but not used/referenced (XSL) |
| R286* | Messageflow looks to be a subflow (WMB) |
| R285* | Propagated OutputRoot.Properties may not be accurately set before data is parsed / output (WMB) |
| R284 | EXTERNAL variables (UDP) should be camelcase (WMB) |
| R283 | The XSL contains an xsl:message element with terminate set to ‘no but it is set as ‘alert’, ‘error’ or ‘emergency’ (XSL) |
| R282 | Using the lengthy axis specifiers like child::, attribute:: or parent::node() (XSL) |
| R281 | Using the XSLT 1.0 mode (XSL) |
| R280 | Using the deprecated namespace axis, when working in XSLT 2.0 mode (XSL) |
| R279 | The stylesheet is not generating any useful output. Please relook at the stylesheet logic (XSL) |
| R278 | Probably bad name of the variable or argument (XSL) |
| R277 | Using a single character name for variable/function/template. Use meaningful names for these features. (XSL) |
| R276 | Incorrectly using the boolean constants as ‘true’ or ‘false’ (XSL) |
| R275 | You might be confusing a variable reference with a node reference (XSL) |
| R274 | Creating an element node using the xsl:element instruction when could have been possible directly (XSL) |
| R273 | Setting disable-output-escaping attribute to ‘no’ is redundant (XSL) |
| R272 | Have set the disable-output-escaping attribute to ‘yes’. Please relook at the stylesheet logic (XSL) |
| R271* | The function or template’s size/complexity is high. There is need for refactoring the code (XSL) |
| R270 | Using the output method ‘xml’ when generating HTML code (XSL) |
| R269 | There are two or more templates that have the same name (XSL) |
| R268 | There are two or more templates that apply the same match (XSL) |
| R267 | Too many low granular templates in the stylesheet (10 or more) (XSL) |
| R266 | An xsl:template is empty (WMB) |
| R265 | There is no space after comma or there are no spaces around the math operators (XSL) |
| R264* | SELECT from repeatable data structures should be FROM[] (WMB) |
| R263 | WHILE loop has been used, check whether it can be replaced with a FOR loop (WMB) |
| R262 | Queue name for MQInputNode should match pattern .IN[_ | _] (only UpperCase) (WMB) |
| R261 | CARDINALITY has been used (WMB) |
| R260 | Optional or mandatory should be explicitly set on xs:string elements (WMB) |
| R259 | THROW statement should include at least 2 params one of which should be MessageFlowLabel (WMB) |
| R258* | MessageSet path should be in one of the allowed naming patterns (WMB) |
| R257* | Subflow name should be in one of the allowed naming patterns (WMB) |
| R256* | Messageflow name should be in one of the allowed naming patterns (WMB) |
| R255* | Messageflow schema should be in one of the allowed naming patterns (WMB) |
| R254 | EXTERNAL variables (UDP) should be camelcase (WMB) |
| R253* | CopyMessageHeaders found (WMB) |
| R252 | CopyEntireMessage found. Prefer ‘SET OutputRoot = InputRoot;’ (WMB) |
| R251 | Using name() function instead of local-name() (XSL) |
| R250 | There are redundant namespace declarations in the xsl:stylesheet element (XSL) |
| R249 | Version 2.0 style sheet using ‘node-set’ (XSL) |
| R248 | The could be assigned using a ‘select’ (XSL) |
| R247* | Use FIELDTYPE over EXISTS for checking list elements (WMB) |
| R246* | Input URL path should be promoted with default value as <OVERRIDE_ME_DURING_DEPLOYMENT> (RS) (WMB) |
| R245* | A hard coded mapping was found in the ESQL (allow empty string) (WMB) |
| R244* | WSDL operation does not start with a verb (RS) (WMB) |
| R243* | REFERENCE TO should match regular expression (WMB) |
| R242* | Declared NAMESPACE should match regular expression (WMB) |
| R241* | ROUND_HALF_UP should be used (WMB) |
| R240* | Reference variables should always be declared against a known structure (WMB) |
| R239 | Messageflow/subflow missing version (WMB) |
| R238 | Messageflow/subflow missing long description (WMB) |
| R237 | Messageflow/subflow missing short description (WMB) |
| R236 | Global variables should be in Common_Variables.esql (WMB) |
| R235 | Global functions should be in Common_Functions.esql (WMB) |
| R234 | Queue name and node name cannot be the same (WMB) |
| R233 | MQOutputNode queuename and destinationmode ‘destinationlist’ used (WMB) |
| R232* | Anonymous field references should only be used where they are required (*[<]) (WMB) |
| R231 | WHILE loop should be FOR loop (WMB) |
| R230 | THROW Statement should use COALESCE or parameters to prevent secondary errors (WMB) |
| R229 | General variables should be defined at the top of the function before any code, unless defined and used within a nested code block (WMB) |
| R228 | LocalEnvironment values should be under the Variables subtree (WMB) |
| R227 | HTTPInput node should use Http error handling (WMB) |
| R226 | User defined SOAP headers should be set to ‘must understand’ (WMB) |
| R225* | Function, procedure or module name does not match regular expression provided (WMB) |
| R224 | Use space before and after ‘=’ (equals) (WMB) |
| R223 | Commit mode should be ’0-COMMIT_THEN_SEND’, for IMSRequest node (WMB) |
| R222 | Ensure Message Domain is set to ‘BLOB’ for IMS Request (WMB) |
| R221 | Use connection properties set. Set configuration service to ‘IMSConnectService’ for IMSRequest node (WMB) |
| R220 | IF / ELSE could be a single COALESCE statement (WMB) |
| R219* | Filter node following a Compute node is redundant (WMB) |
| R218 | Topic Wildcard contains WILDCARD(BLOCK) recommend WILDCARD(PASSTHRU) (MQ) |
| R217 | MQINPUT node should not have ‘Failure terminal’ event configured (WMB) |
| R216 | MQINPUT node should not have ‘Transaction rollback’ event configured (WMB) |
| R215 | FILEOUTPUT node should not be used (WMB) |
| R214 | BOOLEAN ESQL variables should be named ‘is’ (WMB) |
| R213 | String concatenations must not be chained more than 3 times (WMB) |
| R212 | The COMPUTE node does not have a return value (WMB) |
| R211 | The FILEREAD node ‘no match’ terminal should be connected (WMB) |
| R210 | The MQGET node ‘no message’ terminal should be connected (WMB) |
| R209 | The MQGET node ‘warning’ terminal should be connected (WMB) |
| R208 | The HTTP Async request node ‘failure’ terminal should be connected (WMB) |
| R207 | The SOAP Async node ‘fault’ terminal should be connected (WMB) |
| R206 | The SCA node ‘fault’ terminal should be connected (WMB) |
| R205 | The filter node ‘unknown’ terminal should be connected (WMB) |
| R204* | Constant does not match the regular expression provided (WMB) |
| R203 | MQOUTPUT nodes validation should be set to ‘content and value’ (WMB) |
| R202 | SOAP Request node does not have its SOAP Fault terminal wired (WMB) |
| R201* | MQMD UserIdentifier has been changed (WMB) |
| R200* | The message flow attempts to reply to a non-existent request (WMB) |
| R199* | Number of nodes in a subflow exceeded (WMB) |
| R198* | Number of nodes in a msgflow exceeded (WMB) |
| R197 | THROW USER EXCEPTION MESSAGE ’3001′ found (WMB) |
| R196* | A hard coded mapping was found in the ESQL (WMB) |
| R195* | COMPUTE node is the last node in the flow (WMB) |
| R194 | The node name is a duplicate within the flow (WMB) |
| R193* | The ESQL format is not formatted correctly (WMB) |
| R192 | Note on subflow should contain Name, Author, Date and description (WMB) |
| R191 | Note on msgflow should contain Name, Author, Date and description (WMB) |
| R190* | File does not contain header comments (ignore case) (WMB) |
| R189* | IF/ELSE could be CASE (WMB) |
| R188 | DECLARE could be combined (WMB) |
| R187 | Mapping nodes should not be used (WMB) |
| R186* | A DELETE FROM a table with no criteria has been found, all rows will be deleted (WMB) |
| R185 | Module names should not contain a space, later versions of IIB cannot have a space in a module name (WMB) |
| R184 | Module names should be named using camel case (WMB) |
| R183 | The Function/Procedure/Module does not contain a comment (multiple) (WMB) |
| R182* | It is good programming practice to give an EXTERNAL variable an initial value – blanks are allowed (WMB) |
| R181 | Commit mode should be ’1-SEND_THEN_COMMIT’, Sync level ’0-NONE’ for IMSRequest node (WMB) |
| R180* | BOTHRESH and BOQNAME should not be defined for a backout queue (MQ) |
| R179 | Module names should be named using camel case (WMB) |
| R178 | Header files should contain author, version and date (ESQL only) (WMB) |
| R177* | Use SOAP domain over XML or XMLNSC (WMB) |
| R176* | That child element may not be valid in that domain (WMB) |
| R175 | The message domain may not be valid (MQMD, SOAP, XML, XMLNSC, BLOB, JSON. MRM) (WMB) |
| R174 | Assigning to null will delete the field in the output, did you want to set the field to empty instead? (WMB) |
| R173 | SOAP.Context.SOAP_Version is not 1.1 or 1.2 (WMB) |
| R172* | EVAL statements may pose security issues (WMB) |
| R171 | The rule template has flagged only priveledged execution groups should be able to read and write files to the file system (WMB) |
| R170 | The rule template has flagged all MQ flows to be deployed to at least 2 execution groups (WMB) |
| R169* | ESQL code has been commented out. It should be removed before code checkin (WMB) |
| R168* | COMPUTE node should throw exception on database error (WMB) |
| R167 | TODO found in mapping node (WMB) |
| R166 | IF condition missing ELSE (WMB) |
| R165* | “Properties” is not included in the map and will be left empty when the node finishes (WMB) |
| R164* | CopyEntireMessage makes calling CopyMessageHeaders redundant (WMB) |
| R163 | The name doesn’t help understanding the code (it may be meaningless) (XSL) |
| R160 | An XSL variable has used but not declared (XSL) |
| R159 | An XSL variable has been declared but not used/referenced (XSL) |
| R152 | An xsl:otherwise, xsl:for-each, xsl:if or xsl:when is empty (XSL) |
| R151 | An xsl:choose is missing a fall through xsl:otherwise (XSL) |
| R150 | An xsl:choose with only 1 when condition could be replaced with an xsl:if (XSL) |
| R148 | The XSL contains an xsl:message element with terminate set to ‘yes’. That will stop the XSLT processor (XSL) |
| R147 | The XSL contains an xsl:message element. These are usually only used in non-production code (XSL) |
| R146 | The XPATH contains //. // selects nodes from anywhere in the document and can affect performance of the XSL (XSL) |
| R145 | The channel XMITQ and does not have a matching transmission queue (MQ) |
| R144 | The channel name defined may not be compliant with the naming standard (MQ) |
| R143 | Found CF02_CC01_GenerateLogEvents but CaptureBusinessKeys not set (BHP)(WMB) |
| R142 | The Function/Procedure/Module does not contain a comment (reporting only once) (WMB) |
| R141 | The line contains both code and comments. Trailing comments are discouraged(WMB) |
| R140 | The queue name defined may not be compliant with the naming standard (MQ) |
| R139 | SUB(subscription) does not match DEST queue (MQ) |
| R138 | TOPICSTR has non recommended characters (MQ) |
| R137 | The MessageSet name does not match the pattern [_]_{COMMON|}_[]_MSP (WMB) |
| R136 | MessageSet name is longer then 30 characters (WMB) |
| R135 | Flows should write to alias queue not the queue directly (WMB) |
| R134 | The library name does not match the pattern ICC_CMM_* (WMB) |
| R133 | The library name is longer than 30 characters (BHP)(WMB) |
| R132 | The node name and ESQL module do not match (WMB) |
| R131 | The COMPUTE node does not have a name (WMB) |
| R130 | MQInput nodes transactionMode should be set to ‘yes’ (WMB) |
| R129 | Function and procedure names should start with upper case (WMB) |
| R128 | Try/catch nodes should be only via a subflow (WMB) |
| R127 | Native IIB input/output nodes should be only via a subflow (WMB) |
| R126* | Should check that the last MOVE completed (WMB) |
| R125* | Parameters should have a direction (WMB) |
| R124 | Function and procedure names should start with lower case (WMB) |
| R123 | Variables should start with a lower case (WMB) |
| R122 | Should not include CC01_GenerateLogEvents subflow (WMB) |
| R121 | Header files should contain author, version and date (ESQL and Message flows) (WMB) |
| R120 | Constant declarations should be in UPPER_CASE (WMB) |
| R119 | BACKOUT queue name does not match the pattern *.BACKOUT(MQ) |
| R118 | Listener name does not match pattern (MQ) |
| R117 | Queue description is longer then 100 characters(MQ) |
| R116 | Queue is set as clustered (MQ) |
| R115* | BOTHRESH and BOQNAME should be defined (MQ) |
| R114 | Queues should be based on templates(MQ) |
| R113 | Queues defined should have descriptions(MQ) |
| R112 | BAR files should be generated and not part of the project(WMB) |
| R111* | CopyEntireMessage makes calling CopyMessageHeaders redundant(WMB) |
| R110 | The input node has been set to allow multiple instances (WMB) |
| R109* | Java Compute nodes should not be used (WMB) |
| R108* | Trace nodes should not be used (WMB) |
| R107 | Duplicate method (WMB) |
| R106 | Reading whole file may cause issues with performance. Split into batches where possible (WMB) |
| R105* | The schema name is not matching what has been set in the property file (WMB) |
| R104 | Module names should be named using camel case (WMB) |
| R103* | The default schema is being used which that should be avoided (WMB) |
| R102 | COMPUTE nodes are not allowed (ESQL code should be avoided) (WMB) |
| R101 | MQInputNode domain should use XMLNSC over XMLNS (WMB) |
| R100 | The XSL cache is set to 0, so style sheets will be compiled each time the node runs (WMB) |
| R99 | The MQGet node has an infinite timeout set. This may cause flows to never complete if the requested message is not available (WMB) |
| R98 | The timeouts on the nodes in the flow are potentially longer than the allowed delay on the input node (WMB) |
| R97 | The AggregateControl Node has an infinite timeout set. This may cause flows to never complete if all replies do not arrive (WMB) |
| R96 | Flow contains an MQReplyNode without an MQInputNode (WMB) |
| R95 | The main method is referred to by more then 1 COMPUTE node (WMB) |
| R94 | The COMPUTE node never creates an output message(WMB) |
| R93 | The COMPUTE mode is message but the message is never read or written (WMB) |
| R92* | The condition is more complicated then the threshold (WMB) |
| R91 | The filter node may only have one return value (WMB) |
| R90 | The flow contains a duplicate UDP/property default value (WMB) |
| R89 | Classification entry is not set for online (WMB) |
| R88* | A terminal that has been deprecated is being used (WMB) |
| R87 | The MQInputNode Transaction mode should be ‘yes’. (WMB) |
| R86 | The faultstring Fault element has to be a FaultString type and not a String type (WMB) |
| R85 | The
|
| R84 | The xml.xsd file is not imported in the soapenv11.xsd (WMB) |
| R83 | The Monitoring Events Global Transaction Correlator is not ‘$Environment/monitoring/globalTransactionId’ (applies to JMS nodes) (WMB) |
| R82 | The Monitoring Events Global Transaction Correlator is not ‘$Root/MQRFH2/usr/globalTransactionId’ (applies to MQ nodes) (WMB) |
| R81 | The Monitoring Events Global Transaction Correlator is not ‘$Root/SOAP/Header/businessHeader/globalTransactionId’ (applies to SOAP nodes) (WMB) |
| R80 | The Monitoring Events Parent Transaction Correlator is not ‘automatic’ (WMB) |
| R79 | The Monitoring Events Local Transaction Correlator is not ‘automatic’ (WMB) |
| R78 | The UOW on the monitoring event is not set to ‘none’ (WMB) |
| R77 | The Publication node does not have the required monitoring events added (WMB) |
| R76 | The JMS output node does not have the required monitoring events added (WMB) |
| R75 | The MQ output node does not have the required monitoring events added (WMB) |
| R74 | The SOAP Request node does not have the required monitoring events added (WMB) |
| R73 | The MQ input node does not have the required monitoring events added (WMB) |
| R72 | The SOAP input node does not have the required monitoring events added (WMB) |
| R71 | The input node has no catch handler connected. Errors may not be able to be tracked or may be lost (WMB) |
| R70 | InputNode ‘Build tree using XML schema data types’ not set (WMB) |
| R69* | MQInputNode domain should be XMLNSC (WMB) |
| R68 | InputNode validation is not set to ‘content and value’ (WMB) |
| R65* | The message flow does not consistently reply to messages/requests (WMB) |
| R64* | The message flow has a long path(WMB) |
| R61* | It is good programming practice to give an EXTERNAL variable an initial value(WMB) |
| R56* | The LOOP may not have a valid LEAVE statement (and may not exit validly) (WMB) |
| R55* | The COMPUTE nodes connections are inconsistent (WMB) |
| R54* | The date format may not be correct (WMB) |
| R47* | Multiple statements on the same line (WMB) |
| R46* | CASE has no default ELSE statement (WMB) |
| R45* | CASE statement has single WHEN. Could be replaced by an IF statement (WMB) |
| R44* | SLEEP() has been called. Calling SLEEP blocks the flow in the execution group (WMB) |
| R42* | The parameter on a method/procedure has a short name (and is likely to be meaningless) (WMB) |
| R38* | Database access with low polling interval could cause database contention issues for other applications/code (WMB) |
| R37* | Check node found in the flow. Check node has deprecated by the validation node (WMB) |
| R34* | The node has a very long delay waiting for a response. This will cause blocking of the runtime and could suggest issue with the design/architecture (WMB) |
| R29* | The function or procedure is longer than the threshold (WMB) |
| R28* | Cyclomatic Complexity is higher then the threshold (WMB) |
| R26* | Two or more RCD nodes in the same flow path(WMB) |
| R24* | Source file is empty (WMB) |
| R23* | Use LocalEnvironment over Environment(WMB) |
| R22* | Environment values should be under the Variables subtree (WMB) |
| R21* | Avoid using CARDINALITY within loops (WMB) |
| R20* | The file does not contain company name in the header comments (WMB) |
| R19* | The line is extra long and may cause issues being viewed (WMB) |
| R18* | Credentials are in plain text (WMB) |
| R17* | Atomic code may call another atomic block (deadlock possible) (WMB) |
| R16* | Unused method (function or procedure) (WMB) |
| R15* | Navigating message tree could be replaced by a reference (2 lines) (WMB) |
| R14* | The flow has two or more COMPUTE nodes in a row (WMB) |
| R13* | The messageflow looks to be invalid (not valid xml) (WMB) |
| R12* | MQ Queue used in the code but not not listed in the definition file (WMB) |
| R11* | MQ Queue defined but not used in the code (WMB) |
| R10* | No MQ Definition file/s have been found. The plugin will be unable to check the MQ setup against the code (WMB) |
| R7* | A column being referenced has not been found in the DB schema (WMB) |
| R6* | A table being referenced has not been found in the DB schema (WMB) |
| R5* | Unused variable or unused parameters in procedure of function call (WMB) |
| R4 | JDBC has not been configured (WMB) |
| R3* | Use XMLNSC over XMLNS (WMB) |
| R2 | Negative IF / ELSE condition (WMB) |
| R1* | Keywords should be in upper case (WMB) |
