SonarSource Rules
  • Products

    In-IDE

    Code Quality and Security in your IDE with SonarQube Ide

    IDE extension that lets you fix coding issues before they exist!

    Discover SonarQube for IDE

    SaaS

    Code Quality and Security in the cloud with SonarQube Cloud

    Setup is effortless and analysis is automatic for most languages

    Discover SonarQube Cloud

    Self-Hosted

    Code Quality and Security Self-Hosted with SonarQube Server

    Fast, accurate analysis; enterprise scalability

    Discover SonarQube Server
  • SecretsSecrets
  • ABAPABAP
  • AnsibleAnsible
  • ApexApex
  • AzureResourceManagerAzureResourceManager
  • CC
  • C#C#
  • C++C++
  • CloudFormationCloudFormation
  • COBOLCOBOL
  • CSSCSS
  • DartDart
  • DockerDocker
  • FlexFlex
  • GitHub ActionsGitHub Actions
  • GoGo
  • HTMLHTML
  • JavaJava
  • JavaScriptJavaScript
  • JSONJSON
  • JCLJCL
  • KotlinKotlin
  • KubernetesKubernetes
  • Objective CObjective C
  • PHPPHP
  • PL/IPL/I
  • PL/SQLPL/SQL
  • PythonPython
  • RPGRPG
  • RubyRuby
  • RustRust
  • ScalaScala
  • ShellShell
  • SwiftSwift
  • TerraformTerraform
  • TextText
  • TypeScriptTypeScript
  • T-SQLT-SQL
  • VB.NETVB.NET
  • VB6VB6
  • XMLXML
  • YAMLYAML
RPG

RPG static code analysis

Unique rules to find Bugs, Security Hotspots, and Code Smells in your RPG code

  • All rules 58
  • Vulnerability1
  • Bug7
  • Security Hotspot1
  • Code Smell49
Filtered: 7 rules found
convention
    Impact
      Clean code attribute
        1. Prototypes should be used

           Code Smell
        2. Comment lines should not be too long

           Code Smell
        3. "/COPY" statements should include specification letters

           Code Smell
        4. Standard language features should be in upper case

           Code Smell
        5. "/EJECT" should be used after "F", "D" and "C" specification sections

           Code Smell
        6. Track lack of copyright and license headers

           Code Smell
        7. Subroutine names should comply with a naming convention

           Code Smell

        "/EJECT" should be used after "F", "D" and "C" specification sections

        intentionality - clear
        maintainability
        Code Smell
        • convention

        Why is this an issue?

        The /EJECT compiler directive adds a page break when the code is printed, and should be used at the end of each F, D, and C specification section to make the structure of the code clearer and to enhance overall readability.

        Noncompliant code example

        F* Conversion Job Activity File (CV)
        F*
        FCVJBAVP   IF   E           K DISK
        F* Conversion Job Dependency File (CZ)
        F*
        FCVJBDPP   IF   E           K DISK
        F*
        DP0RTCD           S              1
        DP0JBNM           S             10A
        DP0ERMG           S            100A
        DK0JBNM           S                   LIKE(CVJBNM)
        DK1JBNM           S                   LIKE(CVJBNM)
        DJST              S             10A   DIM(10)
        DI                S              3  0 INZ
        C
        C                   EXSR      SR999
        C
        C                   EXSR      SR100
        

        Compliant solution

        F* Conversion Job Activity File (CV)
        F*
        FCVJBAVP   IF   E           K DISK
        F* Conversion Job Dependency File (CZ)
        F*
        FCVJBDPP   IF   E           K DISK
        F*
        F/EJECT
        DP0RTCD           S              1
        DP0JBNM           S             10A
        DP0ERMG           S            100A
        DK0JBNM           S                   LIKE(CVJBNM)
        DK1JBNM           S                   LIKE(CVJBNM)
        DJST              S             10A   DIM(10)
        DI                S              3  0 INZ
        D/EJECT
        C
        C                   EXSR      SR999
        C
        C                   EXSR      SR100
        C/EJECT
        
          Available In:
        • SonarQube IdeCatch issues on the fly,
          in your IDE
        • SonarQube ServerAnalyze code in your
          on-premise CI
          Enterprise
          Edition
          Available Since
          9.1

        © 2025 SonarSource Sàrl. All rights reserved.

        Privacy Policy | Cookie Policy | Terms of Use