rspec/rules/S1617/rpg/rule.adoc
Fred Tingaud 16f6c0aecf
Inline adoc when include has no additional value (#1940)
Inline adoc files when they are included exactly once.

Also fix language tags because this inlining gives us better information
on what language the code is written in.
2023-05-25 14:18:12 +02:00

66 lines
1.5 KiB
Plaintext

== Why is this an issue?
Error handling should be defined on file operations to ensure correct processing of program failures rather than defaulting to an abnormal program end. This rule checks two things:
* ``++INFSR++`` error handling is defined on file operations.
* error handling is delegated to an appropriately named routine.
=== Noncompliant code example
Given the default parameter value, ``++^*PSSR$++``:
[source,rpg]
----
F* Noncompliant
FIPBDCCP IF E K DISK
FEP210 CF E WORKSTN
F SFILE(EP21003S:RELN03)
FEP471R1 O E PRINTER
F USROPN
F INFDS(W1SF01)
----
=== Compliant solution
[source,rpg]
----
FIPBDCCP IF E K DISK INFSR(*PSSR)
FEP210 CF E WORKSTN INFSR(*PSSR)
F SFILE(EP21003S:RELN03)
FEP471R1 O E PRINTER INFSR(*PSSR)
F USROPN
F INFDS(W1SF01)
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
=== Message
Add the error handling "INFSR(xxxx)" keyword to this F spec
=== Parameters
.format_error_handling
****
----
^{empty}*PSSR$
----
Regular expression describing the names of valid error handling routines
****
endif::env-github,rspecator-view[]