GeneXus - Como uso el PACK para limpiar una tabla

 
Vista:

Como uso el PACK para limpiar una tabla

Publicado por Pablo (55 intervenciones) el 28/07/2009 15:59:45
Hola, Tengo que limiar una tabla auxiliar cada vez que ejecuto y tengo que llamar desde genexus a un programa externo para quitar los eliminados ya que genexus solo los marca.(a es en Visual fox pro). Pero no me funciona. Hago call('pgmexterno') y me da un mensaje que dice que elñ registro esta fuera del intervalo.

el prg dice:

USE 'c:sistemamiodatosTablamia.dbf EXCLUSIVE
PACK
return

y probe no ponerlo el camino, o ponerle parte , pero no me funciona. Tambien probe con un SELECT antes del USE para seleccionar la tabla, y probe con ZAP en vez de PACK pero tampoco, ninguno funciona.
Osea si doy al mensaje pasar por alto lo hace.
Si alguien entinde el FOX y me puede ayudar. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como uso el PACK para limpiar una tabla

Publicado por Luis Alberto (119 intervenciones) el 31/07/2009 23:03:46
Que tal Pablo, si quieres puedes usar código embebido aunque no es recomendado si alguna vez vas a migrar tu aplicación a otro generador. Pero en fin si usas VFP puedes colocar la sentencia:

dbase select Mi_Tabla
dbase pack

aunque pensandolo si usas el mismo

For Each Mi_Llave
Delete
EndFor

inmediatamente debe quedar limpia la tabla

porfa aclara que BD estas usando, Exitos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como uso el PACK para limpiar una tabla

Publicado por Pablo (55 intervenciones) el 12/08/2009 17:59:31
Gracias por contestar. el for each lo que hace es marcar los registros como eliminados, pero no os elimina fisicamente. entonces quedan ocupando lugar.
Utilizo Genexus con generador visual fox pro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar