FUNCTION buscacliente(pnombre,ptipo,secliente) DEFINE idx,ptipo,secliente,cuenta,secvend INT, selec,pnombre,rnombre,rdireccion,rciudad,vende STRING, arrclientes DYNAMIC ARRAY OF RECORD tipo_cliente,sec_cliente INT, nombre,direccion,ciudad,vendedor STRING, sec_vend INT END RECORD, bdata STRING LET bdata = ptipo USING "<<" ,secliente USING "<<<<<<<<<<" ,pnombre CLIPPED LET bdata = bdata.trimLeft() LET selec = "SELECT COUNT(*) FROM vetb00004 a WHERE RTRIM(CAST(a.tipo_cliente AS CHAR(2))+ RTRIM(CAST(a.sec_cliente AS CHAR(10)))+RTRIM(a.nombre)) LIKE '%",bdata CLIPPED,"%'" PREPARE comando1 FROM selec EXECUTE comando1 INTO cuenta IF cuenta IS NULL OR cuenta = 0 THEN LET rnombre ='NO EXISTEN CLIENTES CON ESA CONDICION' LET ptipo=0 LET secliente=0 LET secvend =0 LET vende = NULL RETURN rnombre,ptipo,secliente,rdireccion,rciudad,secvend,vende,false END IF IF cuenta > 1 THEN LET selec = "SELECT a.tipo_cliente,a.sec_cliente,a.nombre,b.calle,b.urbanizacion,CONCAT(ISNULL(c.nom1_emp,' '),' ',ISNULL(c.apell1_Emp,' ')),a.sec_vend FROM vetb00004 a LEFT OUTER JOIN vetb00005 b ON a.tipo_cliente= b.tipo_cliente and a.sec_cliente = b.sec_cliente INNER JOIN adtb00003 c ON c.num_emp = a.sec_vend WHERE CONCAT(RTRIM(CAST(a.tipo_cliente AS CHAR(2))), RTRIM(CAST(a.sec_cliente AS CHAR(10))),RTRIM(a.nombre)) LIKE '%",ptipo USING "<<", secliente USING "<<<<<<<<<<",pnombre CLIPPED,"%'" PREPARE comando2 FROM selec DECLARE busca CURSOR FOR comando2 LET idx = 1 FOREACH busca INTO arrclientes[idx].* LET idx = idx + 1 END FOREACH IF idx = 1 THEN LET rnombre = 'NO EXISTEN CLIENTES CON ESA CONDICION' LET ptipo=0 LET secliente=0 LET secvend =0 LET vende = null RETURN rnombre,ptipo,secliente,rdireccion,rciudad,secvend,vende,false ELSE OPEN WINDOW w1 WITH FORM "vefmwd002" DISPLAY ARRAY arrclientes TO sclientes.* AFTER DISPLAY LET rnombre = arrclientes[arr_curr()].nombre LET ptipo = arrclientes[arr_curr()].tipo_cliente LET secliente = arrclientes[arr_curr()].sec_cliente LET secvend = arrclientes[arr_curr()].sec_vend LET vende = arrclientes[arr_curr()].vendedor EXIT DISPLAY END DISPLAY END IF ELSE LET selec = "SELECT a.tipo_cliente,a.sec_cliente,a.nombre,b.calle,b.urbanizacion,ISNULL(c.nom1_emp,' ')+' '+ISNULL(c.apell1_Emp,' '),a.sec_vend FROM vetb00004 a LEFT OUTER JOIN vetb00005 b ON a.tipo_cliente= b.tipo_cliente and a.sec_cliente = b.sec_cliente INNER JOIN adtb00003 c ON a.sec_vend = a.sec_vend WHERE CAST(a.tipo_cliente AS CHAR(2))+ CAST(a.sec_cliente AS CHAR(10))+RTRIM(a.nombre) LIKE '%",bdata CLIPPED,"%'" DISPLAY "en otro ",selec PREPARE comando3 FROM selec EXECUTE comando3 INTO ptipo,secliente,rnombre,rdireccion,rciudad,vende,secvend END IF IF cuenta > 1 THEN CLOSE WINDOW w1 END IF RETURN rnombre,ptipo,secliente,rdireccion,rciudad,secvend,vende, true END FUNCTION