Since you never defined BATTALION SAS had to guess how you wanted it defined based on how you first used it.
Since the first usage is setting it to a five character string it defined the variable to have length of 5.
Define the variable before giving it values.
length battalion $8;
Or make sure that the first place you use it in the code you is in a way that SAS will create it with a length that is as long or longer than any value you want it to hold.
If greenberet1 < 40 then Battalion='Small ';
... View more