Introduccion As 400
Introduccion As 400
Introduccion As 400
TABLA BASE
TABLA = ARCHIVO
RENGLON = REGISTRO
COLUMNA = CAMPO
b)
Manejo De Librerias, Objetos, Fuentes:
Se puede manejar una librería por sistema, por area/depto., etc. (esto es definido por
el area de sistemas).
fuente).
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.
Bibliotecas.
Objetos.
Fuentes.
Opciones definidas por el usuario.
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.
Ejemplo * QCA nos muestra todos las Bibliotecas que contengan esta
cadena
De caracteres.
F5 Reactualiza la consulta.
F23 Con esta tecla podeomos ver los demas opciones que se
tinenen.
Eliminar un objeto.
Renombrar un objeto.
Mover un objeto.
Copiar un objeto:
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.
Ejecutar un objeto.
Debug interectivo.
F5 Reactualiza la consulta.
Member:
Name : Nombre del Fuente a trabajar, pueden tomar los sigientes valores:
Copiar un fuente
1.- Estando en la pantalla del WRKMBRPDM..
Editar un fuente .
1. Utilizando el PDM.
Opciones permitida:
Crear fuentes
Editar fuentes
Imprimir fuentes
Copiar registro de un archivo (fuentes) a otro fuente o un archivo
de
impresión
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.
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.
Comandos.
Para ver una lista de fuentes, usando el comando STRSEU, haga lo siguientes:
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 .
Crear un fuente:
Para crear un miembro, siga los pasos que se muestran a continuación:
CBL Cobol
PF Archivo Físico
RPG RPG
TXT Texto
eración:
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 :
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.
Editar un fuente
Inicio de datos
Fin de datos
Formato
Inserción
Columnas
Tabulaciones
Exclusión (exclude)
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.
Para mostrar o copiar otro fuente del mismo archivo, teclee el nombre del
fuente
en el prompt de browse y presione enter.
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)
teclas de roll).
columnas).
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.
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:
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.
encontrar/cambiar
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 :
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.
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).
Antes / Después N A An B Bn
Columnas Y COLS
Copiar Y/N C Cn CC
Borrar Y/N D Dn DD
Excluir Y X Xn XX
Formato Y F F? Fxx
Inserción N I In
Mover N M Mn MM
Solapar N O On OO
Prompt N P P? Pxx
Posición relativa Y + +n – -n
Comandos de SEU
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.
Archivo Fisico
*REPLACE *DROP
CRTFILE {*NO
*YES
DSPPFM FILE(LIB NAME/FILE NAME) MBR(*FIRST) => despliega el contenido del arch.
SEU==> F50001
FMT PF ….A……….T.NAME++++++RLEN++TDPB……FUNCTIONS++++++++++++++++++
0010.00 A R STUCLS
0013.00 A CLASNO 4
0014.00 A STATUS 4
0015.00 A FGRADE 3
0017.00 A K STUNO
NIVELES DE UN ARCHIVO:
FILE -LEVEL
RECORD-LEVEL
FIELD-LEVEL
KEY FIELD-LEVEL
SELECT/OMIT-LEVEL
(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).
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.
Seu==> F50001LA
FMT PF …..A……….T.Name++++++Rlen++Tdpb……Functions++++++++++++++++++
0011.00 A K DATE
ARCHIVO CAMPOS
SEU==> F50001LB
FMT PF …..A……….T.NAME++++++RLEN++TDPB……FUNCTIONS++++++++++++++++++
0011.00 A J JOIN(1 2)
0014.00 A STUNAM
0015.00 A CLASNO
0012.00 A K STUNO
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.
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)
DSPDBR .- Display data base rel. (Para consultar archivos lógicos referenciados a
un arch.
físico.)
programa.)
caracteristicas.
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.
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:
10
20
30
40
50 Informacion
60
70
80
90
99
Aviso
Error
Error grave
Integridad de dispositivos
Accion
Comando Descipcion
Wn
W-/+n
Se Posiciona en la columas n
DSPDBR
Nos muestra todos los logicos que están relacionados con este archivo.
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
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
DSPOBJD P4190
DSPOBJD
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
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.
STRSDA <ENTER>.
1. Design screens
2. Design menus
Selection or command
===>1
Ejemplo :
Ejemplo:
Para definir un campo numérico se siguen los mismos pasos que para un carácter,
solo que se utiliza los siguiente:
Ejemplo:
Para definir un campo numerico con decimales solo es necesario indicar un punto
( . ) apartir de cuantos decimales se utilicen, ejemplo
Eliminando campos
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.
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,
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.
Error Message
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.
F14 .- Regla. ,Al presionar esta tecla nos despliega una regla, en la posición
actual
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.
todos los archivos descritos por DDS pueden ser usados por todos los
componentes de software del as/400.
OBJETIVOS.
1. CONTROL
1. DESCRIPCION ARCHIVOS
2. ADICIONALES
2. ENTRADA
1. CONTROL
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 *************************************
0002.00 H* —————————————————————
0003.00 H*
ESPECIFICACIONES DE ARCHIVOS:
HOJA ‘F’
LAS ESPECIFICACIONES DE DESCRIPCION DE ARCHIVOS F) DEFINEN
TODOS LOS ARCHIVOS REQUERIDOS EN EL PROGRAMA.
Pmt SeqNbr Filename Typ Desig EOF Seq Fmt Mode RAT Device K
FX 0034.00 F0001__ I
F__E_K
DISK___ _
_____ ______ _ UC
Type.- I- Input, O- Output, U- Update, C- Combined
SEU==> P550004
FMT FC … ..F……….……..Ext-record………………RcdnbrKOption….Entry+++….
0038.00 F****************************************************************
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++++++
0044.00 E* ————————-
0049.00 E TTDOCO 10 8 0
1307.00 C***********************************************************
1308.00 **
Pmt SeqNbr FromFile ToFile Tbl /Rcd /Tbl Len P/B/L/R Dec A/D
E 0049.00 _______ ______ TTDOCO ____ _10 __8 ___ __0 ___
ESPECIFICACIONES DE ENTRADA:
HOJA ‘I’
Las especificaciones de entrada (i) describen los registros y campos a ser usados
en el programa.
SEU==> P550004
FMT DS …..IDsname…NODsExt-file++………….OccrLen+………………..
0058.00 I 1 40 VTX001
0059.00 I 41 80 VTX002
SEU==> P550004
0058.00 I 1 40 VTX001
0059.00 I 41 80 VTX002
FMT N …..I…………..Namedconstant+++++++++C………Fldnme………….
0021.00 I ‘xyz’
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++++
C 0127.00
READ
I4102A
99
LR
lectura
USO DE INDICADORES
FMT C …..CL0N01N02N03Factor1+++Opcde…Factor2+++ResultLenDHHiLoEqComments++++
0156.00 C …….
ESTADOS DE UN INDICADOR:
PROGRAMACION INTERACTIVA
PREPARACION PREVIA A LA CODIFICACION DEL PROGRAMA
IDENTIFICACION DE PANTALLAS
EJEMPLO:
IDENTIFICACION DE ARCHIVOS
IDENTIFICACION DE ARCHIVOS
DDS DEL ARCHIVO DE CLIENTES
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)
DIV (DIVIDIR)
5.- En las operaciones: add, sub, mult y div, el factor 1 puede omitirse.
Sintaxis
Se puede usar para posicionar y verificar que el apuntador se posicione antes del primer
registro que sea igual a la llave
Ejemplo
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
Ejemplo
30 2) si IMKY01=35
60 3) si IMKY01=90
70
80
85
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
READ
Sintaxis
Ejem.
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
Ejem.
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
Ejem.
READP I4101A 81
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
Ejem.
ADD
Operación de suma
Sintaxis
Ejem.
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
Ejem.
MULT
Operación de multiplicación
Sintaxis
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
Resultado= Resultado/Valor1
SQRT
Raíz cuadrada
Ejem.
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
Ejem.
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
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 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.
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
Sintaxis
E D G A R O M A R
1 2 3 4 5 6 7 8 9 10
Condicionales y Ciclos
IFxx
Sintaxis
Campo1 Ifxx
{Operac
ELSE
{Operac
ENDIFCampo2
Sintaxis
Campo1 IFxx
ANDxx
Orxx
{Operac
ENDIFCampo2
Ejem
$DOC
$CANTIFEQ
ANDNE
MOVE
ELSE
MOVE
ENDIF‘PA’
‘0’
‘A’
‘B’CLIEN
CLIEN1
CASxx
Sintaxis
Ejem.
Factor1 OpCode Factor2 Resultad Len Dec
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
Ejem.
DO
Sintaxis
DO
{Operac
ENDDOCte. ó Var
ejem
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
Campo1 DOWxx
{Operac
ENDDOCampo2
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
BEGSR… ENDSR
El begsr marca el inicio de una subrutina y con el endsr se cierra el bloque de la subrutina
Sintaxis
Precios BEGSR
Bloque
De la
Rutina
ENDSR
EXFMT
Sintaxis
EXFMT NomPantalla
GOTO,TAG
Sintaxis
GOTO
{cuerpo
{del pgm
TAGEtiqueta
Etiqueta
Actualización de Registros
UPDAT
Sintaxis
Nota: primero hay que posicionar el apuntador en el registro que se desea actualizar
ejem
UPDAT V01200
DELET
Sintaxis
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
WRITE NomRegistro
o File
ejem
WRITE I4111
ejem
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
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.
Ejem.
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
*ENTRY PLIST
PARM.- Define cada uno de los parámetros que componen la lista de parámetros del
programa
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
« « «
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.
OPEN
Sintaxis
OPEN Archivo
CLOSE
Cierra un archivo abierto
Sintaxis
CLOSE Archivo
SETOF
Sintaxis
SETOF In In In
Ejem
SETOF 82
SETON
Sintaxis
SETON In In In
Ejem
SETON 81
Manejo de Arreglos
LOKUP
Hace una búsqueda a un arreglo o tabla
Sintaxis
100
300
500
800
Sintaxis
Ejem
Factor1 OpCode Factor2 Resultad Len Dec
Manejo de Cadenas
CAT
Sintaxis
Ejem.
Nom1= Maria
Nom2=Cristina
O si se quiere que al concatenar quite los espacios, o deje solo algunos la sintaxis es
Ejem.
Factor1 OpCode Factor2 Resultad Len Dec
Nom1= Maria
Nom2=Cristina
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
Ejem
Apellido= Gu
Name=Pablo Guzmán
Al hacer el SCAN
ResPos=7
Es único interface consistente para todas las funciones del sistema,Con un CLP podemos
controlar programas de aplicación.
INTERACTIVO
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
Toda las variable en un cl siempre se declara con el carácter ‘&’ antes del
nombre de la variable.
Ejemplo:
Constantes
Otras variable
Expresiones
Ejemplos de CHRVAR
nombre –variable
123....X
X= posición – inicial.
Y= longitud.
&NAME: DAVE
DESPUÉS &NAME: B
ejemplo 2
PGM
CONCATENACION
Ejemplo de concatenación:
ELSE CMD(comando)
Operadores relacionales :
Operadores relacionales
< *LT Menor que
= *EQ Igual
ELSE RETURN
Otra forma de usar el IF para que ejecute mas de una línea se utiliza la siguiente
sentencia
CALL PGM1
CALL PGM2
END DO
CALL PGM3
CALL PGM4
ENDDO
*JUL *JUL
JEMPLO CVTDAT
PGM
….
….
….
ENDPGM
MONMSG
…
…
MSGID- requerido
Escape no supervisados
CMPDTA – (Opcional)
Ejemplo
EXEC – (Opcional)
Mandato CL
Pgm
DCL
DCL
DCL
NO EXEC: ignore
NO EXEC: ignore.
ENDPGM
Ejemplo:
MONMSG…………..
MONMSG…………
PGM
DCL…
/*NVEL DE PROGRAMA
MONMSG CPF7302
DTLF QTEMP/WORK
GOTO DE NUEVO
ENDDO
CRTPF PLALIB/PYPTRAN
GOTO FIN
FIN: ENDPGM