SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
PROGRAMACION RPG:
ESPECIFICACIONES DE ENTRADA
Y SALIDA
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Especificaciones de Entrada: Hoja I
Generalidades
• 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.
• Pos. 6 : se especifica una I
• Pos. 7 a la 80: sección de entrada de datos
• Pos 81 a la 100: sección de comentarios
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Especificaciones de Entrada: Hoja I
Para archivos descritos por PGM
• Describen:
– Los tipos de registro del archivo
– La secuencia de los tipos de registro
– Los campos de un registro
– Los datos del campo
– Los indicadores basados en el contenido de los campos
– Los campos de control
– Los campos utilizados para registros coincidentes
– Los campos utilizados para comprobar las secuencias
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos por PGM
• Pos 7 a 46: entradas de identificación de registro, describe el reg. de entrada y su relación
con otros registros en el archivo
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 10
IFilename++SqNORiPos1+NCCPos2+NCCPos3+NCC..................................Comments++++++++++++
I.........And..RiPos1+NCCPos2+NCCPos3+NCC..................................Comments++++++++++++
• Pos 31 a 74: entradas de descripción de campos, define los campos del registro. Cada campo
en diferente línea, debajo de su respectiva entrada de identificación de registro.
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 10
I........................Fmt+SPFrom+To+++DcField+++++++++L1M1FrPlMnZr......Comments++++++++++++
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Especificaciones de Entrada: Hoja I
Para archivos descritos externamente
• Características
– Las especificaciones de entrada son opcionales
– Se pueden usar para añadir funciones RPG/400 a la descripción externa
– Sirven también para describir estructuras de datos y constantes con nombre
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos externamente
• Pos 7 a 16 y 21 a 22: para identificar el formato de registro descrito externamente, del
archivo, generalmente con DDS.
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 10
IRcdname+++....Ri..........................................................Comments++++++++++++
• Pos 21 a 30, 49 a 66, 69 a 74: entradas de descripción de campos, que describen las
funciones del RPG para ser adicionadas a los campos del registro. Las descripciones de
campos son escritas seguidas al identificador de registro.
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 10
I..............Ext-field+..................Field+++++++++L1M1..PlMnZr......Comments++++++++++++
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos por programa
• Pos. 6: debe contener una “I”
• Pos. 7 a 16: (Nombre Archivo) debe corresponder al definido en la Hoja “F”.
• Pos. 17 a 18: (Relación Lógica) (AND u OR). AND cuando + de 3 identificadores son usados;
OR cuando 2 o + tipos de registro tienen campos comunes. Se pueden utilizar un número
ilimitado de líneas AND/OR.
• Pos. 17 a 18: (Secuencia)
– Dato Carácter: El programa no chequea por alguna secuencia especial
– Dato Numérico: El programa chequea una secuencia especial dentro del grupo
• Pos. 19: (Numero):
– Blanco: El programa no chequea secuencia especial para los tipos de registro
– 1 : Un solo registro con esta definición puede estar presente en el archivo
– N : Uno o + registros con esta definición puede estar presente en el archivo.
Debe ser usada solo cuando exista un valor numérico en las pos 17-18.
• Pos. 20: (Opción)
– Blanco: El tipo de registro debe estar presente si se especifico chequeo en pos.17-18
– O : El tipo de registro es opcional si la secuencia de chequeo es especificada
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos por programa
• Pos.21 a 22: (Indicador de Identificación de registro, o **).
– Blanco: No se utiliza indicador
– 01 a 99: Valores validos para indicador
– L1 a L9 o LR: Indicador de Nivel de Control para definición de registro
– H1 a H9: Indicadores de Parada
– U1 a U8: Indicadores Externos
– ** : No es un indicador. Se utiliza para Línea de Balance (MR)
• Pos. 23 a 46: (Códigos de Identif de Reg) identifican cada tipo de reg. dentro del archivo. Se
pueden especificar de 1 a 3 códigos por línea, cuando sean mas de 3, se utiliza otra línea
con OR/AND.
– Pos. 23-27, 31-35, 39-43
• Blanco: No hay presente código de identificación de registro
• 1-32766: La posición en el registro que contiene el código de identificación de reg. Esta
entrada debe estar ajustada a la derecha y los ceros a la izq. pueden ser omitidos.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos por programa
– Pos. 28, 36 y 44 (No) Negación
• Blanco: El código de identificación de registro debe estar presente
• N : El código de identificación de registro especificado NO debe estar presente.
– Pos. 29, 37 y 45 (Parte de Código)
• C Carácter entero
• Z Parte de zona del carácter
• D Parte de dígito del carácter
Esta entrada especifica la parte del carácter del código de identificación de registro que
debe someterse a comprobación.
– Pos. 30, 38 y 46 (Carácter)
Entre en esta posición el carácter de identificación que debe compararse con el
carácter de la posición que especifica el registro de entrada.
Cuando se especifica más de un tipo de registro en un archivo, los códigos de
identificación de registro deberán codificarse de tal forma que cada registro de
entrada tenga un único juego de códigos de identificación.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos por programa
– Relación AND: La relación AND se utiliza cuando un registro está identificado con más de
tres códigos de identificación de registro. Para utilizar la relación AND entre al menos un
código de identificación de registro en la primera línea y los códigos de identificación
restantes en las líneas siguientes, codificando AND en las posiciones 14 a 16 en cada una
de la líneas adicionales utilizadas.
– Relación OR: La relación OR se utiliza cuando dos o más tipos de registro tienen campos
comunes. Para utilizar la relación OR, deber entrar OR en las posiciones 14 y 15. Las
posiciones 7 a 13, 16 a 18, y 42 a 74 deben estar en blanco. En las posiciones 19 y 20 se
puede entrar un indicador de identificación de registro. Si se ejecuta una entrada de
indicador y se cumplen los códigos de identificación de registro especificados en la línea
OR, se activar el indicador especificado en las posiciones 19 y 20 anterior.
Un número ilimitado de relaciones AND/OR pueden ser especificadas.
*...1....+....2....+....3....+....4....+....5....+....6....+....7...
INombarchSeNOIrPos1NCCPos2NCCPos3NCC.PDesdA+++DCampo+L1M1FrP1NeC
IDISK BC 91 95 C1
I OR 92 95 C2
I OR 93 95 C3
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos por programa
Entrada de descripción de campos
• Las entradas de descripción de campo (posiciones 43 a 74) deberán seguir a
• las entradas de identificación de registro (posiciones 7 a 42) para cada
• archivo.
• Pos. 6 (Tipo de Formato): Debe contener una “I”
• Pos. 7 a 30: Reservadas
• Pos. 31 a 34 (Atributos de datos): Para especificar formato externo para campos tipo fecha,
hora, carácter de longitud variable o gráficos.
• Pos. 35 (separador de hora/fecha): Especifica el carácter separador para campos tipo
fecha/hora (/,-)
• Pos. 36 (Formato de datos):
– Blanco: Campo de entrada esta en formato decimal con zona o es carácter
– UCS-2: en formato fijo o variable
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos por programa
• Pos. 36 (Formato de datos):
– A : Carácter
– C : UCS-2
– G : Campo grafico
– B : Numérico en formato binario
– F : Numérico en formato flotante
– I : Numérico en formato entero
– L : Numérico precedido con signo (decimal con zona)
– N : Campo carácter tipo indicador
– P : Numérico empaquetado
– R : Numérico seguido del signo (decimal con zona)
– S : Numérico decimal con zona
– U : Numérico sin signo
– D : Tipo Fecha, con especificación de formato externo
– T : Tipo Hora, con especificación de formato externo
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos por programa
• Pos. 37 a 46 (Ubicación de campo): Especifica las posiciones de Inicio y final del campo
mediante dos campos de 5 dígitos.
– Pos.37 a 41 para inicio del campo
– Pos. 42 a 46 para final del campo
– 32766 máximo para campos carácter
– 31 dígitos para campos numéricos
• Pos. 47 a 48 (Posiciones decimales):
– Blanco: Campo de caracteres
– 0-31 : Número de posiciones decimales en el campo numérico.
• Pos. 49 a 62 (Nombre del campo): Nombre simbólico para : Nombre de campo, estructura
de datos, subcampo de estructura de datos, nombre de arreglo, elemento de arreglo o
PAGE, PAGE1-PAGE7, *IN, *INxx o *IN(xx)
• Pos. 63 a 64 (Nivel de control):
– Blanco Este campo no es un campo de control. Los indicadores de nivel de control
no pueden utilizarse con archivos controlados en cálculo.
– L1-L9 Este campo es un campo de control. Las posiciones 63 y 64 indican los
campos que se utilizan como campos de control.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos por programa
• Pos. 65 a 66 (Campos de Comparación):
– Blanco Este campo no es un campo de comparación.
– M1-M9 Este campo es un campo de comparación.
Esta entrada sirve para igualar los registros de un archivo con los de otro o para
comprobar la secuencia de los campos de comparación de un archivo. Los campos de
comparación sólo pueden especificarse para campos de archivos primarios y secundarios.
• Pos. 67 a 68 (Relación Registro-Campo):
– Blanco El campo es común a todos los tipos de registro.
– 01-99 Indicadores generales.
– L1-L9 Indicadores de nivel de control.
– MR Indicador de registro coincidente.
– U1-U8 Indicadores externos.
– H1-H9 Indicadores de parada.
– RT Indicador de retorno.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos por programa
• Pos. 69 a 74 (Indicadores de campo):
– Blanco El campo es común a todos los tipos de registro.
– 01-99 Indicadores generales.
– U1-U8 Indicadores externos.
– H1-H9 Indicadores de parada.
– RT Indicador de retorno.
Las entradas en las posiciones 69 a 74 comprueban el estado de un campo o de un
elemento de la matriz a medida que el programa los lee. Los indicadores de campo se
especifican en la misma línea que el campo que debe comprobarse. Según el estado del
campo (positivo, negativo, cero o blanco) se activa un indicador u otro y podrá utilizarse para
condicionar especificaciones posteriores.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos externamente
• Pos. 6 (Tipo de Forma): Debe contener una “I”
Entradas de identificación de registro: Cuando el compilador recupera la descripción de un
archivo de descripción externa, también recupera las definiciones de los registros. Para
hacer referencia a las definiciones del registro, deber especificar el nombre del formato
de registro en las especificaciones de entrada, de cálculo y de salida del programa. Las
especificaciones de entrada son necesarias para un archivo de descripción externa en
los casos que siguen:
– Si deben especificarse indicadores de identificación de registro.
– Si el programa debe asignar un nuevo nombre a un campo de registro.
– Si deben utilizarse indicadores de nivel de control o de campos de comparación.
– Si deben utilizarse indicadores de campo.
• Pos. 7 a 16 (Nombre de registro): Ingrese uno de los siguientes:
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos externamente
• El nombre externo del formato del registro (el nombre del archivo no puede utilizarse para
un archivo de descripción externa).
• El nombre en RPG/400 que especifica la opción RENAME en la línea de continuación de
las especificaciones de descripción de archivo, en caso de que se haya asignado un nuevo
nombre al formato de registro externo. El nombre del formato de un registro sólo puede
aparecer una vez en las posiciones 7 a 16 de las especificaciones de entrada de un
programa.
• Pos.17 a 20 (Reservadas): Deben estar en blanco.
• Pos.21 a 22: (Indicador de identificación de registro): La especificación de los indicadores
identificativos de registro es optativa en estas posiciones, y si se realiza sigue las reglas de
los "Archivos descritos en el programa".
• Pos. 23 a 80 (Reservadas): Deben estar en blanco.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos externamente
Entradas de descripción de campo: Las especificaciones de descripción de campo
para un archivo de descripción externa pueden usarse para asignar un nuevo nombre a un
campo de un registro en un programa o para especificar funciones de nivel de control,
indicador de campo y campos de comparación. Las definiciones del campo (atributos) se
recuperan del archivo de descripción externa y el programa no puede modificarlas. Si los
atributos de un campo no son válidos para un programa en RPG/400 (como por ejemplo
una longitud numérica mayor de 30 dígitos), el campo no podrá utilizarse. Se hace una
comprobación de diagnóstico de los campos contenidos en un formato de registro externo,
tal como lo hace para las sentencias fuente.
• Pos. 7 a 20 (Reservadas): Deben estar en blanco.
• Pos. 21 a 30 (Nombre de campo externo): Para asignar un nuevo nombre a un campo de
un registro de un archivo de descripción externa, deber entrar el nombre del campo
externo en estas posiciones. Si se tiene que volver a asignar un nombre a un campo
puede ser porque el nombre externo tenga mas de seis caracteres o porque el nombre
coincida con el de un campo especificado en el programa y se requieren dos nombres
diferentes.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
RPG – Hoja I: archivos descritos externamente
• Pos. 31 a 48 (Reservadas): Deben estar en blanco.
• Pos. 49 a 62 (Nombre campo): máximo 10 caracteres.
• Pos. 63 a 64 (Niveles de control):
– Blanco Este campo no es un campo de control. Los indicadores de nivel de control
no pueden utilizarse con archivos controlados en cálculo.
– L1-L9 Este campo es un campo de control. Las posiciones 63 y 64 indican los
campos que se utilizan como campos de control.
• Pos. 65 a 66 (Campos de comparación):
– Blanco Este campo no es un campo de comparación.
– M1-M9 Este campo es un campo de comparación.
• Pos. 67 a 68 (Reservadas): Deben estar en blanco.
• Pos. 69 a 74 (Indicadores de campo):
– Blanco El campo es común a todos los tipos de registro.
– 01-99 Indicadores generales
– U1-U8 Indicadores externos.
– H1-H9 Indicadores de parada.
– RT Indicador de retorno.
• Pos. 67 a 68 (Reservadas): Deben estar en blanco.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
• Las especificaciones de salida describen el registro y el formato de los campos en un
archivo de salida descrito por programa y determinan el momento en que debe grabarse
el registro.
• Las especificaciones de salida son optativas para los archivos de descripción externa.
• Las especificaciones de salida se clasifican en dos grandes categorías:
– Identificación y control del registro
– Descripción y control del campos
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
• Posición 6 (tipo de formulario): En la posición 6 debe aparecer una O para poder identificar
esta línea como una sentencia de especificaciones de salida.
• Entradas de identificación y control de registros: las entradas en las posiciones 7 a 37
identifican los registros de salida, determinan las condiciones en las que deben grabarse los
registros y proporcionan el espaciado en los informes impresos.
• Posiciones 7-14 (nombre del archivo)
• Posiciones 14-16 (relación lógica)
– AND u OR indica una relación entre líneas de indicadores de salida. Las líneas AND/OR
son válidas para registros de salida, pero no para campos.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
• Posición 15 (tipo):
– H o D Los registros de detalle suelen contener datos que proceden directamente del
registro de entrada o bien son el resultado de cálculos ejecutados en tiempo de detalle.
Los registros de cabecera suelen contener constantes que identifican información del tipo
títulos, cabeceras de columna, número de página y fecha.
• El programa no hace ninguna distinción entre los registros de cabecera y de detalle. Las
especificaciones H/D sirven para ayudar al programador a documentar el programa.
– T - Los registros de totales suelen contener datos que aportan el resultado final de
cálculos específicos realizados en varios registros de detalle.
– E - Los registros de excepción se graban en tiempo de cálculo. Los registros de
excepción sólo pueden especificarse con el código de operación EXCPT.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
• Posiciones 16-18 (adición/supresión de registro)
– ADD - Añade un registro al archivo o subarchivo.
– DEL - Suprime el último registro leído del archivo.
– ADD - Es válida para archivos de entrada, salida o actualización.
– DEL Sólo es válida para archivos DISK de actualización.
• En la posición 66 de las especificaciones de descripción de archivo para un archivo que
utilice la función ADD debe haber una A.
• Esta entrada deber aparecer en la misma línea que contiene la especificación del tipo de
registro (H, D, T, E, en la posición 15
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
• Entrada posiciones 16 a 31 para los archivos de impresión definidos como PRINT
– En la especificación de descripción de archivos comprende los siguientes funciones de
presentación del informe.
– Búsqueda de desbordamiento de página.
– Liberación: Una vez finalizada de salida, se liberar el dispositivo utilizado en la operación
la operación de salida (seguridad cuando se está imprimiendo formas especiales).
– Espaciado entre campos.
– Espaciado (salto) entre líneas.
Como alternativa se recomienda utilizar la herramienta RLU para diseño de informes.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
• Las entradas en las posiciones 23 a 70 determinan las condiciones y el formato en los que
deben grabarse los campos de un registro.
– Cada campo se describe en una línea independiente.
– En las posiciones 7 a 22 de una línea de descripción de campo no puede haber ninguna
entrada.
– La información sobre la descripción y el control de campo empieza en la línea siguiente a
la línea de identificación de registro.
• Posiciones 23-31 (indicadores de salida)
– Los indicadores especificados en las líneas de descripción de campo determinan si un
campo debe incluirse en el registro de salida. Para controlar campos se pueden utilizar los
mismos tipos de indicadores que para controlar registros
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
• Posiciones 32-37 (nombre de campo)
– Especificar cada campo que deba grabarse:
– Un nombre de campo
– Blancos, si se especifica una constante en las posiciones 45 a 70
– Un nombre de tabla, nombre de matriz o elemento de una matriz
– Una constante con nombre
– Palabras reservadas del PAGE, PAGE1 a PAGE7, *PLACE, UDATE, *DATE, UDAY,
*DAY, UMONTH, *MONTH, UYEAR, *YEAR
– Un nombre de estructura de datos o un nombre de subcampo de estructura de datos.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
• Posiciones 40-43 (posición final):
– 1-n Posición final
– Las posiciones 40 a 43 definen la posición final de un campo o de una constante en el
registro de salida .
– la entrada +nnn o -nnn especifica la ubicación del campo o de la constante en relación a
la posición final del campo anterior. El signo debe estar en la posición 40. El número
(nnn) debe estar ajustado por la derecha, pero no son necesarios los ceros iniciales.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
• Posición 44 (formato de datos)
– Blanco: El campo debe grabarse en formato numérico decimal con zona o en formato de
caracteres; se editan datos numéricos o se especifica una constante en esta línea.
– P: El campo se grabar en formato decimal empaquetado.
– B: El campo se grabar en formato binario.
– L: El campo de salida numérico debe ir precedido (izquierda) de un signo positivo o
negativo.
– R: El campo de salida numérico debe ir acompañado (derecha) de un signo positivo o
negativo.
– Esta posición debe estar en blanco si se especifica edición.
– La entrada de la posición 44 especifica el formato de los datos de los registros del
archivo. Esta entrada no afecta al formato utilizado para el proceso interno del campo de
entrada del programa.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
• Posiciones 45-70 (constante o palabra de edición)
– Las posiciones 45 a 70 se utilizan para especificar una constante, un nombre de formato o
una palabra de edición para un archivo descrito en el programa.
• Constantes
– Las constantes están formadas por datos de caracteres (literales) que no cambian durante
el proceso de un programa al siguiente. Una constante es más el dato real utilizado en el
registro de salida que un nombre que representa la ubicación de los datos.
– En las posiciones 45 a 70 puede colocarse una constante de hasta 24 caracteres. La
constante debe comenzar en la posición 46 (apóstrofe en la posición 45) y debe terminar
con un apóstrofe aunque contenga sólo caracteres numéricos. Cualquier apóstrofe que se
utilice dentro de una constante debe entrarse dos veces.
– El nombre de campo (posiciones 32 a 37) debe estar en blanco. En lugar de entrar una
constante, puede usar una constante con nombre que contenga un máximo de 256
caracteres.
• Palabras de edición
– Una palabra de edición especifica la puntuación de los campos numéricos, incluyendo la
impresión de signos de dólar, comas, puntos y estado de Signos.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... *
ONombarch++DF..N01N02N03Nomexc++++B++A++Sb+Sa+........................... *
OREGART D 20
O..............N01N02N03Campo+++++++++YB.Fin++PConstant/palabraedic/DTforma
O *ALL
• Para un archivo de actualización, todos los campos del registro se graban en el
REGART utilizando los valores actuales del programa para todos los
campos del registro.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
• En el ejemplo, se libera el bloqueo de registro del archivo RCDA mediante la operación
EXCPT.
*...1....+....2....+....3....+....4....+....5....+....6....+....7...
CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments++++++
C*
C KEY CHAINRCDA
C EXCPTRELESE
*...1....+....2....+....3....+....4....+....5....+....6....+....7...
O
O*
ORCDA E RELESE
O* (ningún campo)
• Se libera Bloqueo en archivo de registro mediante la operación EXCPT
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
š * SI EL CÓDIGO CAMBIA, ACTUALIZAR LA LÍNEA 2
C CODIGO IFNE ' '
C DOSPRI ANDNECODIGO
C EXCPT
C ENDIF
š *
C READ QRPGSRC 90
C ENDDO
C SETON LR
“ OQRPGSRC E
“ O CODIGO 13
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7
...+... *
O..............N01N02N03Campo+++++++++YB.Fin++PConstant/palabraedic/DT
forma
OREGVEN D 30
O NOMVEN 2
O TARCOM
O 15 BONOS
• Para actualizar un registro, se graban los campos NOVMEN y TARCOM en el
REGVEN cuando está activado el indicador 30. El campo BONOS se
graba en el registro REGVEN cuando están activados los indicadores 30 y 15. Todos los
demás campos del registro se graban con los valores que se han leído.
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
0001.00 F* CFSEQ - RESEQUENCE SORT PATTERNS
0002.00 FCFP001 IP F 256 19AI 1 DISK
0003.00 FCFPOUT O F 256 19AI 1 DISK
0004.00 ICFP001 AA 21 4 C0 5 C2 6 C1
0005.00 I* 1255 STACKER SPECIFICATION RECORD
0006.00 I 1 30CFBANK
0007.00 I* BANK NUMBER
0008.00 I 4 60CFRECT
0009.00 I* RECORD TYPE
0010.00 I 7 180CFKNBR
0011.00 I* NUMERIC KEY DEFINITION
0012.00 I 7 18 CFALFA
0013.00 I* ALPHA KEY DEFINITION
0014.00 I 19 19 CFINDR
0015.00 I* KEY - MULTIRECORD INDIC
0016.00 I 20 20 CFSTAT
0017.00 I* RECORD STATUS
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
0018.00 I 1 128 CRC
0019.00 I* RECORD REDEFINITION
0020.00 I P 125 1280CFLMTN
0021.00 I* DATE OF LAST MAINTENANCE
0022.00 I 7 70CFPTRNL2
0023.00 I* PATTERN NBR
0024.00 I 8 80CFPASSL1
0025.00 I* PASS NBR
0026.00 I 9 100CFPSEQ
0027.00 I* SEQUENCE NUMBER
0028.00 I AB 25
0029.00 I 1 128 CRC
0030.00 C L1 CSQ SUB CSQ CSQ 20
0031.00 C 21 CSQ COMP 5 30
0032.00 C 21N30 CSQ ADD 1 CSQ
0033.00 C 21 30 CSQ ADD 3 CSQ
0034.00 OCFPOUT D 21
0035.00 O CRC 128
0036.00 O CSQ X 10
0037.00 O D 25
0038.00 O CRC 128
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
*************** Principio de datos ************************************
0001.00 F*¬ CFSS30 - Common File Reports (F&O-Spec
0002.00 F*¬
0003.00 F*¬¬------------------- CHANGE LOG ------------------------------*
0004.00 F* PROB NBR PGMR PROBLEM DESCRIPTION *
0005.00 F* P907 RAL Prepare ICBS for ILE RPG conversion *
0006.00 F*¬¬-------------------------------------------------------------*
0007.00 FQSYSPRT O F 132 OF PRINTER
0008.00 OQSYSPRT D 201 OF
0009.00 O RPTDTE 14 ' - - '
0010.00 O RBKNME 85
0011.00 O 123 'PAGE'
0012.00 O L2 PAGE Z 128
0013.00 O D 2 OF
0014.00 O 15 'COMMON FILE'
0015.00 O RPTNME 85
0016.00 O 124 '00-'
0017.00 O RPTNUMX 127
0018.00 O D 1 OF
0019.00 O 53 '2 3 4'
0020.00 O 83 ' 5 6 7'
0021.00 O 93 '8'
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i
0022.00 O D 1 OF
0023.00 O 3 'SYS'
0024.00 O 8 'BANK'
0025.00 O 31 'ACTION'
0026.00 O 37 'FORM/'
0027.00 O 53 '678901234567890'
0028.00 O 73 '12345678901234567890'
0029.00 O 93 '12345678901234567890'
0030.00 O 99 'SEQ'
0031.00 O 114 '*--------ERROR'
0032.00 O 132 'MESSAGE---------*'
0033.00 O D 2 OF
0034.00 O 3 'NBR'
0035.00 O 7 'NBR'
0036.00 O 24 '*--KEY DATA---*'
0037.00 O 30 'CODE'
0038.00 O 37 'RECRD'
0039.00 O 53 '*---------------'
0040.00 O 73 '--------------------
0041.00 O 93 '-------------------*
0042.00 O 99 'NBR'
0043.00 O 110 'FIELD NAME'
0044.00 O 115 'LOC'
0045.00 O 126 'ERROR'
****************** Fin de datos *********************************
Ingeniero Giovanny Guillén Bustamante
Especialista Certificado PMP / IBM i

Más contenido relacionado

La actualidad más candente (20)

As400
As400As400
As400
 
Programacion RPG - Gestión de Errores y Excepciones
Programacion RPG - Gestión de Errores y ExcepcionesProgramacion RPG - Gestión de Errores y Excepciones
Programacion RPG - Gestión de Errores y Excepciones
 
As400mejorado
As400mejoradoAs400mejorado
As400mejorado
 
C language
C languageC language
C language
 
C programming
C programming C programming
C programming
 
64518313 manual-basico-as400
64518313 manual-basico-as40064518313 manual-basico-as400
64518313 manual-basico-as400
 
Cara Menginstall Ubuntu 14.04 dengan VirtualBox
Cara Menginstall Ubuntu 14.04 dengan VirtualBoxCara Menginstall Ubuntu 14.04 dengan VirtualBox
Cara Menginstall Ubuntu 14.04 dengan VirtualBox
 
Book ppt
Book pptBook ppt
Book ppt
 
cpp input & output system basics
cpp input & output system basicscpp input & output system basics
cpp input & output system basics
 
C programming
C programmingC programming
C programming
 
C programming
C programmingC programming
C programming
 
Introduction to C Programming
Introduction to C ProgrammingIntroduction to C Programming
Introduction to C Programming
 
Operación y control
Operación y controlOperación y control
Operación y control
 
fundamentals of c
fundamentals of cfundamentals of c
fundamentals of c
 
Advanced C
Advanced C Advanced C
Advanced C
 
OOP in C++
OOP in C++OOP in C++
OOP in C++
 
Una máscara de entrada se utiliza en campos
Una máscara de entrada se utiliza en camposUna máscara de entrada se utiliza en campos
Una máscara de entrada se utiliza en campos
 
C++ Overview
C++ OverviewC++ Overview
C++ Overview
 
6.2.2 plan de estudios en diseño asistido por computadora
6.2.2 plan de estudios en diseño asistido por computadora6.2.2 plan de estudios en diseño asistido por computadora
6.2.2 plan de estudios en diseño asistido por computadora
 
Introducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CIntroducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje C
 

Similar a Programacion RPG Especificaciones de Entrada y Salida

Similar a Programacion RPG Especificaciones de Entrada y Salida (17)

Programación RPG - Conceptos
Programación RPG - ConceptosProgramación RPG - Conceptos
Programación RPG - Conceptos
 
Marc21
Marc21Marc21
Marc21
 
Diapositiva de Estudio: PLC2.ppt
Diapositiva de Estudio:         PLC2.pptDiapositiva de Estudio:         PLC2.ppt
Diapositiva de Estudio: PLC2.ppt
 
Tipo de datos_c++
Tipo de datos_c++Tipo de datos_c++
Tipo de datos_c++
 
Tipo de datos_c_
Tipo de datos_c_Tipo de datos_c_
Tipo de datos_c_
 
Elementosbasicosc
Elementosbasicosc Elementosbasicosc
Elementosbasicosc
 
Elementos basicos cpp_oto2014
Elementos basicos cpp_oto2014Elementos basicos cpp_oto2014
Elementos basicos cpp_oto2014
 
Diapositivs~Elementos_basicos_C.pdf
Diapositivs~Elementos_basicos_C.pdfDiapositivs~Elementos_basicos_C.pdf
Diapositivs~Elementos_basicos_C.pdf
 
Memoria y acciones con un PLCggggggggggg
Memoria y acciones con un PLCgggggggggggMemoria y acciones con un PLCggggggggggg
Memoria y acciones con un PLCggggggggggg
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
 
Elementos basicos C++
Elementos basicos C++Elementos basicos C++
Elementos basicos C++
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
 
C lpii
C lpiiC lpii
C lpii
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
 
Unidad III Lenguaje Ensamblador (2).pptx
Unidad III Lenguaje Ensamblador (2).pptxUnidad III Lenguaje Ensamblador (2).pptx
Unidad III Lenguaje Ensamblador (2).pptx
 
ELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdfELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdf
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 

Más de Giovanny Guillen

Curso java desde cero nivel i - modulo v
Curso java desde cero   nivel i - modulo vCurso java desde cero   nivel i - modulo v
Curso java desde cero nivel i - modulo vGiovanny Guillen
 
Curso java desde cero nivel i - modulo iv
Curso java desde cero   nivel i - modulo ivCurso java desde cero   nivel i - modulo iv
Curso java desde cero nivel i - modulo ivGiovanny Guillen
 
Curso java desde cero nivel i - modulo iii
Curso java desde cero   nivel i - modulo iiiCurso java desde cero   nivel i - modulo iii
Curso java desde cero nivel i - modulo iiiGiovanny Guillen
 
Curso java desde cero nivel i - modulo ii
Curso java desde cero   nivel i - modulo iiCurso java desde cero   nivel i - modulo ii
Curso java desde cero nivel i - modulo iiGiovanny Guillen
 
Curso java desde cero nivel i - modulo i
Curso java desde cero   nivel i - modulo iCurso java desde cero   nivel i - modulo i
Curso java desde cero nivel i - modulo iGiovanny Guillen
 
Libro Ingeniería del Software
Libro Ingeniería del SoftwareLibro Ingeniería del Software
Libro Ingeniería del SoftwareGiovanny Guillen
 
Gestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de SoftwareGestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de SoftwareGiovanny Guillen
 
Template project status report
Template project status reportTemplate project status report
Template project status reportGiovanny Guillen
 
Gestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de RiesgosGestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de RiesgosGiovanny Guillen
 
La ejecución estratégica
La ejecución estratégicaLa ejecución estratégica
La ejecución estratégicaGiovanny Guillen
 
La transición del producto del proyecto
La transición del producto del proyectoLa transición del producto del proyecto
La transición del producto del proyectoGiovanny Guillen
 
Gerencia de Proyectos - Responsabilidades del Sponsor
Gerencia de Proyectos - Responsabilidades del SponsorGerencia de Proyectos - Responsabilidades del Sponsor
Gerencia de Proyectos - Responsabilidades del SponsorGiovanny Guillen
 
Lograr el éxito del proyecto
Lograr el éxito del proyectoLograr el éxito del proyecto
Lograr el éxito del proyectoGiovanny Guillen
 

Más de Giovanny Guillen (20)

Curso java desde cero nivel i - modulo v
Curso java desde cero   nivel i - modulo vCurso java desde cero   nivel i - modulo v
Curso java desde cero nivel i - modulo v
 
Curso java desde cero nivel i - modulo iv
Curso java desde cero   nivel i - modulo ivCurso java desde cero   nivel i - modulo iv
Curso java desde cero nivel i - modulo iv
 
Curso java desde cero nivel i - modulo iii
Curso java desde cero   nivel i - modulo iiiCurso java desde cero   nivel i - modulo iii
Curso java desde cero nivel i - modulo iii
 
Curso java desde cero nivel i - modulo ii
Curso java desde cero   nivel i - modulo iiCurso java desde cero   nivel i - modulo ii
Curso java desde cero nivel i - modulo ii
 
Curso java desde cero nivel i - modulo i
Curso java desde cero   nivel i - modulo iCurso java desde cero   nivel i - modulo i
Curso java desde cero nivel i - modulo i
 
Cobol training
Cobol trainingCobol training
Cobol training
 
Libro Ingeniería del Software
Libro Ingeniería del SoftwareLibro Ingeniería del Software
Libro Ingeniería del Software
 
Portafolio de proyectos
Portafolio de proyectosPortafolio de proyectos
Portafolio de proyectos
 
Seguridad del ibm i as400
Seguridad del ibm i as400Seguridad del ibm i as400
Seguridad del ibm i as400
 
Organizational values
Organizational valuesOrganizational values
Organizational values
 
Ingenieria requerimientos
Ingenieria requerimientosIngenieria requerimientos
Ingenieria requerimientos
 
Earn value
Earn valueEarn value
Earn value
 
Gestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de SoftwareGestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de Software
 
Fabricas de software
Fabricas de softwareFabricas de software
Fabricas de software
 
Template project status report
Template project status reportTemplate project status report
Template project status report
 
Gestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de RiesgosGestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de Riesgos
 
La ejecución estratégica
La ejecución estratégicaLa ejecución estratégica
La ejecución estratégica
 
La transición del producto del proyecto
La transición del producto del proyectoLa transición del producto del proyecto
La transición del producto del proyecto
 
Gerencia de Proyectos - Responsabilidades del Sponsor
Gerencia de Proyectos - Responsabilidades del SponsorGerencia de Proyectos - Responsabilidades del Sponsor
Gerencia de Proyectos - Responsabilidades del Sponsor
 
Lograr el éxito del proyecto
Lograr el éxito del proyectoLograr el éxito del proyecto
Lograr el éxito del proyecto
 

Programacion RPG Especificaciones de Entrada y Salida

  • 1. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i PROGRAMACION RPG: ESPECIFICACIONES DE ENTRADA Y SALIDA
  • 2. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Especificaciones de Entrada: Hoja I Generalidades • 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. • Pos. 6 : se especifica una I • Pos. 7 a la 80: sección de entrada de datos • Pos 81 a la 100: sección de comentarios
  • 3. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Especificaciones de Entrada: Hoja I Para archivos descritos por PGM • Describen: – Los tipos de registro del archivo – La secuencia de los tipos de registro – Los campos de un registro – Los datos del campo – Los indicadores basados en el contenido de los campos – Los campos de control – Los campos utilizados para registros coincidentes – Los campos utilizados para comprobar las secuencias
  • 4. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos por PGM • Pos 7 a 46: entradas de identificación de registro, describe el reg. de entrada y su relación con otros registros en el archivo *.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 10 IFilename++SqNORiPos1+NCCPos2+NCCPos3+NCC..................................Comments++++++++++++ I.........And..RiPos1+NCCPos2+NCCPos3+NCC..................................Comments++++++++++++ • Pos 31 a 74: entradas de descripción de campos, define los campos del registro. Cada campo en diferente línea, debajo de su respectiva entrada de identificación de registro. *.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 10 I........................Fmt+SPFrom+To+++DcField+++++++++L1M1FrPlMnZr......Comments++++++++++++
  • 5. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Especificaciones de Entrada: Hoja I Para archivos descritos externamente • Características – Las especificaciones de entrada son opcionales – Se pueden usar para añadir funciones RPG/400 a la descripción externa – Sirven también para describir estructuras de datos y constantes con nombre
  • 6. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos externamente • Pos 7 a 16 y 21 a 22: para identificar el formato de registro descrito externamente, del archivo, generalmente con DDS. *.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 10 IRcdname+++....Ri..........................................................Comments++++++++++++ • Pos 21 a 30, 49 a 66, 69 a 74: entradas de descripción de campos, que describen las funciones del RPG para ser adicionadas a los campos del registro. Las descripciones de campos son escritas seguidas al identificador de registro. *.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 10 I..............Ext-field+..................Field+++++++++L1M1..PlMnZr......Comments++++++++++++
  • 7. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos por programa • Pos. 6: debe contener una “I” • Pos. 7 a 16: (Nombre Archivo) debe corresponder al definido en la Hoja “F”. • Pos. 17 a 18: (Relación Lógica) (AND u OR). AND cuando + de 3 identificadores son usados; OR cuando 2 o + tipos de registro tienen campos comunes. Se pueden utilizar un número ilimitado de líneas AND/OR. • Pos. 17 a 18: (Secuencia) – Dato Carácter: El programa no chequea por alguna secuencia especial – Dato Numérico: El programa chequea una secuencia especial dentro del grupo • Pos. 19: (Numero): – Blanco: El programa no chequea secuencia especial para los tipos de registro – 1 : Un solo registro con esta definición puede estar presente en el archivo – N : Uno o + registros con esta definición puede estar presente en el archivo. Debe ser usada solo cuando exista un valor numérico en las pos 17-18. • Pos. 20: (Opción) – Blanco: El tipo de registro debe estar presente si se especifico chequeo en pos.17-18 – O : El tipo de registro es opcional si la secuencia de chequeo es especificada
  • 8. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos por programa • Pos.21 a 22: (Indicador de Identificación de registro, o **). – Blanco: No se utiliza indicador – 01 a 99: Valores validos para indicador – L1 a L9 o LR: Indicador de Nivel de Control para definición de registro – H1 a H9: Indicadores de Parada – U1 a U8: Indicadores Externos – ** : No es un indicador. Se utiliza para Línea de Balance (MR) • Pos. 23 a 46: (Códigos de Identif de Reg) identifican cada tipo de reg. dentro del archivo. Se pueden especificar de 1 a 3 códigos por línea, cuando sean mas de 3, se utiliza otra línea con OR/AND. – Pos. 23-27, 31-35, 39-43 • Blanco: No hay presente código de identificación de registro • 1-32766: La posición en el registro que contiene el código de identificación de reg. Esta entrada debe estar ajustada a la derecha y los ceros a la izq. pueden ser omitidos.
  • 9. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos por programa – Pos. 28, 36 y 44 (No) Negación • Blanco: El código de identificación de registro debe estar presente • N : El código de identificación de registro especificado NO debe estar presente. – Pos. 29, 37 y 45 (Parte de Código) • C Carácter entero • Z Parte de zona del carácter • D Parte de dígito del carácter Esta entrada especifica la parte del carácter del código de identificación de registro que debe someterse a comprobación. – Pos. 30, 38 y 46 (Carácter) Entre en esta posición el carácter de identificación que debe compararse con el carácter de la posición que especifica el registro de entrada. Cuando se especifica más de un tipo de registro en un archivo, los códigos de identificación de registro deberán codificarse de tal forma que cada registro de entrada tenga un único juego de códigos de identificación.
  • 10. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos por programa – Relación AND: La relación AND se utiliza cuando un registro está identificado con más de tres códigos de identificación de registro. Para utilizar la relación AND entre al menos un código de identificación de registro en la primera línea y los códigos de identificación restantes en las líneas siguientes, codificando AND en las posiciones 14 a 16 en cada una de la líneas adicionales utilizadas. – Relación OR: La relación OR se utiliza cuando dos o más tipos de registro tienen campos comunes. Para utilizar la relación OR, deber entrar OR en las posiciones 14 y 15. Las posiciones 7 a 13, 16 a 18, y 42 a 74 deben estar en blanco. En las posiciones 19 y 20 se puede entrar un indicador de identificación de registro. Si se ejecuta una entrada de indicador y se cumplen los códigos de identificación de registro especificados en la línea OR, se activar el indicador especificado en las posiciones 19 y 20 anterior. Un número ilimitado de relaciones AND/OR pueden ser especificadas. *...1....+....2....+....3....+....4....+....5....+....6....+....7... INombarchSeNOIrPos1NCCPos2NCCPos3NCC.PDesdA+++DCampo+L1M1FrP1NeC IDISK BC 91 95 C1 I OR 92 95 C2 I OR 93 95 C3
  • 11. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos por programa Entrada de descripción de campos • Las entradas de descripción de campo (posiciones 43 a 74) deberán seguir a • las entradas de identificación de registro (posiciones 7 a 42) para cada • archivo. • Pos. 6 (Tipo de Formato): Debe contener una “I” • Pos. 7 a 30: Reservadas • Pos. 31 a 34 (Atributos de datos): Para especificar formato externo para campos tipo fecha, hora, carácter de longitud variable o gráficos. • Pos. 35 (separador de hora/fecha): Especifica el carácter separador para campos tipo fecha/hora (/,-) • Pos. 36 (Formato de datos): – Blanco: Campo de entrada esta en formato decimal con zona o es carácter – UCS-2: en formato fijo o variable
  • 12. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos por programa • Pos. 36 (Formato de datos): – A : Carácter – C : UCS-2 – G : Campo grafico – B : Numérico en formato binario – F : Numérico en formato flotante – I : Numérico en formato entero – L : Numérico precedido con signo (decimal con zona) – N : Campo carácter tipo indicador – P : Numérico empaquetado – R : Numérico seguido del signo (decimal con zona) – S : Numérico decimal con zona – U : Numérico sin signo – D : Tipo Fecha, con especificación de formato externo – T : Tipo Hora, con especificación de formato externo
  • 13. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos por programa • Pos. 37 a 46 (Ubicación de campo): Especifica las posiciones de Inicio y final del campo mediante dos campos de 5 dígitos. – Pos.37 a 41 para inicio del campo – Pos. 42 a 46 para final del campo – 32766 máximo para campos carácter – 31 dígitos para campos numéricos • Pos. 47 a 48 (Posiciones decimales): – Blanco: Campo de caracteres – 0-31 : Número de posiciones decimales en el campo numérico. • Pos. 49 a 62 (Nombre del campo): Nombre simbólico para : Nombre de campo, estructura de datos, subcampo de estructura de datos, nombre de arreglo, elemento de arreglo o PAGE, PAGE1-PAGE7, *IN, *INxx o *IN(xx) • Pos. 63 a 64 (Nivel de control): – Blanco Este campo no es un campo de control. Los indicadores de nivel de control no pueden utilizarse con archivos controlados en cálculo. – L1-L9 Este campo es un campo de control. Las posiciones 63 y 64 indican los campos que se utilizan como campos de control.
  • 14. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos por programa • Pos. 65 a 66 (Campos de Comparación): – Blanco Este campo no es un campo de comparación. – M1-M9 Este campo es un campo de comparación. Esta entrada sirve para igualar los registros de un archivo con los de otro o para comprobar la secuencia de los campos de comparación de un archivo. Los campos de comparación sólo pueden especificarse para campos de archivos primarios y secundarios. • Pos. 67 a 68 (Relación Registro-Campo): – Blanco El campo es común a todos los tipos de registro. – 01-99 Indicadores generales. – L1-L9 Indicadores de nivel de control. – MR Indicador de registro coincidente. – U1-U8 Indicadores externos. – H1-H9 Indicadores de parada. – RT Indicador de retorno.
  • 15. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos por programa • Pos. 69 a 74 (Indicadores de campo): – Blanco El campo es común a todos los tipos de registro. – 01-99 Indicadores generales. – U1-U8 Indicadores externos. – H1-H9 Indicadores de parada. – RT Indicador de retorno. Las entradas en las posiciones 69 a 74 comprueban el estado de un campo o de un elemento de la matriz a medida que el programa los lee. Los indicadores de campo se especifican en la misma línea que el campo que debe comprobarse. Según el estado del campo (positivo, negativo, cero o blanco) se activa un indicador u otro y podrá utilizarse para condicionar especificaciones posteriores.
  • 16. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos externamente • Pos. 6 (Tipo de Forma): Debe contener una “I” Entradas de identificación de registro: Cuando el compilador recupera la descripción de un archivo de descripción externa, también recupera las definiciones de los registros. Para hacer referencia a las definiciones del registro, deber especificar el nombre del formato de registro en las especificaciones de entrada, de cálculo y de salida del programa. Las especificaciones de entrada son necesarias para un archivo de descripción externa en los casos que siguen: – Si deben especificarse indicadores de identificación de registro. – Si el programa debe asignar un nuevo nombre a un campo de registro. – Si deben utilizarse indicadores de nivel de control o de campos de comparación. – Si deben utilizarse indicadores de campo. • Pos. 7 a 16 (Nombre de registro): Ingrese uno de los siguientes:
  • 17. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos externamente • El nombre externo del formato del registro (el nombre del archivo no puede utilizarse para un archivo de descripción externa). • El nombre en RPG/400 que especifica la opción RENAME en la línea de continuación de las especificaciones de descripción de archivo, en caso de que se haya asignado un nuevo nombre al formato de registro externo. El nombre del formato de un registro sólo puede aparecer una vez en las posiciones 7 a 16 de las especificaciones de entrada de un programa. • Pos.17 a 20 (Reservadas): Deben estar en blanco. • Pos.21 a 22: (Indicador de identificación de registro): La especificación de los indicadores identificativos de registro es optativa en estas posiciones, y si se realiza sigue las reglas de los "Archivos descritos en el programa". • Pos. 23 a 80 (Reservadas): Deben estar en blanco.
  • 18. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos externamente Entradas de descripción de campo: Las especificaciones de descripción de campo para un archivo de descripción externa pueden usarse para asignar un nuevo nombre a un campo de un registro en un programa o para especificar funciones de nivel de control, indicador de campo y campos de comparación. Las definiciones del campo (atributos) se recuperan del archivo de descripción externa y el programa no puede modificarlas. Si los atributos de un campo no son válidos para un programa en RPG/400 (como por ejemplo una longitud numérica mayor de 30 dígitos), el campo no podrá utilizarse. Se hace una comprobación de diagnóstico de los campos contenidos en un formato de registro externo, tal como lo hace para las sentencias fuente. • Pos. 7 a 20 (Reservadas): Deben estar en blanco. • Pos. 21 a 30 (Nombre de campo externo): Para asignar un nuevo nombre a un campo de un registro de un archivo de descripción externa, deber entrar el nombre del campo externo en estas posiciones. Si se tiene que volver a asignar un nombre a un campo puede ser porque el nombre externo tenga mas de seis caracteres o porque el nombre coincida con el de un campo especificado en el programa y se requieren dos nombres diferentes.
  • 19. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i RPG – Hoja I: archivos descritos externamente • Pos. 31 a 48 (Reservadas): Deben estar en blanco. • Pos. 49 a 62 (Nombre campo): máximo 10 caracteres. • Pos. 63 a 64 (Niveles de control): – Blanco Este campo no es un campo de control. Los indicadores de nivel de control no pueden utilizarse con archivos controlados en cálculo. – L1-L9 Este campo es un campo de control. Las posiciones 63 y 64 indican los campos que se utilizan como campos de control. • Pos. 65 a 66 (Campos de comparación): – Blanco Este campo no es un campo de comparación. – M1-M9 Este campo es un campo de comparación. • Pos. 67 a 68 (Reservadas): Deben estar en blanco. • Pos. 69 a 74 (Indicadores de campo): – Blanco El campo es común a todos los tipos de registro. – 01-99 Indicadores generales – U1-U8 Indicadores externos. – H1-H9 Indicadores de parada. – RT Indicador de retorno. • Pos. 67 a 68 (Reservadas): Deben estar en blanco.
  • 20. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i • Las especificaciones de salida describen el registro y el formato de los campos en un archivo de salida descrito por programa y determinan el momento en que debe grabarse el registro. • Las especificaciones de salida son optativas para los archivos de descripción externa. • Las especificaciones de salida se clasifican en dos grandes categorías: – Identificación y control del registro – Descripción y control del campos
  • 21. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i • Posición 6 (tipo de formulario): En la posición 6 debe aparecer una O para poder identificar esta línea como una sentencia de especificaciones de salida. • Entradas de identificación y control de registros: las entradas en las posiciones 7 a 37 identifican los registros de salida, determinan las condiciones en las que deben grabarse los registros y proporcionan el espaciado en los informes impresos. • Posiciones 7-14 (nombre del archivo) • Posiciones 14-16 (relación lógica) – AND u OR indica una relación entre líneas de indicadores de salida. Las líneas AND/OR son válidas para registros de salida, pero no para campos.
  • 22. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i • Posición 15 (tipo): – H o D Los registros de detalle suelen contener datos que proceden directamente del registro de entrada o bien son el resultado de cálculos ejecutados en tiempo de detalle. Los registros de cabecera suelen contener constantes que identifican información del tipo títulos, cabeceras de columna, número de página y fecha. • El programa no hace ninguna distinción entre los registros de cabecera y de detalle. Las especificaciones H/D sirven para ayudar al programador a documentar el programa. – T - Los registros de totales suelen contener datos que aportan el resultado final de cálculos específicos realizados en varios registros de detalle. – E - Los registros de excepción se graban en tiempo de cálculo. Los registros de excepción sólo pueden especificarse con el código de operación EXCPT.
  • 23. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i • Posiciones 16-18 (adición/supresión de registro) – ADD - Añade un registro al archivo o subarchivo. – DEL - Suprime el último registro leído del archivo. – ADD - Es válida para archivos de entrada, salida o actualización. – DEL Sólo es válida para archivos DISK de actualización. • En la posición 66 de las especificaciones de descripción de archivo para un archivo que utilice la función ADD debe haber una A. • Esta entrada deber aparecer en la misma línea que contiene la especificación del tipo de registro (H, D, T, E, en la posición 15
  • 24. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i • Entrada posiciones 16 a 31 para los archivos de impresión definidos como PRINT – En la especificación de descripción de archivos comprende los siguientes funciones de presentación del informe. – Búsqueda de desbordamiento de página. – Liberación: Una vez finalizada de salida, se liberar el dispositivo utilizado en la operación la operación de salida (seguridad cuando se está imprimiendo formas especiales). – Espaciado entre campos. – Espaciado (salto) entre líneas. Como alternativa se recomienda utilizar la herramienta RLU para diseño de informes.
  • 25. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i • Las entradas en las posiciones 23 a 70 determinan las condiciones y el formato en los que deben grabarse los campos de un registro. – Cada campo se describe en una línea independiente. – En las posiciones 7 a 22 de una línea de descripción de campo no puede haber ninguna entrada. – La información sobre la descripción y el control de campo empieza en la línea siguiente a la línea de identificación de registro. • Posiciones 23-31 (indicadores de salida) – Los indicadores especificados en las líneas de descripción de campo determinan si un campo debe incluirse en el registro de salida. Para controlar campos se pueden utilizar los mismos tipos de indicadores que para controlar registros
  • 26. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i • Posiciones 32-37 (nombre de campo) – Especificar cada campo que deba grabarse: – Un nombre de campo – Blancos, si se especifica una constante en las posiciones 45 a 70 – Un nombre de tabla, nombre de matriz o elemento de una matriz – Una constante con nombre – Palabras reservadas del PAGE, PAGE1 a PAGE7, *PLACE, UDATE, *DATE, UDAY, *DAY, UMONTH, *MONTH, UYEAR, *YEAR – Un nombre de estructura de datos o un nombre de subcampo de estructura de datos.
  • 27. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i • Posiciones 40-43 (posición final): – 1-n Posición final – Las posiciones 40 a 43 definen la posición final de un campo o de una constante en el registro de salida . – la entrada +nnn o -nnn especifica la ubicación del campo o de la constante en relación a la posición final del campo anterior. El signo debe estar en la posición 40. El número (nnn) debe estar ajustado por la derecha, pero no son necesarios los ceros iniciales.
  • 28. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i • Posición 44 (formato de datos) – Blanco: El campo debe grabarse en formato numérico decimal con zona o en formato de caracteres; se editan datos numéricos o se especifica una constante en esta línea. – P: El campo se grabar en formato decimal empaquetado. – B: El campo se grabar en formato binario. – L: El campo de salida numérico debe ir precedido (izquierda) de un signo positivo o negativo. – R: El campo de salida numérico debe ir acompañado (derecha) de un signo positivo o negativo. – Esta posición debe estar en blanco si se especifica edición. – La entrada de la posición 44 especifica el formato de los datos de los registros del archivo. Esta entrada no afecta al formato utilizado para el proceso interno del campo de entrada del programa.
  • 29. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i • Posiciones 45-70 (constante o palabra de edición) – Las posiciones 45 a 70 se utilizan para especificar una constante, un nombre de formato o una palabra de edición para un archivo descrito en el programa. • Constantes – Las constantes están formadas por datos de caracteres (literales) que no cambian durante el proceso de un programa al siguiente. Una constante es más el dato real utilizado en el registro de salida que un nombre que representa la ubicación de los datos. – En las posiciones 45 a 70 puede colocarse una constante de hasta 24 caracteres. La constante debe comenzar en la posición 46 (apóstrofe en la posición 45) y debe terminar con un apóstrofe aunque contenga sólo caracteres numéricos. Cualquier apóstrofe que se utilice dentro de una constante debe entrarse dos veces. – El nombre de campo (posiciones 32 a 37) debe estar en blanco. En lugar de entrar una constante, puede usar una constante con nombre que contenga un máximo de 256 caracteres. • Palabras de edición – Una palabra de edición especifica la puntuación de los campos numéricos, incluyendo la impresión de signos de dólar, comas, puntos y estado de Signos.
  • 30. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i *.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... * ONombarch++DF..N01N02N03Nomexc++++B++A++Sb+Sa+........................... * OREGART D 20 O..............N01N02N03Campo+++++++++YB.Fin++PConstant/palabraedic/DTforma O *ALL • Para un archivo de actualización, todos los campos del registro se graban en el REGART utilizando los valores actuales del programa para todos los campos del registro.
  • 31. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i • En el ejemplo, se libera el bloqueo de registro del archivo RCDA mediante la operación EXCPT. *...1....+....2....+....3....+....4....+....5....+....6....+....7... CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments++++++ C* C KEY CHAINRCDA C EXCPTRELESE *...1....+....2....+....3....+....4....+....5....+....6....+....7... O O* ORCDA E RELESE O* (ningún campo) • Se libera Bloqueo en archivo de registro mediante la operación EXCPT
  • 32. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i š * SI EL CÓDIGO CAMBIA, ACTUALIZAR LA LÍNEA 2 C CODIGO IFNE ' ' C DOSPRI ANDNECODIGO C EXCPT C ENDIF š * C READ QRPGSRC 90 C ENDDO C SETON LR “ OQRPGSRC E “ O CODIGO 13
  • 33. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i *.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... * O..............N01N02N03Campo+++++++++YB.Fin++PConstant/palabraedic/DT forma OREGVEN D 30 O NOMVEN 2 O TARCOM O 15 BONOS • Para actualizar un registro, se graban los campos NOVMEN y TARCOM en el REGVEN cuando está activado el indicador 30. El campo BONOS se graba en el registro REGVEN cuando están activados los indicadores 30 y 15. Todos los demás campos del registro se graban con los valores que se han leído.
  • 34. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i 0001.00 F* CFSEQ - RESEQUENCE SORT PATTERNS 0002.00 FCFP001 IP F 256 19AI 1 DISK 0003.00 FCFPOUT O F 256 19AI 1 DISK 0004.00 ICFP001 AA 21 4 C0 5 C2 6 C1 0005.00 I* 1255 STACKER SPECIFICATION RECORD 0006.00 I 1 30CFBANK 0007.00 I* BANK NUMBER 0008.00 I 4 60CFRECT 0009.00 I* RECORD TYPE 0010.00 I 7 180CFKNBR 0011.00 I* NUMERIC KEY DEFINITION 0012.00 I 7 18 CFALFA 0013.00 I* ALPHA KEY DEFINITION 0014.00 I 19 19 CFINDR 0015.00 I* KEY - MULTIRECORD INDIC 0016.00 I 20 20 CFSTAT 0017.00 I* RECORD STATUS
  • 35. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i 0018.00 I 1 128 CRC 0019.00 I* RECORD REDEFINITION 0020.00 I P 125 1280CFLMTN 0021.00 I* DATE OF LAST MAINTENANCE 0022.00 I 7 70CFPTRNL2 0023.00 I* PATTERN NBR 0024.00 I 8 80CFPASSL1 0025.00 I* PASS NBR 0026.00 I 9 100CFPSEQ 0027.00 I* SEQUENCE NUMBER 0028.00 I AB 25 0029.00 I 1 128 CRC 0030.00 C L1 CSQ SUB CSQ CSQ 20 0031.00 C 21 CSQ COMP 5 30 0032.00 C 21N30 CSQ ADD 1 CSQ 0033.00 C 21 30 CSQ ADD 3 CSQ 0034.00 OCFPOUT D 21 0035.00 O CRC 128 0036.00 O CSQ X 10 0037.00 O D 25 0038.00 O CRC 128
  • 36. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i *************** Principio de datos ************************************ 0001.00 F*¬ CFSS30 - Common File Reports (F&O-Spec 0002.00 F*¬ 0003.00 F*¬¬------------------- CHANGE LOG ------------------------------* 0004.00 F* PROB NBR PGMR PROBLEM DESCRIPTION * 0005.00 F* P907 RAL Prepare ICBS for ILE RPG conversion * 0006.00 F*¬¬-------------------------------------------------------------* 0007.00 FQSYSPRT O F 132 OF PRINTER 0008.00 OQSYSPRT D 201 OF 0009.00 O RPTDTE 14 ' - - ' 0010.00 O RBKNME 85 0011.00 O 123 'PAGE' 0012.00 O L2 PAGE Z 128 0013.00 O D 2 OF 0014.00 O 15 'COMMON FILE' 0015.00 O RPTNME 85 0016.00 O 124 '00-' 0017.00 O RPTNUMX 127 0018.00 O D 1 OF 0019.00 O 53 '2 3 4' 0020.00 O 83 ' 5 6 7' 0021.00 O 93 '8'
  • 37. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i 0022.00 O D 1 OF 0023.00 O 3 'SYS' 0024.00 O 8 'BANK' 0025.00 O 31 'ACTION' 0026.00 O 37 'FORM/' 0027.00 O 53 '678901234567890' 0028.00 O 73 '12345678901234567890' 0029.00 O 93 '12345678901234567890' 0030.00 O 99 'SEQ' 0031.00 O 114 '*--------ERROR' 0032.00 O 132 'MESSAGE---------*' 0033.00 O D 2 OF 0034.00 O 3 'NBR' 0035.00 O 7 'NBR' 0036.00 O 24 '*--KEY DATA---*' 0037.00 O 30 'CODE' 0038.00 O 37 'RECRD' 0039.00 O 53 '*---------------' 0040.00 O 73 '-------------------- 0041.00 O 93 '-------------------* 0042.00 O 99 'NBR' 0043.00 O 110 'FIELD NAME' 0044.00 O 115 'LOC' 0045.00 O 126 'ERROR' ****************** Fin de datos *********************************
  • 38. Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i