No estoy seguro si te entendi.
Lo que entiendo es que queres hacer un new y el registro ya existe.
Do while &PersonaId = 0
&PersonaId = udp(PNumAut ,'PERSONAID')
New
PersonaId = &Persona
PersonaNom = &Nombre
When duplicate
&PersonaId = 0
EndNew
EndDo
* PNumAut : es un procedimiento que numera utilizando una table NumAut
NumAutNom Char (20)
NumAutNro Numerico
Espero que sea lo estas buscando. Sino si me explicas mejor espero poder ayudarte