Der Unterschied liegt in den Aufrufarten:

Bei RPG/LE musst du Variablen und/oder Prototypen für die Aufrufparameter definieren, dann gibt's kein Problem mit dem Aufruf

Bei CLP kannst du beim CALL auch Konstanten verwenden, da es aber keinen Prototyp gibt, werden die Parameter mit Sicherheit falsch an die API's übergeben (2048 z.B. als DEC(15, 5) und nicht als BIN(4)). Ggf. führt dies zu CPF-Fehlern oder eben zu Schrott.
Also definiere im CLP genau die Variablen für die API's, ins besonders wenn BIN(4) gefordert ist.
Oder verwende gleich obige RPG-Quelle, dann gibt's das Problem gar nicht.