INVERSIONES
PRETEL MARIN Y CIA www.ipm-gs.com
S.C.S.
Calle 173 # 52 A 31 Santafé de Bogota - Colombia Teléfonos: 6710110 5260991 Fax: 5261805
01. CREACIÓN DEL PROGRAMA RPG
Objetivos: Conocer cómo se debe codificar un programa RPG de dos líneas. Conocer cómo se debe compilar un programa RPG. Conocer qué hojas se utilizan usando el ciclo de RPG (Hoja C y CX en un ciclo Do Until). Conocer cuál es la estructura de la instrucción DSPLY. Conocer cuál es la estructura e equivalencias de las instrucciones MOVE y EVAL. Conocer cuál es la estructura de los nombres a usar en las prácticas de los programas. La siguiente figura muestra la estructura de un ciclo Do Until (hacer hasta que) y la utilización de la hoja C de cálculo (la hoja CX se utiliza en la misma posición y significa cálculo extendido) véase el anexo V para conocer el detalle de las hojas C y CX. La hoja de cálculo se asemeja a las especificaciones de los generadores de cuarta generación que indican que lo que se escribe dentro de ella afecta a todos los registros que va a presentar la selección de registros especificada en las declarativas de los archivos. La siguiente práctica indica como codificar un programa que muestra un mensaje en pantalla, compilarlo y ejecutarlo. Instrucciones usadas: Dsply y Move (véase el anexo VI para conocer el detalle de los códigos de operación) .
Prácticas:
001.- Conocimiento de las opciones del compilador (CRTRPGPGM), Cómo finalizar un programa (*INLR), como mostrar una constante (DSPLY).
Se debe escribir el código dentro de un archivo fuente QRPGSRC y el tipo de fuente deberá ser RPG. El nombre del miembro será nnn###$#
Connotación Nnn ### $#
Explicación Sus iniciales. El número del capítulo. El número de la práctica dentro del capítulo.
El siguiente diagrama de flujo muestra un ciclo “Do Until” y muestra la posición de la hoja C o CX.
Capítulo 01 - 1 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproducción parcial o total sin autorización escrita de IPM.
INVERSIONES
PRETEL MARIN Y CIA www.ipm-gs.com
S.C.S.
Calle 173 # 52 A 31 Santafé de Bogota - Colombia Teléfonos: 6710110 5260991 Fax: 5261805
Inicio
C
PROCESO
LECTURA
FIN DE ARCHIVO
PROCESO POR ULTIMO REGISTRO
FINAL
El programa que debe codificar es el siguiente, se muestra una línea al principio, que indica el inicio del fuente y otra al final que indica la finalización del mismo, también se muestra una línea que indica con la palabra FMT y el tipo de la hoja C de cálculo. Se muestran dos líneas la 0004,00 y la 0005,00 las cuales contienen el código a ingresar: FMT C 0002.00 0003.00
*************** Principio de datos ***************************************** CL0N01N02N03Fact or1+++Oper+Facto r2+++ResultLonDH MaMeIgComentarios ++++ C ‘HOLA’ DSPLY C MOVE *ON *INLR ******************* Fin de datos *******************************************
Se debe notar que lo único que obedece a un formato dentro de la hoja “C” son las instrucciones /FREE y /END-FREE, dentro de ellas el formato es completamente libre y se omite EVAL al igual como se hace en Basic con la instrucción Let. *************** Principio de datos ***************************************** FMT C CL0N01N02N03Fact or1+++Oper+Facto r2+++ResultLonDH MaMeIgComentarios ++++ 0001.00 C/FREE 0002.00 Dsply ‘HOLA’ ; 0003.00 MOVE *ON *INRL ; 0004.00 C/END-FREE ******************* Fin de datos *******************************************
Las siguientes pantallas muestran el proceso para grabar el fuente, compilarlo y ejecutarlo para ello se va a utilizar el PDM (Program Developer Manager) para ello escriba en la línea de mandatos StrPdm:
Capítulo 01 - 2 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproducción parcial o total sin autorización escrita de IPM.
INVERSIONES
PRETEL MARIN Y CIA www.ipm-gs.com
S.C.S.
Calle 173 # 52 A 31 Santafé de Bogota - Colombia Teléfonos: 6710110 5260991 Fax: 5261805
Escriba la instrucción STRPDM y presione Intro para continuar, se visualizará una pantalla como la que se ilustra a continuación:
Escriba 3, “Trabajar con Miembros” y presione Intro para continuar, se visualizará una pantalla como la que se ilustra a continuación:
Escriba en archivo QRPGSRC y en biblioteca CRSSRC y presione Intro para continuar, se visualizará una pantalla como la que se ilustra a continuación:
Capítulo 01 - 3 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproducción parcial o total sin autorización escrita de IPM.
INVERSIONES
PRETEL MARIN Y CIA www.ipm-gs.com
S.C.S.
Calle 173 # 52 A 31 Santafé de Bogota - Colombia Teléfonos: 6710110 5260991 Fax: 5261805
Presione la tecla F6, “Crear”, para crear un fuente, se visualizará una pantalla como la que se ilustra a continuación:
Ingrese los siguientes parámetros:
Descripción Miembro Fuente Tipo de fuente Texto descriptivo
Valor JJS001$1 RPG Usar las instrucciones DSPLY y MOVE
Escriba los datos y presione Intro para continuar, se visualizará una pantalla como la que se ilustra a continuación:
Capítulo 01 - 4 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproducción parcial o total sin autorización escrita de IPM.
INVERSIONES
PRETEL MARIN Y CIA www.ipm-gs.com
S.C.S.
Calle 173 # 52 A 31 Santafé de Bogota - Colombia Teléfonos: 6710110 5260991 Fax: 5261805
Fíjese que indica la última acción: “Se ha añadido el miembro JJS001$1 al archivo CRSSRC/QRPGSRC” ingrese la instrucción IPC (Input Prompt hoja C) ingreso con s olicitud para la hoja C y presione Intro para continuar, se visualizará una pantalla como la que se ilustra a continuación:
Ingrese en el “Factor 1” la constante “HOLA” y en “Operación” el código de operación DSPLY y presione Intro para continuar, se visualizará una pantalla como la que se ilustra a continuación:
Ingrese en “Operación” el código de operación MOVE, en “Factor 2” la palabra clave *ON y en “Resultado” el indicador de fin de programa *INLR y presione Intro para continuar, se visualizará una pantalla como la que se ilustra a continuación:
Capítulo 01 - 5 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproducción parcial o total sin autorización escrita de IPM.
INVERSIONES
PRETEL MARIN Y CIA www.ipm-gs.com
S.C.S.
Calle 173 # 52 A 31 Santafé de Bogota - Colombia Teléfonos: 6710110 5260991 Fax: 5261805
Deje los campos en blanco y presione Intro para continuar, se visualizará una pantalla como la que se ilustra a continuación:
Fíjese que el código ha sido entrado, esta es la forma del código en RPG III, para finalizar presione la tecla F3, “Salir”, se visualizará una pantalla como la que se ilustra a continuación:
Acepte los parámetros por omisión y presione Intro para continuar, se visualizará una pantalla como la que se ilustra a continuación:
Escriba 14, “Compilar”, el sistema sabe que tipo de fuente es y por ello invoca el compilador correcto, y presione Intro para continuar, se visualizará una pantalla como la que se ilustra a continuación: Capítulo 01 - 6 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproducción parcial o total sin autorización escrita de IPM.
INVERSIONES
PRETEL MARIN Y CIA www.ipm-gs.com
S.C.S.
Calle 173 # 52 A 31 Santafé de Bogota - Colombia Teléfonos: 6710110 5260991 Fax: 5261805
Si aparece el mensaje: “El programa JJS001$1 se ha situado en biblioteca CSFOBJ. La Gravedad más alto” el programa ha sido compilado con éxito. Cuando se compila se puede efectuar tres tipos de compilaciones: CRTRPGPGM (No ILE – Tipo RPG (OPM)) opción 14 CRTBNDRPG (programa y módulo ILE – Tipo RPGLE (ILE)) opción 14 CRTRPGMOD (módulo ILE) opción 15 y posteriormente se debe incluir dentro de un programa (CRTPGM). • • •
Para el ejemplo actual se utilizó el CRTRPGPGM (opción 14 sobre el miembro fuente del PDM cuando el tipo es RPG). Escriba la siguiente instrucción en la línea de mandatos para ejecutar el programa recientemente ingresado CALL PGM(CRSOBJ/JJS001$1) , así como muestra la siguiente pantalla:
Presione Intro para continuar, se visualizará una pantalla como la que se ilustra a continuación:
Capítulo 01 - 7 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproducción parcial o total sin autorización escrita de IPM.
INVERSIONES
PRETEL MARIN Y CIA www.ipm-gs.com
S.C.S.
Calle 173 # 52 A 31 Santafé de Bogota - Colombia Teléfonos: 6710110 5260991 Fax: 5261805
Visualice el mensaje y presione Intro para finalizar:
002.- Conocimiento de las opciones del compilador (CRTBNDPGM), Cómo finalizar un programa (*INLR) usando la directriz EVAL, como mostrar una constante (DSPLY). Instrucciones usadas: Dsply y Eval (véase el anexo VI para conocer el detalle de los códigos de operación) . FMT C 0002.00 FMT CX 0003.00
*************** Principio de datos ************************************ CL0N01Factor1++ +++++Operac&ExtFa ctor2+++++++Resu ltado+++++Lon++D +MaMeIg C 'HOLA' Dsply CL0N 01Factor1+++++++O perac&ExtFactor- ampliado2+++++++ +++++++++++++++++ + C Eval *InLr = *On ****************** Fin de dato ***************************************
Se debe notar que lo único que obedece a un formato dentro de la hoja “C” son las instrucciones /FREE y /END-FREE, dentro de ellas el formato es completamente libre y se omite EVAL al igual como se hace en Basic con la instrucción Let. FMT C
*************** Principio de datos ************************************ CL0N01Factor1++ +++++Operac&ExtFa ctor2+++++++Resu ltado+++++Lon++D +MaMeIg
0001.00 C/FREE
0002.00 0003.00
Dsply 'HOLA' ; Eval *InLr = *On ;
0004.00 C/END-FREE
****************** Fin de dato ***************************************
Se debe notar que el formato C anteriormente especificado se ha substituido por el CX, el cual es una extensión del primero y que permite incluir expresiones, que antes en el RPG, RPG II y RPG III no se podían, tiene las siguientes características para conocerlas
003.- Conocimiento de las opciones del compilador (CRTBNDPGM), Cómo finalizar un programa (*INLR) usando la directriz EVAL, como mostrar una constante (DSPLY) usando el formato libre. Instrucciones usadas: Dsply y Eval (véase el anexo VI para conocer el detalle de los códigos de operación) .
Capítulo 01 - 8 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproducción parcial o total sin autorización escrita de IPM.
INVERSIONES
PRETEL MARIN Y CIA www.ipm-gs.com
S.C.S.
Calle 173 # 52 A 31 Santafé de Bogota - Colombia Teléfonos: 6710110 5260991 Fax: 5261805
Otra variación de la instrucción MOVE es Eval, la cual tiene muchas más posibilidades de su predecesora, la instrucción se codifica de la siguiente forma: Con EVAL Explícito: *************** Principio de datos ************************************ FMT C CL0N01Factor1++ +++++Operac&ExtFa ctor2+++++++Resu ltado+++++Lon++D +MaMeIg 0001.00 C/FREE 0002.00 Dsply 'HOLA' ; 0003.00 Eval *InLr = *On ; 0004.00 C/END-FREE ****************** Fin de dato ***************************************
Con EVAL implícito: *************** Principio de datos ************************************ FMT C CL0N01Factor1++ +++++Operac&ExtFa ctor2+++++++Resu ltado+++++Lon++D +MaMeIg 0001.00 C/FREE 0002.00 Dsply 'HOLA' ; 0003.00 *InLr = *On ; 0004.00 C/END-FREE ****************** Fin de dato ***************************************
Conteste las siguientes preguntas: ¿En el área de indicadores a la izquierda llamada N01N02N03, en que tipo de fuente se utiliza? RPG. RPGLE. Ninguna de las anteriores. ¿El FACTOR1 mide 14 caracteres, en que tipo de fuente se utiliza? RPG. RPGLE. Ninguna de las anteriores. ¿El código de operación se llama “ Operac&Ext ”, en que tipo de fuente se utiliza? RPG. RPGLE. Ninguna de las anteriores. ¿El código de operación se llama OPCODE, en que tipo de fuente se utiliza? RPG. RPGLE. Ninguna de las anteriores. ¿Se puede usar campos internos de 14 caracteres, en que tipo de fuente se utiliza? RPG. RPGLE. Ninguna de las anteriores. ¿Se puede usar campos de base de datos de 10 caracteres, en que tipo de fuente se utiliza? Capítulo 01 - 9 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproducción parcial o total sin autorización escrita de IPM.
INVERSIONES
PRETEL MARIN Y CIA www.ipm-gs.com
S.C.S.
Calle 173 # 52 A 31 Santafé de Bogota - Colombia Teléfonos: 6710110 5260991 Fax: 5261805
RPG. RPGLE. Ninguna de las anteriores.
¿Se puede describir las variables en Mayúsculas y Minúsculas, en que tipo de fuente se utiliza? RPG. RPGLE. Ninguna de las anteriores. ¿Se puede usar códigos de extensión junto con el código de operación, en que tipo de fuente se utiliza? RPG. RPGLE. Ninguna de las anteriores. ¿Se pueden incluir en el FACTOR2 expresiones con paréntesis y funciones incorporadas, en que tipo de fuente se utiliza? RPG. RPGLE. Ninguna de las anteriores. ¿Que longitud tiene el FACTOR2 del RPGLE? 8 o menos caracteres. Entre 10 y 14 caracteres. Más de 14 caracteres. Ninguna de las anteriores. Los cambios a la hoja C y CX de RPG a RPGLE se pueden resumir de la siguiente manera: Se redujo los indicadores de condición de N01N02N03 a sólo N01 (las comparaciones complejas se hacen dentro del FACTOR2 extendido y pueden ser usados variables simples y boleanas o funciones incorporadas para este fin). Se amplió el FACTOR1 de 8 caracteres a 14 (10 para los nombres de los campos externos y 4 para el prefijo o campos de 14 caracteres de longitud definidos internamente). Se pueden incluir mayúsculas y minúsculas para establecer géneros y diferencias. El código de operación OPCODE se ha cambiado a “Operac&Ext ” que incluye el código de operación, que ahora es más de cinco caracteres y las extensiones (véase anexo VI para más detalle). El FACTOR2 se cambió de 8 caracteres a 14 y el FACTOR2 extendido tiene mayor longitud para incluir expresiones (puede usar más de una línea para completar la expresión) •
•
• •
•
Se debe escribir el siguiente código dentro de un archivo fuente QRPGLESRC y el tipo de fuente deberá ser RPGLE. El nombre del miembro será nnn###$# Para el ejemplo actual se utilizará el CRTBNDPGM (opción 14 sobre el miembro fuente del PDM cuando el tipo es RPGLE). Véase que demora más en compilar (pero es más rápido al ejecutar).
Capítulo 01 - 10 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproducción parcial o total sin autorización escrita de IPM.