Sounds like a problem in the CCSID. Take a look at your joblog when you run the CPYTOIMPF and see if you get any warning message about CCSID.
IF all else fails, you could try using query to create a file without the packed fields and FTPing it to the PC.
It is almost certain to be a CCSID issue. First thing to check is if the QCCSID system value has ever been set to a useful value or if it’s still at the default value of 65535. If it’s 65535, then determine the appropriate value and begin to get your system setting ready to change. (Most sites can change it in the middle of a work day, and no one will notice that it was done.)
Most often, the appropriate value has been guessed by your system. You can see the “guess” by using DSPJOB to see what your interactive job is using. Look at your job’s Job Definition Attributes and scroll down almost to the bottom to see “Default coded character set identifier”. The default chosen by your system is the likely CCSID for the system.
Before running your CPYTOIMPF command:<pre>
Set your job to your ‘default’ CCSID. (For me, it would be 37.) Then make sure the streamfile that you’ll be copying in to has bee3n deleted. (You’ll want to create a new one when you run the copy.) Then try:<pre>
CPYTOIMPF FROMFILE( x )
TOSTMF( y )
Let the command run under your new job CCSID and create the output streamfile. When it finishes, view the streamfile.
If it looks okay, you know that you need to manage the CCSID settings when you run the command. It it has garbage, then look at the file description of the database file and file field descriptions of that file. In particular, look for fields that may also be tagged with CCSID 65535.
There are various paths to take, but this should get you either past the problems or pointed to the precise sources of your problems.