My PL/SQL is a bit rusty, but …
To generate a field of a fixed length, the easiest way is to first PAD the field on the right with blanks, then take the LEFT side of that padded string in the length you want.
For example to get a field of exactly length 50, you could use:
<pre>sOutField = LEFT( RPAD ( sInField, 50 ), 50 );</pre>
This will add 50 blanks to the right side of the input field value, then take the leftmost resulting 50 characters as the result field.
Simply concatenate the individual fields together to get the fixed-length output line.