Skip to content

Static Code Analysis Rules

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

PRIORULE NAMEDESCRIPTIONSupported Files
1DatabaseNameLimitationName already exists in databaseprojection, fragment
1DependencyAnnotationDependency checks among componentsclient, projection, fragment
1DependencyNotFoundDependency checks among componentsplsql, views, plsvc
1EnterpriseEditionOracle Enterprise Edition featureplsql, views, storage, plsvc
1ExceptionInitPragmaErrorNumPragma Error number should be minus integerplsql, views, storage, plsvc
1IllegalOverrideOvertakeIllegal use of @Override or @OvertakeALL
1IllegalStringCharactersString literals with non-US-ASCII charactersclient, projection, fragment, app, plsql, views, storage, plsvc, offline
1MissingElseNullConditional Compilation statement $ELSE is missing.plsql, views, storage, plsvc
1NameLengthThe name is longer than the allowed maximum of 30 characters.plsql, views, storage, plsvc
1VarChar2LengthVARCHAR2 length should be integer valueplsql, views, storage, plsvc
2ArrangeValidityArrange syntax is not supported within panelclient, fragment
2AvailableSelectedLabelConstraintBoth Available and Selected Items labels must use together.client, fragment
2BulkCommandExecutionCommands that require bulk executionclient, fragment
2CalendarGroupingValidityGrouby and ranking cannot be used together.client, fragment
2CardinalityZeroToOneThe content type can only be set once.client, fragment
2ClientHeightSettingSome values for height cannot be use with some componentsclient, fragment
2CompareSameFieldComparison with the same fieldplsql, views, storage, plsvc
2CompareWithNullComparing with NULL is always falseplsql, views, storage, plsvc
2ComponentNameComponent name must match the folder name.client, projection, fragment, app
2ConditionalEvaluationValidityConditional evaluation cannot be used in the syntaxclient, fragment
2CountOneToCountStarUse count(*) instead of count(1).plsql, views, storage, plsvc
2DuplicateMethodViewMethod/View duplicated with same signatureplsql, views
2DynamicLovWildCardValidityWildcard syntax to be used in dynamiclov fields only.client, fragment
2DynamicStatementDynamic statement must be approvedplsql, views, storage, plsvc
2EnableOnAllFilteredValidityenableonallfiltered can be used only with commands making use of stringify.client, fragment
2EntitySetNameEvaluationEntitySet name should be different from the Entity name.projection, fragment
2FileNameEvaluationModel name must be the same as the file name.client, projection, fragment
2FilterOnEntityDependencyEntity array needed from masterprojection, fragment
2FilteringDefaultContextValidationDefault datasources should be usedprojection, fragment
2GanttItemStyleShapeShape of Gantt itemclient, fragment
2GanttSnapTimeSnapTime values of Gantt chart.client, fragment
2GeneralSysInitGeneral_SYS.Init_Method should never be used in plsql filesplsql, views, storage, plsvc
2GlobalConstantGlobal constant declarationplsql, views, storage, plsvc
2GlobalVariableGlobal variable declarationplsql, views, storage, plsvc
2IconsetEmphasisValidationEmphasis cannot be used within iconsetclient, fragment
2IfsappPrefixNot allowed to prefix DB calls with IFSAPPplsql, views, storage, plsvc
2IllegalEnumIdentifierCharactersEnumeration literals containing characters not valid for Identifier name.projection, fragment
2ImplementationJavaUsage'Java' implementation to be used with Streamprojection, fragment
2ImplementationMissingAction/Function is not implemented in source fileprojection, fragment
2IncorrectDollarNullUsage$NULL to be used with $SEARCH/$TEXTSEARCHplsql
2InlineSavingUsageWrong usage of inline saving propertyprojection, fragment
2LabelLengthLabel cannot be more than 50 characters longclient, fragment
2ModelNameLengthName cannot be more than 80 characters longclient, projection, app
2MultipleSecurityGroupAn entry cannot be included in multiple securitygroups.app
2ObjstateDatatypeThe Type definition for attribute 'Objstate' expects to be a valid Enumeration.projection, fragment
2OfflineSyntaxErrorSyntax error. Offline projections require additional syntax entries.client, projection, fragment, offline
2OfflineTranslatableFormatIFS translation standard should be followedoffline
2OvertakeMethod overtakes should be avoidedclient, projection, fragment, plsql, views, storage, plsvc
2SelectedValiditySelected is enabled only for generic messageboxclient, fragment
2SqlCompareWithNullComparing with NULL always returns falseplsql, views, storage, plsvc
2SyntaxErrorError in the syntax of a sequence of tokensALL
2TransactionStatementTransactional statement approvalplsql, views, storage, plsvc
2TranslatableFormatIFS translation standards should be followedplsql, storage, views, plsvc
2TypeCompatibilityType in assignments must be compatible.client, fragment
2TypeCompatibility22R2Incompatible attribute data typesprojection, fragment
2UnsupportedComputedFieldEditNon-editable computedfieldclient, fragment
2UnsupportedCreateCommandUnsupported create commandclient, fragment
2ViewSyntaxWarningCheck syntax to make sure the code is generated correctly.plsql, views, storage, plsvc
2WildCardValidityFreeinput and Wildcards cannot be used simultaneouslyclient, fragment
3BinaryFunctionBinary functions cause translation issuesplsql, views, storage, plsvc
3ClientTreeNodeEntityEntity is mandatory for every node except root node.client, fragment
3ColumnDatatypeView column datatype is not validviews
3ColumnFieldCharsIllegal character in field valueviews
3ColumnFlagsFlag values are not validviews
3ConditionalCompilationConditional Compilation statements require correction.plsql, views, storage, plsvc
3DeprecatedMethodDeprecated method can be removedviews
3DeprecatedPropertySettingUsage of deprecated property/settingclient, fragment
3DuplicateIncludeFragmentDuplicate 'include fragment' statement.client, projection, fragment
3EmptyLinesInViewEmpty lines in view may cause deployment issuesviews
3IdentifierMissingIdentifier needed for overrides/overtakesclient, fragment
3KeywordAsNameKeyword should be avoided as a Nameplsql, views, storage, plsvc
3MessageDefinitionValidationDuplicate message definition validationplsql, views, storage, plsvc
3MethodEndNameEND name is different from method nameplsql
3MissingAnnotationMissing annotation or wrong usage of annotation.plsql
3ObjStateInValiditySetLUObjState field check in viewsviews
3OfflineSyntaxWarningWarning. Offline projections require additional syntax entries.client, projection, fragment
3ProjectionPlaceholderVirtual table naming standardplsvc
3ReservedKeywordRecordRecord is a Reserved Keywordclient, fragment
3SelectAllSELECT * should not be used in viewsviews
3TranslatableConstantNameIFS translation standards should be followedplsql, views, storage, plsvc
3UnusedFragmentIncludedIncluded fragment is not used in the modelfragment
3UnusedFunctionOrActionFunction/Action not used in any Client modelprojection
4DependencyMissingDependency checks among componentsclient, projection, fragment
4DeprecatedAnnotationUsedDeprecated annotation has no functionality.plsql
4ExistMethodCallInValiditySetLUExist method call without boolean argumentplsql, views, storage, plsvc
4LargeMethodMethod has too many statementsplsql
4MethodAnnotationAnnotation requires correction.plsql, views, storage
4MultipleServerCallsMultiple server calls one after the otherclient, fragment
4NamingStandardIFS naming standard should be followedplsql, views, storage, plsvc
4ObsoleteOrOrphanedFileFile was made obsolete or exists without model fileALL
4OverlappingNamesName is the same as another object's nameplsql, views, storage, plsvc
4ProjectionStructureContentUnsupported structure contentprojection, fragment
4QueryWithoutLUQuery must have LU attributeprojection, fragment
4ReservedViewFieldNamesUsage of reserved view field namesviews
4SqlContainingPlsqlSQL statements that contains PL/SQL callsplsql, views, storage, plsvc
4StatementAnnotationAnnotation requires correction.plsql, views, storage, plsvc
4TrimPadToCharUse TO_CHAR() functionplsql, views, storage, plsvc
4UnusedDeclarationUnused ${rule name} ${object name}.client, projection, fragment, plsql, views, storage, plsvc
4UnusedMethodArgumentMethod argument ${object name} is not used.plsql, plsvc
5EmptyMethodMethod without implementationplsql
5PrivateMethodAccessPrivate method access in a different packageplsql, views, storage, plsvc