CPYTOIMPF ... RMVBLANK(*LEADING/*TRAILING/*BOTH)

Leider gibt es für die NULL-Behandlung keinen Standard.
NULL wird von SQL nur dann gesetzt, wenn das Feld
a) im Insert nicht erwähnt wird und NULL erlaubt ist
b) im Insert eine NULL-Indikator auch auf -1 gesetzt ist

Im RPG mit Native-IO kann man dies nun so gar nicht definieren.
Das System führt intern einen IO-Puffer, der in 2 Bereiche geteilt ist.
1. Feldpuffer
2. NULL-Indikatoren je Feld
Beim Lesen wird aus dem IO-Puffer in RPG-Variablen kopiert.
Beim Schreiben wird aus den Variablen in den Puffer kopiert und der INSERT/UPDATE ausgeführt.
Ein "Nicht erwähnen" eines Feldes wie in SQL ist daher nicht möglich!
Man ist also gezwungen per %NULLIND(Name) das Flag zu setzen oder zu löschen.
Dabei ist natürlich darauf zu achten, dass beim Füllen der Variablen ein gesetztes NULL-Flag nicht gelöscht wird!
Vergisst man also das Zurücksetzen, wird NULL an Stelle des neuen Wertes geschrieben.

Auch per Trigger hat man es da nicht einfacher. Man bekommt den Daten-Puffer und NULL-Indikatoren übergeben.
Die NULL-Indikatoren sind ein "5I 0 DIM(nn)". Wenn der Trigger also das NULL-Flag setzen will muss man genau Zählen.