Re: As400 en datacenter

2018-12-17 Por tema Sergi Sitjes
Hola,

Nosotros tenemos los equipos de backup en un CPD remoto a modo de housing. 
Lo que hicimos fue una extensión de nuestra LAN hacia el CPD del proveedor 
y la latencia es inferior a 1 milisegundo, o sea como si fuera una red 
local. Si lo haces por Internet la latencia será más alta seguro pero 
dependiendo quien te de las comunicaciones no tiene por que ser limitante 
para trabajar. Si tiras por esa via intenta que todos las redes se 
conecten a Internet con el mismo proveedor de acceso, justamente para no 
afectar a la latencia.

Nosotros utilizamos la consola LAN indistintamente para el equipo en 
producción en la red local y el equipo de backup en el CPD remoto.

Saludos,


Sergi Sitjes
Director Sistemes d'Informació/CIO
GENEBRE GROUP
E-mail: se...@genebre.es
Web:   http://www.genebre.es
Tel:  +34 93 298 80 02
Fax: +34 93 298 80 07



De: "alberto" 
Para:   "forum.help400" 
Fecha:  18/12/2018 07:21
Asunto: As400 en datacenter
Enviado por:forum.help400-boun...@listas.combios.es



Buenos dias. 
Nos estamos planteando la posibilidad bastante seria de llevar nuestro 
AS400 en plan Housing a un datacenter. 
Alguno de vosotros lo tiene así? Cómo tenéis la cónsola del sistema? Da 
problemas? 
Luego tambien otra cosa: muchos de los servidores con los que se comunica 
estarían en el mismo datacenter, pero en un cloud privado. 
Otros en cambio estarían en una delegación. 
Algo especial a tener en cuenta? 
Problemas de rendimiento en conexiones con otros servidores ?(Mysql, 
Stored Procedures con Domino...etc) 
Puedo tener problemas por demasiados saltos en la traza? (ya sé que con el 
Telnet no los voy a tener, pero me refiero a Stored Procedures contra el 
AS) 
Se agraceden comentarios! 
Saludos 
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.




La información que contiene este correo electrónico es confidencial y 
compete exclusivamente al destinatario. Si Vd. ha recibido esta 
comunicación por error, por favor, notifíquelo inmediatamente al remitente 
y borre el mensaje junto con sus ficheros anexos sin leerlo, copiarlo, 
grabarlo, distribuirlo o divulgarlo o hacer cualquier otro uso de la 
información sin el consentimiento de Genebre S.A. El correo electrónico 
vía Internet no permite asegurar la confidencialidad o correcta recepción 
de los mensajes, por lo que Genebre no asume responsabilidad alguna por 
los daños causados.

The information contained in this communication is confidential, may be 
privileged and is intended for the exclusive use of the above named 
addressee. If you receive this communication in error, please notify the 
sender immediately and delete it, and all its attached documents. If you 
are not the intended recipient, you are expressly prohibited from reading, 
copying, distributing, disseminating or, in any other way, using any of 
the information without the Genebre S.A. consent. Please note that 
Internet e-mail guarantees neither the confidentiality nor the proper 
receipt of the message sent, so that Genebre shall not be liable for any 
damages caused.

Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

As400 en datacenter

2018-12-17 Por tema alberto
Buenos dias.
Nos estamos planteando la posibilidad bastante seria de llevar nuestro 
AS400 en plan Housing a un datacenter.
Alguno de vosotros lo tiene así? Cómo tenéis la cónsola del sistema? Da 
problemas?
Luego tambien otra cosa: muchos de los servidores con los que se comunica 
estarían en el mismo datacenter, pero en un cloud privado.
Otros en cambio estarían en una delegación.
Algo especial a tener en cuenta?
Problemas de rendimiento en conexiones con otros servidores ?(Mysql, 
Stored Procedures con Domino...etc)
Puedo tener problemas por demasiados saltos en la traza? (ya sé que con el 
Telnet no los voy a tener, pero me refiero a Stored Procedures contra el 
AS)
Se agraceden comentarios!
Saludos

Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

RV: Registro externo en procedimiento Solucion

2018-12-17 Por tema Javier Mora
Respondiendo a tu pregunta del TEMPLATE en las DS. Esta es una palabra clave 
que apreció en 6.1 (si no recuerdo bien) y se utiliza para declarar "un tipo 
nuevo", aunque en RPG no existe la posibilidad de crear nuevos tipos al estilo 
de C, Java, etc. Cuando definimos DS el compilador siempre reserva le espacio 
en memoria. Eso está muy bien.

Pero, ¿qué ocurre si lo que quiero es declarar una estructura que funcione como 
plantilla (o tipo nuevo) para definir otras estructuras? Si la defino como 
TEMPLATE ocurren, por lo menos, dos cosas:


1.   El compilador no le reserva espacio de memoria.

2.   La estructura sólo puede aparecer en definiciones del tipo LIKEDS o 
LIKE.

Y la pregunta ahora es ¿y toda esta parafernalia para qué sirve? Yo siempre que 
defino una DS es para cargarle valores, sino no la necesito. ¡Puest tienes 
razón! ¿O no?

En el pequeño ejemplo que te envié yo defino dos TEMPLATE: una con la 
estructura de campos de un fichero (MAECLI_T) y otra para almacenar el 
resultado de un SELECT de SQL (SqlFila_T). Si te fijas, esta segunda define sus 
campos en función de algunos campos definidos en la primera. Todo esta 
estructura es más una cuestión de estilo y de ordenar las cosas. Si quiero 
definir varias variables cuyo tipo es el mismo que el de un campo de fichero lo 
defino en función del tipo de éste, en lugar de codificarlo con su tipo real 
(empaquetado, numérico con zona, alfanumérico, etc.).

Si necesito definir parámetros de suprocecimientos que son DS, siempre utilizo 
LIKEDS de un TEMPLATE.

Este estilo me ofrece algunas ventajas, en cada momento sé el "tipo" de cada 
variable o estructura. La localización de estas variables se simplifica. El 
cambio en la estructura o tipo, se realiza en un solo sitio, en el TEMPLATE.

Por comparar, lenguajes como C, C++ o Java (entre otros) la única forma que 
tiene de definir nuevos tipos es con "struct" o "class" y las nuevas variables 
u objetos se definen en función de esos tipos. Yo hago algo parecido con los 
TEMPLATE y LIKEDS.

Pero, ¿es necesario hacer todo esto en RPG? ¡NO! Pero a mí, me ha dado buenos 
resultados esta técnica.

Respecto al tema del ARRAY sobre campos de un fichero o estructura. Se me 
ocurre, al menos, una alternativa si no quieres copiar los valores de los 
campos a un array a parte. Esta técnica sólo funciona si los campos que 
conforman cada elemento del arrary aparecen de forma consecutiva en el registro 
o DS.

Estudia este ejemplo (ojo, no lo he compilado):

D Tipo_T  DS  Template Qualified
D   alfa 3A
D   nume 5P 2

 * CAMPOS DEL FICHERO:
 *
 *   alfa1   3A
 *   nume1   5P 2
 *   alfa2   3A
 *   nume2   5P 2
 *   alfa3   3A
 *   nume3   5P 2

D registro  E DS  ExtName( FICHERO )

D array   DS  LikeDs( Tipo_T )
D Dim( 3 )
D Based( ptrArray )
 /FREE

  *InLR = *ON;

  ptrArray = %Addr( alfa1 );  // El primer campo del array

  array( 1 ).alfa = 'XXX';  // alfa1 = 'XXX'
  array( 1 ).nume = 3,7;// nume1 = 3,7


Saludos,

Javier


De: forum.help400-boun...@listas.combios.es 
[mailto:forum.help400-boun...@listas.combios.es] En nombre de alberto
Enviado el: viernes, 14 de diciembre de 2018 11:18
Para: forum.help400
Asunto: Re: Registro externo en procedimiento Solucion

Pues ya está.
No deja definir un array dentro de una DS definida con LIKEDS.
Entonces lo he definido así:
 D@RegDS E DS  extname(FESDTO)
 D qualified
 DCliexclos  107601  0 DIM(99)
 D @Registro E DS  Extname(Fesdto)
Todo como Extname.
Una curiosidad: tampoco me deja definir @regDS dentro del procedimiento.
Lo tengo que definir en el principal, porque si no, me dice que no existe el 
campo @regds.Cliexclos.
Serán tonterías de la V6R1?
Por cierto, Javier Mora. Para qué usas el template en la deficición de la DS?
Salu2





De:"alberto" 
Para:"forum.help400" 
Fecha:14/12/2018 10:17
Asunto:** Newsletter ** Re: Registro externo en procedimiento
Enviado por:forum.help400-boun...@listas.combios.es




Hola
Creo que ya se cual es el problema(que no la solución).
De hecho son dos problemas. SQL y procedimiento, porque en un programa con 
subrutinas y sin SQL funciona desde siempre.
El problema lo tengo al definir que una parte de los campos del registro son un 
array. No tanto en la definición de la DS
D @RegDS  DS  likeDS(@registro)
d Cliexclos 107601s 0 DIM(99)
Si defino el array  en la misma DS que recibe los datos:
Exec SQL Fetch Next From @cursor into :@reg;
directamente el SQL no me lo reconoce como variable.
Digo: vale, pues la defino sin array y muevo los datos a otra que tenga array.
pues aquí está el problema.
Desde