Bom dia, Estava querendo saber se é possivel colocar um DO dentro dessa query para otimizar a sintax. Código: FOR EACH moviproc WHERE moviproc.cd-modalidade = usuario.cd-modalidade AND moviproc.nr-ter-adesao = usuario.nr-ter-adesao AND moviproc.cd-usuario = usuario.cd-usuario AND ( IF dtinicialrealizado <> '' THEN (moviproc.dt-realizacao >= dt-inicialrealizado AND moviproc.dt-realizacao <= dt-finalrealizado ) AND (( IF procedimentorealizado[1] <> '' THEN ( moviproc.cd-esp-amb = pr-e-p[1] AND moviproc.cd-grupo-proc-amb = pr-g-p[1] AND moviproc.cd-procedimento = pr-c-p[1] AND moviproc.dv-procedimento = pr-d-p[1] ) ELSE 1=2 ) OR ( IF procedimentorealizado[2] <> '' THEN ( moviproc.cd-esp-amb = pr-e-p[2] AND moviproc.cd-grupo-proc-amb = pr-g-p[2] AND moviproc.cd-procedimento = pr-c-p[2] AND moviproc.dv-procedimento = pr-d-p[2] ) ELSE 1=2 ) OR ( IF procedimentorealizado[3] <> '' THEN ( moviproc.cd-esp-amb = pr-e-p[3] AND moviproc.cd-grupo-proc-amb = pr-g-p[3] AND moviproc.cd-procedimento = pr-c-p[3] AND moviproc.dv-procedimento = pr-d-p[3] ) ELSE 1=2 ) OR ( IF procedimentorealizado[4] <> '' THEN ( moviproc.cd-esp-amb = pr-e-p[4] AND moviproc.cd-grupo-proc-amb = pr-g-p[4] AND moviproc.cd-procedimento = pr-c-p[4] AND moviproc.dv-procedimento = pr-d-p[4] ) ELSE 1=2 ) OR ( IF procedimentorealizado[5] <> '' THEN ( moviproc.cd-esp-amb = pr-e-p[5] AND moviproc.cd-grupo-proc-amb = pr-g-p[5] AND moviproc.cd-procedimento = pr-c-p[5] AND moviproc.dv-procedimento = pr-d-p[5] ) ELSE 1=2 ) OR ( IF procedimentorealizado[6] <> '' THEN ( moviproc.cd-esp-amb = pr-e-p[6] AND moviproc.cd-grupo-proc-amb = pr-g-p[6] AND moviproc.cd-procedimento = pr-c-p[6] AND moviproc.dv-procedimento = pr-d-p[6] ) ELSE 1=2 ) OR ( IF procedimentorealizado[7] <> '' THEN ( moviproc.cd-esp-amb = pr-e-p[7] AND moviproc.cd-grupo-proc-amb = pr-g-p[7] AND moviproc.cd-procedimento = pr-c-p[7] AND moviproc.dv-procedimento = pr-d-p[7] ) ELSE 1=2 ) OR ( IF procedimentorealizado[8] <> '' THEN ( moviproc.cd-esp-amb = pr-e-p[8] AND moviproc.cd-grupo-proc-amb = pr-g-p[8] AND moviproc.cd-procedimento = pr-c-p[8] AND moviproc.dv-procedimento = pr-d-p[8] ) ELSE 1=2 ) OR ( IF procedimentorealizado[9] <> '' THEN ( moviproc.cd-esp-amb = pr-e-p[9] AND moviproc.cd-grupo-proc-amb = pr-g-p[9] AND moviproc.cd-procedimento = pr-c-p[9] AND moviproc.dv-procedimento = pr-d-p[9] ) ELSE 1=2 ) OR ( IF procedimentorealizado[10] <> '' THEN ( moviproc.cd-esp-amb = pr-e-p[10] AND moviproc.cd-grupo-proc-amb = pr-g-p[10] AND moviproc.cd-procedimento = pr-c-p[10] AND moviproc.dv-procedimento = pr-d-p[10] ) ELSE 1=2 )) ELSE 1=1 ) AND ( IF dtinicialnaorealizado <> '' THEN (moviproc.dt-realizacao >= dt-inicialnaorealizado AND moviproc.dt-realizacao <= dt-finalnaorealizado ) AND (( IF procedimentonaorealizado[1] <> '' THEN ( moviproc.cd-esp-amb <> pn-e-p[1] AND moviproc.cd-grupo-proc-amb <> pn-g-p[1] AND moviproc.cd-procedimento <> pn-c-p[1] AND moviproc.dv-procedimento <> pn-d-p[1] ) ELSE 1=2 ) OR ( IF procedimentonaorealizado[2] <> '' THEN ( moviproc.cd-esp-amb = pn-e-p[2] AND moviproc.cd-grupo-proc-amb = pn-g-p[2] AND moviproc.cd-procedimento = pn-c-p[2] AND moviproc.dv-procedimento = pn-d-p[2] ) ELSE 1=2 ) OR ( IF procedimentonaorealizado[3] <> '' THEN ( moviproc.cd-esp-amb = pn-e-p[3] AND moviproc.cd-grupo-proc-amb = pn-g-p[3] AND moviproc.cd-procedimento = pn-c-p[3] AND moviproc.dv-procedimento = pn-d-p[3] ) ELSE 1=2 ) OR ( IF procedimentonaorealizado[4] <> '' THEN ( moviproc.cd-esp-amb = pn-e-p[4] AND moviproc.cd-grupo-proc-amb = pn-g-p[4] AND moviproc.cd-procedimento = pn-c-p[4] AND moviproc.dv-procedimento = pn-d-p[4] ) ELSE 1=2 ) OR ( IF procedimentonaorealizado[5] <> '' THEN ( moviproc.cd-esp-amb = pn-e-p[5] AND moviproc.cd-grupo-proc-amb = pn-g-p[5] AND moviproc.cd-procedimento = pn-c-p[5] AND moviproc.dv-procedimento = pn-d-p[5] ) ELSE 1=2 ) OR ( IF procedimentonaorealizado[6] <> '' THEN ( moviproc.cd-esp-amb = pn-e-p[6] AND moviproc.cd-grupo-proc-amb = pn-g-p[6] AND moviproc.cd-procedimento = pn-c-p[6] AND moviproc.dv-procedimento = pn-d-p[6] ) ELSE 1=2 ) OR ( IF procedimentonaorealizado[7] <> '' THEN ( moviproc.cd-esp-amb = pn-e-p[7] AND moviproc.cd-grupo-proc-amb = pn-g-p[7] AND moviproc.cd-procedimento = pn-c-p[7] AND moviproc.dv-procedimento = pn-d-p[7] ) ELSE 1=2 ) OR ( IF procedimentonaorealizado[8] <> '' THEN ( moviproc.cd-esp-amb = pn-e-p[8] AND moviproc.cd-grupo-proc-amb = pn-g-p[8] AND moviproc.cd-procedimento = pn-c-p[8] AND moviproc.dv-procedimento = pn-d-p[8] ) ELSE 1=2 ) OR ( IF procedimentonaorealizado[9] <> '' THEN ( moviproc.cd-esp-amb = pn-e-p[9] AND moviproc.cd-grupo-proc-amb = pn-g-p[9] AND moviproc.cd-procedimento = pn-c-p[9] AND moviproc.dv-procedimento = pn-d-p[9] ) ELSE 1=2 ) OR ( IF procedimentonaorealizado[10] <> '' THEN ( moviproc.cd-esp-amb = pn-e-p[10] AND moviproc.cd-grupo-proc-amb = pn-g-p[10] AND moviproc.cd-procedimento = pn-c-p[10] AND moviproc.dv-procedimento = pn-d-p[10] ) ELSE 1=2 )) ELSE 1=1 )