Da QRCVDTAQ in der QSYS ist, musst du ja deine Lib per CHGSYSLIBL an den Anfang setzen.
Beim Call werden nur Adressen übergeben, du kannst also deine Variablen auf das Maximum deklarieren.

Wenn du an Stelle eines CLP's ein RPGLE verwendest, kannst du per %Parms() die Anzahl der übergebenen Parameter ermitteln um so Fehler auszuschließen, ausserdem gibt es dann keinen Aufruffehler für nicht passende Anzahl Parameter.
RPG/LE lässt sich immer mit einer variablen Anzahl Parameter aufrufen im Gegensatz zu CLP.