Introduccion As 400

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 99

Introduccion A As/400

A) Manejo De Las Bases De Datos

El equipo as/400 trabaja con bases de datos relacionales.

La base de datos relacional as/400, es una colección de conjuntos de


información agrupados de tal forma que minimiza la redundancia entre
ellos, permite cambios y el crecimiento en el futuro.

Todos los conjuntos de datos son en base a tablas.

Diagrama De Base De Datos

Se almacenan datos en tablas, archivos, grupos de datos, etc. con un


minimo de datos redundantes.

Tres Tipos De Bases De Datos


El Modelo Relacional.

ejemplo.: base de datos de educación

curso num clase


codigo Nombre inscr instructor tetra salon max
l001 Italiano 12 victor g 88/1 1 30
l103 Ingles 23 juan e 88/1 4 40
l211 Español 5 pedro f 88/1 4 40
l303 Chino 44 luis lee 88/1 3 50
l001 Italiano 23 victor g 88/1 1 30
l214 Griego 11 homero 88/1 6 35
l211 Español 1 pedro f 88/2 4 40
l103 Ingles 0 juan e 88/2 4 40
l001 Italiano 2 victor g 88/2 1 30
l306 Japones 3 homero 88/2 6 35
l370 Cobol 99 homero 88/2 5 99

TABLA BASE

TABLA = ARCHIVO

RENGLON = REGISTRO
COLUMNA = CAMPO

Todas las lineas o renglones son similares ( un tipo de registro)

El archivo puede ser procesado secuencialmente o en forma indexada por


el campo de clasificacion «instructor», en este ejemplo (sql ‘order by…’);
o con una «selección logica» de registros (sql ‘where……’)
funcionalmente, esto es una «selección de campos». con frecuencia se usan
los queries para visualizar los datos de los archivos, para el usuario final.

b)
Manejo De Librerias, Objetos, Fuentes:

Librerias.- Es la forma en que as/400 trabaja y se administra.

Las librerias es un area donde se almacenan archivos, programas, etc. que


corresponden a dicha librería.

Se puede manejar una librería por sistema, por area/depto., etc. (esto es definido por
el area de sistemas).

Objetos.- se generan en base a las compilaciones, ya sea de archivos o


programas (fuentes).

El objeto de un archivo se puede visualizar, para ver la informacion que la


compone y el objeto de un programa no se puede ver (en este caso se
visualiza el

fuente).

Fuentes.- es el codigo que se desarrolla para la generacion de un archivo


/programa, este se compila para generar el objeto.

si un fuente no es compilado: no se puede guardar informacion en archivos


o no se puede correr un programa.

– Tipos De Objetos Y Fuentes:

los tipos de objetos mas comunes pueden ser:

*FILE .- puede tener los siguientes atributos:


ser un archivo físico (pf), lógico (lf), archivo de pantalla
(dspf), printer file (prtf)

*PGM .- puede tener los siguientes atributos: clp, dfu, rpg

PF .- Archivos físicos(phisical file)

LF .- Archivos lógicos (logical file)

DSPF.-Archivos de pantallas (display file)

PRTF.-Archivos de reportes (printer file)

RPG.- Programas rpg

CLP.- Programas de control (control lenguage program)

Este es el menú inicial del AS/400 que es una parte importante del OS/400, que nos ayuda a
ejecutar los comandos y utilerias por medio de opciones de manera un poco más fácil.

En esta pantalla podrá ejecuta los siguientes funciones:

F3  Salir termina el programa y regresa al programa anterior .


F4  Nos despliega una nueva pantalla donde nos muestra los grupos de
comando que

podemos utilizar asi como una descripcion del mismo, el cual


podemos accesar con el numero de la opción en la línea de
comando.

F9  Esta opcion nos muestra el comnado anterior ejecutado

F10  Commando de entrada.

F12  Es para salir del programa.

El PDM es una herramienta del AS/400 que facilita el control de Bibliotecas,


objeto y fuentes, de una manera rápida y eficiente, favoreciendo a la
productividad en la operación. El PDM forma parte del grupo de herramientas de
apoyo del AS/400 conocidas como TooSet/400.

Con el PDM el usuario podrá controlar los siguientes concepto o funciones en


AS/400:

 Bibliotecas.
 Objetos.
 Fuentes.
 Opciones definidas por el usuario.

Utilizando PDM el usuario podrá disponer de las siguientes utilerias o


facilidades, que a su vez pertenecen también al TollSet/400.
Source Entry Utility (SEU)

Data File Utility (DFU)

Screen Design Aid (SDA)

Report Layout Utility (RLU)

File Compare and Merge Utility (FCMU)

Interactive Source Debugger (ISDB)

F3  salir termina el programa y regresa al programa anterior .

F4  Nos muestra una nueva pantalla donde nos muestra los grupos de
comando que podemos utilizar asi como una descripcion del mismo, el
cual podemos accesar con el numero de la opción en la línea de comando.

Esta pantalla es de entrada a las biblioteca, podemos seleccionar que biblioteca


queremos visualizar o trabajar. Tienen la siguiente opciones:

*LIBL Despliega la lista de Bibliotecas del usuario.

*ALLUSR Despliega únicamente las Bibliotecas del usuario.

*ALL Despliega todas las Bibliotecas del sistema

*USRLIBL Despliega todas la Bibliotecas que no pertenecen al


sistema.

*CURLIB Despliega la Biblioteca definidas como current

Library Name Despliega sola mente la biblioteca especificada


*generic* Esta opción despliega lo que tenga en los * .

Ejemplo * QCA nos muestra todos las Bibliotecas que contengan esta
cadena

De caracteres.

Al trabajar con Bibliotecas tendremos las siguientes opciones:

1. Change : Permite cambiar el tipo de biblioteca que se


tiene *PROD Es una biblioteca se encuentra en producción.

*TEST biblioteca de pruebas.

Así como también cambiar su texto descripción.

2. Copy : Copia de una biblioteca a otra bibliotecas con todas sus


características.
3. Delete: Elimina una o más Bibliotecas
4. Display: Despliega todos los tipos de objetos contenidos en la biblioteca.

6 Rename: Renombra una biblioteca.

8 Display descripcion: Despliega información acerca de biblioteca,


fecha en que

se creo, se cambio etc.


12 Despliega los objetos contenidos en la biblioteca y poder trabajar con
ellos.

13 Cambia la descripción de la biblioteca.

En esta pantalla tenemos las siguientes teclas de función más usuales:

F1  Despliega una ayuda en línea de la pantalla.

F3  Regresa a la pantalla anterior.

F4  Parámetros adicionales en los comandos o función

F5  Reactualiza la consulta.

F6  Al presionar esta tecla creamos un a nueva biblioteca.

F9  Nos regresa el comando anterior ejecutado.

F10  Despliega los comandos ejecutados en el PDM en esta


sesión.

F11  Despliega la lista sin tipo y sin descripción.

F12  Cancela y no modifica nada.

F16  Funciones definidas por el usuario.

F21  Imptime la lista de la l ibreias.

F23  Con esta tecla podeomos ver los demas opciones que se
tinenen.

F24  Despliega todas las funciones.

WRKLIBPDM .- Trabajar con Bibliotecas

ADDLIBLE .- Añadir una biblioteca a la lista de biblioteca.

EDTLIBL .- Editar la lista de biblioteca.


Al escoger esta opcion 2 del PDM (WRKOBJPDM) nos muetra la pantalla
anterior toma los siguientes valores:

Library : la Biblioteca con que se va a trabajar, puede ser :

*CURLIB : Despliega la biblioteca definidas como current

Name : Despliega solamente la biblioteca especificada

Object : Es un objeto en particular o pueden ser todos los que


contengan ciertas características definidas como:

Name : Pueden ser todos (*ALL), uno en particular(Name), Los que


contengan la cadena contenida en los * (*generic*).

Type: Los tipos de objetos que existen en la Bibliotecas. Pueden


tomar valores para desplegar todos (*ALL), o un tipo especifico
(*Type) que pueden ser *PGM, DSP, CLP, PF,LF etc.
Esta es el menú del WRKOBJ en este podemos:

Eliminar un objeto.

Utilizar la opción 4 (delete) en el objeto a eliminar.

Renombrar un objeto.

Utilizar la opción 7 (rename) en el objeto a renombrar

Mover un objeto.

1. Utilizar la opción 11 (Move) en el objeto a mover.


2. Especificar la biblioteca destino.

Copiar un objeto:

1. Utilizar la opción 13 (Move) en el objeto a mover.


2. Especificar la biblioteca destino.

La función de copiar funciona como duplicar un objeto, el cual puede existir o no


en la biblioteca destino. De tal forma que la acción de copiar se realiza de dos
formas:

1. Crea un objeto nuevo en la biblioteca destino, con las mismas características del
objeto original.
1. Reemplaza un objeto ya existente en la biblioteca destino. Con las
características del objeto original.

Desplegar la descripción de un Objeto:

Utilizar la opción 8 (display description) en el objeto a trabajar.

Desplegar la información de un Objeto.

Trabajar con objetos: STRPDM / Opción 2 o WRKOBJPDM.

Ejecutar un objeto.

Utilizar la opción 16 (Run) en el objeto a ejecutar.

Cambiar el texto de un objeto.

Utilizar la opción 13 (Change text) en el objeto a ejecutar.

Debug interectivo.

Utilizar la opción 34 ( Interactive source debugger ) en el objeto a trabajar.

En esta pantalla tenemos las siguientes teclas de función más usuales:

F1  Despliega una ayuda en línea de la pantalla.

F3  Regresa a la pantalla anterior.

F4  Parámetros adicionales en los comandos o función

F5  Reactualiza la consulta.

F9  Nos regresa el comando anterior ejecutado.

F11 Despliega la lista sin tipo y sin descripción.

F12  Cancela y no modifica nada.

F13  Repite la opción en todos los objetos en que estén en la


pantalla

F14  Despliega el tamaño del objeto solo cuando esta en modo


nombre y tipos
F18  Cambia los valores por default.

F16  Funciones definidas por el usuario.

F21  Imprime la lista de objetos que se encuentran en la pantalla.

F23  Despliega las opciones que se encuentran en la pantalla.

F24  Despliega teclas de funcion.

Nota: Solo se pueden ejecutar las opciones y teclas de funcion que


se encuentren visualizadas en la pantalla.

Al escoger esta opcion 3 del (STRPDM) trabaja con Fuentes (wrkmbrpdm)


nos muetra la pantalla anterior toma los siguientes valores:

File : Es nombre del source file a utilizar :

Name : Un nombre especifico del source file a trabajar.

F4 : Nos desliega una lista de source file existentes en la biblioteca .

Library: Es la biblioteca con la que se va atrabajar pueden tomar los


siguientes valores:

*LIBL : Son las todas Bibliotecas definida para el usuario

*CURLIB: Es la biblioteca definida como current


Name: Es nombre de una biblioteca especifican en donde se
encuentran los fuentes a utilizar.

Member:

Name : Nombre del Fuente a trabajar, pueden tomar los sigientes valores:

*ALL : Todos los fuentes cotenidos en la biblioteca y el sorfile

Name : EL nombre del fuente a trabajar.

* Generic * : Es un fuente que tenga las cadena que se


encuentra definida dentro de los asteriscos *.

Type : Tipo de fuente a utilizar.

*ALL : Todos los tipos de fuentes que se encuentren en esta


biblioteca y en el soruc file.

Type : Tipo especifico de fuente.

*generic *: desplegara todos aquellos fuentes que cumplan


con la cadena encerrada entre asteriscos (*)

*BLANK : Despliega todos los fuentes con type en blanco.


TRABAJANDO CON FUENTES

Copiar un fuente
1.- Estando en la pantalla del WRKMBRPDM..

2.- Utilizar la opción 3(copy) en el fuente a copiar

La función copiar funciona como duplicar un fuente, el cual puede


existir o no en la biblioteca y archivo fuente destino. De tal forma
que la acción de copiar se realiza de dos formas:

a). Crea un fuente nuevo en la biblioteca y archivo fuente


destino con las mismas características del fuente origen.

b). Reemplaza un fuente ya existente en la biblioteca y archivo


fuente destino, con las mismas características.

Cambiar tipo y texto de un fuente


Para cambiar un texto de un fuente se utiliza la opción 13 (change
text) en el fuente a cambiar.

Editar un fuente .

Utilizando la opción 2 (Edit) en el fuente a editar. En esta opción


nos mostrara el SEU

Visualizar un fuente: Con la opción 5 (display) en el fuente a


visualizar. Con esta opción nosotros no podemos modificar el
fuente.

Compilar un fuente: Para compilar un fuente se utiliza la opción 14


(compile) en el fuente a compilar.

Eliminar un fuente: Para eliminar un fuente se utiliza la opción 4 en


el fuente a eliminar.

Desplegar la descripción de un fuente: Para


desplegar la descripcion de un fuente se utiliza la
opción 8 (display description) en el fuente a
trabajar.
Ordenar una lista de fuentes por fecha: Utilizan la
función <F4> (Display date) para desplegar las
fechas de creación. Y con la Función <F15> (sort
date) para ordenar la fecha.
Indistintamente la función <F15> (sort date) sirve para ordenar : por fecha o
por nombre.

Buscar un STRING en un fuente

1. Utilizando el PDM.

Trabajando con fuentes (WRKMBRPDM) la opción 25


(find String) para hacer la búsqueda correspondiente.

2. utilizando el comando FNDSTRPDM

SEU (Source Entry Utility)


Con el SEU, usted puede trabajar con el fuente de archivos, y los registros
contenidos dentro de ellos.

Opciones permitida:

 Crear fuentes
 Editar fuentes
 Imprimir fuentes
 Copiar registro de un archivo (fuentes) a otro fuente o un archivo
de

impresión

Comandos: Los comandos de la SEU se pueden trabajar en Ambientes, fuentes y


registros. Con ellos, podemos ocultar registros desplegados en pantalla, salvar
archivos o cancelar los cambios hechos al fuente.

Líneas de formatos: Se pueden utilizar las líneas de formato para verificar la


posición de los estatutos según los estatutos fuentes del lenguaje de alto nivel
utilizado. SEU provee de líneas de formato predefinidas para comandos de los
lenguajes de alto nivel utilizados y de lenguaje de control de AS/40 (CL).

Modo de pantalla completa. El modo de pantalla completa (Full screen mode) es


utilizado en las pantallas de edición y de browse para eliminar teclas de función
de la pantalla del SEU, permitiendo así, tener cuatro líneas más de texto fuente.

Teclas de función completas. Cada pantalla de la SEU soporta un conjunto de


teclas de función, usadas para realizar tareas especificas. Estas teclas, se
encuentran listadas en la parte inferior de cada pantalla. Excepto por la tecla F1
(Ayuda) que no es siempre desplegada y sin embargo es valida en todas la
pantallas, una tecla de función es valida solo si es mostrada en la parte inferior de
la pantalla.

Prompts de comandos y lenguajes : Los prompts de comandos y lenguajes son


utilizados para crear registro o líneas de código fuentes sin errores.

Líneas de comandos:. Esta, es usada para realizar varias operaciones, tales como insertar
registros en blancos , copiar registro y llamar al prompt de comandos o lenguajes.

Números máximo y longitud de registros: El SEU permite un máximo de 32764


registros en un fuente. La longitud máxima de registros permitida es de 240
caracteres , el cual incluye 6 caracteres para el numero de secuencia y 6
caracteres para la fecha.
Pantallas de opciones: Este tipo de pantallas son utilizadas para controlar el
ambiente del SEU y para realizar operaciones sobre los fuentes de archivos y
archivos de impresión. Las pantallas de operaciones más usadas son:

– Cambio de defaults de la sesión.

 Opciones de browse/ copy.


 Opciones de Encontrar/ Cambiar.

Sesión split: Esta sesión es utilizar para ver y editar un fuente y visualizar otro en
la misma pantalla de trabajo. También, es posible visualizar dos fuentes en la
misma pantalla a la vez. Si la pantalla de opciones de Browse/Copy es accesada
desde una sesión split, es posible copiar registros desde la fuente que sea
mostrado en la pantalla a la fuente que se este utilizando.

Chequeo de sintaxis. El chequeo de sintaxis es utilizado para verificar los estatutos de los
diferentes lenguajes de alto nivel, incluyendo Basic, Pl/I, cobol, Fortan y RPG, así como el
lenguaje de control del AS/400.

Ventanas de comandos del sistema: Desde esta ventana es posible mandar


ejecutar comandos de AS/400 mientras trabaja con una pantalla de edición del
SEU. Para desplegar la ventanas de comandos del sistema, presione F21. No es
posible teclear datos en la pantalla de edición del SEU mientras la ventana de
comandos del sistema se encuentre desplegada.

Trabajar con fuentes

Iniciar una sesión en SEU

 Desde el PDM (program development manager). Dentro del PDM utilice


la opción

2 (editar) O 5 (desplegar) en la pantalla de trabajo con fuente.

o Desde el menú de programador. Selecione la opción 8 (editar una


fuente de un

archivo fuente) o bien, seleccione la opción 5 (ejecutar


comandos), y seleccione el

Comando STRSEU de la lista de comandos.


 Por medio de la linea de comandos de AS/400. Teclee STRSEU en la
línea de

Comandos.

Ver una lista de fuentes.

Para ver una lista de fuentes, usando el comando STRSEU, haga lo siguientes:

1.- Especifique el archivo fuente para el parámetro SRCFILE pero no especifique el


fuente en el parámetro SRCMBR, Especifique el valor del *SELECT para el
parámetro SRCMBR.

Teclee el comando STRSEU sin ningún parámetro si la pantalla de trabajo con fuentes
usando SEU fue desplegada.

Usted puede cambiar la lista de fuentes que aparecen en la pantalla de trabajo con
fuentes usando SEU a que solo los fuentes que cumplan cierto criterio sean
incluidos en dicha lista. La selección de fuente puede ser por:

 Nombre parcial
 Tipo de miembro
 Fecha de creación o de ultimo cambio.
 Texto o texto parcial .

Para cambiar la lista de fuentes.

1. Presione F17 (subconjunto). La pantalla de lista subconjunto de


miembros.
2. Especifique el criterio para los miembros que desea que sean listados y
presione enter. Con esto, la lista de fuentes actualizada será desplegada.

Crear un fuente:
Para crear un miembro, siga los pasos que se muestran a continuación:

 Desde la línea de comando, o utilizando el prompt de comandos,


especificando el

nombre del fuente a crear, en el parámetro SRCMBR del comando


STRSEU. Si utiliza el prompt de comandos, teclee un tipo de fuente
valido en el source type, de lo contrario el default es usado.

 En la pantalla de trabajo con miembros usando SEU, teclee el nombre


del miembro a

crear en el prompt de new member y presione enter.

La pantalla de trabajo con miembros usando SEU puede ser accesada


especificando *SELECT para el parámetro SRCMBR en el comando STRSEU.

La pantalla de edición aparecerá, en la cual puede iniciar la entrada de código.

Tipo de fuente Descripción


CLP CL program

CBL Cobol

DSPF Archivos de pantallas

MENU Menús (UIM)

PF Archivo Físico

PRFT Archivo de Reportes

QRY Archivo de Querys

RPG RPG

TXT Texto

La figura anterior nos muestra los tipos de fuentes mas utilizados en


AS/400.
Para iniciar una sesión del SEU desde el PDM con la opción 2 (EDIT) en
la fuente que de deseamos editar.

Mostrar un fuente (Browsing)

La pantalla de browse es usada para ver un fuente sin el riesgo de cambiarlo


accidentalmente (solo lectura). Podemos usar las operaciones de busqueda y
posicionamiento, pero no podemos realizar operaciones que alteren el fuente,
tales como edición, eliminación, actualización o relocalizacion de registro.

Par mostrar un fuente :

 Especifique 5 (Browse) en el parámetro option del comando STRSEU.


 Seleccione la opción 5 (Browse) en la pantalla de trabajo con fuentes usando
SEU.

La pantalla de Browse aparecera y contendra el fuente que haya seleccionado.

Para cambiar los defaults de la sesión en la pantalla de brows, presionando F13.


Aquí podra especificar parametros tales como el numero de renglones a rolar en
la pantalla, o forzar la entrada de letras en solo Mayúsculas.

Tambien es posible cambiar la sesion usando el comando SEU SET


El modo de la pantalla completa le permite remover la linea de formato de la
parte superior de la pantalla y la lista de teclas de funcion de la parte inferior de
la misma.

Podemos utilizar le modo de pantalla completa mientra se esta mostrando los


fuentes o archivo de impresión (browsing). Para cambiar de modo campleta:

1. En la pantalla de Browse, presione F13 (cambiar default). Con lo anterior

aparecera la pantalla de cambios de default.

2. Teclee y en el prompt de full screen mode y presionar enter. La pantalla de


browse

cambiara a modo de pantalla completa.

eración:

1 .- En la pantalla de browse, presionar F13.

2 .- Teclee N en el prompt full screen mode y presione enter.

Mientras se trabaje con un fuente, puede dividir (Split) la pantalla del browse
con otro browse de un fuente o archivo de impresión (spool file). Para dividir
(splits) la pantalla :

1.- Presione F15 (opciones de browse).

2.- Realice los siguientes puntos:

 Para mostrar otros fuente del mismo archivo, teclee el nombre del
fuente en el prompt de Browse member y presione enter.
 Para mostrar otro fuente de un archivo diferente, teclee el nombre del
archivo en el prompt de file, el nombre del fuente en el promot de
browse member y presione enter.
 Para mostrar un archivo de impresión, teclee su nombre en el prompt
spool file.
 Para mostrar un archivo de impresión de otro usuario, teclee el
nombre del usuario en el campo correspondiente, teclee su nombre de
archivo de impresión y presione enter.

La linea de división es colocada a la mitad de la pantalla del browse, y ahora


puede ver el fuente o archivo de impresión adicional, en la pantalla. Para mover
la linea de división, presione F6 (move Split line) en la posición que desea que
este.

Editar un fuente

Para editar un fuente, realice alguno de los siguientes puntos:

 Especifique un 2(Edit) en el parámetro OPTION del comando STRSEU.


 Especifique la opción 2 (edit) en el prompt Opt en la pantalla trabajar
con miembros usando SEU.
 Especifique la opción 2 (edit) en la pantalla de trabajar con miembros
usando el PDM.
 Especifique la opción 2 (edit) en la pantalla de trabajar con registros de
pantallas en SDA.

Aparecerá la pantalla de edición, conteniendo el miembro especificado.

Existen varios registros especiales en la pantalla de edición de fuentes, los cuales


no son grabados juntos con el código fuente.

 Inicio de datos
 Fin de datos
 Formato
 Inserción
 Columnas
 Tabulaciones
 Exclusión (exclude)

No se pueden eliminar los registros especiales listado anteriormente.

Las líneas de inicio y fin de datos son mostradas para designar el inicio y el fin
de un fuente.

Durante la edición de fuentes, puede dividir (split) la pantalla de edición con otra
pantalla de browse de un fuente o archivo de impresión (spooled file). Para
dividir la pantalla.

1. Presione F15 (opciones de Browse /copy).


2. Realice alguno de los siguientes puntos:

 Para mostrar o copiar otro fuente del mismo archivo, teclee el nombre del
fuente
en el prompt de browse y presione enter.

 Para mostrar o copiar otro fuente de un archivo diferente, teclee el nombre


del

archivo en el prompt de file, el nombre del fuente en el prompt de Browse


member y presione enter.

 Para mostrar o copiar un archivo de impresión, teclee su nombre en prompt


spool file.
 Para mostrar o copiar un archivo de impresión de otro usuario, teclee el
nombre del

usuario en el campo correspondiente, teclee el nombre del archivo de


impresión y presione enter.

1. Si deseas copiar el fuente o archivo de impresión completo teclee una y en


el

prompt de copy all récords.

Presione enter y Se unas de las siguientes opciones pasarán:

 Si esta en modo browse, la línea de división (línea separadora de las dos


sesiones) es colocada en la parte media de la pantalla de edición y podrá
ver el fuente adicional.
 Si esta copiando el fuente y especifica un destino en el fuente que esta
editando, el

fuente o archivo de impresión es copiado dentro del fuente que se esta


editando, pero la sesión adicional no será iniciada.

 Si se encuentra copiando un fuente, pero no especifico un destino (lugar


donde se

iniciara la copia del fuente adicional) en el fuente que se esta editando


actualmente, la

pantalla de edición es dividida y el comando de copia bloque (CC) es colocado


en el primer y ultimo registro del fuente o archivo de impresión que esta
desplegando.

Eliminando un fuente
 Especifique 6(Print) en el parámetro OPTION del comando del STRSEU
 Selecionando la opción 6(Print) en la pantalla de trabajar con miembros

(WRKMBRPDM)

 Cuando salga de la sesión de edición, teclee y en el prompt Print member


en la pantalla de salida, o bien,

CAMBIANDO EL AMBIENTE DE LA SESION DE EDICION

Podemos cambiar el ambiente de la sesión de edición de dos maneras:


Utilizando el comando SEU SET o bien , utilizando la pantalla de cambio de
la sesión (F13).

Al presionar F13 aparecerá la pantalla de cambio de Defaults de la sesión, y


entonces podrá hacer lo siguiente:

 Especificar el numero de registro de datos serán paginados ( mediante las

teclas de roll).

 Especificar el teclado en solo mayúsculas o mixto.


 Habilitar o deshabita los tabuladores.
 Especificar el número en que se irán incrementando los números de
secuencia.
 Cambiar al modo pantalla completa.
 Definir las dimensiones de la pantalla(para Display de 27 renglones x 132

columnas).

 Especificar el tipo de fuente que se esta editando.


 Habilitar/deshabitar el chequeo de sintaxis.
 Especificar el chequeo de sintaxis para un rango de estatutos.
 Asignar márgenes.
 Asignar todos los registros existentes con una fecha determinada.
 Asignar la resecuenciación del fuente como default.

Algunos de los valores dependen del tipo de fuente del fuente, mientras que
otros dependen del valor que les sea asignados o de los valores usados en la
ultima sesión de edición.

ENCONTRAR Y CAMBIAR CADENA DE CARACTERES


Durante la sesión de edición, es posible buscar dentro de un fuente una cadena de
caracteres, y opcionalmente cambiarla por otra cadena, usando la pantalla de
opciones de Encontrar / Cambiar (Find/Change).

Para accesar dicha pantalla, presione F14 (Find/Change Option) estando dentro
de la sesión de edición . Entonces, dentro de la pantalla de find/changer podrá
hacer lo siguiente:

 Encontrar una cadena especifica.


 Cambiar una cadena.
 Encontrar los registros con una fecha determinada.
 Encontrarlos errores de sintaxis

Durante una sesión de despliegue (browse), puede buscar una cadena de


caracteres por medio de la pantalla de opción de encontrar (find Option). La
diferencia es que en esta sesión no podrá cambiar el fuente y no podrá encontrar
los errores de sintaxis, excepto en los archivos de impresión.

Para guardar los valores que tecleo en los Prompts de encontrar (find) y cambiar (Change),
presionar enter, F16 para encontrar o F17 para cambiar la cadena de caracteres.

Parar encontrar una cadena de caracteres:

1. Teclee el String que desea encontrar en el Prompts de find de la pantalla de

encontrar o de encontrar y cambiar.

2. Cambie los demás Prompts, si es necesario


3. Presione F16 para encontrar el String.

Para encontrar y cambiar una cadena de caracteres

1. Teclee la cadena de caracteres que desea cambiar en el prompt de encontrar o

encontrar/cambiar

2. Teclee la cadena de caracteres con la que desea remplazar la anterior en el

promt de cambia (Change).

3. Cambie los de mas Prompts, si es necesario.


4. Presione F17 para cambiar la siguiente ocurrencia del String.
Si el String tecleado, es encerrado entre apóstrofes o comillas, estos signos serán ignorados
en la búsqueda.Para encontrar un registro en una determinada fecha:

1. Presione F14 para accesar la pantalla de encontrar.


2. Especifique la fecha en el campo search on date..
3. Especifique 1,2,3 en el campo de comparación/compare.
4. Presione F16 para encontrar el siguiente registro con la fecha especificada.

También, podemos usar la operación de encontrar para localizar los errores de sintaxis
detectados en el código fuente del fuente. Para encontrar estos errores teclee ‘*ERR’ o «*
ERR» e el campo de encontrar/find. Cuando presione F16 (Find), SEU localizar cualquier
error de sintaxis encontrado por el checador de sintaxis.

COMANDOS DE LINEA

Los comandos de línea se usan para realizar varias funciones sobre los registros en el
fuente. Podemos usar los comandos en líneas para :

 Copiar, eliminar, insertar, mover o imprimir registros.


 Ayuda para teclear y formatear datos de los nuevos registros.
 Cambiar los registros que se ven en la pantalla.

Teclee los comandos de la línea sobre el número de secuencia del registro en el fuente. Por
ejemplo, teclee una D (delete) en el número de secuencia de un registro para eliminarlo del
código fuente. Teclee una D3 para eliminar los tres registros inmediatos del código fuente.

Estos comandos pueden ser tecleados en mayúsculas o minúsculas. SEU convierte


automáticamente los comandos en mayúsculas.

Después de teclear o cambiar los comandos de línea, presione una de las siguientes teclas
para correr los campos.

 Enter
 Una tecla de función valida.
 Avance o retorno de pagina ( Page up o page Ddown).

La siguiente tabla lista los comandos de línea del SEU. Todos los comandos de línea son
validos en las sesiones de edición en split o Full mode. Esta tabla indica los comandos de
línea que son validos para sesiones de despliegue (browse).

Comando BROWSE COMANDO DE LINEA


Posicionamiento absoluto Y n. n n.n

Antes / Después N A An B Bn

Columnas Y COLS

Copiar Y/N C Cn CC

Copiar repetidamente Y/N CR CRn CCR

Borrar Y/N D Dn DD

Excluir Y X Xn XX

Formato Y F F? Fxx

Inserción N I In

Insertar con formato N IF IFn IF? IF?n

Insertar con prompt N IP IP? Ipxx

Imprimir línea Y LP LPn LLP

Mover N M Mn MM

Solapar N O On OO

Prompt N P P? Pxx

Posición relativa Y + +n – -n

Repetir N RP RPn RPP RPPn

Show Y SF SFn SL SLn

Comandos de SEU

Podemos usar los comandos del SEU para realizar operaciones de


encontrar/cambiar, para salir de la sesión y para establecer los defaults de la
misma. Los comados proveen un fast path para estas operaciones, los cuales
también pueden ser accesadas através de las pantallas de opciones. Los valores
tecleados por medio de los comandos del SEU aparecerán en dichas pantallas.
Los comandos deben ser tecleados sobre la línea de comandos del SEU . Para recuperar el
comando anterior presione F9 (retrive). Es posible mover el cursor desde el área de datos a
la línea de comandos del SEU y regresar al área de datos por medio de la tecla F10 (curso).

La siguiente tabla muestra los comandos para los diferentes tipos de sesión.

Depende
Sesión
Sección de
COMANDOS Función
Edición
Browse
la Ssesión
Encontrar una cadena de caracteres
dentro de un fuente.
FIND o F
Encuentra una cadena de caracteres en
Y Y Y
un fuente y cambia por otra.
CHAGE o C
Y N Y
Reposiciona la pantalla de trabajo a la
TOP o T
primera pagina de datos. Y Y Y
BOTTOM o
Reposiciona la pantalla de trabajo a la
Y Y Y
ultima pagina de datos.
BOT o B
Y N Y
Guarda los cambios hechos al miembro
SAVE
y continua editando.
Y N N
FILE
Salva los cambios hechos al fuente y
Y Y Y
sale de la edición.
CANCEL
Abandona la sección sin guardar los
cambios realizados.

SALIR DE SEU

Podemos salir del SEU usando la pantalla de salida. Para accesar a dicha
pantalla, presione F3 (Salir) en la pantalla de edición o en cualquier pantalla de
Split. La pantalla de salida puede usarse para realizar las siguientes operaciones
sobre el fuente que se esta editando.

 Salir y crear un nuevo fuente.


 Salir sin crear el fuente.
 Salir y salvar un fuente existente.
 Resecuenciar el fuente editado.
 Imprimir el fuente.
 Ir a la lista de fuente.
 Regresar a edición.
 Cancelar la función de encontrar string por PDM,

Definicion Del Codigo De Archivos (Fisicos Y Logicos).

– tipos de archivos y su diferencia:

las tablas base son llamadas archivos fisicos.

los views/index son llamados archivos logicos.

Archivo Fisico

Cada archivo fisico esta conformado de tres partes o


extenciones.

1. Formato. Definicion de los campos de los

cuales se que se compone un registro.

2. Ruta de acceso. definicion de cómo los o por


llave).
3. Registros pueden ser accesados (en secuencia
datos. espacio para los registros de los cuales esta
hecho el archivo.

Se pueden generar datos en un archivo, por medio de programas


interactivos o barch, dfu (data file utility), el comando de copy.
CPYF FROMFILE( ) TOFILE ( ) MBROPT{*ADD FMTOPT {*MAP

*REPLACE *DROP

CRTFILE {*NO

*YES

DSPPFM FILE(LIB NAME/FILE NAME) MBR(*FIRST) => despliega el contenido del arch.

(ej. para verificar datos copiados)

– Codigo de un archivo fisico (indexado):

COLUMNS . . . : 1 71 EDIT MTY2/JDESRC

SEU==> F50001

FMT PF ….A……….T.NAME++++++RLEN++TDPB……FUNCTIONS++++++++++++++++++

0010.00 A R STUCLS

0011.00 A TEXT(‘ARCHIVO DE ESTUDIANTES’)

0012.00 A STUNO 7 0 TEXT (‘NUMERO DE ESTUDIENTE’)

0013.00 A CLASNO 4

0014.00 A STATUS 4

0015.00 A FGRADE 3

0016.00 A DATE R REFFLD(ENDATE CLSHST)

0017.00 A K STUNO

0018.00 A K CLASNO DESCEND

NIVELES DE UN ARCHIVO:

FILE -LEVEL
RECORD-LEVEL

FIELD-LEVEL

KEY FIELD-LEVEL

SELECT/OMIT-LEVEL

FROM TYPE.- En el caso de archivos siempre se pone ‘A’.

(T) NAME TYPe.- Se define ‘R’ => en la linea donde se define el nombre del reg.

Se define una ‘K’ => cuando se van a definir las llaves (sort).

Se define una ‘J’ => para especificaciones de archivos join.

Se define una ‘S/O’ (select/omit).- para seleccionar y/o omitir regs.

esto solo se puede usar en archs. logicos (idx).

NAME .- Se define el nombre de la variable (no mayor de 6 digitos).

R) REFERENCE.- Se define una ‘R’, solo en el caso de que el campo se pueda


referen-

ciar a otro que exista en un archivo determinado. esto es para que

tome las mismas caracteristicas del campo al cual se hace


referencia.

LEN) LENGTH.-longitud del campo.

D) DATA TYPE.- A => alfanumerico

P => numerico empacado

S => numerico ‘zoned’ (no es empacado)

P) DECIMAL .-El numero de decimales, siempre y cuando sea numerico.

FUNCTIONS.- REFFLD(nombre campo nombre arch.) => se


utiliza para tomar caracteristicas de otro campo en otro arch.
(solo caracteristicas, no datos).
DESCEND => ordena el campo en forma descendente, por default si no

se definie nada lo considera ascendente.

Estas funciones son exclusivas para archs. logicos:

COMP => ej. comp(ge 125), solo toma registros con esta condicion.

RANGE => ej. range(10000 90000), solo toma regs. con esta Condicion.

VALUES => ej. values(‘pend’ ‘conf’ ‘can ‘), regs. con esta condicion.

oprimiendo ayuda en este campo se despliegan todas las opciones


existentes.

no se recomienda usar estas funciones (comp, range, values), ya que


hace exclusivo el uso del arch.

El data type es opcional, si no se definen decimales se considera alfanumerico,

si se definen decimales se considera numerico ‘zoned’.

 Codigo De Un Archivo Logico:

Columns . . . : 1 71 Edit MTY2/JDESRC

Seu==> F50001LA

FMT PF …..A……….T.Name++++++Rlen++Tdpb……Functions++++++++++++++++++

0010.00 A R STUCLS PFILE(F50001)

0011.00 A K DATE

0012.00 A S STATUS COMP(EQ ‘VAL ‘ )

FUNCTIONS.- PFILE(nombre arch.fisico) => se utiliza para


definir el archivo fisico al cual va a estar referenciado el
logico.

Existen archivos «JOIN LOGICAL FILES» => este tipo de archivo


combina en un

formato, campos de dos o mas archivos fisicos.


Se define solo un formato de registro y los campos llave deben ser del
archivo primario.

– Codigo De Un Join Logical File:

ARCHIVO CAMPOS

STUDENT STUDENT NUMBER (STUNO)

STUDENT NAME (STUNAM)

CLASS STUDENT NUMBER (STUNO)

CLASS NUMBER (CLASNO)

COLUMNS . . . : 1 71 EDIT MTY2/JDESRC

SEU==> F50001LB

FMT PF …..A……….T.NAME++++++RLEN++TDPB……FUNCTIONS++++++++++++++++++

0010.00 A R JOINREC JFILE(STUDENT CLASS)

0011.00 A J JOIN(1 2)

0012.00 A JFLD(STUNO STUNO)

0013.00 A STUNO JREF(1)

0014.00 A STUNAM

0015.00 A CLASNO

0012.00 A K STUNO

JFILE.- Se deben especificar dos archivos fisicos. el primero es el arch. primario.

J .- Identifica el inicio de especificaciones del join.

JOIN .- Identifica cuales dos archivos son ‘joinded’ .

JFLD .- Identifica los nombres de campos (‘join fields’), estos


deben existir en ambos

archivos (join); y deben tener los mismos atributos.


JREF.- los campos en un ‘jlf’ deben ser identificados como
unicos. este atributo

permite especifiar un campo a cual archivo corresponde (esto


es, cuando el nombre

de un campo existe en mas de un archivo fisico).

no se recomienda usar los archivos ‘JOIN’, ya que ocupan mucha area en el equipo,
ademas generalmente se requiere de autorizacion por parte de sistsemas/usuario.

– Compilacion De Archivos Fisicos/Logicos

a) Se puede compilar dentro del menu de pdm con la opcion ’14’.

Si se usa esta opcion se recomienda oprimir el ‘f4’ para ver el dafault de la


biblioteca hacia donde se va a dirigir el objeto del archivo que se va a
generar y en caso de que sea otra biblioteca definirla. ademas es necesario
definir una autoridad=*all, ya que de lo contrario, solo el usuario que creo
el archivo tendria acceso a este.

b) Compilar con el comando => ‘CRTXF’ + F4. (tomar las mismas


consideraciones que en el caso de compilar con la opcion 14 dentro de
pdm.

CRTPF FILE (*CURLIB/FILE-NAME)

SRCFILE (*LIBL/QDDSRC)

SRCMBR (*FILE)

MBR(*FILE)

MAXMBRS(1)

SIZE(*NOMAX 1000 3)

AUT (*ALL)

CRTLF FILE(*CURLIB/FILE-NAME)

Comandos De Archivos:
CLRPFM .- Clear physical file member (Inicializa el archivo, borra la
información)

DLTF .- Delete file (Borra el archivo, fisicamente ya no existirá).

CHGPF .- Change physical file (Cambia atributos al archivo)

CHGPFM .- Change physical file member

DSPFD .- Display file description (Despliega datos generales del archivo)

DSPDBR .- Display data base rel. (Para consultar archivos lógicos referenciados a
un arch.

físico.)

DSPPGMref.– Display program reference (para consultar que archivos se estan


utilizando en un

programa.)

DSPFFD .-Display file field descrip.(para consultar lista de campos definidos en


un archivo y sus

caracteristicas.

Comamdos Para Revisar Compilaciones.

Cuando se compilan archivos, programa, pantalla, ect.. se envía a una cola de


procesos llamada Work with Submitted Jobs (WRKSBMJOB), la cual despliega
el estatus de los procesos que se encuentran en la cola.

Estos estatus son los siguientes:

JOBQ : Indica que el proceso esta por entrar a la cola procesos.

ACTIVE: Indica que el proceso esta por ejecutarse o se esta ejecutando.

OUTQ: Indica que el proceso ha terminado de ejecutarse.

END : Indica que el proceso ha sido terminado por el usuario.


Los opciones que se encuentran en este comando son las siguiente:

3= Hold .- usando esta opción se congela el proceso.

4= End .- Usando esta opción se cancela la ejecución del proceso.

6= Release.-

8= work spooled files. Con esta opción nos despliega el spool de nuestro proceso.

El sooled file (cola de impresion) ,es una herramienta que sirve para desplegar y almacenar
la información resultados compilaciones, y de las salidas de los programas ejecutados
programas.

Para revisar la compilación de un programa con la opción 5 (display) del Work


with Job Spooled Files desplegara la siguiente pantalla
Los errores de compilacion se encuentran al final del spool, para poder visuaizar lo mas
rapido sin tener que que paginar, se teclea en el control ‘B’ o *BOT (Bottom) que nos
posiciona el cursor al final del spool.

En esta parte podemos observar la cantidad de erores que resultaron de la compilacion.

Tambien nos indica el numero de severidad , la cual nos informa la gravedad del error

Para realizar la compilacion y se cree el objeto, son los errore menores que 30.

Si se repagina (Re. Pag) se encuentran los numeros de errores ocurridos como muetra la
pantalla siguiente:

Esta pantalla nos indica los numeros de errores generados y la severidad


respectivamente, por lo cual es necesario buscar en que linea ocurio el error, esto es posible
tecleando el numero de error en la linea del comando Find ……______ el numero de error,
presionando la tecla F16 las veces que se necesiten, ya que el mismo error puede
encontrarse en varias lineas del codigo

Gravedad de codigo de mensajes


Gravedad Descripcion
00

10

20

30

40

50 Informacion

60

70

80

90

99

Aviso

Error

Error grave

Error no deberia continuar

Terminacion anormal del trabajo o programa

Estado del sistemas

Integridad de dispositivos

Alerta del sistema

Integridad del sistemas

Accion

Funciones en el spooled file.


En la linea de control tiene las siguientes funciones:

Comando Descipcion

Wn

W-/+n

Pn Posiciona al principio del spool

Posiciona al final del spool

Se Posiciona en la columas n

Se Posiciona en n colunas a partir de donde se encuentras posicionado

Posiciona le apuntador en la pagina n

F19 = despliega la pantalla hacia la izquierda

F20 = despliega la pantalla hacia la derecha.

Comandos para manejo de archivos

DSPDBR
Nos muestra todos los logicos que están relacionados con este archivo.

La forma de utilizarse es:

 DSPDBR F4101

 DSPDBR <F4>
Esta es una parte de lo que nos desplegaria este comando

DSPFD
Este comando despliega la descripción completa de un archivo, como la librería donde se
encuentra el fuente, el file, la fecha en que fue creada y por quien fue creado,el tipo de
archivo, número de campos que lo forman, total de registros, y todos los atributos del
archivo, etc.

 DSPFD F4101 ó

 DSPFD

<F4> o ENTER
Nos muestra esta pantalla donde escribimos el nombre del fuente a buscar y la
librería donde se encuentra, si no sabemos el nombre de la librería con *libl lo
toma de la librería donde lo encuentre primero

Esto es parte de lo que nos muestra el DSPFD

DSPFFD

Este comando nos sirve para ver todos los campos y las características de cada
uno de los campos que forman al archivo.

 DSPFFD F4101

ó
 DSPFFD

con <F4> ó enter nos lleva a la siguiente pantalla donde damos el nombre del
archivo y la librería donde se encuentra

DSPOBJD

Despliega la descripción de un objeto, nos muestra las caracteristicas completas de un


objeto, en que librería y file se encuentra, cuando fue creado y por quien, cual es el fuente
de este objeto y donde se encuentra, en que fecha fue creado y cuando fue la ultima fecha
de cambio, etc.

 DSPOBJD P4190

 DSPOBJD

al oprimir <F4> o ENTER

Despliega la misma pantalla solo que ahora para buscar el objeto, damos el nombre y la
librería donde se encuentra, si no sabemos el nombre de la librería con *libl lo toma de la
librería donde lo encuentre primero, hay que especificar el tipo de objeto a buscar

WRKOBJ

Trabajando con objetos, con este comando podemos manejar los objetos, nos muestra la
lista de objetos que se encuentran en la librería seleccionada y después manejar este objeto
como copiar, borrar, cambiar de librería al objeto, entre otras cosas.

 WRKOBJ P 4190
ó

 WRKOBJ

Al oprimir <F4> ó enter nos muestra la sig. Pantalla, donde especificaremos el


objeto, o bien si queremos ver todos los objetos en el nombre del objeto darle *all

En esta pantalla es donde se manipulan lo objetos en el campo Opt dependiendo de la


opción seleccionada se pueden copiar, renombrar, borrar,etc. Al objeto seleccionado

La opción 8 nos despliega los atributos del objeto, una de las facilidades que nos
permite esta opción es saber en donde se encuentra el fuente de este objeto, esta
opción la obtenemos si en ves de presionar enter, presionamos F4 lo cual nos
desplegara la siguiente pantalla.

En ella le escribimos *SERVICE en la opción Detail.


QUE ES UN DSPF. (Display File).

En el ambiente 400 a una pantalla se le conoce como un archivo de despliegue. Una


pantalla es creada para que el operador interactue con el 400, observando información,
dando de alta datos e incluso cambiandolos dentro de un proceso, las pantallas pueden ser
Menús, mensajes del proceso, etc. en conclusión una pantalla sería un intermediario entre el
usuario y el proceso. Para crear una pantalla se puede utilizar la utilería SEU pero existe
otra utilería que es de gran ayuda la cual es la SDA (Screen Design Aid). Cada vez que se
realiza una pantalla, esta se compila.

Para entrar a la utilería SDA tecleamos el comando STRSDA <ENTER> , la siguiente


pantalla muestra la pantalla de la utilería SDA, donde podemos diseñar menús, pantallas y
la prueba de archivo de pantallas

STRSDA <ENTER>.

AS/400 Screen Design Aid (SDA)

Select one of the following:

1. Design screens

2. Design menus

3. Test display files

Selection or command

===>1

F1=Help F3=Exit F4=Prompt F9=Retrieve F12=Cancel

La siguiente pantalla será donde especificamos el nombre de nuestra pantalla y el archivo


de fuentes donde va a ser guardada, así como la biblioteca en donde se localizara.
Trabajando con el diseñadpr de pantalla pantalla (SDA):

Crear un nuevo registro: Con la opción 1(Add) nosotros podemos


crear una nueva pantalla.

Copiar un registro : Con la opción 3 (copy) nosotros podemos copiar


el registro.

Eliminar un registro: Con la opción 4 (delete) se elimina un registro

Renombrar un registro: Con la opción 7 (Rename) se renombra el registro.

Seleccionar teclas : Con la opción 8 (Select keyword) se selecciona


la teclas de función que se usaran para el registro de pantalla.

Diseñar la pantalla : Con la opción 12 (Desing image) con esta


opción se diseña o se modifica el registro de pantalla.

Después de dar ENTER, añade un nuevo registro a nuestra pantalla.


En lo anterior se ve información sobre nuestra pantalla y su registro, debemos especificar
de que tipo, si es una pantalla normal se utiliza el tipo RECORD, y los tipos de pantallas es
más comunes son pantallas de Sub-Files, de tipo ventana que son mas pequeñas y estilos de
menús.

Existen diferentes formas de añadir información a la pantalla, la mas sencilla es


el de colocar a los campos o letreros, entre apostrofe, ejemplo: ‘MATRICULA :’

Para los campos que tienen interrelación con la información existente en el


AS/400, se utilizan diferentes representaciones, dependiendo del tipo, ya sean
numérico o carácter; la tabla siguiente demostrara las diferentes representaciones.

Tipo Entrada Salida Ambos


Carácter Se representa con «I» Se representa con «O» Se representa con «B»
Numérico Se representa con «3» Se representa con «6» Se representa con «9»

En el SDA es posible definir campos por el usuario o campos que se encuentran


en un archivo, Para definir un campo por el usuario solo necesita poner el
carácter «+» y especificar el tipo qu se desea utilizar :

Ejemplo :

+IIIIII En este ejemplo se define un campo de input de 6 caracteres.


+OOOO En este ejemplo se define un campos de output de 4 caracteres.

+BBBBBB En este ejemplo se define un campo de input/outoput de 6


caracteres.

Otra forma mas sencilla para definir los campos en la pantalla es


escribiendo el carácter «+» Seguido de el tipo a usar y entre paréntesis «(
)» la longitud utilizada.

Ejemplo:

+I(6) En este ejemplo se define un campo de input de 6 caracteres.

+O(4) En este ejemplo se define un campo de output de 4 caracteres.

+B(6) En este ejemplo se define un campo de input/outoput de 6 caracteres.

Para definir un campo numérico se siguen los mismos pasos que para un carácter,
solo que se utiliza los siguiente:

Ejemplo:

+3333 O +3(4) En este ejemplo se define un campo de input


numérico de 4 posiciones.

+6666 O +6(4) En este ejemplo se define un campo de output


numérico de 4 posiciones.

+999999 O +9(6) En este ejemplo se define un campo de


input/outoput numérico de 6 posiciones.

Para definir un campo numerico con decimales solo es necesario indicar un punto
( . ) apartir de cuantos decimales se utilicen, ejemplo

+66.66 or +6(4,2) En este ejemplo es un campo numérico de 2 posiciones


con dos decimales.

ndo la tecla «F10» la cual nos presentara la siguiente pantalla:


En la cual especificamos el archivo a utilizar así como la librería donde se
encuentra como también el registro a utilizar.

Podemos escoger las siguientes opciones :

1 = Despliega los campos de el archivo.

2 = selecciona todos los campos del archivo de input.

3= selecciona todos los campos del archivo de output.

4= selecciona los campos del archivo de input/output.

Con la opción 1 nos despliega la siguiente pantalla:

En la cual podemos escoger los campos que necesiten para la pantalla y


especificarle de que tipo la usaremos.

ter «&» seguido del número del campo que deseamos.


En el ejemplo anterior se selecciono el campo 2 en del archivo, esto nos pondrá
el campo en pantalla con las mismas características del campo del archivo.

Trabajando con campos:

Mover un campo -,=.

Para mover un campo en la pantalla teclee un ‘-‘ a la izquierda del campo


y en la posición en donde se desee mover es teclee un ‘ =’ y después
presione enter.

Copiando un campo -,= = .

Para copiar un campo solo es necesario teclear un ‘-‘ a la izquierda inicio


del campo y después en la posición en donde se desea a copia, teclee ‘= =’
y después presione enter.

Eliminando campos

Para eliminar un campo solo es necesario teclear una «D» o «d» a la


izquierda del campo que se desee eliminar y presione enter.

Moviendo un bloque de campos -,-, = .

Para mover un bloque primero se necesita marcar el bloque para


esto lo se teclea un ‘-‘ en el inicio y al final del bloque , después
teclear un ‘=’ en donde se desee poner el bloque y presione entre.

Copiando un bloque -,-,= =

Para copiar un bloque se teclea un ‘-‘ al inicio y al final del bloque


que se
desee copiar y en la posición en donde se desee copiar , teclee uno ‘= =’y
presione enter.

Eliminar un bloque –,–

Para eliminar un bloque se teclea ‘- – ‘ al inicio y al final del bloque


después presionar enter y presionar la tecla F12 para confirma su
eliminación.

Para mover los campos uno o más espacios solo es necesario teclear un ‘>’
si se desea mover a la derecha y ‘<‘ un para la izquierda, se puede mover
los espacios que se desee, dependiendo de la cantidad de el símbolo ‘< , >’
que se teclee.

Modificando un campo.

Solo se necesita anteponer el carácter «?» en el campo que se quiera


modificar, desplegara en la parte inferior de la pantalla, el campo el cual se
quiere modificar.

En el podemos modificar el nombre del campo así como el tamaño del campo

Nota: solo en los campos definidos por el usuario podemos cambiar el tamaño,

pero los campos referenciado de los archivos no.

Información de los campos

Para obtener información de los campos definidos en la pantalla solo se


antepone el carácter «*» en el campo que se requiera.
Esta opción nos desplegara la siguiente pantalla donde se encuentran todos los
atributos del campo, en el se pueden modificar los atributos según sea la
necesidades del usuario, los mas usuales son los siguientes:

Display attributes : Nos despliega todos los atributos del campo ejemplo: Underline, high
intensity, no visualizarlo, protegerlo etc. En el cual se selecciona con «Y» y ligarlo un
indicador para poder utilizarlo en el programa.
Keying Options :
En esta opción podemos especificar los funciones en los campos por
ejemplo rellenar con blancos o rellenar con ceros.

Validity Check Keywords

Valide los datos de entrada de los campos, por medio de rangos,


compararlos con un Valor o definir una lista de valores.

Error Message

Para definir un mensaje para un campo se utiliza la opción de Error Message, el


cual nos despliega la siguiente pantalla, en la cual se asigna un indicador para
poder controlarlo en el programa y se escribe el mensaje que se requiera, El
numero de indicador nos sirve para que cuando en el programa ocurra un error
asignado a este se activa y se refleja en al pantalla inferior o sea en la línea 24.

Nota: hay que tener cuidado de no repetir los indicadores.


ión que se usaran en la pantalla se deben especificar a nivel registro esto es que
se debe estar en la pantalla display record y con la opción 8 (select keyword).

La cual desplegara la siguiente pantalla:

Con la opción Indicador keyword se definen los teclas de funciones a utilizar.

En esta pantalla se definen las teclas de función, se pueden definir toda las teclas
que se deseen, estas pueden ser de F1…F24, Re Pag., Av. Pag. etc. Las teclas de
función declaradas en las pantalla funcionan de la siguiente manera, cuando el
usuario presione la tecla correspondiente al iniciador este se prendera por lo tanto
en el programa sabremos cuando esto ocurra.

Para indicar el uso de una tecla de función se teclea ‘CFnn ‘ y el número de la función que
se utilice, ejemplo para definir la tecla F3 que seria la de salida o F12 para cancelar la
operación tendría que definir en keyword CF03 o CF12 receptivamente, la cual se le asigna
un indicador, por lo general se opta por el numero de la función.

Funciones más usuales.

F3 o F12 .- Salir , Al presionar cualquier tecla se sabandona el diseño.

F14 .- Regla. ,Al presionar esta tecla nos despliega una regla, en la posición
actual

del cursor, al presionar nuevamente la tecla la regla desaparece.

F15 .- Imprimir, Al presionar esta tecla se imprime lo que tengamos en la


pantalla.

F18 .- Al presionar esta tecla envía el cursor a la posición del campo siguiente.

F19 .- Al presionar esta tecla envía el cursor a la posición del campo Anterior.

F22 .- Al presionar esta tecla despliega la línea de comando, donde


podemos ejecutar cualquier comando de OS/400.

Ambiente Data Description Speciifications (Dds).

El ambiente DDS es el metodo nativo preferentemente para describir datos en el


equipo as/400 y consiste en lo siguiente:
1.- archivos fisicos.

2.- archivos logicos.

3.- archivos de pantalla.

4.- archivos para impresión (reportes).

todos los archivos descritos por DDS pueden ser usados por todos los
componentes de software del as/400.

Codificacion De Archivos Fisicos.

OBJETIVOS.

Codificar especificaciones de descripcion de datos DDS y crear archivos fiscos en


el equipo as/400.

Explicar la funcion de los campos de archivos referenciados y codificar


la DDS para crear un archivo para la base de datos del equipo as/400.

El ‘rpg’ maneja formatos fijos al generar programas. Estos formatos requieren


un orden determinado y es el siguiente: (estos son los mas comunes)

1. CONTROL
1. DESCRIPCION ARCHIVOS
2. ADICIONALES
2. ENTRADA
1. CONTROL

1. SALIDA (este es poco comun en ‘jde’)

ESPECIFICACIONES DE CONTROL:
HOJA ‘H’
Para Definir Datos Generales Y Comentarios Del Programa
Columns . . . : 1 71 Browse MTY2/JDESRC

SEU==> P550001

FMT H …..H……..1..CDYI….S…………..1.F……………………….
*************** Beginning of data *************************************

0001.00 H/TITLE P550001 – Actualizacion de fechas de conteo por mo

0002.00 H* —————————————————————

0003.00 H*

0004.00 H* This unpublished material is proprietary to

0005.00 H* J. D. Edwards & Company. All rights reserved.

ESPECIFICACIONES DE ARCHIVOS:
HOJA ‘F’
LAS ESPECIFICACIONES DE DESCRIPCION DE ARCHIVOS F) DEFINEN
TODOS LOS ARCHIVOS REQUERIDOS EN EL PROGRAMA.

A CONTINUACION VEMOS EJEMPLOS EN ESTE TIPO DE FORMATO:


SEU==> P550004

FMT FX . ..Ffilename+ IPEAF……..L..I……..Device+……KExit++++Entry++A….U

0034.00 FF0001 IF E K DISK UC

0035.00 FF41021LAIF E K DISK UC

0036.00 F I41021 KRENAMEI41021A

0037.00 FF550004 O E K DISK UC

0038.00 FDSP01 CF E Workstn

0039.00 FR550004 O E Printer

Pmt SeqNbr Filename Typ Desig EOF Seq Fmt Mode RAT Device K

FX 0034.00 F0001__ I
F__E_K
DISK___ _

Exit Entry A/U Cond

_____ ______ _ UC
Type.- I- Input, O- Output, U- Update, C- Combined

Desig- P- Primario, F- Full.

Fmt- F- Descripción por Programa, E- Descripción Externa

RAT- K- Indexado (solo para Desc. Ext.), ‘ ‘= Secuencial.

Device- Disk, Workstn, Printer.


Columns . . . : 1 71 Browse MTY2/JDESRC

SEU==> P550004

FMT FC … ..F……….……..Ext-record………………RcdnbrKOption….Entry+++….

0036.00 F I41021 KRENAMEI41021A

0037.00 FF550004 O E K DISK UC

0038.00 F****************************************************************

Pmt SeqNbr ExtRcd RcdNbrFld Cont Option Entry

FC 0036.00 I41021 _______ K


RENAME
I41021A

ESPECIFICACIONES ADICIONALES:
HOJA ‘E’
ESTE FORMATO SE UTILIZA PARA DEFINIR TABLAS Y/O ARREGLOS.
Columns . . . : 1 71 Browse MTY2/JDESRC

SEU==> P550001

FMT E …..E….FromfileTofile++Name++N/rN/tbLenPDSArrnamLenPDSComments++++++

0043.00 E* PROGRAM TABLES AND ARRAYS

0044.00 E* ————————-

0046.00 E EMK 64 4 Error Msg


0048.00 E* Totaling Array for – Units – Returned

0049.00 E TTDOCO 10 8 0

0050.00 E NOM 1 1 30 Tabla Cías.

1307.00 C***********************************************************

1308.00 **

1309.00 BLACK & DECKER

Pmt SeqNbr FromFile ToFile Tbl /Rcd /Tbl Len P/B/L/R Dec A/D

E 0049.00 _______ ______ TTDOCO ____ _10 __8 ___ __0 ___

AltName Len P/B/L/R Dec A/D Comment

_______ ___ _ _ _ ________

ESPECIFICACIONES DE ENTRADA:
HOJA ‘I’
Las especificaciones de entrada (i) describen los registros y campos a ser usados
en el programa.

No se necesitan las especificaciones de entrada (i) para los archivos descritos


externamente.
Columns . . . : 1 71 Browse MTY2/JDESRC

SEU==> P550004

FMT DS …..IDsname…NODsExt-file++………….OccrLen+………………..

0057.00 IDSTXT DS 240

0058.00 I 1 40 VTX001

0059.00 I 41 80 VTX002

0060.00 I 81 120 VTX003

Pmt SeqNbr DtaStrName Nbr Opt DS ExtFName Occurs Len


DS 0057.00 DSTXT _ _ DS _________ ____ 240
Columns . . . : 1 71 Browse MTY2/JDESRC

SEU==> P550004

FMT J ….I………….……………………………….PFromTo++ DField+…L1M1FrPlMnZr.

0058.00 I 1 40 VTX001

0059.00 I 41 80 VTX002

FORMATO PARA DEFINIR CONSTANTES

FMT N …..I…………..Namedconstant+++++++++C………Fldnme………….

0020.00 I ‘abcdefghijklmnopqrstuvw -C MINS

0021.00 I ‘xyz’

Pmt SeqNbr Constant DataType FldName

N 0019.00 ‘0123456789’
C
NUM

ESPECIFICACIONES DE CALCULO:
HOJA ‘C’
Las Especificaciones De Calculo (C) Describen Las Operaciones A Realizar Por
El Programa E Indican El Orden En Que Deben Realizarse.
FMT C …..CL0N01N02N03Factor1+++Opcde.Factor2+++ResultLenDHHiLoEqComments++++

0125.00 C* Read master file input.

0127.00 C READ I4102A 99LR

0130.00 C CANTID MULT COSUNI $PRECI

Pmt SeqNbr Lvl N01N02N03 Factor 1 OpCode Factor 2 Result

C 0127.00
READ
I4102A

Len Dec H/N/P Hi Lo Eq Comment

99
LR
lectura

USO DE INDICADORES
FMT C …..CL0N01N02N03Factor1+++Opcde…Factor2+++ResultLenDHHiLoEqComments++++

0153.00 C READ CLIENTES 99

0154.00 C *IN99 IFEQ ‘0’

0155.00 C MOVELMCU $MCU

0156.00 C …….

0157.00 C MOVE ‘1’ *IN33

ESTADOS DE UN INDICADOR:

A) ACTIVADO => ‘ON’ = ‘1’

B) DESACTIVADO => ‘OFF’ = ‘0’

CICLO LOGICO DEL RPG


PROGRAMACION BATCH

PROGRAMACION INTERACTIVA
PREPARACION PREVIA A LA CODIFICACION DEL PROGRAMA

– DESCRIPCION DEL PROGRAMA (Narrativa del Programa)

 IDENTIFICACION DE ARCHIVOS DE DATOS

 IDENTIFICACION DE PANTALLAS

 IDENTIFICACION DE ARCHIVOS DE IMPRESIÓN

 DIAGRAMA DE FLUJO Y PSEUDOCODIGO

EJEMPLO:

DESCRIPCION DEL PROGRAMA


SE NECESITA UN PROGRAMA EN RPG PARA CONSULTAR LA DIRECCION Y TELEFONO DE LOS CLIENTES.

IDENTIFICACION DE ARCHIVOS
IDENTIFICACION DE ARCHIVOS
DDS DEL ARCHIVO DE CLIENTES

** ARCHIVO FISICO: ‘CLIENTES’ BIBLIOTECA: RPGLIB

R REGCLI

NUMCLI 6 0

NOMBRE 30

DIRECC 15

TELEF 7 0

TIPOCL 3

LIMICR 8 0

STATUS 1

K NUMCLI

IDENTIFICACION DE PANTALLAS

. PANTALLAS EXISTENTES
Opción 3 de SDA

DDS

. PANTALLAS NUEVAS

Opción 1 de SDA
DDS

OPERACIONES ARITMETICAS

ADD (SUMAR)

SUB (RESTAR)

MULT (MULTIPLICAR)

SQRT (RAIZ CUARADA)

DIV (DIVIDIR)

Z-ADD (INICIALIZA Y MUEVE NUMERO)

1.- Solo para campos numericos

2.- La operación no cambia el contenido de los campos del factor 1 y 2

a menos de que se especifiquen tambien en el campo de resultado.

3.- Cualquier dato colocado en el campo de resultado reemplaza al dato

que existia en ese campo.

4.- El rpg/400 no genera errores si hay desbordamientos aritmeticos.

5.- En las operaciones: add, sub, mult y div, el factor 1 puede omitirse.

6.- Si el factor 1 no se especifica, la operación se realiza como si en el factor

1. Y en el campo de resultado existiera el mismo campo.

7.- Todos los campos deben de estar definidos en el programa, la definicion

puede provenir de:

 Un archivo descrito externamente.


 Un archivo descrito por programa (especificaciones i)
 Especificaciones de cálculo.

Operaciones con archivos

SETLL (Set Lower Limit)


El comando setll es usado para posicionar el apuntador en un registro buscado, el apuntador
se posicionara arriba del registro que sea igual o mayor a la llave dada como parámetro de
busqueda.

Sintaxis

Factor 1 OpCode Factor2 Hi Lo Eq

KEY SETLL FILE ó REG. In In

Existen dos formas de usar el SETLL

 Se puede usar para posicionar y verificar que el apuntador se posicione antes del primer
registro que sea igual a la llave

Ejemplo

Factor 1 OpCode Factor2 Hi Lo Eq

IMKY01 SETLL I4101 71

El indicador 71 se activara si al hacer el SETLL se encuentra un registro que sea igual al


argumento de busqueda (IMKY01)

 Posiciona el apuntador antes del registro que sea mayor o igual al argumento de búsqueda
y con el indicador en el Hi verifica que se cumpla esta condición

Ejemplo

Factor 1 OpCode Factor2 Hi Lo Eq

IMKY01 SETLL I4101 72

En este caso es al revés el indicador se activara si ningún registro es mayor o igual a la


llave

 Se pueden usar ambos indicadores al mismo tiempo si asi se necesita

Ejemplo

Factor 1 OpCode Factor2 Hi Lo Eq

IMKY01 SETLL I4101 72 71

Por ejemplo si tuvieramos los siguientes valores para la llave IMKY01


23 1) si IMKY01=60

30 2) si IMKY01=35

60 3) si IMKY01=90

70

80

85

Para el caso 1 Para el caso 2

1. indicador 71 se activa
1) indicador 72 no se activa

1. indicador 71 no se activa
2) indicador 72 no se activa

1. indicador 71 no se activa
3) indicador 72 se activa

Posiciona el apuntador antes de el primer registro que sea mayor a la llave dada

Sintaxis

Factor 1 OpCode Factor2 Hi Lo Eq

KEY SETGT FILE ó REG. In In

KEY.- es la llave que se va a usar para posicionar el apuntador en el registro buscado

FILE ó REG.- nombre del archivo o registro al que se le va hacer el SETGT

Factor 1 OpCode Factor2 Hi Lo Eq

IMKY01 SETGT I4101

READ

Hace una lectura secuencial al archivo

Sintaxis

Factor 1 OpCode Factor2 Hi Lo Eq


READ File ó Reg.

File ó Reg.- nombre del File o registro que se va a leer

Ejem.

Factor 1 OpCode Factor2 Hi Lo Eq

READ I41021

READE

Es parecido al read, con la diferencia de que lee solo los registros que sean iguales a la
llave. El indicador se prendera cuando el registro leido no sea igual a la llave dada ó cuando
se llegue al fin del archivo

Sintaxis

Factor 1 OpCode Factor2 Hi Lo Eq

Key READE File ó Reg. 81

KEY.- es la llave que se va a usar para posicionar el apuntador en el registro buscado

FILE ó REG.- nombre del archivo o registro al que se le va hacer el READE

Ejem.

Factor 1 OpCode Factor2 Hi Lo Eq

IMITM READE I4101 81

Suponiendo que el valor de IMITM=1542 y que el archivo I41021 estuviera llaveado por
IMITM solo van a leer los registros del F4101 cuyo IMITM sea igual a 1542, y el indicador
81 se prendería cuando ya no sean iguales los registros a la llave buscada.

El READE casi siempre se maneja en conjunto con el SETLL, para primero posicionar el
apuntador y luego ir leyendo los registros que sean iguales a la llave especificada.

READP

Lee el registro anterior, al que esta posicionado actualmente, hace una lectura regresiva

Sintaxis
Factor 1 OpCode Factor2 Hi Lo Eq

READP File ó Reg. 81

Ejem.

Factor 1 OpCode Factor2 Hi Lo Eq

READP I4101A 81

Por ejemplo si el registro en el que se encuentra actualmente

45

50 al hacerle el READP

52
en el que se encuentra actualmente

60

CHAIN

Posiciona y lee el registro que cumpla con la llave dada, este comando es utilizado para
hacer una busqueda directa.

El indicador se activara cuando no se encuentre ningún registro que cumpla con la llave, si
indicador esta apagado quiere decir que se encontró el registro, lo lee y se posiciona en el
primer registro que cumpla con la llave.

Sintaxis

Factor 1 OpCode Factor2 Hi Lo Eq

Key CHAIN File ó Reg. 81

KEY.- es la llave que se va a usar para posicionar el apuntador en el registro buscado

FILE ó REG.- nombre del archivo o registro al que se le va a hacer el CHAIN

Ejem.

Factor 1 OpCode Factor2 Hi Lo Eq

LIKY01 CHAIN I41021 81


Operaciónes aritméticas:

ADD

Operación de suma

Sintaxis

Factor 1 OpCode Factor2

Valor1 ADD Valor2 Resultado

Resultado= Valor1 + Valor2

Factor 1 OpCode Factor2

ADD Valor Resultado

Resultado= Resultado + Valor

Ejem.

Factor 1 OpCode Factor2

Precio ADD Iva CantT 15 2

NOTA: hay que definir los campos de trabajo en este caso CantT se definio como un
campo númerico de 15 enteros con 2 decimales, solo es necesario definirlos una vez, el
campo de Precio e Iva deben haber estado definidos si no provenian de ningún archivo.

SUB

Operación de resta

Sintaxis

Factor 1 OpCode Factor2

Valor1 SUB Valor2 Resultado

Resultado= Valor1 – Valor2

Factor 1 OpCode Factor2

SUB Valor1 Resultado


Resultado= Resultado – Valor1

Valor1.- Cantidad a restar

Valor2.- Cantidad a la que se le va a restar

Resultado.- variable donde quedara el resultado

Ejem.

Factor 1 OpCode Factor2

CantInv SUB CantVend CantRest 15 0

MULT

Operación de multiplicación

Sintaxis

Factor1 OpCode Factor2 Resultado Len Dec

Valor1 MULT Valor2 Resultado 15 0

Resultado= Valor1 * Valor2

Factor1 OpCode Factor2 Len Dec

MULT Valor1 Resultado 15 0

Resultado= Resultado * Valor1

Nota: el campo de Resultado debe estar definido, es decir hay que especificar que sea
númerico, su longuitud y número de decimales

DIV

Operación de división

Sintaxis

Factor1 OpCode Factor2 Resultado Len Dec

Valor1 DIV Valor2 resultado 15 0


Resultado= Valor1/ Valor2

Factor1 OpCode Factor2 Len Dec

DIV Valor1 Resultado 15 0

Resultado= Resultado/Valor1

Factor1 OpCode Factor2 Result Len Dec

Cant1 DIV 5 Cant_Div 15 2

Cant_Div = Cant1/5= 450.2/5= 90.04

SQRT

Raíz cuadrada

Factor1 OpCode Factor2 Resultad Len Dec

SQRT Valor resultado 15 0

Valor.- cantidad a la que se le va a sacar la raíz cuadrada

Ejem.

Factor1 OpCode Factor2 Resultad Len Dec

SQRT 100 RaízC 15 0

RaízC= 10

Mover Datos

Z-ADD

La operación Z-ADD sirve para inicializar el campo de resultado con el valor del factor1,
esta operación solo es valida para campor numéricos

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

Z-ADD Valor2 Resultado 15 0


Valor2= cantidad con la que se va a inicializar el campo de resultado

Ejem.

Factor1 OpCode Factor2 Resultad Len Dec

Z-ADD 500 Cant 15 0

Quedaria

Cant= 500

Nota: ambos deben ser de tipo numérico, con el Z-ADD no se utiliza el factor1

MOVE

Esta operación es utilizada para mover datos y alinearlos a la derecha, la operación MOVE
transfiere los caracteres del factor 2 al campo de resultado . el movimiento empieza con el
carácter que esta más a la derecha del factor 2.

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

MOVE Campo2 Campo3 20

Hay varias maneras en que se pueden mover los datos con move a continuacion se dan
algunos ejemplos para el move

Caso1

Cuando ambos campos son de tipo carácter y el campo de resultado es más largo que el
factor 2

Ejem

ANTES

Factor2= FI LE

Resultado= S O F T W A R E
DESPUES

Resultado= S O F T F I L E

Caso 2

Cuando ambos campos son de tipo númerico y el campo de resultado es más largo que el
factor 2

ANTES

Factor2= 789

Resultado= 1 2 3 4 5 6

DESPUES

Resultado= 1 2 3 7 8 9

Caso 3

El factor 2 es númerico y el campo resultado es tipo carácter y es más largo que el factor2

ANTES
Campo1= 234

Campo2= u n o d o s

DESPUES
Campo2= u n o 2 3 4

Caso 4

Ambos campos son de tipo carácter solo que el campo de resultado es más corto
que el factor2

ANTES
Factor2= unodos

Resultado= t r es

DESPUES
Resultado= odos

Caso 5

Ambos campos son numericos el campo resultado es más corto que el factor2

ANTES
Campo1= u n o d o s

Campo2= t r es

DESPUES
Campo2= odos

MOVEL

La operación MOVEL transfiere los caracteres del factor2 al campo de resultado,


empieza a mover los caracteres de izquierda a derecha del factor 2 al campo de
resultado.

La forma en que mueve los caracteres es muy parecida a la del MOVEL solo que
al revés empieza a mover de izquierda a derecha.

Estos son algunos ejemplos

Caso 1

El campo resultado es más largo que el del factor2, ambos campos son de tipo
carácter
ANTES

Factor2= FI LE

Resultado= S O F T W A R E

DESPUES

Resultado= F I L E W A R E

Caso 2

El campo resultado es más largo que el del factor2, ambos campos son de tipo
numerico

ANTES

Factor2= 1234

Resultado= 5 6 7 8 9 0 1 2

DESPUES

Resultado= 1 2 3 4 9 0 1 2

Los demás ejemplos son parecidos a los vistos en el move solo que en lugar de
alinear el campo del factor2 a la derecha lo alinea a la izquierda al utilizar el
movel

MOVEA

Mueve todos los campos de un arreglo a una variable

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

MOVEA NomArreglo VarResult Long

Por ejemplo si tenemos un arreglo llamado NAME de longuitud 10 tipo caracter


y se quiere mover a una variable llamada alumno de la misma longuitud y tipo.
NAME

E D G A R O M A R

1 2 3 4 5 6 7 8 9 10

Factor1 OpCode Factor2 Resultad Len Dec

MOVEA NAME Alumno 10

Al hacer el MOVEA quedaría:

Alumno= EDGAR OMAR

Condicionales y Ciclos

IFxx

Condición IFxx, es un condicional para realizar determinada acción o no

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

Campo1 Ifxx

{Operac

ELSE

{Operac

ENDIFCampo2

Campo1.- campo que se va a comparar

xx.- tipo de comparación, pueden ser: EQ,NE,GE,GT,LE,LT

Campo2.- variable o valor con el que se comparara

También se pueden adicionar los operadores lógicos AND y OR

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

Campo1 IFxx
ANDxx

Orxx

{Operac

ENDIFCampo2

Ejem

Factor1 OpCode Factor2 Resultad Len Dec

$DOC

$CANTIFEQ

ANDNE

MOVE

ELSE

MOVE

ENDIF‘PA’

‘0’

‘A’

‘B’CLIEN

CLIEN1

CASxx

Este comando permite hacer una selección de la subrutina a ejecutar; si se cumple la


comparación entre el factor1 y el factor2, la subrutina especificada en el campo resultante
es ejecutada.

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

Campo1 CASxx Campo2 NomSubrutina

Ejem.
Factor1 OpCode Factor2 Resultad Len Dec

Mov CASEQ ‘b’ Baja

CABxx

Este comando permite hacer una comparación entre el factor1 y el factor2; si esta
comparación resulta verdadera el programa mandara el control al TAG asociado con la
etiqueta especificada en el campo resultante

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

Campo1 CABxx Campo2 Etiqueta

Ejem.

Factor1 OpCode Factor2 Resultad Len Dec

Mov CABEQ ‘1’ Alta

DO

Inicia y procesa un grupo de operaciones y se llevan acabo tantas veces como se


especifique en el contador o variable

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

DO

{Operac

ENDDOCte. ó Var

ejem

Factor1 OpCode Factor2 Resultad Len Dec

DO

Add
ENDDO10

2Sum20

Estará sumando 2 a Sum hasta que sean 10 veces, que es lo que se especifico

DOWxx

Este ciclo se va a llevar acabo mientras la condición especificada para este ciclo sea
verdadera

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

Campo1 DOWxx

{Operac

ENDDOCampo2

Campo1.- campo que se va a comparar

xx.- tipo de comparación, pueden ser: EQ,NE,GE,GT,LE,LT

Campo2.- variable o valor con el que se comparara

Factor1 OpCode Factor2 Resultad Len Dec

ILMCU DOWEQ

WRITE

ENDDO’01’

I5701

EXSR

Manda ejecutar una subrutina, puede ser ejecutada desde el menú principal o de cualquier
otra subrutina que la mande ejecutar.

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec


EXSR NomRutina

NomRutina.- nombre de la subrutina que se va a ejecutar

BEGSR… ENDSR

El begsr marca el inicio de una subrutina y con el endsr se cierra el bloque de la subrutina

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

Precios BEGSR

Bloque

De la

Rutina

ENDSR

EXFMT

Permite enviar y leer un formato de pantalla

Sintaxis

Factor 1 OpCode Factor2 Hi Lo Eq

EXFMT NomPantalla

GOTO,TAG

El Goto permite variar el flujo de un programa, al llegar a el Goto Etiqueta manda el


control del programa a donde se encuentra la etiqueta especificada en el Goto. Esto se hace
con el TAG Etiqueta que marca la parte del programa a donde se mandara el control del
programa cuando se ejecute el GOTO.

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

GOTO
{cuerpo

{del pgm

TAGEtiqueta

Etiqueta

Actualización de Registros

UPDAT

Actualiza los cambios hechos a un registro

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

UPDAT NomRegistro ó Archivo

Nota: primero hay que posicionar el apuntador en el registro que se desea actualizar

Si en el factor 2 se especifica el nombre de un formato de pantalla, la operación UPDATE


actualiza los datos de la pantalla .

ejem

Factor1 OpCode Factor2 Resultad Len Dec

UPDAT V01200

DELET

Borra el registro en que esta posicionado actualmente el apuntador

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

DELET NomRegistro

Ó Archivo

WRITE
Escribe un registro nuevo en el archivo especificado, para esto el archivo en el que se desea
escribir debe estar declarado en la hoja F una A en la columna de Adición.

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

WRITE NomRegistro

o File

ejem

Factor1 OpCode Factor2 Resultad Len Dec

WRITE I4111

Si en el factor 2 se especifica el nombre de un formato de pantalla, la operación WRITE


escribe ese formato en la pantalla .

Si en el factor 2 se especifica el nombre de un formato de impresora, la operación WRITE


imprime ese formato.

ejem

Factor1 OpCode Factor2 Resultad Len Dec

WRITE Heading

Definición de llaves

KLIST

Define una llave compuesta, se utiliza para declarar una lista de campos llave (KFLD). Esta
lista puede ser usada como argumento de busqueda.

Los KFLDs son los campos que forman la llave como campos de archivos, valores fijos o
variables; pueden ser de uno a más campos.

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

NomKey KLIST
KFLD Campo1

KFLD Campo2

KFLD Campo3

NomKey .- nombre con el que se identificara la llave, este es el nombre con el cual se
llamara la llave para una busqueda.

Campo1…3.- son los campos que forma a esta llave

Ejem.

Factor1 OpCode Factor2 Resultad Len Dec

LIKY01 KLIST

KFLD LIMCU

KFLD LILOCN

KFLD LIITM

Parámetros

PLIST

Define un nombre único para la lista de parámetros que recibirá o pasara el programa, al ser
ejecutado o mandado ejecutar con la operación CALL

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

*ENTRY PLIST

PARM Parámetro1 Lon1 #dec

PARM Parámetro2 Lon2

PARM Parámetro3 Lon3

PARM.- Define cada uno de los parámetros que componen la lista de parámetros del
programa

Lon1..n.- longuitud de cada uno de los parámetros y tipo


CALL

Manda llamar un programa para ser ejecutado, si el programa al que va a ser llamado
requiere que le sean pasado parámetros se especificaran aquí, al mandarlo ejecutar con el
comando CALL

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

Move Dato1 ParaEntr1

Movel Dato2 ParaEntr2

« « «

Movel Daton ParaEntrn

CALL Programa

PARM ParaSal1

PARM ParaSal2

« «

PARM ParaSaln

Dato1..n .- son los datos de entrada que requiere el programa que se esta llamando para
ejecutado

ParaEnt1..n.- nombres de los parámetros, pueden ser iguales o no, lo que si es importante es
el oreden en que son dados, deben ser en el mismo orden en que son especificados en el
programa llamado y del mismo tipo.

ParaSal1..n .- son los parámetros que regresa el programa.

OPEN

Comando para abrir un archivo

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

OPEN Archivo

CLOSE
Cierra un archivo abierto

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

CLOSE Archivo

SETOF

Apaga los indicadores especificados en el Hi,Lo,Eq le asigna el valor de 0 al indicador

Sintaxis

Factor 1 OpCode Factor2 Hi Lo Eq

SETOF In In In

Ejem

Factor 1 OpCode Factor2 Hi Lo Eq

SETOF 82

SETON

Operación para activar los indicadores contenidos en Hi,Lo,Eq le asigna el valor de 1 al


indicador.

Sintaxis

Factor 1 OpCode Factor2 Hi Lo Eq

SETON In In In

Ejem

Factor 1 OpCode Factor2 Hi Lo Eq

SETON 81

Manejo de Arreglos

LOKUP
Hace una búsqueda a un arreglo o tabla

Sintaxis

Factor 1 OpCode Factor2 Hi Lo Eq

Argumento LOKUP Arreglo ó tabla In

Argumento.- elemento del arreglo o tabla buscado

Arreglo ó tabla.- nombre del arreglo o tabla donde se va a hacer la búsqueda

El indicador se prendera cuando el argumento de busqueda sea encontrado en el arreglo o


tabla especificado en el factor 2

Factor 1 OpCode Factor2 Hi Lo Eq

500 LOKUP Precios 81

El arreglo de precios contiene los sig elementos

100

300

500

800

en este caso el indicador 81 se prendera, ya que el valor 500 si existe en el arreglo

XFOOT (Cross Foot an Array)

La operación XFOOT suma todos los elementos de el arreglo númerico especificado en el


factor2 y deja la suma en el campo resultado

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

XFOOT Arreglo VarResul Long #dec

Ejem
Factor1 OpCode Factor2 Resultad Len Dec

XFOOT ArreIva Suma 15 2

Manejo de Cadenas

CAT

Une dos cadenas de caracteres en una sola

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

String1 CAT String2 StringRes 20

String1 .- es el primer campo que se va a concatenar

String2.- segundo campo string que se unira con el primero

StringRes.- es la cadena de caracteres resultante que quedara da la unión de ambos campos

Ejem.

Factor1 OpCode Factor2 Resultad Len Dec

Nom1 CAT Nom2 Nombre 20

Nom1= Maria

Nom2=Cristina

Al concatenar de esta manera quedaria asi:

Nombre= Maria Cristina

O si se quiere que al concatenar quite los espacios, o deje solo algunos la sintaxis es

Factor1 OpCode Factor2 Resultad Len Dec

String1 CAT String2:n StringRes 20

n.- número de espacios entre los string

Ejem.
Factor1 OpCode Factor2 Resultad Len Dec

Nom1 CAT Nom2:1 Nombre 20

Nom1= Maria

Nom2=Cristina

Al concatenar de esta manera quedaria asi:

Nombre= Maria Cristina

SCAN (Scan String or Array)

La operación SCAN checa la variable tipo carácter o arreglo especificado en el factor2 con
el argumento especificado en el factor1. Si el argumento fue encontrado, la posición del el
primer carácter de el argumento es pasado al campo resultante. Si un arreglo numerico es
especificado como el campo resultante, cada ocurrencia del argumento encontrado en
factor2 es pasado en un correspondiente elemento del arreglo.

Sintaxis

Factor1 OpCode Factor2 Resultad Len Dec

Argumento:1 SCAN NomVar Posicion Long #Dec

Argumento.- cadena de caracteres a buscar

NomVar.- variable o campo donde se buscara el argumento

Posición.- nombre de la variable donde se regresa la posición donde encuentra al argumeto


(la primera letra de izq. a derecha)

Long. #Dec.- atributos del cammpo resultante

Ejem

Factor1 OpCode Factor2 Resultad Len Dec

Apellido:1 SCAN Name ResPos 1 0

Apellido= Gu

Name=Pablo Guzmán
Al hacer el SCAN

ResPos=7

El lenguaje de control es:

Es único interface consistente para todas las funciones del sistema,Con un CLP podemos
controlar programas de aplicación.

 INTERACTIVO

 PALABRA CALVE O POSICIONAL


 CON SOLOCITUD (PROMPT)

 COMPILABLE
o RAPIDO
o LOGICA POTENTE
o MANEJO DE ERRORES
o MANIPULACION DE DATOS
o INTERFACE CON PANATALLA Y DB.
 DISEÑO PARA CONTROLAR EL FLUJO DE UNA APLICACIÓN.

PGM (opcional)

DCLF ( archivo)

DCL (variables)

MONMSG

IF

ELSE

SNDRCVF

[PROGARMA]

SNDMSG

CHGVAR

MONMSG
GOTO TOP

ENDPGM(optional)

Reglas de codificación

Nombre de variable.- Para almacenar y actualizar datos y recibir


parámetros. Debe empezar con el carácter ‘&’.

Dos puntos (:)._ Separa la etiqueta del mandato

Blancos. Separa los parámetros de un mandato.

Paréntesis ( ) .- Separa las palabras claves y valores.

Diagonal (/). Conecta las partes de nombres calificados.

Apóstrofe ‘ ‘ .- Al comienzo y al final de una serie de caracteres en


comillas, tal como ‘ALL’.

DCLF declaración de archivo, este comando sirve para declarar archivos

Toda las variable en un cl siempre se declara con el carácter ‘&’ antes del
nombre de la variable.

DCL VAR (&NAME) TYPE ( ) LEN ( ) VALUE ( )

TYPE( ) LEN ( ) VALUE( )


Por deafult (15 5)
*DEC Default (0)
Maximo (15 9)
Default (32)
*CHAR Default (0)
Maximo (9999)
*LGL 1 Default (0)

Ejemplo:

1. DCL &A *LGL VALUE (‘1’)

(2) DCL &B *CHAR 5 ABCD

(3) DLC &c *DEC (5 2) 543.21


CHGVAR.

Este comando nos permite cambiar valores a:

Constantes

Otras variable

Expresiones

Conversión entre valores decimales y de caracteres.

CHGVAR VAR (CL- variable) VALUE (expresión)

Ejemplos de CHRVAR

1.- CHGVAR &MONT –37.2

2.- CHGVAR &NAME ‘TOM SMITH’

3._ CHGVAR &CODE A

4.- CHGVAR &COUNT (&CONTEO + 1)

5.- CHGVAR &IN20 (&IN10 *OR &IN15)

6.- CHGVAR &IN99 (&OPCION = 90)

7.- CHGVAR &AMT ((&PRECIO. & DESCUENTO /0 * & CANT)


Mas acerca de cambiar variable, CHGVAR

Podemos Trabajar con parte de una variable de caracteres usando %SST

Recuperar o cambiar, todo o parte de local data área.

Uso de los interruptores de trabajo como una variable lógica.

%SUBSTRING O %SST FUNCIÓN INTEGRADA

Identifica parte de una variable de caracteres o *LDA

%SS *LDA Posicion-inicial longitud )

nombre –variable

Contenido de la variable o *LDA :

123....X

X= posición – inicial.

Y= longitud.

CHGVAR VAR (&PART) VALUE (%SST(&WHOLE 5 10 ))

CHGVAR VAR (%STT (&WHOLE 5 10)) VALUE (&PART)


Ejemplo de %SUBSTRING

ANTES &NAME: DAVE

CHGVAR VAR(%SUBSTRING(&NAME 4 2)) VALUE(ID)

DESPUÉS &NAME: DAVID


ANTES &DATA: ABCDE12345

&NAME: DAVE

CHGVAR VAR(&NAME) VALUE(%SST(&DATA 2 1))

DESPUÉS &NAME: B

ejemplo 2

usar una variable para posición inicial

PGM

DCL VAR (&TEAM) TYPE(*CHAR) VALUE (ABCDEFGHIJKL)

DCL VAR(&LIB) TYPE (*CHAR) LEN (6) VALUE (IWLIBX)

CONCATENACION

Ejemplo de concatenación:

Cliente XYZ corporación, numero de cuentea 54321, su crédito vencido por 30


días.

&CUSNAME &CUSNUMALPH &DAYSALPH


PGM

DCL &CUSNAME *CHAR 25 ‘XYZ CORPORATION’

DCL &CUSNUM *DEC (5 0)

DCL &CUSNUMALPH *CHAR 5

DCL &DAYS *DEC 3 0

DCL &DAYSALPH *CHAR 3

CHGVAR &DAYSALPH &DAYS

CHGVAR &CUSNUMALPH &CUSNUM

SNDMSG MSG(‘Cliente’ *Bcat & cusname + CUSNUMALPH + *CAT ‘,


numero de cuenta ‘ *BCAT & c

Cuando deseamos condicionar un programa CL solo puede ejecutar un comando


o una etiqueta después de la condición.

IF COND ( exprecion ) THEN (comando)

ELSE CMD(comando)

Operadores relacionales :

Operadores relacionales
< *LT Menor que

= *EQ Igual

> *GT Mayor que

<= *LE Menor igual

_< *NL No menor

_> *NG No mayor

>= *GE Mayor igual

_= *NE No igual o distinto


Ejemplo :

1.- IF COND (&RESP * EQ 5 ) THEN ( CALL PGM (CUSING))

2.- IF (&AMTDUE > ) THEN ( CALL ARC900)

3.- IF (&AMTDUE *GT 1000) SENBRKMSG MSG (‘HOLA’)

ELSE CDM (GOTO LABEL3)

4.- IF (&A *NE &b) RETURN

5.- IF (&A = &B)

ELSE RETURN

6.- IF (&IN99) GOTO ENDLABEL

Otra forma de usar el IF para que ejecute mas de una línea se utiliza la siguiente
sentencia

IF COND (condición) THEN (DO)

CALL PGM1

CALL PGM2

END DO

ELSE CMD (DO)

CALL PGM3

CALL PGM4

ENDDO

Mandato de conversión de fecha, cvtdat

Cvtdat date (constannte o variable cl) tovar( variable CL)

Fromfmt *JOB *JOB *JOB


*SYSVAL *SYSVAL *SYSVAL

*MDY TOFMT *MDY TOSEP *NONE

*YMD *DMY *CARÁCTER SEPARADOR

*JUL *JUL

JEMPLO CVTDAT

PGM

DCL VAR (&DATE) TYPE (*CHAR) LEN(6)

DCL VAR (& YMRD) TYPE (*CHAR) LEN(6)

RTVSYSVAL SYSVAL(QDATE) TOVAR(&YRMD) +

FORMFTM(*SYSVAL) TO FMT(*YMD) TOSEP (*NONE)

CALL PGM(PYC50) PARM(&YRMD)

….

….

….

ENDPGM

MONMSG

Este comando se utiliza para supervisar mensajes de error dentro de un programa

Ejemplo: Disponibilidad de archivo.

ALCOBJ OBJ((PRLIB/PRMST *FILE *EXCL) WAIT(0)

MONMDG MSGID(CPF1002) EXEC(SNDURSMSG MSG(‘ARCHIVO +

PLANILLAS EN USO’) TOMSGQ(*EXT)


DLCOBJ OBJ((PRLIB/PRMST * FILE *EXCL))

Mandato para supervisar mensaje

MONMSG MSGID() CMPDTA9) EXEC()

MSGID- requerido

MSGID (MCH1211) solo este mensaje.

MSGID (CPF1500) CPF1500 – CPF1599

MSGID (CPF0000) CPF0000 – CPF9999

MSGID (CPF9999) Error de funcion: se activa por mensaje de

Escape no supervisados

CMPDTA – (Opcional)

Ejemplo

MONMSG MSGID(CPF2182) CMPDTA(PLALIB)

EXEC – (Opcional)

Mandato CL

Pgm

DCL

DCL
DCL

MONMSG Nivel de programa

MONMSG compruebe aquí si el mensaje esta supervisado

MONMSG Supervisión de todos los mandatos de programa

NO EXEC: ignore

MONMSG Nivel de mandato

MONMSG Compruebe aquí primero si el mensaje esta supervisado

Supervisar solo el mandato anterior.

NO EXEC: ignore.

ENDPGM

Ejemplo de supervisar mensajes

Comprobar existencia y autorización de un objeto

CHKOBJ OBJ (nombre-objeto) +

OBJTYPE(CPF- tipo-de-objeto) + AUT(derecho-de automatización)

Ejemplo:

1 CHGOBJ OBJ(IWLIB/APR010 OBJTYPE(*PGM) /* existencia*/

MONMSG…………..

2 CHKOBJ OBJ(APPVEND) OBJTYPE(*PGM) + /* existencia*/

MBR(APPVAND) AUTO(*DLT) /*y autorizacion*/

MONMSG…………

Ejemplo de supervisar mensajes

PGM
DCL…

/*NVEL DE PROGRAMA

MONMSG CPF9801 EXCE(GOTO NO ENCONT)

MONMSG CPF7302

/* FIN NIVEL DE PROGRAMA

CHKOBJ PYPMAST *FILE

CHKOBJ GLPMAST *FILE

DE NUEVO: CRTPF QTEMP/WORK…..

MONMSG CPF7302 EXEC (DO)

DTLF QTEMP/WORK

GOTO DE NUEVO

ENDDO

CRTPF PLALIB/PYPTRAN

GOTO FIN

NO ENCONT: SNDURSMSG TOMSGQ(*EXT) MSG(‘ NO ENCUENTRA EL


ARCHIVO+ CHECAR LISTA DE BILBIOTECA DE LA SESIOBN’0

FIN: ENDPGM

También podría gustarte