@ExAzubi:
In diesem Fall streiche da eher das "Ex" aus deinem Namen;-).

Wenn die Datei durch die F-Bestimmung komplett alle Felder beinhaltet, wird sie von RPG auch automtisch komplett verarbeitet.
Hintergrund:
Die F-Bestimmung verwendet intern einen File-Control-Block (FCB), der einen Satzpuffer über die gesamte Länge enthält.
Auf diesen Satzpuffer verweist eine interne DS mit allen Feldern, die der Compiler kennt.
Solange du nur I- und O-Bestimmungen hast, sind in RPG nur die verwendeten Felder verfügbar.
Wenn du eine "E DS" erstellst (bzw. eine Compiler-Option), dann eben alle Felder dieser DS.
Beim READ/CHAIN wird aus dem Satzpuffer in die Felder übertragen, beim Update nur die verwendeten oder in ILE die angegebenen Felder.
Ist die Datei zum Anfügen geöffnet, werden beim Write wieder alle Felder verwendet. Hierbei werden keinerleid Defaults aus SQL/DDS gezogen!

Defaults der DDS sind nur für DSPF's gültig, Defaults aus SQL werden da ignoriert.

In SQL gibt es noch eine Schicht vor der DB-Schicht (also dem FCB), so dass beim Insert nicht erwähnte Felder mit ihrem Default in den Puffer geschrieben werden können bevor er in die Tabelle geschrieben wird.