IPUMS reports 999999 for some adults who do not report retirement income, but only for people who are not typical retirement age.
For adults 65+ there are no 9999999 values and no missing observations, but there are many $0, so many that it must be wrong (compared to administrative data like IRS SOI totals). It seems more likely that a lot of respondents left ‘retirement income’ blank (missing) than that every single respondent reported $0 or greater. Can it be that non reporting among 65+ is immediately cataloged as $0 instead of imputed? That contradicts the editing procedure notes for the variable incretir :
If retirement earnings ([INCRETIR]) is missing, it will be allocated from someone with a similar value for race, age, marital status, if they worked last year, and if they received social security income. If that does not result in allocated values, the allocated values will be drawn from someone with similar sex and age.