Da gibt es schon einen Unterschied, den aber kaum jemand nutzt.
Der Parameter CMD ist vom Typ her so definiert, dass nur ein AS/400-Kommando erlaubt ist.
Bei RQSDTA kannst du alles reinschreiben.
Die Daten, CMD oder RQSDTA werden dann später in die Jobmsgqueue geschrieben.
Nun kommt es auf die RTGDTA an.
Im Subsystem wird nun auf die Leitwegeinträge geprüft, welches Programm auf Grund der RTGDTA gestartet werden soll, und siehe da, der letzte Eintrag ist meist QCMD.
QCMD liest nun die Daten aus der Jobmsgqueue und führt das Kommando aus.

Du kannst nun beliebige Leitwegeinträge definieren, z.B. CMPVAL('LSNR') PGM('PRTLSNR').
Machst du nun einen SBMJOB RQSDTA('LSNR123456') wird das Programm PRTLSNR aufgerufen. Dieses kann nun mit RCVMSG den Eintrag LSNR123456 auslesen und den Lieferschein drucken.

Aber so kompliziert macht man es ja nun nie.
Seit es den CMD-Parameter gib (V2.1) reicht ja nun mal eben ein CALL-CMD.