I am reading a variable length input file and wanting to create an output buffer (indexed table) that will not utilize a character by character move.

For example: my first input record is 79 characters, I can then move this to my group level of the table. My second input record is 101 characters -- how can I take these 101 characters and place them in my table beginning at position 80 for a length of 101 ? And the next input record beginning at position 180.....etc. We currently Perform Varying 1 by 1 but this is incredibly CPU intensive compared to a block move to a beginning address. 

We do this millions of times a day and a solution would be quite useful.