Skip to main content

PowerScript Scan rules

 

Contrast Scan supports these rules for PowerScript.

Severity

Contrast rule

Engine rule ID

Description

Critical 

Avoid Undoc Events 

OPT.POWERSCRIPT.DOC_POWSCRT.AvoidUndocEvents 

AvoidUndocEvents: Avoid undocumented events 

Critical 

Avoid Undoc Functions 

OPT.POWERSCRIPT.DOC_POWSCRT.AvoidUndocFunctions 

AvoidUndocFunctions: Avoid undocumented functions/subroutines 

High 

Comments Ratio In Events 

OPT.POWERSCRIPT.DOC_POWSCRT.CommentsRatioInEvents 

CommentsRatioInEvents: Avoid events with a very low comment/code ratio 

High 

Comments Ratio In Functions 

OPT.POWERSCRIPT.DOC_POWSCRT.CommentsRatioInFunctions 

CommentsRatioInFunctions: Avoid functions/subroutines with a very low comment/code ratio 

High 

Art Less5 Param 

OPT.POWERSCRIPT.GEN_POWSCRT.ArtLess5Param 

ArtLess5Param: Avoid artifacts with a lot of parameters 

High 

Art Without Group By 

OPT.POWERSCRIPT.GEN_POWSCRT.ArtWithoutGroupBy 

ArtWithoutGroupBy: Do not use 'Group By' 

High 

Art Without Subqueries 

OPT.POWERSCRIPT.GEN_POWSCRT.ArtWithoutSubqueries 

ArtWithoutSubqueries: Avoid subqueries 

High 

Dt Win Access DB 

OPT.POWERSCRIPT.GEN_POWSCRT.DtWinAccessDB 

DtWinAccessDB: Do not use queries directly over database 

High 

Dynamic SQL 

OPT.POWERSCRIPT.GEN_POWSCRT.DynamicSQL 

DynamicSQL: Avoid using dynamic SQL in scripts 

High 

Dynamic SQL4 Less Tables 

OPT.POWERSCRIPT.GEN_POWSCRT.DynamicSQL4LessTables 

DynamicSQL4LessTables: Avoid dynamic complex SQL queries 

High 

Overriding Event 

OPT.POWERSCRIPT.GEN_POWSCRT.OverridingEvent 

OverridingEvent: Avoid overriding Event 

High 

Queries4tables 

OPT.POWERSCRIPT.GEN_POWSCRT.Queries4tables 

Queries4tables: Avoid SELECT over too many tables 

High 

Queries9select Param 

OPT.POWERSCRIPT.GEN_POWSCRT.Queries9selectParam 

Queries9selectParam: Avoid complex SELECT clause 

High 

Win Too Many Mth 

OPT.POWERSCRIPT.GEN_POWSCRT.WinTooManyMth 

WinTooManyMth: Avoid 'Windows' with too many methods 

High 

Fan In 

OPT.POWERSCRIPT.OYR_POWSCRT.FanIn 

FanIn: Avoid calling many times the same artifact 

High 

Fan Out 

OPT.POWERSCRIPT.OYR_POWSCRT.FanOut 

FanOut: Avoid calling many artifacts from same one 

High 

Menu High Inheritance 

OPT.POWERSCRIPT.OYR_POWSCRT.MenuHighInheritance 

MenuHighInheritance: Avoid Window with too high level of inheritance 

High 

No Inheritance 

OPT.POWERSCRIPT.OYR_POWSCRT.NoInheritance 

NoInheritance: Avoid artifacts without inheritance relations 

High 

Win High Inheritance 

OPT.POWERSCRIPT.OYR_POWSCRT.WinHighInheritance 

WinHighInheritance: Avoid Window with too high level of inheritance 

Info 

Data Window Naming Convention 

OPT.POWERSCRIPT.NOM_POWSCRT.DataWindowNamingConvention 

DataWindowNamingConvention: DataWindow naming convention 

Info 

Global Func Naming Convention 

OPT.POWERSCRIPT.NOM_POWSCRT.GlobalFuncNamingConvention 

GlobalFuncNamingConvention: Global function naming convention 

Info 

Global Var Naming Convention 

OPT.POWERSCRIPT.NOM_POWSCRT.GlobalVarNamingConvention 

GlobalVarNamingConvention: Global variables naming convention 

Info 

Instance Var Naming Convention 

OPT.POWERSCRIPT.NOM_POWSCRT.InstanceVarNamingConvention 

InstanceVarNamingConvention: Instance variable naming convention 

Info 

Menu Naming Convention 

OPT.POWERSCRIPT.NOM_POWSCRT.MenuNamingConvention 

MenuNamingConvention: Menu naming convention 

Info 

Structure Naming Convention 

OPT.POWERSCRIPT.NOM_POWSCRT.StructureNamingConvention 

StructureNamingConvention: Structure naming convention 

Info 

User Event Naming Convention 

OPT.POWERSCRIPT.NOM_POWSCRT.UserEventNamingConvention 

UserEventNamingConvention: User event naming convention 

Info 

Window Naming Convention 

OPT.POWERSCRIPT.NOM_POWSCRT.WindowNamingConvention 

WindowNamingConvention: Window naming convention 

Medium 

Avoid Global Functions 

OPT.POWERSCRIPT.GEN_POWSCRT.AvoidGlobalFunctions 

AvoidGlobalFunctions: Avoid using global functions 

Medium 

Avoid Global Vars 

OPT.POWERSCRIPT.GEN_POWSCRT.AvoidGlobalVars 

AvoidGlobalVars: Avoid using global variables 

Medium 

Too Long Lines 

OPT.POWERSCRIPT.GEN_POWSCRT.TooLongLines 

TooLongLines: Avoid artifacts with lines too long