Hola,
Un field-exit se ejecuta cuando se lleva a cabo el "PAI" de un dynpro, siempre y cuando en el campo respectivo se haya introducido nueva información.
Si el campo no se modificó o simplemente no es modificable, el field-exit no se ejecuta.
Por los análisis que he realizado (tuve que analizar un dynpro con mas de diez field-exit) y mi experiencia, deduzco que el field-exit está concebido unicamente para validar información. Bajo está lógica, no es necesario ejecutarlo si la información del campo no ha cambiado.
Por otra parte, la lógica del ABAP y los dynpros es muy diferente de la de VB o Delphi y a quienes hemos manejado VBasic o Delphi (o similares) nos toca "reeducar" la cabeza para el ABAP.
Buena suerte!