Programacion RPG Especificaciones de Entrada y Salida

38
Ingeniero Giovanny Guillén Bustamante Especialista Certificado PMP / IBM i PROGRAMACION RPG: ESPECIFICACIONES DE ENTRADA Y SALIDA

Transcript of Programacion RPG Especificaciones de Entrada y Salida

Page 1: Programacion RPG Especificaciones de Entrada y Salida

Ingeniero Giovanny Guillén Bustamante

Especialista Certificado PMP / IBM i

PROGRAMACION RPG:

ESPECIFICACIONES DE ENTRADA

Y SALIDA

Page 2: 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

Page 3: Programacion RPG Especificaciones de Entrada y Salida

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

Page 4: Programacion RPG Especificaciones de Entrada y Salida

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++++++++++++

Page 5: Programacion RPG Especificaciones de Entrada y Salida

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

Page 6: Programacion RPG Especificaciones de Entrada y Salida

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++++++++++++

Page 7: Programacion RPG Especificaciones de Entrada y Salida

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

Page 8: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 9: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 10: Programacion RPG Especificaciones de Entrada y Salida

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

Page 11: Programacion RPG Especificaciones de Entrada y Salida

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

Page 12: Programacion RPG Especificaciones de Entrada y Salida

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

Page 13: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 14: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 15: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 16: Programacion RPG Especificaciones de Entrada y Salida

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:

Page 17: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 18: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 19: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 20: Programacion RPG Especificaciones de Entrada y Salida

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

Page 21: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 22: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 23: Programacion RPG Especificaciones de Entrada y Salida

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

Page 24: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 25: Programacion RPG Especificaciones de Entrada y Salida

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

Page 26: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 27: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 28: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 29: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 30: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 31: Programacion RPG Especificaciones de Entrada y Salida

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

Page 32: Programacion RPG Especificaciones de Entrada y Salida

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

Page 33: Programacion RPG Especificaciones de Entrada y Salida

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.

Page 34: Programacion RPG Especificaciones de Entrada y Salida

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

Page 35: Programacion RPG Especificaciones de Entrada y Salida

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

Page 36: Programacion RPG Especificaciones de Entrada y Salida

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'

Page 37: Programacion RPG Especificaciones de Entrada y Salida

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 *********************************

Page 38: Programacion RPG Especificaciones de Entrada y Salida

Ingeniero Giovanny Guillén Bustamante

Especialista Certificado PMP / IBM i