Your Subject says "using Syncsort" so why are you asking for a DFSORT solution? Which product are you using.
PIC S9(04) is a 2-byte value. PIC S9(08) is a 4-byte value. If the values are unsigned (e.g. X'FFFF' = 65535), then you'd just need to insert X'0000' on the left. If the values are signed (e.g. X'FFFF' = -1), then you'd have to insert X'0000' on the left for positive values or X'FFFF' on the left for negative values. So you need to indicate whether the values are unsigned or signed.
Either way, you need to insert 2 bytes, so you can either overlay the two bytes after the field, or move the bytes after the field to the right. Which do you want to do?
In the simplest case, if the values are unsigned and you just want to insert X'0000' before the field and increase the record length, you can use these DFSORT control statements:
I figured it out. it is a positive field and inserted x'0000' (low values) on the left. actually inserting 2Z ( binary zeoes ) also does the same.
I have both syncsort and dfsort and am using syncsort.