Are you exporting it as OBJ-only, or are you okay exporting it for a previous version which they will then load into their instance and compile?  

E.g. if you use Do $System.OBJ.SetQualifiers("/exportversion=2017.2") it will export the code in Caché 2017.2 format.  *However* this will not catch if you use syntax or updated APIs which were not supported in 2017.2.  You should really get a copy of the target version of software from the WRC (kits or containers) and at least do a compilation test there.  

here it s in practice for those interested:

USER>d $system.SQL.Shell()
SQL Command Line Shell
----------------------------------------------------
 
The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
[SQL]USER>>select $zversion
1.      select $zversion
 
Expression_1
IRIS for Windows (x86-64) 2022.1.2 (Build 574U) Fri Jan 13 2023 15:08:27 EST
 
1 Rows(s) Affected
statement prepare time(s)/globals/cmds/disk: 0.1884s/34,356/143,526/0ms
          execute time(s)/globals/cmds/disk: 0.0007s/0/394/0ms
                          cached query class: %sqlcq.USER.cls1