Add "AS s" at end of the statement, like this...
where a.genfortreatysrno=b.genfortreatysrno ORDER BY a.GENFORTREATYSRNO,a.GENLAYERSSRNO) AS s;
(It was required older DB2 for LUW(perhaps, DB2 for LUW 9.1 or earlier), too.)
Are you using what version/release of DB2 for iSeries?
I guessed that you are using DB2 for iSeries V6R1.
But, if you are using DB2 for iSeries V5R4, it might not support ORDER bY in a sub-query.