Skip to content

Static Code Analysis Rules

Listed below are the rules that are currently supported by Static Code Analyzer for examining the code.

PRIO RULE NAME DESCRIPTION Supported Files
1 DatabaseNameLimitation Name already exists in database projection, fragment
1 DependencyAnnotation Dependency checks among components client, projection, fragment
1 DependencyNotFound Dependency checks among components plsql, views, plsvc
1 EnterpriseEdition Oracle Enterprise Edition feature plsql, views, storage, plsvc
1 ExceptionInitPragmaErrorNum Pragma Error number should be minus integer plsql, views, storage, plsvc
1 IllegalOverrideOvertake Illegal use of @Override or @Overtake ALL
1 IllegalStringCharacters String literals with non-US-ASCII characters client, projection, fragment, app, plsql, views, storage, plsvc, offline
1 MissingElseNull Conditional Compilation statement $ELSE is missing. plsql, views, storage, plsvc
1 NameLength The name is longer than the allowed maximum of 30 characters. plsql, views, storage, plsvc
1 VarChar2Length VARCHAR2 length should be integer value plsql, views, storage, plsvc
2 ArrangeValidity Arrange syntax is not supported within panel client, fragment
2 AvailableSelectedLabelConstraint Both Available and Selected Items labels must use together. client, fragment
2 BulkCommandExecution Commands that require bulk execution client, fragment
2 CalendarGroupingValidity Grouby and ranking cannot be used together. client, fragment
2 CardinalityZeroToOne The content type can only be set once. client, fragment
2 ClientHeightSetting Some values for height cannot be use with some components client, fragment
2 CompareSameField Comparison with the same field plsql, views, storage, plsvc
2 CompareWithNull Comparing with NULL is always false plsql, views, storage, plsvc
2 ComponentName Component name must match the folder name. client, projection, fragment, app
2 ConditionalEvaluationValidity Conditional evaluation cannot be used in the syntax client, fragment
2 CountOneToCountStar Use count(*) instead of count(1). plsql, views, storage, plsvc
2 DuplicateMethodView Method/View duplicated with same signature plsql, views
2 DynamicLovWildCardValidity Wildcard syntax to be used in dynamiclov fields only. client, fragment
2 DynamicStatement Dynamic statement must be approved plsql, views, storage, plsvc
2 EnableOnAllFilteredValidity enableonallfiltered can be used only with commands making use of stringify. client, fragment
2 EntitySetNameEvaluation EntitySet name should be different from the Entity name. projection, fragment
2 FileNameEvaluation Model name must be the same as the file name. client, projection, fragment
2 FilterOnEntityDependency Entity array needed from master projection, fragment
2 FilteringDefaultContextValidation Default datasources should be used projection, fragment
2 GanttItemStyleShape Shape of Gantt item client, fragment
2 GanttSnapTime SnapTime values of Gantt chart. client, fragment
2 GeneralSysInit General_SYS.Init_Method should never be used in plsql files plsql, views, storage, plsvc
2 GlobalConstant Global constant declaration plsql, views, storage, plsvc
2 GlobalVariable Global variable declaration plsql, views, storage, plsvc
2 IconsetEmphasisValidation Emphasis cannot be used within iconset client, fragment
2 IfsappPrefix Not allowed to prefix DB calls with IFSAPP plsql, views, storage, plsvc
2 IllegalEnumIdentifierCharacters Enumeration literals containing characters not valid for Identifier name. projection, fragment
2 ImplementationJavaUsage 'Java' implementation to be used with Stream projection, fragment
2 ImplementationMissing Action/Function is not implemented in source file projection, fragment
2 IncorrectDollarNullUsage $NULL to be used with $SEARCH/$TEXTSEARCH plsql
2 InlineSavingUsage Wrong usage of inline saving property projection, fragment
2 LabelLength Label cannot be more than 50 characters long client, fragment
2 ModelNameLength Name cannot be more than 80 characters long client, projection, app
2 MultipleSecurityGroup An entry cannot be included in multiple securitygroups. app
2 ObjstateDatatype The Type definition for attribute 'Objstate' expects to be a valid Enumeration. projection, fragment
2 OfflineSyntaxError Syntax error. Offline projections require additional syntax entries. client, projection, fragment, offline
2 OfflineTranslatableFormat IFS translation standard should be followed offline
2 Overtake Method overtakes should be avoided client, projection, fragment, plsql, views, storage, plsvc
2 SelectedValidity Selected is enabled only for generic messagebox client, fragment
2 SqlCompareWithNull Comparing with NULL always returns false plsql, views, storage, plsvc
2 SyntaxError Error in the syntax of a sequence of tokens ALL
2 TransactionStatement Transactional statement approval plsql, views, storage, plsvc
2 TranslatableFormat IFS translation standards should be followed plsql, storage, views, plsvc
2 TypeCompatibility Type in assignments must be compatible. client, fragment
2 UnsupportedComputedFieldEdit Non-editable computedfield client, fragment
2 UnsupportedCreateCommand Unsupported create command client, fragment
2 ViewSyntaxWarning Check syntax to make sure the code is generated correctly. plsql, views, storage, plsvc
2 WildCardValidity Freeinput and Wildcards cannot be used simultaneously client, fragment
3 BinaryFunction Binary functions cause translation issues plsql, views, storage, plsvc
3 ClientTreeNodeEntity Entity is mandatory for every node except root node. client, fragment
3 ColumnDatatype View column datatype is not valid views
3 ColumnFieldChars Illegal character in field value views
3 ColumnFlags Flag values are not valid views
3 ConditionalCompilation Conditional Compilation statements require correction. plsql, views, storage, plsvc
3 DeprecatedMethod Deprecated method can be removed views
3 DeprecatedPropertySetting Usage of deprecated property/setting client, fragment
3 DuplicateIncludeFragment Duplicate 'include fragment' statement. client, projection, fragment
3 EmptyLinesInView Empty lines in view may cause deployment issues views
3 IdentifierMissing Identifier needed for overrides/overtakes client, fragment
3 KeywordAsName Keyword should be avoided as a Name plsql, views, storage, plsvc
3 MessageDefinitionValidation Duplicate message definition validation plsql, views, storage, plsvc
3 MethodEndName END name is different from method name plsql
3 MissingAnnotation Missing annotation or wrong usage of annotation. plsql
3 ObjStateInValiditySetLU ObjState field check in views views
3 OfflineSyntaxWarning Warning. Offline projections require additional syntax entries. client, projection, fragment
3 ProjectionPlaceholder Virtual table naming standard plsvc
3 ReservedKeywordRecord Record is a Reserved Keyword client, fragment
3 SelectAll SELECT * should not be used in views views
3 TranslatableConstantName IFS translation standards should be followed plsql, views, storage, plsvc
3 UnusedFragmentIncluded Included fragment is not used in the model fragment
3 UnusedFunctionOrAction Function/Action not used in any Client model projection
4 DependencyMissing Dependency checks among components client, projection, fragment
4 DeprecatedAnnotationUsed Deprecated annotation has no functionality. plsql
4 ExistMethodCallInValiditySetLU Exist method call without boolean argument plsql, views, storage, plsvc
4 LargeMethod Method has too many statements plsql
4 MethodAnnotation Annotation requires correction. plsql, views, storage
4 MultipleServerCalls Multiple server calls one after the other client, fragment
4 NamingStandard IFS naming standard should be followed plsql, views, storage, plsvc
4 ObsoleteOrOrphanedFile File was made obsolete or exists without model file ALL
4 OverlappingNames Name is the same as another object's name plsql, views, storage, plsvc
4 ProjectionStructureContent Unsupported structure content projection, fragment
4 QueryWithoutLU Query must have LU attribute projection, fragment
4 ReservedViewFieldNames Usage of reserved view field names views
4 SqlContainingPlsql SQL statements that contains PL/SQL calls plsql, views, storage, plsvc
4 StatementAnnotation Annotation requires correction. plsql, views, storage, plsvc
4 TrimPadToChar Use TO_CHAR() function plsql, views, storage, plsvc
4 UnusedDeclaration Unused ${rule name} ${object name}. client, projection, fragment, plsql, views, storage, plsvc
4 UnusedMethodArgument Method argument ${object name} is not used. plsql, plsvc
5 EmptyMethod Method without implementation plsql
5 PrivateMethodAccess Private method access in a different package plsql, views, storage, plsvc