Fully procedural files are the most commonly used (for database files) in RPG. Fully procedural files are not dependent upon using the RPG cycle and can be processed using the SETLL, SETGT, CHAIN, READ, READE, REDPE, UPDAT, DELET and WRITE operation codes in RPG/400 (and of course by their equivalents in RPGILE.
Primary (P) and Secondary (S) files are a remnant of the RPG cycle and are no longer widely used (best to avoid them if possible, as they are difficult to understand and don’t really fit in with structured programming techniques). When using Primary/Secondary files, the RPG program handles all input and output automatically according to the RPG cycle.
In RPG/36 there were also Chained files (C), Demand files (D) and Record Address Files (R) .