1. ficheros .xlsx (Elvira_vazquez)
el formato csv es un formato para importación o exportación de datos. Una hoja Excel luego los importará. Creo que no hay inconvenientes en seguir usando esta extensión para exportar a una hoja Excel, que sea xlsx. Esta hoja debería importar el fichero de datos. El formato xlsx es un nuevo formato de hoja de cálculo, distinto de los formatos de importación/exportación. En nuestro caso, o usamos una plantilla de Excel xlsx a la que importamos csv usando macros, o usamos las clases java de Apache POI para abrir o crear una hoja de cálculo y escribir o leer datos. Esta última variante todavía la estamos explorando, con un caso en construcción (hemos hecho aquí alguna consulta antes). Jorge Ubeda Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.
Subject: Programa JSON
Para Jesús Mª Arzak Capilla... Nuestra experiencia ha sido con servicios REST, y , si bien no lo hemos aplicado en el propio servicio, JSON. En ambos casos hemos partido de las rutinas de Scott Klement. Estimo que las conocerás, y quizá las estés usando. El problema del juego de caracteres también lo hemos pasado, y parcialmente lo hemos resuelto. Estoy seguro de que debemos mejorar la solución, pero será cuando volvamos a necesitar ocuparnos del problema. En nuestra solución, basados en varios casos que estuvimos siguiendo y analizando de otros desarrolladores, hemos optado por convertir primero las corrientes de datos (strings, streams) al juego de caracteres americano, que es el que parece ser el que se puede manipular. Si tu problema está en este nivel, y nuestra aproximación te sirve, puedo tratar de explicarte nuestra experiencia, que quizá te resulte aplicable. Jorge Ubeda Buenos Dias Estoy intentando crear un WebService JSON en RPGLE Es la primera vez que lo hago de esta manera pero no tengo forma de visualizar los datos Estoy en V73 El prg es muy sencillo El resultado no es legible en WRK salen chinos. Alguna sugerencia? Gracias Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.
Re: Resumen de Forum.help400, Vol 142, Envío 8
Buenas tardes, quería informar cómo cerramos el tema que motivó mis preguntas aquí: No hubo cambios radicales, y no logramos saber cuál era el motivo determinado que nos trajo problemas. Luego de repasar nuestra configuración, no aparecía una razón clara del fallo. Básicamente, subimos la versión de POI, y ejecutamos las llamadas a métodos de java desde un CL que arranca el entorno y luego ejecuta las llamadas. En estas condiciones funciona cada llamada. De todas formas, una vez conseguido ésto, pasamos a probar una utilidad que también invoca java, y que se ajusta específicamente a la necesidad que teníamos en este momento. Ambas funcionan ahora, con diferencias en el enfoque para usar java. Seguimos todavía en experimentación, pero al menos el problema inicial ha desaparecido. Ahora nos queda ver el rendimiento, tanto en velocidad como en consumo de recursos. Por ahora, satisfactorio. Muchas gracias al foro. Jorge Ubeda On Thu, Aug 9, 2018 at 10:13 AM wrote: > 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. Error al crear un workbook con POI (Jorge Ubeda) >2. RE: Error al crear un workbook con POI (Javier Mora) > > > ------ > > Message: 1 > Date: Wed, 8 Aug 2018 19:23:44 +0200 > From: Jorge Ubeda > Subject: Error al crear un workbook con POI > To: forum.help400@listas.combios.es > Message-ID: > < > caakjcy+lddggc31fhyevu2crz7pufecb+yqzixuzgbomjl+...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Buen día a todos > Esta es probablemente la primera vez que me dirijo a la lista con una > pregunta. Lo hago porque recuerdo una discusión sobre el tema donde > participaron Alex Martínez y José María Arzak, entre otros. El error que se > le presentaba a José María era exactamente el mismo que en mi caso, y no sé > cómo finalmente se solucionó. > En mi caso, el mensaje suena así: *El procedimiento RPG XLCRTDEMO en el > programa * > > LIBPOI/XLCRTDEMO ha recibido una excepción Java > "java.lang.NoClassDefFoundError: > org.apache.poi.xssf.usermodel.XSSFWorkbook" al llamar al método "" > con signatura "()V" con la firma "()V" en la clase > "org.apache.poi.xssf.*usermodel.XSSFWorkbook". > *El mismo mensaje lo he visto en otra discusión en midrange.com, y tampoco > allí veo una solución definida (discusión de Mark Murphy). > > Creo haber configurado correctamente el entorno, al menos en base a las > recomendaciones de Scott Klement pero no logro pasar de este punto, que en > el código rpgiv equivale a la llamada a new_XSSFWorkbook. Previamente la > ejecución del código ha pasado la llamada a ss_begin_object_group(100) sin > problemas, y falla en la segunda llamada de la función (book = > new_XSSFWorkbook()). > > Como la primera llamada a una clase se produce en ss_begin_object_group, > descartaría que el problema esté en encontrar la clase que solicita > (problema de Classpath). En base a mis búsquedas de otros casos, las > alternativas de fallo son > > · Que el classpath esté mal (creo que no, pero el mensaje parece > indicarlo). > > · Que encuentre dos versiones distintas de la clase, y use la que > no corresponde. Aunque hasta el momento no veo ÉSTE duplicado. > > · Que la versión de java sea incorrecta y no pueda manejar la > llamada a la clase. He probado con java 5 y 6 sin resultados positivos. > > Condiciones: siendo el primer caso de uso, quiero basarme en el mismo > conjunto de recursos que usó Scott Klement en sus pruebas, considerando que > este ambiente está probado. Estoy usando Java 6, aunque tengo disponible > java 5, que no ha respondido en mi última prueba tampoco. Estoy en V7R1M0, > aunque compilamos para V6R1M0, a cuyo nivel están las versiones de java > (J2SE 5.0 32 bits y Java SE 6 32 bits) > > En base a esto, uso poi 3.6, dom4j 1.6.1, y xmlbeans 2.
Error al crear un workbook con POI
@Alex Martínez, Javier Mora: Gracias por vuestras sugerencias. Hasta dentro de unos días no podré hacer un nuevo intento: otra tarea primero, y una semana de vacaciones. Les diré cómo avanza esto en cuanto pueda volver al tema. Adelantando, diría que JAVA_HOME está bien definida: he probado dos configuraciones, con java 5 y java 6, y si ejecuto java *version veo la definida en cada caso (ejecuto un cl para configurar el ambiente).Los permisos los revisaré, pero es casi seguro que están bien: ya hemos trabajado con POI. Se me escapa algo del arranque de java (que veré a la vuelta), ya que al arrancar java se configura classic. Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.
Error al crear un workbook con POI
Buen día a todos Esta es probablemente la primera vez que me dirijo a la lista con una pregunta. Lo hago porque recuerdo una discusión sobre el tema donde participaron Alex Martínez y José María Arzak, entre otros. El error que se le presentaba a José María era exactamente el mismo que en mi caso, y no sé cómo finalmente se solucionó. En mi caso, el mensaje suena así: *El procedimiento RPG XLCRTDEMO en el programa * LIBPOI/XLCRTDEMO ha recibido una excepción Java "java.lang.NoClassDefFoundError: org.apache.poi.xssf.usermodel.XSSFWorkbook" al llamar al método "" con signatura "()V" con la firma "()V" en la clase "org.apache.poi.xssf.*usermodel.XSSFWorkbook". *El mismo mensaje lo he visto en otra discusión en midrange.com, y tampoco allí veo una solución definida (discusión de Mark Murphy). Creo haber configurado correctamente el entorno, al menos en base a las recomendaciones de Scott Klement pero no logro pasar de este punto, que en el código rpgiv equivale a la llamada a new_XSSFWorkbook. Previamente la ejecución del código ha pasado la llamada a ss_begin_object_group(100) sin problemas, y falla en la segunda llamada de la función (book = new_XSSFWorkbook()). Como la primera llamada a una clase se produce en ss_begin_object_group, descartaría que el problema esté en encontrar la clase que solicita (problema de Classpath). En base a mis búsquedas de otros casos, las alternativas de fallo son · Que el classpath esté mal (creo que no, pero el mensaje parece indicarlo). · Que encuentre dos versiones distintas de la clase, y use la que no corresponde. Aunque hasta el momento no veo ÉSTE duplicado. · Que la versión de java sea incorrecta y no pueda manejar la llamada a la clase. He probado con java 5 y 6 sin resultados positivos. Condiciones: siendo el primer caso de uso, quiero basarme en el mismo conjunto de recursos que usó Scott Klement en sus pruebas, considerando que este ambiente está probado. Estoy usando Java 6, aunque tengo disponible java 5, que no ha respondido en mi última prueba tampoco. Estoy en V7R1M0, aunque compilamos para V6R1M0, a cuyo nivel están las versiones de java (J2SE 5.0 32 bits y Java SE 6 32 bits) En base a esto, uso poi 3.6, dom4j 1.6.1, y xmlbeans 2.6.0. Esto es posible origen de problemas, ya que las versiones de cada jar son muy anteriores a las vigentes: poi 3.17, dom4j 2.0.2, y xmlbeans 3.0. de hecho, no logré encontrar un set conservado como versión 2.5.0 o 2.6.0 de xmlbeans, que ya no existen como proyecto separado, sino como parte de Apache.poi. De los fuentes de Scott Klement para el programa de servicio y prototipos, uso las versiones de XLPARSER4 y HSSFR4 adecuadas para poi 3.6. Aclaro que mi interés particular está en el uso de ficheros Excel xlsx, con lo que las alternativas anteriores no me sirven, y no las he testeado. He configurado classpath, QIBM_RPG_JAVA_PROPERTIES y JAVA_HOME (en este caso, en mi última prueba, apuntando a java 5). Veo que una vez lanzado java, el sistema agrega algunas variables de ambiente más, particularmente LIBPATH, que queda configurado (varía según el java que haya indicado) de esta manera: /QOpenSys/QIBM/ProdData/JavaVM/jdk50/32bit/jre/bin: /QOpenSys/QIBM/ProdData/JavaVM/jdk50/32bit/jre/bin/classic La indicación de “classic” es contradictoria con la declaración en QIBM_RPG_JAVA_PROPERTIES , que es “headless”. Si alguien tiene experiencia con este problema, le agradeceré totalmente su consejo. Jorge Ubeda Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.
[no subject]
Pedro Disculpa si acaso estoy errado yo -no soy un usuario diario de DB2- , pero siempre he usado cursores en rpg, no en el entorno interactivo. O mediante algún otro recurso. Quizá estemos hablando de lo mismo, pero prefiero insistir por las dudas. En tu ejemplo empleado al comienzo de tu consulta, hay dos problemas (al menos usando STRSQL en la pantalla verde, no el navigator, que no tengo a mano para chequear): 1, como María Bes te indicara, la denominación de las tablas es [biblioteca]/[tabla], no biblioteca.tabla (o catálogo). 2. esa sentencia no se puede ejecutar, porque un cursor no se puede declarar en el ambiente interactivo. Del manual Reference, para el Fetch: This statement can only be embedded in an application program. It is an executable statement that cannot be dynamically prepared. Multiple row fetch is not allowed in a REXX procedure. Un ejemplo de uso de un cursor en Infocenter lo puedes ver en http://publib.boulder.ibm.com/iseries/v5r1 /ic2924/index.htm?info/rzajp/rzajpmst02.htm Otro más sistematizado: http://publib.boulder.ibm.com/infocenter/iseries/v5r4 /index.jsp?topic=/sqlp/rbafycursorexamp.htm Espero que esté en el carril correcto... PD: A tu pregunta, estoy en Valencia, España, y por tu pregunta, no eres el Pedro que conozco. :-) Jorge Ubeda Date: Fri, 30 Jul 2010 20:41:18 + From: Pedro Molina pmoli...@hotmail.com Subject: RE: version DB2 (Pedro Molina) To: forum.help400@listas.combios.es Message-ID: COL108- w404e67b06141cb6e5f00ee85...@phx.gbl Content-Type: text/plain; charset=utf-8 Gracias Jorge, de donde eres? Mira, de hecho estoy bien claro con lo de los cursores de datos y todo ese rollo, pero aún así no soporta hacer lo que digo. Con lo del manual, pues es para Z/OS para SAP, pero quería probar a aplicar esto en el i5 y no lo permite. De hecho en el manual habla de otras operaciones como MERGE y otras cosas que se suponía que eran exclusivos de Oracle, pero ya vez que DB2 también lo soporta. Se puede utilizar el fetch con el SQL lnteractivo...Select * from tabla where campo = 'X' fetch first 5 rows only...y funciona inclusive con un Insert que se alimenta de un sub-select con la clausula fetch. Pero gracias de todos modos y agradezco tu interés. Saludos!! Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.