WMB/IIB rules complete

Rules

* more details available from following the link

R300 The ESQL format is not formatted correctly (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 (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
element does not have the namespace field set to ‘##any’ (WMB)
R84 The xml.xsd file is not imported in the soapenv11.xsd (WMB)
R83 The Monitoring Events Global Transaction Correlator is not ‘$Environment/btg:monitoring/globalTransactionId’ (applies to JMS nodes) (WMB)