The freeware run-time base option of <a href=”http://www.powercl.com/clf/aboutclf”>CL for Files (CLF)</a> provides for read/write/update/delete capability, from CL, with i databases (along with display and printer support).
There is also a fee-based CL precompiler which provides enhanced productivity over the no-charge run-tme support (plus a few capabilities not supported by languages such as RPG, COBOL, and C).
The full command set of CLF can be found <a href=”http://www.powercl.com/clf/clfcommands”>here</a>. There is a charge associated with the precompiler and generation tool. There is no charge for the run-time provided commands.
There are ways of writing data to files from CL programs. You can use RUNSQLSTM or the QSHELL DB2 interface for example.
You can’t write to PFs with CL because CL has no facility for database updates. That’s the flat answer.
CL isn’t written as a language to manipulate database values.
If you need to write to PFs, CALL a function that does it. That’s what CL does. Call into a database language program or run a function in Qshell as suggested above.