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 OPENed and CLOSEd.
Noncompliant code example
FEWPCCR1 O E PRINTER USROPN
F INFDS(WSFD01)
F INFSR(*PSSR)
C OPEN EWPCCR1
C CLOSE *ALL
FEWPCCR1 O E PRINTER USROPN
F INFDS(WSFD01)
F INFSR(*PSSR)
/free
open EWPCCR1;
close *ALL;
/end-free
Compliant solution
FEWPCCR1 O E PRINTER USROPN
F INFDS(WSFD01)
F INFSR(*PSSR)
C OPEN EWPCCR1
C CLOSE EWPCCR1
FEWPCCR1 O E PRINTER USROPN
F INFDS(WSFD01)
F INFSR(*PSSR)
/free
open EWPCCR1;
close EWPCCR1;
/end-free