GeneXus - que falta?

 
Vista:

que falta?

Publicado por Darío (12 intervenciones) el 13/08/2007 23:22:32
Hola, he seguido los ejemplos sobre la lectura de archivos txt y me funciona pero no he conseguido que se graben los datos del txt en la transaccion. Tengo en un boton este codigo

&i = DFROpen("c:\paraleer.txt", 22, "\t")

if &i=0
&i = DFRNext( )
do while &i= 0
&i = dfrgnum(&BorIde)
&i = dfrgtxt(&BorTan)
&i = dfrgtxt(&BorFig)
&i = DFRNext( )
enddo

endif
&i = dfrclose( )

Como dije lo lee pero no se como hacer para que se graben en la tabla los datos, que me falta?.

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:que falta?

Publicado por PabloF (275 intervenciones) el 14/08/2007 13:43:24
Facil. la sentencia dfrgtxt(&BorFig) lo unico que hace es leer el campo desde el TXT y colocarlo en la variable &BorFig, pero tu nunca grabas ese valor en el campo, siempre lo dejas en la variable. Una vez que terminas de leer el registro del TXT y colocarlos en las variables tienes que invocar el procedimiento (o transaccion) que va a agregar los atributos en la tabla. Se entiende?
Saludos PF
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:que falta?

Publicado por Darío (12 intervenciones) el 14/08/2007 23:11:36
Hola PabloF, creia que al estar en la transacción ya la guardaba.

Voy a probar lo que me dijiste y te cuento el resultado.

Gracias
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:que falta?

Publicado por Darío (12 intervenciones) el 15/08/2007 23:48:11
Me pasó esto cuando quise hacer un call a un procedure.
En la transacción le puse en un evento esto:

&i = DFROpen("c:\Exped\mio.txt", 22, "\t")

if &i=0
&i = DFRNext( )
&i = DFRNext( )
do while &i= 0
&i = dfrgnum(&BorIde)
&i = dfrgtxt(&BorTan)
&i = dfrgtxt(&BorFig)

call(PPrcborrar,&BorIde, &BorTan, &BorFig)

&i = DFRNext( )
enddo

endif
&i = dfrclose( )

y en el Procedure esto:
Rules
Parm(&BorIde, &BorTan, &BorFig);

Y al hacer Build me aparece esto:

spc0023 Events ( 12): Parameter &Bortan calling PPRCBORRAR has wrong type.

spc0023 Events ( 12): Parameter &Borfig calling PPRCBORRAR has wrong type.

&Bortan y &Borfiges es parte de la transacción, no es nada de otro mundo. Me falta poner algo más o menos? Probé pasando &Mode Y &Today en el Call y no me dio este problema.

Agradecido de cualquier ayuda.
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:que falta?

Publicado por PabloF (275 intervenciones) el 16/08/2007 13:42:35
Al parecer, por el mensaje de error, del lado que hace el call las variables &BorTan y &BorFig estan definidas con otro tipo distinto al que estan definidas en el procedimiento invocado. Yo empezaria chequeando por ahi.
Saludos
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
Val: 73
Oro
Ha aumentado 1 puesto en GeneXus (en relación al último mes)
Gráfica de GeneXus

RE:que falta?

Publicado por Patricio Ojeda V (475 intervenciones) el 16/08/2007 15:22:42
Dario,

No es con el animo de ofender, al contrario, sino con el animo de insentivarte y que seas a futuro un profesional en lo que haces, te recomendaria que le hecharas un vistazo a algun manual de genexus, para que entiendas como trabaja genexus y como funcionan cada uno de sus objetos.

Me llamo mucho la atencion que envies y coloques un modo (&mode) en el procedimiento. Es cosa de estar en Genexus, apretar F1 y te daras cuenta que &mode dice:

Mode Variable - &Mode
Scope
Objects: Transactions <<<<---------------------------------

Languages: .NET, C/SQL, Cobol, Java, RPG, Visual Basic, Visual FoxPro

Purpose
Indicates the mode that the Transaction will work in.

Data Type: Character (3)
Values
'INS’: Insert
'UPD': Update
'DLT’: Delete
'DSP': Display

Hechale un vistazo a algun manuel de Genexus, ya que de lo contrario o de no ser asi, vas a continuar avanzando sin una base solida, lo cual te puede traer problemas a futuro si la complejidad de tu sistema aumenta.... saludos nuevamente y suerte!!!!

Saludos y ojala me hagas caso... :-)

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:que falta?

Publicado por Darío (12 intervenciones) el 16/08/2007 17:49:34
Gracias PabloF por responder a mi pregunta y ya mismo estoy probando lo que me sugeriste. Y te comento que aun no pude decirle a mi compañero con respecto del tema "Con call " que vos amablemente tambien respondiste... dentro de poco novedades.

Patricio Ojeda V también gracias por responder y no me ofendo por tu sugerencia, tengo que leer y releer porque me estoy dando los cuernos (metafóricamente hablando, por supuesto) contra la pared, porque recién empiezo a usar Genexus y en vez de estar comparando (que no está mal) con Vfp lo estoy trando de igualar (cosa que no es posible, evidentemente) y por este motivo, más mi desconocimiento me juegan en contra. Seguramente estaré cometiendo errores propios de novato o ignorante o (para no ser avaro) de novato ignorante.

Nuevamente muchas gracias a ambos.
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
Val: 73
Oro
Ha aumentado 1 puesto en GeneXus (en relación al último mes)
Gráfica de GeneXus

RE:que falta?

Publicado por Patricio Ojeda V (475 intervenciones) el 16/08/2007 18:59:29
Dario,

Bajate este manual, instalalo y hechale un vistazo, a mi gusto es buenisimo para comenzar....

http://www2.gxtechnical.com/portal/hgxpp001.aspx?15,8,77,O,S,0,,1506;26;0;;/%20%20/;/%20%20/;M;1

Saludos y suerte!!!

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:que falta?

Publicado por Darío (12 intervenciones) el 16/08/2007 21:06:19
Gracias Patricio Ojeda V por el dato, ya lo estoy bajando y te cuento a vos ya a PabloF que ¡¡¡¡ME ANDAAAAA!!!!!. Era, que en el procedure no declaré las variables que estan en Parm, se me habia puesto en la cabeza que (y sin razon de ser) que al usar el mismo nombre que usaba en el Call lo tomaba como una variable global. ¿De dónde saqué esta cosa rebuscada? Ni idea.

Muchas gracias nuevamente.
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:que falta?

Publicado por PabloF (275 intervenciones) el 16/08/2007 22:27:02
Excelente. Igualmente es recomendable que leas atentamente el manual que Patricio te ofrece para que no trabes con errores de facil resolucion. Para los errores complicados ya habra tiempo... y un foro de amigos para resolvertelo.
Saludos PF
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:que falta?

Publicado por Darío (12 intervenciones) el 20/08/2007 00:55:16
Si PabloF, lo estoy leyendo al manual y practicando.

Gracias a los dos por sus consejos, Hasta luego.
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