Passe o campo como parâmetro para a função.... U_DATAMENOR(M->C5_DATA1)
User Function DATAMENOR(dDtVcto)
DEFAULT dDtVcto := cTod("//")
Local lOk := .F.
If Empty(dDtVcto) .or. (!Empty(dDtVcto) .And. dDtVcto >= dDataBase)
lOk := .T.
Else
lOk := .F.
MsgInfo("Data do vencimento não pode ser menor que a data atual.")
EndIf
Return(lOk)
Aí você pode usar a mesma função em todos os campos.... lembrando de passar o campo correto como parâmetro.