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 LET bdata = bdata.trimLeft() LET selec = "SELECT COUNT(*) FROM vetb00004 a LEFT OUTER JOIN vetb00005 b ON a.tipo_cliente= b.tipo_cliente and a.sec_cliente = b.sec_cliente INNER JOIN vetb00028 d ON d.tipo_cliente = a.tipo_cliente AND d.sec_cliente = a.sec_cliente INNER JOIN adtb00003 c ON c.num_emp = d.sec_vend WHERE CAST(a.tipo_cliente AS CHAR(2))+ CAST(a.sec_cliente AS CHAR(10))+RTRIM(a.nombre) LIKE '%",bdata CLIPPED,"%' and a.tipo_cliente > 14" 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,ISNULL(c.nom1_emp,' ')+' '+ISNULL(c.apell1_Emp,' '),d.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 vetb00028 d ON d.tipo_cliente = a.tipo_cliente AND d.sec_cliente = a.sec_cliente INNER JOIN adtb00003 c ON c.num_emp = d.sec_vend WHERE CAST(a.tipo_cliente AS CHAR(2))+ CAST(a.sec_cliente AS CHAR(10))+RTRIM(a.nombre) LIKE '%",bdata CLIPPED,"%' and a.tipo_cliente > 14" 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 END IF IF cuenta = 1 THEN DISPLAY "CUENTA ES UNO", bdata LET selec = "SELECT a.tipo_cliente,a.sec_cliente,RTRIM(a.nombre),b.calle,b.urbanizacion,ISNULL(c.nom1_emp,' ')+' '+ISNULL(c.apell1_Emp,' '),d.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 vetb00028 d ON d.tipo_cliente = a.tipo_cliente AND d.sec_cliente = a.sec_cliente INNER JOIN adtb00003 c ON c.num_emp = d.sec_vend WHERE CAST(a.tipo_cliente AS CHAR(2))+ CAST(a.sec_cliente AS CHAR(10))+RTRIM(a.nombre) LIKE '%",bdata CLIPPED,"%' and a.tipo_cliente > 14" PREPARE comando3 FROM selec EXECUTE comando3 INTO ptipo,secliente,rnombre,rdireccion,rciudad,vende,secvend SELECT a.nombre INTO rnombre FROM vetb00004 a WHERE a.tipo_cliente = ptipo AND a.sec_cliente = secliente END IF IF cuenta > 1 THEN CLOSE WINDOW w1 END IF RETURN rnombre,ptipo,secliente,rdireccion,rciudad,secvend,vende, true END FUNCTION