The structure of this thing is odd. It enters what is essentially the "body" of the FOR loop once in the DO before starting the FOR loop, then repeats the body again with the same variables on the first FOR loop iteration. Is this the desired behavior? If not, then the DO can be removed.
I would rename the variable OS to be more specific, such as ISGTM. Actually rather than that, why not remove OS completely and have ROUT determine the platform instead of passing it as a parameter? That way it could be expanded for other platforms besides GTM and Cache.
Needs header comment update.
The structure of this thing is odd. It enters what is essentially the "body" of the FOR loop once in the DO before starting the FOR loop, then repeats the body again with the same variables on the first FOR loop iteration. Is this the desired behavior? If not, then the DO can be removed.
I would rename the variable OS to be more specific, such as ISGTM. Actually rather than that, why not remove OS completely and have ROUT determine the platform instead of passing it as a parameter? That way it could be expanded for other platforms besides GTM and Cache.