Prueba este código,
int li_array[] //Asumiendo que cod_suministro es integer
int li_aux,li_count = 0
long ll_sqlcode = 0
string ls_mensaje //almacenaremos los que no tengan registros
// carga datos al array
li_array[1]=322
li_array[2]=324
li_array[3]=325
for li_aux=1 to upperbound(li_array[]) // upperbound te da la cantidad del array
// proceso de validacion
li_count = 0
ll_sqlcode = 0
//mandamos un count para evaluar si existe data
select count(*) into :li_count from suministros where cod_suministro= :li_array[li_aux] and cod_oficina='015';
//preguntamnos por el sqlcode del sqlca para ver si existe algun error
ll_sqlcode = sqlca.sqlcode
if ll_sqlcode = 100 then //no ahi data
ls_mensaje = trim(ls_mensaje) + string(li_array[li_aux]) + ", "
Elseif ll_sqlcode <> 0 then //error en la consulta, abandonamos la aplicacion para resolver el problema, puede ser sintaxis u otra razon
messagebox("Error", sqlca.sqlerrtext )
return
exit
elseif isnull(li_count) or li_count < 1 then //no ahi registros
ls_mensaje = trim(ls_mensaje) + string(li_array[li_aux]) + ", "
end if
next
//Evaluamos si existe algo en la cadena
if len(trim(ls_mensaje)) > 0 then
ls_mensaje = left(trim(ls_mensaje),len(trim(ls_mensaje))-2) //quitamos la ultima coma concatenada
messagebox("Mensaje","No existe datos para " + ls_mensaje)
else
messagebox("Mensaje","Todo bien!")
end if
a la espera de tus comentarios.