Bienvenidos a Iseries Venezuela

Las mejores prácticas, recursos, tips, enlaces, videos y artículos para informáticos relacionados con el Iseries y el As/400 lenguajes de programación RPG, ILE RPG y SQL.

The best practices, resources, tips, links, videoes and articles for computer related to the Iseries and the As/400 languages of programming RPG, ILE RPG and SQL.

Sunday, November 29, 2009

Preguntas y Respuestas Frecuentes












1.- ¿Cómo Chequear que se va a grabar clave duplicada?
C Monitor

C WRITE(E) FILENAME

C On-Error 01021

C EXSR $ERRROR

C EndMon


2.- ¿Es posible utilizar más de un subfile en pantalla?

Si es posible. La manera es de hacerlo es precisar el rango de columnas y filas en la pantalla asociado a cada subfile. En el programa, preguntas por la posición del cursor y vas a la rutina de avance o retroceso de un subfile o del otro dependiendo de la ubicación del cursor.

3.- ¿Cómo evitar el mutuo bloqueo de dos usuarios leyendo el mismo subfile?

Hay dos opciones para leer el archivo:
Key Chain (N) Archivo

Read (N) Archivo

4.- ¿Cómo saber si un proceso es Interactivo o Batch?

RTVJOBA TYPE
0=Batch, 1=Interactivo

5.- ¿Puede utilizarse el goto aún conservando la programación estructurada?

Se puede utilizar el GOTO siempre que la etiqueta esté en instrucciones siguientes a la línea donde se coloca el GOTO. Por ejemplo, una rutina de validación en la que cuando se detecta un valor inválido se va al fin de rutina.

Validar BEGSR


IF monto = 0
Mensaje ´xxxxx´
Indicador en ON
Goto FIN
Endif
Mas instrucciones..
FIN ENDSR

6.- ¿Cómo trabajar con el miembro de un archivo físico en un programaRPG sin hacer un OVRDBF previo en un programa CL?

FARCHIVO IF E K Disk EXTMBR(MIEMBRO)

7.- ¿Es posible utilizar SQL en un CL?

En algunas instalaciones se usa el comando RUNSQL(&CMD)
La variable CMD tipo alfabético contiene el comando SQL
Otra opción es el uso del STRQMQRY, para mandar a ejecutar un QMQRY
que contiene el comando que deseamos ejecutar

8.- ¿Cómo determinar el número de caracteres de una variable?

%CHECKR(‘ ‘ : variable)
%CHECKR = Longitud de la data

9.- Apagar múltiples indicadores.

Lo tradicional es utilizar esta instrucción: MOVEA '1000' *IN(50)

Actualmente, esto se considera una mala praxis. Es preferible apagar  cada uno y documentar cual es su función. Opiniones expertas como Bryan Meyers dicen que varias líneas de código no necesariamente degradan el tiempo de respuesta como sucede en este caso.

SETON 50                     Muestra subfile
SETOFF 51                  Inicia validación




Autor: Ing. Liliana Suárez.


Si te pareció interesante, reenvialo a un amigo haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo.

No comments: