REMOVECC suppresses the ANSI carriage control character so you don't get '1' as the first byte of the trailer.
OUTREC=(1,10) copies only the first 10 bytes of each input record to the output record.
TRAILER1=(COUNT=(M11,LENGTH=8) adds a trailer record as the last record with a count of the input records in positions 1-8.
If you're not familiar with DFSORT and DFSORT's ICETOOL, I'd suggest reading through "z/OS DFSORT: Getting Started". It's an excellent tutorial, with lots of examples, that will show you how to use DFSORT, DFSORT's ICETOOL and DFSORT Symbols. You can access it online, along with all of the other DFSORT books, from:
Yes. I'm using DFSORT (PGM=ICEMAN). You're using IDCAMS (PGM=IDCAMS). These are two different programs. DFSORT recognizes the DFSORT control statements in SYSIN. IDCAMS doesn't. You can't just slap DFSORT control statements into an IDCAMS job and expect it to work. Go back and compare the job you're using to the job I'm using and you'll see they are completely different. The job I gave you works fine. The "mess" you put together doesn't.