GeneXus - Comando New no funciona en tablas vacías

   
Vista:

Comando New no funciona en tablas vacías

Publicado por Chaly (14 intervenciones) el 08/10/2007 15:00:41
Estimados amigos:

Tengo el siguiente caso:

Tengo una transacción de dos niveles, en el subfile de dicha transacción, necesito a partir de un boton y su respectivo procedimiento, migrar de otra tabla, una serie de datos señalados por el usuario, lo que ha estado sucediendo es que la migración no ha tenido éxito mientras la base de datos del subfile este vacía, osea que la primera vez que se hace correr el proceso, no funciona la migración, le cargue un registro directamente en la tabla, el mismo que no esta asociado a ningún registro de la llave primaria y a partir de ello las migraciones se realizan con éxito.

Supongo que tiene que haber una razón para este proceder y una eventual solución, dado que no es correcto que se haga en un modelo que ya va aser puesto en producción, un parche como el que yo utilicé, a continuación los datos de ley:

GeneXus 9.0
Visual FoxPro C/S
Sql Server 2000
Apreciaré sus comentarios, como siempre un fuerte abrazo a toda la comunidad.

Chaly
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
Imágen de perfil de Patricio Ojeda V

RE:Comando New no funciona en tablas vacías

Publicado por Patricio Ojeda V (454 intervenciones) el 08/10/2007 17:32:19
Podrias señalar:

1.- Si estas entrando a la Trn en algun modo.
2.- Como estas haciendo el Prc para agregar datos al segundo nivel.
3.- Como estas refrescando la Trn.

saludos

Patricio Ojeda V
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:Comando New no funciona en tablas vacías

Publicado por Chaly (14 intervenciones) el 08/10/2007 21:07:33
Estimado Patricio:

ingreso a la trn bajo modalidad INS cuando creo un registro nuevo, tanto para el 1er. nivel como para el subfile y entro en modo UPD cuando quiero efectuar modificaciones a un registro ya existente, en todo caso, el Prc funciona así:

tengo un botón llamado 'migra', que se activa únicamente cuando ingreso al subfile, pues es ahí donde debo realizar la migración

Event 'Migra'
Call(WCatDis, &PrevNum, &UltNum01, &Cont)
call(PConSbf, PrevNum, &Contador)
refresh
EndEvent // 'Migra'

El 1er. Call llama un Wkp, en el cual se encuentra la lista de registros que el usuario elegirá para migrar mediante una variable que al ser marcada, señalará que registros serán migrados, una vez seleccionados los registros, tengo el siguiente botón:

Event 'Migrar'
For each line in Grid4
If &Opc = 'S'
call(PMigMed, &PrevNum, Niv3CodComp, Niv3NomCom, Niv3FarUnidad ,CtaOrdCod, CtaOrdDes, Niv3PreRef, Niv3SolMue, &UltNum01, &Conta)
&UltNum01 = &Conta
refresh
else
endif
Endfor
EndEvent // 'Migrar'

y Finalmente mi Prc MigMed es como sigue:

for each PrevSubNum //Llave del subfile
new
PrevNum = &PrevNum
PrevSubNum = &UltNum01 + 1
&Conta = PrevSubNum
CtaOrdCod = &CtaOrdCod
PrevUni = &Niv3FarUnidad
PrevDes = &Niv3NomCom
PrevCodProd = &Niv3CodComp
PrevUnitario = &Niv3PreRef
PrevSolMue = &Niv3SolMue
PrevCan = 0
When Duplicate
endnew
exit
endfor

Gracias por tu paciencia, espero tus comentarios,

Chaly
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
Imágen de perfil de Patricio Ojeda V

RE:Comando New no funciona en tablas vacías

Publicado por Patricio Ojeda V (454 intervenciones) el 10/10/2007 01:44:06
Cuentame una ultima cosa. ¿Cual es la estructura de tu Trn?

Patricio Ojeda V
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:Comando New no funciona en tablas vacías

Publicado por Chaly (14 intervenciones) el 10/10/2007 14:54:06
Estimado Patricio:

La estructura de la Trn es:

PrevNum*
PrevGes
PrevFec
PrevEtc....
PrevSubNum*
PrevCan
PrevUni
PrevCan
PrevUnit
PrevTot
PrevEtc....
PrevSumTot

Gracias por tu ayuda,

Chaly
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
Imágen de perfil de Patricio Ojeda V

RE:Comando New no funciona en tablas vacías

Publicado por Patricio Ojeda V (454 intervenciones) el 11/10/2007 18:05:22
Consultas:

Event 'Migra'
Call(WCatDis, &PrevNum, &UltNum01, &Cont)
call(PConSbf, PrevNum, &Contador) // Para que es este PRC?????????????
refresh
EndEvent // 'Migra'

Event 'Migrar'
For each line in Grid4
If &Opc = 'S'
call(PMigMed, &PrevNum, Niv3CodComp, Niv3NomCom, Niv3FarUnidad ,CtaOrdCod, CtaOrdDes, Niv3PreRef, Niv3SolMue, &UltNum01, &Conta)
&UltNum01 = &Conta
refresh // Para que es este refresh????????????
else
endif
Endfor
EndEvent // 'Migrar'

for each PrevSubNum //Llave del subfile // Por que haces un For Each???
new
PrevNum = &PrevNum
PrevSubNum = &UltNum01 + 1
&Conta = PrevSubNum
CtaOrdCod = &CtaOrdCod
PrevUni = &Niv3FarUnidad
PrevDes = &Niv3NomCom
PrevCodProd = &Niv3CodComp
PrevUnitario = &Niv3PreRef
PrevSolMue = &Niv3SolMue
PrevCan = 0
When Duplicate
endnew // Por que terminas el New dentro del when duplicate???
exit
endfor

Trata de analizar tu codigo, creo que tienes varias cosas que estan de mas y por eso no te resulta lo que quieres hacer.

Saludos

Patricio Ojeda V
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:Comando New no funciona en tablas vacías

Publicado por Chaly (14 intervenciones) el 12/10/2007 19:29:16
Patricio:

Gracias por tu colaboración, me ayudaste a resolver un problema conceptual muy grande, el problema estaba efectivamente en el for each.

Un gran abrazo,

Chaly
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

ayuda

Publicado por manuel (2 intervenciones) el 21/07/2010 20:00:06
estoy generando un control escolar y quiero hacer lo siguiente:
asignar de forma automatica por cada grado las materias que le pertenece en el ciclo, asi cuando yo entre en la trasaccion de calificaciones no tenga que ponerle a cada alumno de manera individual sus materias en el grid , me explico
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