If you look at the text for the SQL message, 0001 through 9999 are valid year ranges. Are the dates correct in the from file? Do you have a date 31 in a month where only 30 exist? Do you have incorrect leap year dates? Remember there is a Feb 29th in all years that are divisible by 4 but if the year ends in 00 it must be evenly divisible by 40 to be a leap year.
You might want to create a quickie RPG program to run some TEST operations on your date fields to see if they are valid. If you have any of the above errors this will point them out.
How are you “transferring” the file? Have you set the connection to recognize the date format? Clearly, this has nothing to do with “date 31 in a month where only 30 exist” nor any of the other listed possibilities.
This is apparently because your PC is using the 100-year ‘window’ for valid years.
Examine the settings for the connection. If this is ODBC or similar, the connection attributes need to allow for the same settings as the database allows.