== Why is this an issue? If a file is defined without the ``++USROPN++`` statement then the natural RPG logic will deal with opening and closing it. However, files defined with ``++USROPN++``, must be both explicitly ``++OPEN++``ed and ``++CLOSE++``d. === Noncompliant code example [source,rpg] ---- FEWPCCR1 O E PRINTER USROPN F INFDS(WSFD01) F INFSR(*PSSR) C OPEN EWPCCR1 C CLOSE *ALL ---- [source,rpg] ---- FEWPCCR1 O E PRINTER USROPN F INFDS(WSFD01) F INFSR(*PSSR) /free open EWPCCR1; close *ALL; /end-free ---- === Compliant solution [source,rpg] ---- FEWPCCR1 O E PRINTER USROPN F INFDS(WSFD01) F INFSR(*PSSR) C OPEN EWPCCR1 C CLOSE EWPCCR1 ---- [source,rpg] ---- FEWPCCR1 O E PRINTER USROPN F INFDS(WSFD01) F INFSR(*PSSR) /free open EWPCCR1; close EWPCCR1; /end-free ---- == Resources * https://cwe.mitre.org/data/definitions/459[MITRE, CWE-459] - Incomplete Cleanup ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Explicitly close this file. ''' == Comments And Links (visible only on this page) === relates to: S1725 endif::env-github,rspecator-view[]