RE: Registro externo en procedimiento
Sólo por probar: 1. Define una DS externa para utilizarla como “diccionario” de los diferentes “tipos” de cada campo. D MAECLI_T E DS ExtName( MAECLI ) D Template Qualified 2. Define la DS con los campos que devolverá del cursor (esto no es estrictamente necesario): D SqlFila_T DS Template D Qualified D clcodiLike( MAECLI_T.clcodi ) D clnombLike( MAECLI_T.clnomb ) D cldni Like( MAECLI_T.cldni ) 3. Define la DS donde almacenarás el resultado del Fetch: D filaDS LikeDs( SqlFila_T ) 4. Realiza la lectura del cursor: Exec Sql FETCH csr INTO :fila; Hasta donde yo sé, la estructura que utilices en el FETCH debe ser global al programa. Creo recordar que en PTFs recientes se podían utilizar DS locales (seguro que en 6.1 no está esta opción). Todas las estructuras de datos que definas directamente como LIKEDS de otro estructura (aunque sea externa) creo que el precompilador no la va a tener en cuenta. Sólo si te defines un DS con campos definidos en función de otro campo (LIKE) o directamente poniendo su tipo funcionará con SQL incrustado. A mí esta técnica me funciona desde versión 5.4. Revisaré si en 7.2 (donde estoy) se puede usar directamente el LIKEDS o LIKEREC y DS locales con el SQL incrustado (estoy al último nivel de PTF). Ya nos cuentas. Javier Mora De: forum.help400-boun...@listas.combios.es [mailto:forum.help400-boun...@listas.combios.es] En nombre de alberto Enviado el: miércoles, 12 de diciembre de 2018 11:00 Para: forum.help400 Asunto: Registro externo en procedimiento Alex, Javier, os respondo a los dos en el mismo email: Este es mi AS de desarrollo, que está en V6r1(espero que por poco tiempo). Luego si puedo me pasaré el fuente al de producción (V7R1) y lo intentaré compilar. Alex: no, con qualified me da el mismo error, ya lo había probado. :( tampoco me deja ponerlo despues del LikeDS. Javier: Pues el error depende, porque he probado varias combinaciones. En el caso del ejemplo que he enviado, el error es directamente de SQL diciendo que la variable @Reg no existe, cuando ya véis que la estoy definiendo como Likeds. Si por ejemplo defino el array dentro del procedimiento, tal que así: d@REG DS lIKEDS(@REGEXT) D Cliexclos107601s 0 DIM(99) me da estos 3 errores: *RNF0503 20 1 La longitud del elemento numérico es de más de 63 dígitos; toma el valor por omisión de 63. *RNF3602 20 1 La entrada no está en blanco para una definición de campo; toma el valor por omisión de blancos. *RNF3703 20 1 No se ha especificado el subcampo o la definición de parámetro en un grupo. De:"Javier Mora" Para:"forum.help400" Fecha:12/12/2018 10:06 Asunto:** Newsletter ** RE: Registro externo en procedimiento Enviado por:forum.help400-boun...@listas.combios.es ¿Puedes poner el mensaje de error de compilación y en qué sentencia? ¿En qué versión de sistema operativo estás? El precompilador de SQL para ILE RPG no anda muy fino y depende de cómo estén definidos los campos y estructuras te genera errores del tipo “no utilizable”. Creo (de memoria) que en las últimas versiones del compilador (PTFs) este tema está solucionado, aunque no estoy muy seguro. Javier Mora De: forum.help400-boun...@listas.combios.es [mailto:forum.help400-boun...@listas.combios.es] En nombre de alberto Enviado el: miércoles, 12 de diciembre de 2018 9:20 Para: forum.help400 Asunto: Registro externo en procedimiento Hola Foro. Me ha surgido una cosa nueva, que a ver cómo lo resolvéis vosotros: tengo definido dos registros externos como tal: D @regext E DS EXTNAME(FESDTO) ? D Cliexclos107601s 0 DIM(99) ? D E DS EXTNAME(LARTTF1) ? D TARE 10405P 3 DIM(99) El segundo lo hago servir en el cuerpo principal del programa, y el primero @regext lo hago servir en un procedimiento, para me de el resultado de un Select * y me cree un array con los campos que hay en esas posiciones. En el procedimiento lo tengo definido así: d@REG DS lIKEDS(@REGEXT) .. Exec SQL Fetch Next From @cursor into :@reg; Supongo que esto lo habéis hecho servir muchos de vosotros. El caso es que al compilar me da error en el que paso como parámetro. Del que hay en el cuerpo principal no se queja, pero con el otro no me deja compilar. En el procedimiento lo tengo definido como he dicho antes, pero vamos, que ya he probado varias combinaciones diferentes y no hay manera.
Registro externo en procedimiento
campos que hay en esas posiciones. En el procedimiento lo tengo definido así: d@REG DS lIKEDS(@REGEXT) .. Exec SQL Fetch Next From @cursor into :@reg; Supongo que esto lo habéis hecho servir muchos de vosotros. El caso es que al compilar me da error en el que paso como parámetro. Del que hay en el cuerpo principal no se queja, pero con el otro no me deja compilar. En el procedimiento lo tengo definido como he dicho antes, pero vamos, que ya he probado varias combinaciones diferentes y no hay manera. Como muy poco, me da un error de nivel 20.pero no voy a aburrir con los errores diferentes que me da al compilar. Alguien se ha encontrado con algo parecido? Supongo que lo más rápido es pasar del procedimiento y hacer una subrutina de las de toda la vida, pero seguro que IBM ha resuelto esto y no me lo ha dicho. Saludos próxima parte Se ha borrado un adjunto en formato HTML... URL: < http://listas.combios.es/cgi-bin/mailman/private/forum.help400/attachments/20181212/065c3451/attachment-0001.html > -- Message: 2 Date: Wed, 12 Dec 2018 09:35:22 +0100 From: Alex Martínez Subject: Re: Registro externo en procedimiento To: "forum.help400" Message-ID: < caecncbq7zsrfyene_dgygtgbnwyia1hoexmvf9cquyaa2bb...@mail.gmail.com> Content-Type: text/plain; charset="utf-8" Hola Aquí puede influir bastante el nivel del compilador, pero haz la prueba de añadir QUALIFIED en la definción de la DS @reg El mié., 12 dic. 2018 a las 9:23, alberto () escribió: > Hola Foro. > Me ha surgido una cosa nueva, que a ver cómo lo resolvéis vosotros: > tengo definido dos registros externos como tal: > D @regext E DS EXTNAME(FESDTO) >? > D Cliexclos107601s 0 DIM(99) >? > D E DS EXTNAME(LARTTF1) > ? > D TARE 10405P 3 DIM(99) > > El segundo lo hago servir en el cuerpo principal del programa, y el > primero @regext lo hago servir en un procedimiento, para me de el resultado > de un Select * y me cree un array con los campos que hay en esas > posiciones. > En el procedimiento lo tengo definido así: > d@REG DS lIKEDS(@REGEXT) > .. >Exec SQL Fetch Next From @cursor into :@reg; > Supongo que esto lo habéis hecho servir muchos de vosotros. > El caso es que al compilar me da error en el que paso como parámetro. Del > que hay en el cuerpo principal no se queja, pero con el otro no me deja > compilar. > En el procedimiento lo tengo definido como he dicho antes, pero vamos, que > ya he probado varias combinaciones diferentes y no hay manera. > Como muy poco, me da un error de nivel 20.pero no voy a aburrir con los > errores diferentes que me da al compilar. > Alguien se ha encontrado con algo parecido? > Supongo que lo más rápido es pasar del procedimiento y hacer una subrutina > de las de toda la vida, pero seguro que IBM ha resuelto esto y no me lo ha > dicho. > Saludos > > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > Forum.Help400 © Publicaciones Help400, S.L. próxima parte Se ha borrado un adjunto en formato HTML... URL: < http://listas.combios.es/cgi-bin/mailman/private/forum.help400/attachments/20181212/19223578/attachment-0001.htm > -- Message: 3 Date: Wed, 12 Dec 2018 08:53:44 + From: Javier Mora Subject: RE: Registro externo en procedimiento To: "forum.help400" Message-ID: Content-Type: text/plain; charset="iso-8859-1" ¿Puedes poner el mensaje de error de compilación y en qué sentencia? ¿En qué versión de sistema operativo estás? El precompilador de SQL para ILE RPG no anda muy fino y depende de cómo estén definidos los campos y estructuras te genera errores del tipo "no utilizable". Creo (de memoria) que en las últimas versiones del compilador (PTFs) este tema está solucionado, aunque no estoy muy seguro. Javier Mora De: forum.help400-boun...@listas.combios.es [mailto: forum.help400-boun...@listas.combios.es] En nombre de alberto Enviado el: miércoles, 12 de diciembre de 2018 9:20 Para: forum.help400 Asunto: Registro externo en procedimiento Hola Foro. Me ha surgido una cosa nueva, que a ver cómo lo resolvéis vosotros: tengo definido dos registros externos como tal: D @regext E DS EXTNAME(FESDTO) ? D Cliexclos107601s 0 DIM(99) ? D E DS EXTNAME(LARTTF1) ? D TARE 10405P 3 DIM(99) El segundo lo hago servir en el cuerpo princip
Re: Registro externo en procedimiento
Me suena haberme encontrado con ese problema en alguna ocasión. Y creo recordar que lo solucioné definiendo el fichero en una hoja F específica del procedimiento, como Input y UsrOpn, haciendo una apertura en falso (para que no se queje el compilador de que no hay operación de apertura) y definiendo la DS como LikeRec(NombreRegistro) Un saludo. Juan Carlos --- https://paredes.info juancar...@paredes.info 2018 09:20:04 +0100 From: "alberto" Subject: Registro externo en procedimiento To: "forum.help400" Message-ID: Content-Type: text/plain; charset="iso-8859-1" Hola Foro. Me ha surgido una cosa nueva, que a ver cómo lo resolvéis vosotros: tengo definido dos registros externos como tal: D @regext E DS EXTNAME(FESDTO) ? D Cliexclos107601s 0 DIM(99) ? D E DS EXTNAME(LARTTF1) ? D TARE 10405P 3 DIM(99) El segundo lo hago servir en el cuerpo principal del programa, y el primero @regext lo hago servir en un procedimiento, para me de el resultado de un Select * y me cree un array con los campos que hay en esas posiciones. En el procedimiento lo tengo definido así: d@REG DS lIKEDS(@REGEXT) .. Exec SQL Fetch Next From @cursor into :@reg; Supongo que esto lo habéis hecho servir muchos de vosotros. El caso es que al compilar me da error en el que paso como parámetro. Del que hay en el cuerpo principal no se queja, pero con el otro no me deja compilar. En el procedimiento lo tengo definido como he dicho antes, pero vamos, que ya he probado varias combinaciones diferentes y no hay manera. Como muy poco, me da un error de nivel 20.pero no voy a aburrir con los errores diferentes que me da al compilar. Alguien se ha encontrado con algo parecido? Supongo que lo más rápido es pasar del procedimiento y hacer una subrutina de las de toda la vida, pero seguro que IBM ha resuelto esto y no me lo ha dicho. Saludos El mié., 12 dic. 2018 a las 5:01, escribió: Envíe los mensajes para la lista Forum.help400 a forum.help400@listas.combios.es Para subscribirse o anular su subscripción a través de la WEB http://listas.combios.es/cgi-bin/mailman/listinfo/forum.help400 O por correo electrónico, enviando un mensaje con el texto "help" en el asunto (subject) o en el cuerpo a: forum.help400-requ...@listas.combios.es Puede contactar con el responsable de la lista escribiendo a: forum.help400-ow...@listas.combios.es Si responde a algún contenido de este mensaje, por favor, edite la linea del asunto (subject) para que el texto sea mas especifico que: "Re: Contents of Forum.help400 digest...". Además, por favor, incluya en la respuesta sólo aquellas partes del mensaje a las que está respondiendo. Asuntos del día: 1. Registro externo en procedimiento (alberto) 2. Re: Registro externo en procedimiento (Alex Martínez) 3. RE: Registro externo en procedimiento (Javier Mora) 4. Registro externo en procedimiento (alberto) -- Message: 1 Date: Wed, 12 Dec 2018 09:20:04 +0100 From: "alberto" Subject: Registro externo en procedimiento To: "forum.help400" Message-ID: Content-Type: text/plain; charset="iso-8859-1" Hola Foro. Me ha surgido una cosa nueva, que a ver cómo lo resolvéis vosotros: tengo definido dos registros externos como tal: D @regext E DS EXTNAME(FESDTO) ? D Cliexclos107601s 0 DIM(99) ? D E DS EXTNAME(LARTTF1) ? D TARE 10405P 3 DIM(99) El segundo lo hago servir en el cuerpo principal del programa, y el primero @regext lo hago servir en un procedimiento, para me de el resultado de un Select * y me cree un array con los campos que hay en esas posiciones. En el procedimiento lo tengo definido así: d@REG DS lIKEDS(@REGEXT) .. Exec SQL Fetch Next From @cursor into :@reg; Supongo que esto lo habéis hecho servir muchos de vosotros. El caso es que al compilar me da error en el que paso como parámetro. Del que hay en el cuerpo principal no se queja, pero con el otro no me deja compilar. En el procedimiento lo tengo definido como he dicho antes, pero vamos, que ya he probado varias combinaciones diferentes y no hay manera. Como muy poco, me da un error de nivel 20.pero no voy a aburrir con los errores diferentes que me da al compilar. Alguien se ha encontrado con algo parecido? Supongo que lo más rápido es pasar del procedimiento y hacer una subrutina de las de toda la vida, pero seguro que IBM ha resuelto esto y no me lo ha dicho. Saludos próxima parte Se ha borrado un adjunto en formato HTML... URL: <http://listas.combios.es/cgi-bin/mailman/private/forum.help400/attachments/20181212/065c3451/attachment-0001
Registro externo en procedimiento
a aburrir con los > errores diferentes que me da al compilar. > Alguien se ha encontrado con algo parecido? > Supongo que lo más rápido es pasar del procedimiento y hacer una subrutina > de las de toda la vida, pero seguro que IBM ha resuelto esto y no me lo ha > dicho. > Saludos > próxima parte > Se ha borrado un adjunto en formato HTML... > URL: < > http://listas.combios.es/cgi-bin/mailman/private/forum.help400/attachments/20181212/065c3451/attachment-0001.html > > > > -- > > Message: 2 > Date: Wed, 12 Dec 2018 09:35:22 +0100 > From: Alex Martínez > Subject: Re: Registro externo en procedimiento > To: "forum.help400" > Message-ID: > < > caecncbq7zsrfyene_dgygtgbnwyia1hoexmvf9cquyaa2bb...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Hola > > Aquí puede influir bastante el nivel del compilador, pero haz la prueba de > añadir QUALIFIED en la definción de la DS @reg > > > El mié., 12 dic. 2018 a las 9:23, alberto () > escribió: > > > Hola Foro. > > Me ha surgido una cosa nueva, que a ver cómo lo resolvéis vosotros: > > tengo definido dos registros externos como tal: > > D @regext E DS EXTNAME(FESDTO) > >? > > D Cliexclos107601s 0 DIM(99) > >? > > D E DS EXTNAME(LARTTF1) > > ? > > D TARE 10405P 3 DIM(99) > > > > El segundo lo hago servir en el cuerpo principal del programa, y el > > primero @regext lo hago servir en un procedimiento, para me de el > resultado > > de un Select * y me cree un array con los campos que hay en esas > > posiciones. > > En el procedimiento lo tengo definido así: > > d@REG DS lIKEDS(@REGEXT) > > .. > >Exec SQL Fetch Next From @cursor into :@reg; > > Supongo que esto lo habéis hecho servir muchos de vosotros. > > El caso es que al compilar me da error en el que paso como parámetro. Del > > que hay en el cuerpo principal no se queja, pero con el otro no me deja > > compilar. > > En el procedimiento lo tengo definido como he dicho antes, pero vamos, > que > > ya he probado varias combinaciones diferentes y no hay manera. > > Como muy poco, me da un error de nivel 20.pero no voy a aburrir con los > > errores diferentes que me da al compilar. > > Alguien se ha encontrado con algo parecido? > > Supongo que lo más rápido es pasar del procedimiento y hacer una > subrutina > > de las de toda la vida, pero seguro que IBM ha resuelto esto y no me lo > ha > > dicho. > > Saludos > > > > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > > Forum.Help400 © Publicaciones Help400, S.L. > próxima parte > Se ha borrado un adjunto en formato HTML... > URL: < > http://listas.combios.es/cgi-bin/mailman/private/forum.help400/attachments/20181212/19223578/attachment-0001.htm > > > > -- > > Message: 3 > Date: Wed, 12 Dec 2018 08:53:44 + > From: Javier Mora > Subject: RE: Registro externo en procedimiento > To: "forum.help400" > Message-ID: > Content-Type: text/plain; charset="iso-8859-1" > > ¿Puedes poner el mensaje de error de compilación y en qué sentencia? ¿En > qué versión de sistema operativo estás? > > El precompilador de SQL para ILE RPG no anda muy fino y depende de cómo > estén definidos los campos y estructuras te genera errores del tipo "no > utilizable". Creo (de memoria) que en las últimas versiones del compilador > (PTFs) este tema está solucionado, aunque no estoy muy seguro. > > Javier Mora > > De: forum.help400-boun...@listas.combios.es [mailto: > forum.help400-boun...@listas.combios.es] En nombre de alberto > Enviado el: miércoles, 12 de diciembre de 2018 9:20 > Para: forum.help400 > Asunto: Registro externo en procedimiento > > Hola Foro. > Me ha surgido una cosa nueva, que a ver cómo lo resolvéis vosotros: > tengo definido dos registros externos como tal: > D @regext E DS EXTNAME(FESDTO) > ? > D Cliexclos107601s 0 DIM(99) > ? > D E DS EXTNAME(LARTTF1) > ? > D TARE 10405P 3 DIM(99) > > El segundo lo hago servir en el cuerpo principal del programa, y el > primero @regext lo hago servir en un procedimiento, para me de el resultado > de un Select * y me cree un ar
Registro externo en procedimiento
Alex, Javier, os respondo a los dos en el mismo email: Este es mi AS de desarrollo, que está en V6r1(espero que por poco tiempo). Luego si puedo me pasaré el fuente al de producción (V7R1) y lo intentaré compilar. Alex: no, con qualified me da el mismo error, ya lo había probado. :( tampoco me deja ponerlo despues del LikeDS. Javier: Pues el error depende, porque he probado varias combinaciones. En el caso del ejemplo que he enviado, el error es directamente de SQL diciendo que la variable @Reg no existe, cuando ya véis que la estoy definiendo como Likeds. Si por ejemplo defino el array dentro del procedimiento, tal que así: d@REG DS lIKEDS(@REGEXT) D Cliexclos107601s 0 DIM(99) me da estos 3 errores: *RNF0503 20 1 La longitud del elemento numérico es de más de 63 dígitos; toma el valor por omisión de 63. *RNF3602 20 1 La entrada no está en blanco para una definición de campo; toma el valor por omisión de blancos. *RNF3703 20 1 No se ha especificado el subcampo o la definición de parámetro en un grupo. De: "Javier Mora" Para: "forum.help400" Fecha: 12/12/2018 10:06 Asunto: ** Newsletter ** RE: Registro externo en procedimiento Enviado por:forum.help400-boun...@listas.combios.es ¿Puedes poner el mensaje de error de compilación y en qué sentencia? ¿En qué versión de sistema operativo estás? El precompilador de SQL para ILE RPG no anda muy fino y depende de cómo estén definidos los campos y estructuras te genera errores del tipo “no utilizable”. Creo (de memoria) que en las últimas versiones del compilador (PTFs) este tema está solucionado, aunque no estoy muy seguro. Javier Mora De: forum.help400-boun...@listas.combios.es [ mailto:forum.help400-boun...@listas.combios.es] En nombre de alberto Enviado el: miércoles, 12 de diciembre de 2018 9:20 Para: forum.help400 Asunto: Registro externo en procedimiento Hola Foro. Me ha surgido una cosa nueva, que a ver cómo lo resolvéis vosotros: tengo definido dos registros externos como tal: D @regext E DS EXTNAME(FESDTO) ? D Cliexclos107601s 0 DIM(99) ? D E DS EXTNAME(LARTTF1) ? D TARE 10405P 3 DIM(99) El segundo lo hago servir en el cuerpo principal del programa, y el primero @regext lo hago servir en un procedimiento, para me de el resultado de un Select * y me cree un array con los campos que hay en esas posiciones. En el procedimiento lo tengo definido así: d@REG DS lIKEDS(@REGEXT) .. Exec SQL Fetch Next From @cursor into :@reg; Supongo que esto lo habéis hecho servir muchos de vosotros. El caso es que al compilar me da error en el que paso como parámetro. Del que hay en el cuerpo principal no se queja, pero con el otro no me deja compilar. En el procedimiento lo tengo definido como he dicho antes, pero vamos, que ya he probado varias combinaciones diferentes y no hay manera. Como muy poco, me da un error de nivel 20.pero no voy a aburrir con los errores diferentes que me da al compilar. Alguien se ha encontrado con algo parecido? Supongo que lo más rápido es pasar del procedimiento y hacer una subrutina de las de toda la vida, pero seguro que IBM ha resuelto esto y no me lo ha dicho. Saludos Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L. Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.
RE: Registro externo en procedimiento
¿Puedes poner el mensaje de error de compilación y en qué sentencia? ¿En qué versión de sistema operativo estás? El precompilador de SQL para ILE RPG no anda muy fino y depende de cómo estén definidos los campos y estructuras te genera errores del tipo "no utilizable". Creo (de memoria) que en las últimas versiones del compilador (PTFs) este tema está solucionado, aunque no estoy muy seguro. Javier Mora De: forum.help400-boun...@listas.combios.es [mailto:forum.help400-boun...@listas.combios.es] En nombre de alberto Enviado el: miércoles, 12 de diciembre de 2018 9:20 Para: forum.help400 Asunto: Registro externo en procedimiento Hola Foro. Me ha surgido una cosa nueva, que a ver cómo lo resolvéis vosotros: tengo definido dos registros externos como tal: D @regext E DS EXTNAME(FESDTO) ? D Cliexclos107601s 0 DIM(99) ? D E DS EXTNAME(LARTTF1) ? D TARE 10405P 3 DIM(99) El segundo lo hago servir en el cuerpo principal del programa, y el primero @regext lo hago servir en un procedimiento, para me de el resultado de un Select * y me cree un array con los campos que hay en esas posiciones. En el procedimiento lo tengo definido así: d@REG DS lIKEDS(@REGEXT) .. Exec SQL Fetch Next From @cursor into :@reg; Supongo que esto lo habéis hecho servir muchos de vosotros. El caso es que al compilar me da error en el que paso como parámetro. Del que hay en el cuerpo principal no se queja, pero con el otro no me deja compilar. En el procedimiento lo tengo definido como he dicho antes, pero vamos, que ya he probado varias combinaciones diferentes y no hay manera. Como muy poco, me da un error de nivel 20.pero no voy a aburrir con los errores diferentes que me da al compilar. Alguien se ha encontrado con algo parecido? Supongo que lo más rápido es pasar del procedimiento y hacer una subrutina de las de toda la vida, pero seguro que IBM ha resuelto esto y no me lo ha dicho. Saludos Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.
Re: Registro externo en procedimiento
Hola Aquí puede influir bastante el nivel del compilador, pero haz la prueba de añadir QUALIFIED en la definción de la DS @reg El mié., 12 dic. 2018 a las 9:23, alberto () escribió: > Hola Foro. > Me ha surgido una cosa nueva, que a ver cómo lo resolvéis vosotros: > tengo definido dos registros externos como tal: > D @regext E DS EXTNAME(FESDTO) >? > D Cliexclos107601s 0 DIM(99) >? > D E DS EXTNAME(LARTTF1) > ? > D TARE 10405P 3 DIM(99) > > El segundo lo hago servir en el cuerpo principal del programa, y el > primero @regext lo hago servir en un procedimiento, para me de el resultado > de un Select * y me cree un array con los campos que hay en esas > posiciones. > En el procedimiento lo tengo definido así: > d@REG DS lIKEDS(@REGEXT) > .. >Exec SQL Fetch Next From @cursor into :@reg; > Supongo que esto lo habéis hecho servir muchos de vosotros. > El caso es que al compilar me da error en el que paso como parámetro. Del > que hay en el cuerpo principal no se queja, pero con el otro no me deja > compilar. > En el procedimiento lo tengo definido como he dicho antes, pero vamos, que > ya he probado varias combinaciones diferentes y no hay manera. > Como muy poco, me da un error de nivel 20.pero no voy a aburrir con los > errores diferentes que me da al compilar. > Alguien se ha encontrado con algo parecido? > Supongo que lo más rápido es pasar del procedimiento y hacer una subrutina > de las de toda la vida, pero seguro que IBM ha resuelto esto y no me lo ha > dicho. > Saludos > > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > Forum.Help400 © Publicaciones Help400, S.L. Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.
Registro externo en procedimiento
Hola Foro. Me ha surgido una cosa nueva, que a ver cómo lo resolvéis vosotros: tengo definido dos registros externos como tal: D @regext E DS EXTNAME(FESDTO) ? D Cliexclos107601s 0 DIM(99) ? D E DS EXTNAME(LARTTF1) ? D TARE 10405P 3 DIM(99) El segundo lo hago servir en el cuerpo principal del programa, y el primero @regext lo hago servir en un procedimiento, para me de el resultado de un Select * y me cree un array con los campos que hay en esas posiciones. En el procedimiento lo tengo definido así: d@REG DS lIKEDS(@REGEXT) .. Exec SQL Fetch Next From @cursor into :@reg; Supongo que esto lo habéis hecho servir muchos de vosotros. El caso es que al compilar me da error en el que paso como parámetro. Del que hay en el cuerpo principal no se queja, pero con el otro no me deja compilar. En el procedimiento lo tengo definido como he dicho antes, pero vamos, que ya he probado varias combinaciones diferentes y no hay manera. Como muy poco, me da un error de nivel 20.pero no voy a aburrir con los errores diferentes que me da al compilar. Alguien se ha encontrado con algo parecido? Supongo que lo más rápido es pasar del procedimiento y hacer una subrutina de las de toda la vida, pero seguro que IBM ha resuelto esto y no me lo ha dicho. Saludos Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.