To me it looks like a variable called NewStruc is being created from the concatenated variable values in the OF list. Then, some additional functions are being used to alter the value and store the altered value in the NewStrucAdd variable. Then, the LENGTH function is used to find the length of the NewStruc variable. Since that is the only line that's commented, perhaps the comment "Creating index for longest possible number of structural parms" means something in the context of the program or the task.
One thing you can do to help yourself figure out what's happening is to use PUT or PUTLOG statements to help you understand each transformation. Something like:
putlog '**** BEFORE CALL CATX';
CALL CATX(" ", NewStruc, OF BeginS--EndS);