Pessoal estou com uma dúvida fiz o seguinte programa: [prog=]DISP "(Deat001) ALTERA STATUS DA GUIA" SKIP. DEF VAR ax-aa-guia-atendimento LIKE guiautor.aa-guia-atendimento. DEF VAR ax-cd-tipo-guia LIKE guiautor.cd-tipo-guia. DEF VAR ax-nr-guia-atendimento LIKE guiautor.nr-guia-atendimento. REPEAT: UPDATE "Ano..............: " ax-aa-guia-atendimento NO-LABEL SKIP "Tipo de Guia.....: " ax-cd-tipo-guia no-LABEL SKIP "Numero da Guia...: " ax-nr-guia-atendimento no-LABEL SKIP. FIND FIRST guiautor WHERE guiautor.aa-guia-atendimento = ax-aa-guia-atendimento AND guiautor.cd-tipo-guia = ax-cd-tipo-guia AND guiautor.nr-guia-atendimento = ax-nr-guia-atendimento NO-ERROR. IF AVAIL(guiautor) THEN DO: UPDATE guiautor.in-liberado-guias = '2'. END. END.[/prog] Porém toda vez que executa mais de uma vez sempre repete as informações ano, tipo de guia e numero de guia, porém gostaria de saber se existe uma forma de sempre eu limpar a tela e aparecer somente três campos e não varios como ocorre alguem tem alguma ideia?
Tente fazer desta forma: Código: DEF VAR ax-aa-guia-atendimento LIKE guiautor.aa-guia-atendimento. DEF VAR ax-cd-tipo-guia LIKE guiautor.cd-tipo-guia. DEF VAR ax-nr-guia-atendimento LIKE guiautor.nr-guia-atendimento. form "Ano..............: " ax-aa-guia-atendimento NO-LABEL SKIP "Tipo de Guia.....: " ax-cd-tipo-guia no-LABEL SKIP "Numero da Guia...: " ax-nr-guia-atendimento no-LABEL SKIP with frame obtem overlay title "(Deat001) ALTERA STATUS DA GUIA". REPEAT on endkey undo, retry: UPDATE ax-aa-guia-atendimento ax-cd-tipo-guia ax-nr-guia-atendimento with frame obtem. FIND FIRST guiautor WHERE guiautor.aa-guia-atendimento = ax-aa-guia-atendimento AND guiautor.cd-tipo-guia = ax-cd-tipo-guia AND guiautor.nr-guia-atendimento = ax-nr-guia-atendimento NO-ERROR. IF AVAIL(guiautor) THEN assign guiautor.in-liberado-guias = '2' ax-aa-guia-atendimento = 0 ax-cd-tipo-guia = 0 ax-nr-guia-atendimento = 0. END.