Curso As 400 y RPG
Curso As 400 y RPG
Curso De As/400
I.-
Introduccion A As/400
ESTUDIANTES
CLASES
DEPARTAMENTOS
GRADOS
ESTUDIANTES
TEXTOS
SALONES
Se almacenan datos en tablas, archivos, grupos de datos, etc. con un minimo de datos
redundantes.
- 1
El Modelo Relacional.
ejemplo.:
curso
codigo
l001
l103
l211
l303
l001
l214
l211
l103
l001
l306
l370
Nombre
Italiano
Ingles
Espaol
Chino
Italiano
Griego
Espaol
Ingles
Italiano
Japones
Cobol
num
inscr
12
23
5
44
23
11
1
0
2
3
99
instructor
victor g
juan e
pedro f
luis lee
victor g
homero
pedro f
juan e
victor g
homero
homero
- 2
tetra
88/1
88/1
88/1
88/1
88/1
88/1
88/2
88/2
88/2
88/2
88/2
clase
salon max
1
30
4
40
4
40
3
50
1
30
6
35
4
40
4
40
1
30
6
35
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 seleccin
logica de registros (sql where......) funcionalmente, esto es una seleccin de campos.
con frecuencia se usan los queries para visualizar los datos de los archivos, para el usuario
final.
b)
*PGM .-
- 3
MAIN
S106CB4A
User tasks
Office tasks
General system tasks
Files, libraries, and folders
Programming
Communications
Define or change the system
Problem handling
Display a men
Information Assistant options
Client Access/400 tasks
===>
F3=Exit
F4=Prompt
F23=Set initial men
F9=Retrieve
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 ms fcil.
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 opcin en la lnea de comando.
F9 Esta opcion nos muestra el comnado anterior ejecutado
- 4
Selection or command
===>
F3=Exit
F12=Cancel
F4=Prompt
F9=Retrieve
F18=Change defaults
F10=Command entry
El PDM es una herramienta del AS/400 que facilita el control de Bibliotecas, objeto y
fuentes, de una manera rpida y eficiente, favoreciendo a la productividad en la operacin. 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.
F3=Exit
. . . . . . . . . . .
F5=Refresh
*LIBL
F12=Cancel
*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 opcin despliega lo que tenga en los * .
Ejemplo * QCA nos muestra todos las Bibliotecas que contengan esta cadena
De caracteres.
- 6
. . . . . . .
Library
QSYS
QSYS2
QHLPSYS
QUSRSYS
QPDA
QGPL
QTEMP
Type
*PROD-SYS
*PROD-SYS
*PROD-SYS
*PROD-SYS
*PROD-PRD
*PROD-USR
*TEST-USR
S106CB4A
*LIBL
3=Copy
9=Save
5=Display
10=Restore
7=Rename
12=Work with ...
Text
System Library
System Library for CPI's
Bottom
Parameters or command
===> ___________________________________________________________________________
F3=Exit
F4=Prompt
F5=Refresh
F6=Add to F9=Retrieve
F23=More options
F24=More keys
F10=Command entry
. . . . . . . . . .
MTY2
*CURLIB, name
Object:
Name . . . . . . . . . . .
Type . . . . . . . . . . .
Attribute . . . . . . . .
*ALL
*ALL
*ALL
F3=Exit
F5=Refresh
F12=Cancel
- 8
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.
Library . . . . .
Object
DFU1
DFU2
DFU3
DFU5
EFRA
JEFRA
JFECHA
JFIN02
4=Delete
9=Save
Type
*PGM
*PGM
*PGM
*PGM
*PGM
*PGM
*PGM
*PGM
Attribute
DFU
DFU
DFU
DFU
DFU
CLP
CLP
CLP
5=Display
10=Restore
S106CB4A
7=Rename
11=Move ...
Text
dfu insp
DFU2
DFU4
DFU5
EFRA
clp de prueba
clp de prueba
PRUEBAS
More...
Parameters or command
===>
F16=User options
F21=Print list
F17=Subset
F23=More options
Eliminar un objeto.
Utilizar la opcin 4 (delete) en el objeto a eliminar.
Renombrar un objeto.
Utilizar la opcin 7 (rename) en el objeto a renombrar
Mover un objeto.
1. Utilizar la opcin 11 (Move) en el objeto a mover.
2. Especificar la biblioteca destino.
Copiar un objeto:
1. Utilizar la opcin 13 (Move) en el objeto a mover.
2. Especificar la biblioteca destino.
- 9
F18=Change defaults
F24=More keys
Ejecutar un objeto.
Utilizar la opcin 16 (Run) en el objeto a ejecutar.
Cambiar el texto de un objeto.
Utilizar la opcin 13 (Change text) en el objeto a ejecutar.
Debug interectivo.
Utilizar la opcin 34 ( Interactive source debugger ) en el objeto a trabajar.
En esta pantalla tenemos las siguientes teclas de funcin ms usuales:
Nota: Solo se pueden ejecutar las opciones y teclas de funcion que se encuentren
visualizadas en la pantalla.
. . . . . . . . . .
JDEMTY
Library . . . . . . . .
MTY1
Member:
Name . . . . . . . . .
Type . . . . . . . . .
P43500
*ALL
F3=Exit
F4=Prompt
F5=Refresh
F12=Cancel
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.
- 11
JDEMTY
MTY1
Position to
Member
FV4108R
F3002LR
F4102$J
F41021$A
Type
PF
LF
LF
LF
S106CB4A
. . . . .
6=Print
14=Compile
7=Rename
15=Create module...
Text
Lot Master
LF - branch comp, 2nd item, Thru date
JF - Location/Work order(F4102 F4801)
JF - Location/Branch (f41021/f4102)
More...
Parameters or command
===>
F3=Exit
F4=Prompt
F9=Retrieve
F10=Command entry
F5=Refresh
F23=More options
F6=Create
F24=More keys
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
- 13
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 edicin del SEU. Para desplegar la
ventanas de comandos del sistema, presione F21. No es posible teclear datos en la pantalla de
edicin del SEU mientras la ventana de comandos del sistema se encuentre desplegada.
Trabajar con fuentes
Iniciar una sesin en SEU
Desde el PDM (program development manager). Dentro del PDM utilice la opcin
2 (editar) O 5 (desplegar) en la pantalla de trabajo con fuente.
Desde el men de programador. Selecione la opcin 8 (editar una fuente de un
archivo fuente) o bien, seleccione la opcin 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 lnea de
Comandos.
Start Source Entry Utility (STRSEU)
Type choices, press Enter.
Source file . . .
Library . . . .
Source member . .
Source type . . .
Option . . . . . .
Text 'description'
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
MTYSRC
MTY
*ALL
*BLANK
*BLANK
Name, *PRV
Name, *LIBL, *CURLIB, *PRV
Name, *PRV, *SELECT
Name, *SAME, BAS, BASP...
*BLANK, ' ', 2, 5, 6
.
- 15
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
seleccin de fuente puede ser por:
Nombre parcial
Tipo de miembro
Fecha de creacin o de ultimo cambio.
Texto o texto parcial .
Descripcin
CL program
Cobol
Archivos de pantallas
Mens (UIM)
Archivo Fsico
Archivo de Reportes
Archivo de Querys
RPG
Texto
La figura anterior nos muestra los tipos de fuentes mas utilizados en AS/400.
- 16
MTYSRC
MTY1
Position to
Member
FIN03L
FIN03LA
FIN04
FIN04BK
FIN04LB
FIN25
Type
LF
LF
PF
PF
LF
PF
S106CB4A
. . . . .
6=Print
14=Compile
7=Rename
15=Create module...
Text
*archivo logico de prueba
archivo logico de carr
ARCHIVO FISICO DE CAR/AL/MAT
ARCHIVO FISICO DE PIN04(ALCARMAT)
ARCHIVO LOGICO DE FIN04
ARCHIVO INFORMACION
More...
Parameters or command
===>
F3=Exit
F4=Prompt
F9=Retrieve
F10=Command entry
F5=Refresh
F23=More options
F6=Create
F24=More keys
Para iniciar una sesin del SEU desde el PDM con la opcin 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 edicin, eliminacin,
actualizacin o relocalizacion de registro.
Par mostrar un fuente :
Especifique 5 (Browse) en el parmetro option del comando STRSEU.
Seleccione la opcin 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 sesin 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 Maysculas.
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 impresin (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.
- 17
Las lneas de inicio y fin de datos son mostradas para designar el inicio y el fin de un
fuente.
Durante la edicin de fuentes, puede dividir (split) la pantalla de edicin con otra pantalla
de browse de un fuente o archivo de impresin (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 impresin, teclee su nombre en prompt spool file.
Para mostrar o copiar un archivo de impresin de otro usuario, teclee el nombre del
usuario en el campo correspondiente, teclee el nombre del archivo de impresin y
presione enter.
3. Si deseas copiar el fuente o archivo de impresin completo teclee una y en el
prompt de copy all rcords.
Presione enter y Se unas de las siguientes opciones pasarn:
Si esta en modo browse, la lnea de divisin (lnea separadora de las dos sesiones) es
colocada en la parte media de la pantalla de edicin 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 impresin es copiado dentro del fuente que se esta editando, pero
la sesin 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 edicin es dividida y el comando de copia bloque (CC) es colocado en el
primer y ultimo registro del fuente o archivo de impresin que esta desplegando.
Eliminando un fuente
Especifique 6(Print) en el parmetro OPTION del comando del STRSEU
Selecionando la opcin 6(Print) en la pantalla de trabajar con miembros
(WRKMBRPDM)
Comando
BROWSE
Y
N
Y
Y/N
Y/N
Y/N
Y
Y
N
N
N
Y
N
N
N
Y
N
Y
Posicionamiento absoluto
Antes / Despus
Columnas
Copiar
Copiar repetidamente
Borrar
Excluir
Formato
Insercin
Insertar con formato
Insertar con prompt
Imprimir lnea
Mover
Solapar
Prompt
Posicin relativa
Repetir
Show
COMANDO DE LINEA
n.
A
COLS
C
CR
D
X
F
I
IF
IP
LP
M
O
P
+
RP
SF
n
An
Cn
CRn
Dn
Xn
F?
In
IFn
IP?
LPn
Mn
On
P?
+n
RPn
SFn
n.n
B
Bn
CC
CCR
DD
XX
Fxx
IF?
Ipxx
LLP
MM
OO
Pxx
RPP
SL
IF?n
-n
RPPn
SLn
Comandos de SEU
Podemos usar los comandos del SEU para realizar operaciones de encontrar/cambiar, para
salir de la sesin y para establecer los defaults de la misma. Los comados proveen un fast path
para estas operaciones, los cuales tambin pueden ser accesadas atravs de las pantallas de
opciones. Los valores tecleados por medio de los comandos del SEU aparecern en dichas
pantallas.
Los comandos deben ser tecleados sobre la lnea de comandos del SEU . Para recuperar
el comando anterior presione F9 (retrive). Es posible mover el cursor desde el rea de datos a la
lnea 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 sesin.
COMANDOS
Funcin
- 22
Seccin Sesin
Edicin Browse
Depende de
la Ssesin
FIND o F
CHAGE o C
TOP o T
BOTTOM o
BOT o B
SAVE
FILE
CANCEL
SALIR DE SEU
Podemos salir del SEU usando la pantalla de salida. Para accesar a dicha pantalla,
presione F3 (Salir) en la pantalla de edicin 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 edicin.
Cancelar la funcin de encontrar string por PDM,
- 23
IV.
Archivo Fisico
F
O
R
M
A
T
O
EST_NO
7
0
EST_NOMB 20
A
DIRECC
cuales se 20
A
CAMINO DE ACCESO
LA LLAVE ES EST_NO
D
A
T
O
S
DATOS
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
*REPLACE
FMTOPT {*MAP
*DROP
CRTFILE {*NO
*YES
DSPPFM
MBR(*FIRST) =>
- 24
NIVELES DE UN ARCHIVO:
FILE -LEVEL
RECORD-LEVEL
FIELD-LEVEL
KEY FIELD-LEVEL
SELECT/OMIT-LEVEL
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 )
CLASS
CAMPOS
STUDENT NUMBER (STUNO)
STUDENT NAME
(STUNAM)
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
- 26
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 informacin)
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 lgicos referenciados a un arch.
fsico.)
DSPPGMref.- Display program reference (para consultar que archivos se estan utilizando en un
programa.)
- 27
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 enva 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.
Work with Submitted Jobs
01/14/99
Submitted from . . . . . . . . :
Type options, press Enter.
2=Change
3=Hold
4=End
8=Work with spooled files
Opt
Job
P550025
P550002
P550022BK
User
MTY02
MTY09
MTY09
S106CB4A
11:27:08
*USER
5=Work with
Type
BATCH
BATCH
BATCH
6=Release
7=Display message
-----Status----OUTQ
ACTIVE
JOBQ
Function
CMD-CRTRPGPGM
Bottom
Parameters or command
===>
F3=Exit
F4=Prompt
F5=Refresh
F12=Cancel
F9=Retrieve
P550025
User:
MTY02
Number:
Opt
5
File
P550025
QPJOBLOG
Device or
Queue
QPRINT
QEZJOBLOG
User Data
P550025
Status
RDY
RDY
Total
Pages
26
6
957927
6=Release
Current
Page
7=Messages
Copies
1
1
Bottom
- 28
F10=View 3
F11=View 2
________________
F12=Cancel
F22=Printers
F24=More keys
Para revisar la compilacin de un programa con la opcin 5 (display) del Work with Job
Spooled Files desplegara la siguiente pantalla
Display Spooled File
File . . . . . :
P550025
Page/Line
25/46
Control . . . . .
B
Columns
1 - 78
Find . . . . . .
_____________________*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+...
.8....+....9....+....0....+....1....+....2....+....3..
Message . . . . :
RPG provides a Separate-Indicator area for the
file.
* * * * *
E N D
O F
M E S S A G E
S U M M A R Y
* * * * *
P5525MG
- CAMBIO DE GREGORIANO A JULIANO
1/P550025
5769RG1 V4R2M0 980228
IBM RPG/400
MTY
F i n a l
S u m m a r y
Message Count: (by Severity Number)
TOTAL
00
10
20
30
40
50
85
7
0
1
65
12
0
Program Source Totals:
Records . . . . . . . . . . :
794
Specifications . . . . . . :
391
Table Records . . . . . . . :
1
Comments . . . . . . . . . :
400
Compile stopped. Severity level 40 errors found in file.
* * * * *
E N D
O F
C O M P I L A T I O N
* * * * *
01/14/99
09:46:48
Page
26
Bottom
F3=Exit
F12=Cancel
F19=Left
F20=Right
F24=More keys
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:
Display Spooled File
File . . . . . :
P550025
Page/Line
25/1
Control . . . . .
B
Columns
1 - 78
Find . . . . . .
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+...
P5525MG
- CAMBIO DE GREGORIANO A JULIANO
5769RG1 V4R2M0 980228
IBM RPG/400
MTY
M e s s a g e
S u m m a r y
* QRG1025 Severity: 40
Number:
8
Message . . . . :
Unable to open the /COPY member. Specification
is ignored.
* QRG2120 Severity: 40
Number:
2
Message . . . . :
External description not found for file
specified as externally described. File ignored.
* QRG5132 Severity: 30
Number:
3
Message . . . . :
Factor 2 entry is not the name of a file or a
record format.
* QRG5176 Severity: 30
Number:
1
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
- 29
Gravedad
Descripcion
00
10
20
30
40
50
Informacion
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
60
70
80
90
99
Comando
T
B
Wn
W-/+n
Pn
Descipcion
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
- 30
DSPDBR <F4>
Display Data Base Relations (DSPDBR)
Type choices, press Enter.
File . . . . . . . . . . . . . .
Library . . . . . . . . . . .
Output . . . . . . . . . . . . .
f4101
*LIBL
*
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+..
.
1/15/99
Display Data Base Relations
DSPDBR Command Input
File . . . . . . . . . . . . . . . . . . . : FILE
F4101
Library . . . . . . . . . . . . . . . . . :
*LIBL
Member . . . . . . . . . . . . . . . . . . : MBR
*NONE
Record format . . . . . . . . . . . . . . . : RCDFMT
*NONE
Output . . . . . . . . . . . . . . . . . . : OUTPUT
*
Specifications
Type of file . . . . . . . . . . . . . . . :
Physical
File . . . . . . . . . . . . . . . . . . . :
F4101
Library . . . . . . . . . . . . . . . . . :
ELAPRDDTAX
Member . . . . . . . . . . . . . . . . . :
*NONE
Record format . . . . . . . . . . . . . . :
*NONE
Number of dependent files . . . . . . . . :
18
Files Dependent On Specified File
Dependent File
Library
Dependency
JREF
Constraint
F4101JA
ELAPRDDTAX
Data
1
F4101LJ
ELAPRDDTAX
Data
F4101LK
ELAPRDDTAX
Data
F4101LI
ELAPRDDTAX
Data
F4101LA
ELAPRDDTAX
Data
F4101LB
ELAPRDDTAX
Data
F4101LC
ELAPRDDTAX
Data
F4101LD
ELAPRDDTAX
Data
F4101JD
ELAPRDDTAX
Data
1
F4101JE
ELAPRDDTAX
Data
1
F41021JC
ELAPRDDTAX
Data
2
F43090JA
ELAPRDDTAX
Data
2
F4101LB
JDFSRC73
Data
- 31
DSPFD
Este comando despliega la descripcin completa de un archivo, como la librera donde se
encuentra el fuente, el file, la fecha en que fue creada y por quien fue creado,el tipo de archivo,
nmero de campos que lo forman, total de registros, y todos los atributos del archivo, etc.
DSPFD F4101
DSPFD
<F4> o ENTER
Display File Description (DSPFD)
Type choices, press Enter.
File . . . . . . . .
Library . . . . .
Type of information
+ for
Output . . . . . . .
File attributes . .
+ for
. . . . . .
. . . . . .
. . . . . .
more values
. . . . . .
. . . . . .
more values
F4101
*LIBL
*ALL
___
*
*ALL
Nos muestra esta pantalla donde escribimos el nombre del fuente a buscar y la librera
donde se encuentra, si no sabemos el nombre de la librera con *libl lo toma de la librera donde
lo encuentre primero
Esto es parte de lo que nos muestra el DSPFD
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+...
1/15/99
Display File Description
DSPFD Command Input
File . . . . . . . . . . . . . . . . . . . : FILE
F4101
Library . . . . . . . . . . . . . . . . . :
*LIBL
Type of information . . . . . . . . . . . . : TYPE
*ALL
File attributes . . . . . . . . . . . . . . : FILEATR
*ALL
System . . . . . . . . . . . . . . . . . . : SYSTEM
*LCL
File Description Header
File . . . . . . . . . . . . . . . . . . . : FILE
F4101
Library . . . . . . . . . . . . . . . . . . :
ELAPRDDTAX
Type of file . . . . . . . . . . . . . . . :
Physical
File type . . . . . . . . . . . . . . . . . : FILETYPE
*DATA
Auxiliary storage pool ID . . . . . . . . . :
01
Data Base File Attributes
Externally described file . . . . . . . . . :
Yes
File level identifier . . . . . . . . . . . :
0980401202049
reation date . . . . . . . . . . . . . . . :
04/01/98
Text 'description' . . . . . . . . . . . . : TEXT
Item Master
Distributed file . . . . . . . . . . . . . :
No
DBCS capable . . . . . . . . . . . . . . . :
No
Maximum members . . . . . . . . . . . . . . : MAXMBRS
*NOMAX
Number of constraints . . . . . . . . . . . :
0
Number of triggers . . . . . . . . . . . . :
0
Number of members . . . . . . . . . . . . . :
1
Member size . . . . . . . . . . . . . . . . : SIZE
*NOMAX
Allocate storage . . . . . . . . . . . . . : ALLOCATE
*NO
Contiguous storage . . . . . . . . . . . . : CONTIG
*NO
Preferred storage unit . . . . . . . . . . : UNIT
*ANY
Records to force a write . . . . . . . . . : FRCRATIO
*NONE
Maximum file wait time . . . . . . . . . . : WAITFILE
*IMMED
Maximum record wait time . . . . . . . . . : WAITRCD
10
Max % deleted records allowed . . . . . . . : DLTPCT
*NONE
- 32
DSPFFD
Este comando nos sirve para ver todos los campos y las caractersticas 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 librera donde se encuentra
f4101
*LIBL
*
DSPOBJD
Despliega la descripcin de un objeto, nos muestra las caracteristicas completas de un objeto, en
que librera 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
Display Object Description (DSPOBJD)
Type choices, press Enter.
Object . . . . . . .
Library . . . . .
Object type . . . .
+ for
Detail . . . . . . .
Output . . . . . . .
. . . . . .
. . . . . .
. . . . . .
more values
. . . . . .
. . . . . .
P4190
*LIBL
*pgm
__
*BASIC
*
Despliega la misma pantalla solo que ahora para buscar el objeto, damos el nombre y la librera
donde se encuentra, si no sabemos el nombre de la librera con *libl lo toma de la librera donde
lo encuentre primero, hay que especificar el tipo de objeto a buscar
- 33
WRKOBJ
Trabajando con objetos, con este comando podemos manejar los objetos, nos muestra la
lista de objetos que se encuentran en la librera seleccionada y despus manejar este objeto como
copiar, borrar, cambiar de librera 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
Work with Objects (WRKOBJ)
Type choices, press Enter.
Object . . . . . . . . . . . . .
Library . . . . . . . . . . .
Object type . . . . . . . . . .
p4190
*LIBL
*ALL
Object
P4190
Type
*PGM
Library
JDFOBJ73
Attribute
RPG
7=Rename
Text
Location Detail
Bottom
Parameters for options 5, 7 and 13 or command
===>
F3=Exit
F4=Prompt
F5=Refresh
F9=Retrieve
F11=Display names and types
F12=Cancel
F16=Repeat position to
F17=Position to
La opcin 8 nos despliega los atributos del objeto, una de las facilidades que nos permite esta
opcin es saber en donde se encuentra el fuente de este objeto, esta opcin la obtenemos si en ves
de presionar enter, presionamos F4 lo cual nos desplegara la siguiente pantalla.
Display Object Description (DSPOBJD)
Type choices, press Enter.
Object . . .
*ALLUSR...
Library .
*USRLIBL...
Object type
*AUTL...
Detail . . .
*SERVICE
Output . . .
. . . . . . . . . . > FIN00
Name, generic*,
. . . . . . . . . . >
Name, *LIBL,
MTY2
. . . . . . . . . . > *FILE
*ALL, *ALRTBL,
. . . . . . . . . . > *SERVICE
*BASIC, *FULL,
. . . . . . . . . .
*, *PRINT, *OUTFILE
<ENTER>.
Selection or command
===>1
F1=Help
F3=Exit
F4=Prompt
F9=Retrieve
F12=Cancel
Design Screens
Type choices, press Enter.
Source file . . . . . . . .
Library . . . . . . . . .
Member
F3=Exit
. . . . . . . . . .
F4=Prompt
QDDSSRC
FIME
SCREEN
F12=Cancel
QDDSSRC
FIME
Member . . . . . . :
Source type . . . :
Order
Record
v554123
Type
3=Copy
12=Design image
Related Subfile
VISION
DSPF
4=Delete
Date
DDS Error
Bottom
F3=Exit
F15=File-level comments
F12=Cancel
F17=Subset
F14=File-level keywords
F24=More keys
QDDSSRC
FIME
Member . . . . . . :
Source type . . . :
Order
Record
v554123
Type
3=Copy
12=Design image
Related Subfile
VISION
DSPF
4=Delete
Date
DDS Error
Bottom
F3=Exit
F15=File-level comments
F12=Cancel
F17=Subset
F14=File-level keywords
F24=More keys
QDDSSRC
FIME
Member . . . . . . :
Source type . . . :
SCREEN
DSPF
. . . . . . . . . . . . . . .
SCREEN
Name
. . . . . . . . . . . . . . . . . .
RECORD
RECORD, USRDFN
SFL, SFLMSG
WINDOW, WDWSFL
PULDWN, PDNSFL
MNUBAR
- 36
Entrada
Se representa
Salida
Ambos
Se representa
Se representa
con I
con O
con B
Se representa
Se representa
Se representa
con 3
con 6
con 9
Database File
F5541
f
F3=Exit
F4=Prompt
Library
MTY
x
Record
I5541 1
x
x
F12=Cancel
I4105X
8
s
Field
$$ITM
$$DSC1
$$EFTJ
$$TRQT
$$UM
Length
8,0
30
6,0
15,0
2
Type
S
A
S
P
A
Column Heading
Short
Description
Effective
Trans
UM
Item No
Date
QTY
Bottom
F3=Exit
F12=Cancel
En la cual podemos escoger los campos que necesiten para la pantalla y especificarle de
que tipo la usaremos.
- 38
Nombre
Apellidos
Direccion
Telefono
Ciudad
BBBBBBBBBBBBBBB
BBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBB
&2
En el ejemplo anterior se selecciono el campo 2 en del archivo, esto nos pondr el campo
en pantalla con las mismas caractersticas 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 posicin en donde se desee mover es teclee un = y despus presione enter.
Copiando un campo -,= = .
Para copiar un campo solo es necesario teclear un - a la izquierda inicio del
campo y despus en la posicin en donde se desea a copia, teclee = = y despus
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 , despus 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 posicin 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 despus
presionar enter y presionar la tecla F12 para confirma su eliminacin.
Mover un espacio.
- 39
Para mover los campos uno o ms 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 smbolo < , > que se teclee.
Modificando un campo.
Pantalla de practica
DD/DD/DD
TT:TT:TT
Nombre
?BBBBBBBBBB
direccion BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
telefono
BBBBBBBBB
33333333IIIIIIIIIIIIIIIIIIIIIIIIIIIIII
333333-
VNOMBRE
DD/DD/DD
TT:TT:TT
Nombre
*BBBBBBBBBB
direccion BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
telefono
BBBBBBBBB
33333333IIIIIIIIIIIIIIIIIIIIIIIIIIIIII
333333-
- 40
Esta opcin nos desplegara la siguiente pantalla donde se encuentran todos los atributos del
campo, en el se pueden modificar los atributos segn sea la necesidades del usuario, los mas
usuales son los siguientes:
Select Field Keywords
Field . . . . . :
Length . . . . :
VNOMBRES
15
Usage . . :
Row . . . :
B
6
Column . . . :
33
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Database reference . . . . . . .
Error messages . . . . . . . . .
Message ID (MSGID) . . . . . . .
TEXT keyword
F3=Exit
. . . . . . . . . .
__________________
F12=Cancel
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.
Select Display Attributes
Field . . . . . :
Length . . . . :
VNOMBRE
12
Usage . . :
Row . . . :
B
6
Column . . . :
28
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Y=Yes
_________
DSPATR
HI
RI
CS
BL
ND
UL
PC
MDT
PR
OID
SP
Y
_
_
_
_
_
_
_
_
_
_
Indicators/+
__ __ __
__ __ __
80
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
F12=Cancel
Keying Options : En esta opcin podemos especificar los funciones en los campos por ejemplo
rellenar con blancos o rellenar con ceros.
Select Keying Options
Field . . . . . :
Length . . . . :
VNOMBRE
12
Usage . . :
Row . . . :
B
6
Column . . . :
Keying options:
Mandatory entry . . . . .
Automatic record advance
Mandatory fill . . . . .
Field exit key required .
Right adjust blank fill .
Right adjust zero fill .
Move cursor right to left
Lowercase entry allowed .
Keyboard shift attribute
F3=Exit
F12=Cancel
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- 41
. . . . . . .
Keyword
CHECK
ME
ER
MF
FE
RB
RZ
RL
LC
Y=Yes
Indicators/+
_
_
_
_
_
_
_
_
N A X W I D M
J O E G
VNOMBRE
12
Usage . . :
Row . . . :
B
6
Column . . . :
28
.
.
.
.
.
.
.
.
.
.
Parameters
1
9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
More
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Keyword
CHECK
VNE
VN
AB
M10 / M10F
M11 / M11F
Y=Yes
Immed
_
_
_
_
_
More...
_
_
F12=Cancel
Error Message
Para definir un mensaje para un campo se utiliza la opcin 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 lnea 24.
Nota: hay que tener cuidado de no repetir los indicadores.
VNOMBRE
12
Usage . . :
Row . . . :
B
6
Column . . . :
28
__
__
__
__
__
__
__
__
__
More
_
_
_
_
_
Ind
_
_
_
_
_
Bottom
Indicators/+ ERRMSGID
File
__ __ __
________ _________
__ __ __
________ _________
__ __ __
________ _________
__ __ __
________ _________
__ __ __
________ _________
Library
________
________
________
________
________
Ind
__
__
__
__
__
Name
_________
_________
_________
_________
_________
Bottom
F3=Exit
F12=Cancel
- 42
Par definir las teclas de funcin 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 opcin 8 (select keyword).
Work with Display Records
File . . . . . . :
Library . . . . :
QDDSSRC
QGPL
Member . . . . . . :
Source type . . . :
Order
__10
Record
________
VFIN001
Type
3=Copy
12=Design image
Related Subfile
RECORD
VFIN00
DSPF
4=Delete
Date
DDS Error
01/12/99
Bottom
F3=Exit
F15=File-level comments
F12=Cancel
F17=Subset
F14=File-level keywords
F24=More keys
VFIN001
General keywords .
Indicator keywords
Application help .
Help keywords . . .
Output keywords . .
Input keywords . .
Overlay keywords .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Y=Yes
_
Y
_
_
_
_
_
Print keywords . . . . . . . . .
ALTNAME keyword . . . . . . . . .
_
______
TEXT keyword
_______________________
F3=Exit
. . . . . . . . . .
F12=Cancel
VFIN001
Indicators/+
__ __ __
__ __ __
__ __ __
__ __ __
__ __ __
__ __ __
__ __ __
__ __ __
__ __ __
F3=Exit
F12=Cancel
Resp
01_
___
___
___
___
___
___
___
___
Text
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
Bottom
- 43
Para indicar el uso de una tecla de funcin se teclea CFnn y el nmero de la funcin que
se utilice, ejemplo para definir la tecla F3 que seria la de salida o F12 para cancelar la operacin
tendra 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 funcin.
Funciones ms usuales.
F3 o F12 .- Salir , Al presionar cualquier tecla se sabandona el diseo.
F14 .- Regla. ,Al presionar esta tecla nos despliega una regla, en la posicin 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 enva el cursor a la posicin del campo siguiente.
F19 .- Al presionar esta tecla enva el cursor a la posicin del campo Anterior.
F22 .- Al presionar esta tecla despliega la lnea de comando, donde podemos ejecutar
cualquier comando de OS/400.
CONTROL
DESCRIPCION ARCHIVOS
ADICIONALES
ENTRADA
- 44
C)
(O)
CONTROL
SALIDA
ESPECIFICACIONES DE CONTROL:
HOJA H
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
F) DEFINEN
P550004
..Ffilename+ IPEAF........L..I........Device+......KExit++++Entry++A....U
FF0001
IF E
K
DISK
UC
FF41021LAIF E
K
DISK
UC
F
I41021
KRENAMEI41021A
FF550004 O E
K
DISK
UC
FDSP01
CF E
Workstn
FR550004 O E
Printer
Fmt
E
Mode
_
RAT
K
Device
DISK___
Type.DesigFmtRATDevice-
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
FC
SeqNbr
0036.00
ExtRcd
I41021
RcdNbrFld
_______
Cont
K
Option
RENAME
ESPECIFICACIONES ADICIONALES:
Entry
I41021A
HOJA E
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 Cas.
1307.00
C***********************************************************
1308.00 **
1309.00 BLACK & DECKER
Pmt SeqNbr
A/D
E
0049.00
___
AltName
FromFile
ToFile
Tbl
/Rcd
/Tbl
Len
P/B/L/R
Dec
_______
______
TTDOCO
____
_10
__8
___
__0
Len
P/B/L/R
Dec
A/D
- 46
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
DS
SeqNbr
0057.00
DtaStrName
DSTXT
Nbr
_
Opt
_
DS
DS
ExtFName
_________
Occurs
____
Len
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
Pmt
N
SeqNbr Constant
DataType
0019.00 '0123456789'
C
ESPECIFICACIONES DE CALCULO:
FldName
NUM
HOJA C
Las Especificaciones De Calculo (C) Describen Las Operaciones A Realizar Por El Programa E
Indican El Orden En Que Deben Realizarse.
- 47
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
N01N02N03
H/N/P
Hi
Factor 1
Lo Eq
99 LR
OpCode
READ
Comment
lectura
Factor 2
I4102A
Result
USO DE INDICADORES
FMT C .....CL0N01N02N03Factor1+++OpcdeFactor2+++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
SALIDA DE
DETALLE
LEER UN
REGISTRO
CALCULOS
DE
DETALLE
MOVER
DATOS
A CAMPOS
- 48
PROGRAMACION BATCH
VS.
PROGRAMACION
INTERACTIVA
PROGRAMACION BATCH
ARCHIVO
HISTORICO
DE VENTAS
INFORME DE
VTAS
ENERO
2,345.70
FEBRERO
PROGRAMA DE
ANALISIS DE
VENTAS
- 49
PROGRAMACION
INTERACTIVA
PROGRAMA DE
CONSULTA DE
CLIENTES
ARCHIVO DE
CLIENTES
IDENTIFICACION DE PANTALLAS
- 50
EJEMPLO:
IDENTIFICACION DE ARCHIVOS
DIAGRAMA DE ENTIDAD-
CURSOS
PROGRAMACION
CURSOS
CURSOS
INSCRIPCIONES
IDENTIFICACION DE ARCHIVOS
DDS DEL ARCHIVO DE CLIENTES
** ARCHIVO FISICO: CLIENTES
R REGCLI
NUMCLI
6 0
NOMBRE
30
DIRECC
15
TELEF
7 0
TIPOCL
3
LIMICR
8 0
STATUS
1
K NUMCLI
BIBLIOTECA: RPGLIB
- 51
IDENTIFICACION DE PANTALLAS
.
.
PANTALLAS EXISTENTES
Opcin 3 de SDA
DDS
PANTALLAS NUEVAS
Opcin 1 de SDA
DDS
OPERACIONES ARITMETICAS
ADD
SUB
MULT
SQRT
DIV
Z-ADD
(SUMAR)
(RESTAR)
(MULTIPLICAR)
(RAIZ CUARADA)
(DIVIDIR)
(INICIALIZA Y MUEVE NUMERO)
1.-
2.-
3.-
4.-
5.-
6.-
7.-
OpCode
SETLL
Factor2
FILE REG.
Hi
In
Lo
Eq
In
OpCode
SETLL
Factor2
I4101
Hi
Lo
Eq
71
Posiciona el apuntador antes del registro que sea mayor o igual al argumento de bsqueda y
con el indicador en el Hi verifica que se cumpla esta condicin
Ejemplo
Factor 1
IMKY01
OpCode
SETLL
Factor2
I4101
Hi
72
Lo
Eq
En este caso es al revs el indicador se activara si ningn registro es mayor o igual a la llave
- Se pueden usar ambos indicadores al mismo tiempo si asi se necesita
Ejemplo
Factor 1
IMKY01
OpCode
SETLL
Factor2
I4101
Hi
72
Lo
Eq
71
Para el caso 2
- 53
1) indicador 71 se activa
2) indicador 71 no se activa
3) indicador 71 no se activa
1) indicador 72 no se activa
2) indicador 72 no se activa
3) indicador 72 se activa
SETGT
Posiciona el apuntador antes de el primer registro que sea mayor a la llave dada
Sintaxis
Factor 1
KEY
OpCode
SETGT
Factor2
FILE REG.
Hi
In
Lo
Eq
In
OpCode
SETGT
Factor2
I4101
Hi
Lo
Eq
Hi
Lo
Eq
READ
Hace una lectura secuencial al archivo
Sintaxis
Factor 1
OpCode
READ
Factor2
File Reg.
OpCode
READ
Factor2
I41021
Hi
Lo
Eq
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
Key
OpCode
READE
Factor2
File Reg.
Hi
Lo
Eq
81
Factor 1
IMITM
OpCode
READE
Factor2
I4101
Hi
Lo
Eq
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
prendera 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
READP
Factor2
File Reg.
Hi
Lo
Eq
81
OpCode
READP
Factor2
I4101A
Hi
Lo
Eq
81
Ejem.
Factor 1
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 ningn 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
Key
OpCode
CHAIN
Factor2
File Reg.
Hi
Lo
Eq
81
OpCode
CHAIN
Factor2
I41021
Hi
Lo
Eq
81
Operacines aritmticas:
- 55
ADD
Operacin de suma
Sintaxis
Factor 1
Valor1
OpCode
ADD
Factor2
Valor2
Resultado
Factor2
Valor
Resultado
OpCode
ADD
OpCode
ADD
Factor2
Iva
CantT
15
NOTA: hay que definir los campos de trabajo en este caso CantT se definio como un campo
nmerico 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 ningn archivo.
SUB
Operacin de resta
Sintaxis
Factor 1
Valor1
OpCode
SUB
Factor2
Valor2
Resultado
Factor2
Valor1
Resultado
Factor 1
OpCode
SUB
OpCode
SUB
Factor2
CantVend
CantRest
- 56
15
MULT
Operacin de multiplicacin
Sintaxis
Factor1
Valor1
OpCode
MULT
Factor2
Valor2
Resultado
Resultado
Len
15
Dec
0
Resultado
Len
15
Dec
0
Factor1
OpCode
MULT
Factor2
Valor1
DIV
Operacin de divisin
Sintaxis
Factor1
Valor1
OpCode
DIV
Factor2
Valor2
Resultado
resultado
Len
15
Dec
0
Resultado
Len
15
Dec
0
Result
Cant_Div
Len
15
Dec
2
OpCode
DIV
Factor2
Valor1
Resultado= Resultado/Valor1
Factor1
Cant1
OpCode
DIV
Factor2
5
OpCode
SQRT
Factor2
100
Resultad
RazC
Len
15
- 57
Dec
0
RazC= 10
Mover Datos
Z-ADD
La operacin Z-ADD sirve para inicializar el campo de resultado con el valor del factor1, esta
operacin solo es valida para campor numricos
Sintaxis
Factor1
OpCode
Z-ADD
Factor2
Valor2
Resultad
Resultado
Len
15
Dec
0
OpCode
Z-ADD
Factor2
500
Resultad
Cant
Len
15
Dec
0
Quedaria
Cant= 500
Nota: ambos deben ser de tipo numrico, con el Z-ADD no se utiliza el factor1
MOVE
Esta operacin es utilizada para mover datos y alinearlos a la derecha, la operacin MOVE
transfiere los caracteres del factor 2 al campo de resultado. El movimiento empieza con el
carcter que esta ms a la derecha del factor 2.
Sintaxis
Factor1
OpCode
MOVE
Factor2
Campo2
Resultad
Campo3
Len
20
Dec
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 carcter y el campo de resultado es ms largo que el factor 2
Ejem
ANTES
Factor2=
F I
L E
- 58
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 nmerico y el campo de resultado es ms largo que el factor 2
ANTES
Factor2=
7 8 9
Resultado= 1 2 3 4 5 6
DESPUES
Resultado= 1 2 3 7 8 9
Caso 3
El factor 2 es nmerico y el campo resultado es tipo carcter y es ms largo que el factor2
ANTES
Campo1=
2 3 4
Campo2=
u n o d o s
ESP
UES
Campo2= u n o 2 3 4
Caso 4
Ambos campos son de tipo carcter solo que el campo de resultado es ms corto que el factor2
ANTES
Factor2=
u n o d o s
Resultado=
t r e s
DESPUES
Resultado=
o d o s
Caso 5
Ambos campos son numericos el campo resultado es ms corto que el factor2
- 59
ANTES
Campo1=
u n o d o s
Campo2=
t r e s
DESPUS
Campo2=
MOVEL
o d o s
La operacin 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 revs
empieza a mover de izquierda a derecha.
Estos son algunos ejemplos
Caso 1
El campo resultado es ms largo que el del factor2, ambos campos son de tipo carcter
ANTES
Factor2=
F I LE
Resultado= S O F T W A R E
DESPUS
Resultado= F I L E W A R E
Caso 2
El campo resultado es ms largo que el del factor2, ambos campos son de tipo numerico
ANTES
Factor2=
1 2 3 4
Resultado= 5 6 7 8 9 0 1 2
DESPUS
Resultado= 1 2 3 4 9 0 1 2
Los dems 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
- 60
Factor1 OpCode
MOVEA
Factor2
Resultad Len Dec
NomArregl VarResult Lon
o
g
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
1
D
2
Factor1
G
3
A
4
OpCode
MOVEA
R
5
O
7
M
8
Factor2
NAME
A
9
R
10
Resultad
Alumno
Len
10
Dec
IFxx
Condicin IFxx, es un condicional para realizar determinada accin o no
Sintaxis
Factor1
OpCode Factor2
Campo1 Ifxx
Campo2
{Operac
ELSE
{Operac
ENDIF
Resultad
Len
Dec
OpCode Factor2
IFxx
Campo2
ANDxx
Orxx
{Operac
ENDIF
Resultad
Len
Dec
OpCode Factor2
Resultad
Len
Dec
Ejem
Factor1
- 61
$DOC
$CANT
IFEQ
ANDNE
MOVE
ELSE
MOVE
ENDIF
PA
0
A
CLIEN
CLIEN
CASxx
Este comando permite hacer una seleccin de la subrutina a ejecutar; si se cumple la comparacin
entre el factor1 y el factor2, la subrutina especificada en el campo resultante es ejecutada.
Sintaxis
Factor1
Campo1
OpCode
CASxx
Factor2
Campo2
Resultad
NomSubrutina
Len
Dec
OpCode
CASEQ
Factor2
b
Resultad
Baja
Len
Dec
Ejem.
Factor1
Mov
CABxx
Este comando permite hacer una comparacin entre el factor1 y el factor2; si esta comparacin
resulta verdadera el programa mandara el control al TAG asociado con la etiqueta especificada
en el campo resultante
Sintaxis
Factor1
Campo1
OpCode
CABxx
Factor2
Campo2
Resultad
Etiqueta
Len
OpCode
CABEQ
Factor2
1
Resultad Len
Alta
Dec
Ejem.
Factor1
Mov
Dec
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
DO
Cte. Var
{Operac
ENDDO
Len
Dec
ejem
- 62
Factor1
OpCode Factor2
DO
10
Add
2
ENDDO
Resultad
Len
Dec
Sum
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 condicin especificada para este ciclo sea verdadera
Sintaxis
Factor1
Campo1
OpCode Factor2
DOWxx Campo2
{Operac
ENDDO
Resultad
Len
Dec
OpCode
DOWEQ
WRITE
ENDDO
Factor2
01
I5701
Resultad
Len
Dec
EXSR
Manda ejecutar una subrutina, puede ser ejecutada desde el men principal o de cualquier otra
subrutina que la mande ejecutar.
Sintaxis
Factor1
OpCode
EXSR
Factor2
NomRutina
Resultad Len
Dec
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
- 63
Precios
BEGSR
Bloque
De la
Rutina
ENDSR
EXFMT
Permite enviar y leer un formato de pantalla
Sintaxis
Factor 1
OpCode
EXFMT
Factor2
NomPantalla
Hi
Lo
Eq
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
GOTO
{cuerpo
{del pgm
TAG
Factor2
Etiqueta
Resultad Len
Dec
Etiqueta
Actualizacin de Registros
UPDAT
Actualiza los cambios hechos a un registro
Sintaxis
Factor1
OpCode
UPDAT
Factor2
Resultad Len
NomRegistro
Archivo
Dec
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 operacin UPDATE
actualiza los datos de la pantalla .
ejem
Factor1
OpCode
UPDAT
Factor2
V01200
Resultad Len
Dec
- 64
DELET
Borra el registro en que esta posicionado actualmente el apuntador
Sintaxis
Factor1
OpCode
DELET
Factor2
Resultad Len
NomRegistro
Archivo
Dec
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 Adicin.
Sintaxis
Factor1
OpCode
WRITE
Factor2
Resultad Len
NomRegistro
o File
Dec
OpCode
WRITE
Factor2
I4111
Dec
ejem
Factor1
Resultad Len
OpCode
WRITE
Factor2
Heading
Resultad Len
Dec
Definicin 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 ms campos.
Sintaxis
Factor1
OpCode
NomKey KLIST
KFLD
KFLD
Factor2
Resultad Len
Dec
Campo1
Campo2
- 65
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.
Campo13.- son los campos que forma a esta llave
Ejem.
Factor1
OpCode
Factor2
LIKY01
KLIST
KFLD
KFLD
KFLD
LIMCU
LILOCN
LIITM
Resultad
Len
Dec
Parmetros
PLIST
Define un nombre nico para la lista de parmetros que recibir o pasara el programa, al ser
ejecutado o mandado ejecutar con la operacin CALL
Sintaxis
Factor1
OpCode
*ENTRY PLIST
PARM
Factor2
PARM
PARM
Resultad
Len
Dec
Parmetro1
Lon1
#de
c
Parmetro2
Parmetro3
Lon2
Lon3
PARM.- Define cada uno de los parmetros que componen la lista de parmetros del programa
Lon1..n.- longuitud de cada uno de los parmetros y tipo
CALL
Manda llamar un programa para ser ejecutado, si el programa al que va a ser llamado requiere
que le sean pasado parmetros se especificaran aqu, al mandarlo ejecutar con el comando CALL
Sintaxis
Factor1
OpCode
Move
Movel
Movel
CALL
PARM
PARM
Factor2
Dato1
Dato2
Daton
Programa
Resultad
ParaEntr1
ParaEntr2
ParaEntrn
Len
Dec
ParaSal1
ParaSal2
- 66
PARM
ParaSaln
Dato1..n .- son los datos de entrada que requiere el programa que se esta llamando para ejecutado
ParaEnt1..n.- nombres de los parmetros, 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 parmetros que regresa el programa.
OPEN
Comando para abrir un archivo
Sintaxis
Factor1 OpCode Factor2 Resultad
OPEN
Archivo
Len Dec
CLOSE
Cierra un archivo abierto
Sintaxis
Factor1
OpCode
CLOSE
Factor2
Archivo
Resultad
Len
Dec
SETOF
Apaga los indicadores especificados en el Hi,Lo,Eq le asigna el valor de 0 al indicador
Sintaxis
Factor 1
OpCode
SETOF
Factor2
Hi
In
Lo
In
Eq
In
OpCode
SETOF
Factor2
Hi
82
Lo
Eq
Ejem
Factor 1
SETON
Operacin para activar los indicadores contenidos en Hi,Lo,Eq le asigna el valor de 1 al
indicador.
Sintaxis
Factor 1
OpCode
SETON
Factor2
Hi
In
Lo
In
Eq
In
OpCode
SETON
Factor2
Hi
Lo
81
Eq
Ejem
Factor 1
- 67
Manejo de Arreglos
LOKUP
Hace una bsqueda a un arreglo o tabla
Sintaxis
Factor 1
Argumento
OpCode Factor2
LOKUP Arreglo tabla
Hi
Lo
Eq
In
OpCode Factor2
LOKUP Precios
Hi
Lo
Eq
81
OpCode
XFOOT
Factor2
Arreglo
Resultad
VarResul
Len Dec
Long #dec
OpCode
XFOOT
Factor2
ArreIva
Resultad
Suma
Len
15
Ejem
Factor1
Dec
2
Manejo de Cadenas
- 68
CAT
Une dos cadenas de caracteres en una sola
Sintaxis
Factor1
String1
OpCode
CAT
Factor2
String2
Resultad
StringRes
Len
20
Dec
OpCode
CAT
Factor2
Nom2
Resultad
Nombre
Len
20
Dec
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
String1
OpCode
CAT
Factor2
String2:n
Resultad
StringRes
Len
20
Dec
Len
20
Dec
OpCode
CAT
Factor2
Nom2:1
Resultad
Nombre
Nom1= Maria
Nom2=Cristina
Al concatenar de esta manera quedaria asi:
Nombre= Maria Cristina
OpCode
Factor2
Resultad
Len
- 69
Dec
Argumento:1
SCAN
NomVar
Posicion
Long #Dec
OpCode
SCAN
Factor2
Name
Resultad
ResPos
Len
1
Dec
0
Apellido= Gu
Name=Pablo Guzmn
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 aplicacin.
INTERACTIVO
PALABRA CALVE O POSICIONAL
CON SOLOCITUD (PROMPT)
COMPILABLE
RAPIDO
LOGICA POTENTE
MANEJO DE ERRORES
MANIPULACION DE DATOS
INTERFACE CON PANATALLA Y DB.
DISEO PARA CONTROLAR EL FLUJO DE UNA APLICACIN.
PGM (opcional)
DCLF (
archivo)
DCL (variables)
MONMSG
IF
ELSE
SNDRCVF
[PROGARMA]
SNDMSG
CHGVAR
MONMSG
GOTO TOP
ENDPGM(optional)
- 70
Reglas de codificacin
Nombre de variable.- Para almacenar y actualizar datos y recibir parmetros. Debe
empezar con el carcter &.
Dos puntos (:)._ Separa la etiqueta del mandato
Blancos. Separa los parmetros de un mandato.
Parntesis ( ) .- Separa las palabras claves y valores.
Diagonal (/). Conecta las partes de nombres calificados.
Apstrofe .- Al comienzo y al final de una serie de caracteres en comillas, tal como
ALL.
*CHAR
*LGL
LEN ( )
VALUE( )
Por deafult (15 Default (0)
5)
Maximo (15
9)
Default
Default (0)
(32)
Maximo
(9999)
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
- 71
7
7
7
5.2
5.2
5.2
0023.00
-003.90
-123.67
23.00
-3.90
-123.67
5.2
5.0
5.2
10
10
10
123.00
123
-123.00
bb+123.1bb
bbb+123.000
-123bbbbbb
%SS *LDA
nombre variable
]- Posicion-inicial longitud )
- 72
X= posicin 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)
DESPUS &NAME: DAVID
ANTES &DATA: ABCDE12345
&NAME: DAVE
CHGVAR VAR(&NAME) VALUE(%SST(&DATA 2 1))
DESPUS &NAME: B
ejemplo 2
usar una variable para posicin inicial
PGM
DCL VAR (&TEAM) TYPE(*CHAR) VALUE (ABCDEFGHIJKL)
DCL VAR(&LIB) TYPE (*CHAR) LEN (6) VALUE (IWLIBX)
CONCATENACION
Serie2
Resultad
o
Serie
Serie
Serie2
Serie
b
A B b
*CA
T
*TCA
T
A B C
*BCAT Serie2
ABC
*BCA Serie2
T
- 73
Serie1
A b
b
b
Ejemplo de concatenacin:
Cliente XYZ corporacin, numero de cuentea 54321, su crdito vencido por 30 das.
&CUSNAME &CUSNUMALPH &DAYSALPH
PGM
DCL &CUSNAME
*CHAR 25 XYZ CORPORATION
DCL &CUSNUM
*DEC (5 0)
DCL &CUSNUMALPH
*CHAR 5
DCL &DAYS
*DEC
30
DCL &DAYSALPH
*CHAR 3
CHGVAR &DAYSALPH
&DAYS
CHGVAR &CUSNUMALPH &CUSNUM
SNDMSG MSG(Cliente *Bcat & cusname + CUSNUMALPH + *CAT , numero de cuenta
*BCAT & c
CONDICION
Cuando deseamos condicionar un programa CL solo puede ejecutar un comando o una etiqueta
despus de la condicin.
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)
- 74
ELSE RETURN
6.- IF (&IN99) GOTO ENDLABEL
Otra forma de usar el IF para que ejecute mas de una lnea se utiliza la siguiente sentencia
IF COND (condicin) THEN (DO)
CALL PGM1
CALL PGM2
END DO
ELSE CMD (DO)
CALL PGM3
CALL PGM4
ENDDO
*JOB
*SYSVAL
*MDY
*DMY
*JOB
*SYSVAL
TOSEP
*NONE
*CARCTER SEPARADOR
EJEMPLO 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)
...
...
- 75
...
DLCOBJ OBJ((PRLIB/PRMST * FILE *EXCL))
Ejemplo de algunos mensajes de eerro que pueden ser supervisado
ALCOBJ
CPF1002
CPF1040
CPF1085
CPF5739
Nivel de mandato
Compruebe aqu primero si el mensaje esta supervisado
Supervisar solo el mandato anterior.
NO EXEC: ignore.
ENDPGM
Ejemplo de supervisar mensajes
Comprobar existencia y autorizacin de un objeto
- 76
- 77