Superk is right. Actually, I'd suggest changing the job to the following to make it clear where the data comes from and where the spaces come from. I'd also use a temporary file for the TMP1 MOD data set instead of a permanent file so you don't have to empty out TMP1 each time you run the job.

It would have been easier to diagnose the problem if you posted the entire TOOLMSG and DFSMSG output. Also I noticed that there is a many to many match in your data. Looks like both files have duplicates and in that case you can't use SPLICE. You need to use JOINKEYS. However you need to do a better job of explaining the rules (especially when there are duplicates involved). The key 4444 has 2 keys and in IN01 file and some how you managed to matched the second 4444 DDDD record with the first 4444 XDDX record and followed the same pattern for the other 2 records. What happens if there are more than 2 records per key?