1. ficheros .xlsx (Elvira_vazquez)

2018-09-21 Por tema Jorge Ubeda
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

2018-09-06 Por tema Jorge Ubeda
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

2018-08-28 Por tema Jorge Ubeda
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

2018-08-11 Por tema Jorge Ubeda
@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

2018-08-08 Por tema Jorge Ubeda
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]

2010-07-31 Por tema Jorge Ubeda
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.