Что у него на ужин,traduce como que tiene para la cena,pero es qué tiene él para la cena,sino sería что у тебя на ужин
Eso sería ¿Qué tienes (tú) para la cena?.
Qué tiene de cena? Es lo mismo, debería aceptarse
Qué tienes para la cena? :(
tienes - у тебя (есть)