Anda di halaman 1dari 5

INVERSIONES

www.ipm-gs.com

PRETEL MARIN Y CIA S.C.S.

Calle 173 # 52 A 31 Santaf de Bogota - Colombia Telfonos: 6710110 5260991 Fax: 5261805

02. BUCLES EN EL RPG

Objetivos: Conocer qu hojas se utilizan usando el ciclo de RPG (Hoja D, C y CX en un bucle FOR). Conocer cul es la estructura de la Hoja D para definir variables autnomas. Conocer cul es la estructura y equivalencias de las instrucciones DO / ENDDO y FOR / ENDFOR. La siguiente figura muestra la estructura de un ciclo Do EndDo (Bucle) y la utilizacin de la hoja D de definicin (la hoja DX se utiliza en la misma posicin y significa extensin de la definicin) vase el anexo V para conocer el detalle de las hojas D y DX. La hoja de definicin substituye muchas hojas que anteriormente se utilizaban en el RPG (E, DS y la definicin de variables dentro de la hoja C) y valga la burda semejanza, se asemeja al DCL y DCLF del CL. La siguiente prctica indica como codificar un programa que muestra un mensaje en pantalla, compilarlo y ejecutarlo. Instrucciones usadas: Dsply, Do / EndDo, For / EndFor y Eval, Move (vase el anexo VI para conocer el detalle de los cdigos de operacin).

Prcticas: 001.- Cmo se puede crear un bucle (loop) para mostrar varios mensajes, usando Do / EndDo. Cree un fuente como se cre para la primera prctica, cuando aparece la siguiente pantalla escriba lo que aparece en ella:

Captulo 02 - 1 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproduccin parcial o total sin autorizacin escrita de IPM.

INVERSIONES
www.ipm-gs.com

PRETEL MARIN Y CIA S.C.S.

Calle 173 # 52 A 31 Santaf de Bogota - Colombia Telfonos: 6710110 5260991 Fax: 5261805

Escriba la instruccin IPD, Insert Prompt Define, y presione Intro para continuar, se visualizar una pantalla como la que se ilustra a continuacin:

Escriba Bajo el ttulo Nombre: Contador (variable); bajo Declaracin Tipo: S (Variable autnoma); Bajo A / Longitud: 5; bajo Tipo de Datos Interno: P y bajo Posiciones decimales: 0 y presione Intro para continuar, se visualizar una pantalla como la que se ilustra a continuacin:

Las otras instrucciones se ingresan igual a la hoja C y CX, segn muestra el cdigo ms a continuacin:
FMT D 0001.00 FMT C 0003.00 0004.00 0005.00 FMT CX 0006.00 *************** Principio de datos ************************************ DNombre+++++++++ETDsDesde++A+/L+++IDc.Palabras Clave+++++++++++++++++++ DContador S 5P 0 CL0N01Factor1+++++++Operac&ExtFactor2+++++++Resultado+++++Lon++D+MaMeIg C 1 Do 5 Contador C 'HOLA' Dsply C EndDo CL0N01Factor1+++++++Operac&ExtFactor-ampliado2+++++++++++++++++++++++++ C Eval *InLr = *On ****************** 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 instruccin Let.
FMT D *************** Principio de datos ************************************ DNombre+++++++++ETDsDesde++A+/L+++IDc.Palabras Clave+++++++++++++++++++

Captulo 02 - 2 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproduccin parcial o total sin autorizacin escrita de IPM.

INVERSIONES
www.ipm-gs.com

PRETEL MARIN Y CIA S.C.S.

Calle 173 # 52 A 31 Santaf de Bogota - Colombia Telfonos: 6710110 5260991 Fax: 5261805

0001.01 FMT C 0002.00 0003.00 0004.00 0005.00 0006.00 0007.00

DContador S 5P 0 CL0N01Factor1+++++++Operac&ExtFactor2+++++++Resultado+++++Lon++D+MaMeIg C/FREE Do 1 5 Contador ; Dsply HOLA ; EndDo ; Eval *InLr = *On ; C/END-FREE ****************** Fin de datos ***************************************

La longitud de la variable puede ser de 14 caracteres y la S indica que es la definicin autnoma (single), el contador es empaquetado y con longitud de 5 enteros, cero decimal. El resto de la grabacin es similar al programa ya ingresado. La siguiente figura indica que el programa se llevar acabo en el recuadro de proceso y se definir el contador en la hoja D.
Inicio

D C

DECLARATIVAS

PROCESO

LECTURA

FIN DE ARCHIVO

PROCESO POR ULTIMO REGISTRO

FINAL

La semejanza con el lenguaje Basic es la instruccin: For - Next 002.- Cmo se puede crear un bucle (loop) para mostrar varios mensajes, usando For / EndFor. La siguiente figura muestra como se implementara usando una estructura FOR / ENDFOR, que slo est disponible a partir de la versin 4,4 (fjese que el contador es binario).
*************** Principio de datos ************************************ FMT D DNombre+++++++++ETDsDesde++A+/L+++IDc.Palabras Clave+++++++++++++++++++ 0001.00 DContador S 2B 0

Captulo 02 - 3 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproduccin parcial o total sin autorizacin escrita de IPM.

INVERSIONES
www.ipm-gs.com

PRETEL MARIN Y CIA S.C.S.

Calle 173 # 52 A 31 Santaf de Bogota - Colombia Telfonos: 6710110 5260991 Fax: 5261805

FMT C 0003.00 0004.00 0005.00 FMT CX 0006.00

CL0N01Factor1+++++++Operac&ExtFactor2+++++++Resultado+++++Lon++D+MaMeIg C For Contador = 1 To 5 C 'HOLA' Dsply C EndFor CL0N01Factor1+++++++Operac&ExtFactor-ampliado2+++++++++++++++++++++++++ C Eval *InLr = *On ****************** 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 instruccin Let.
FMT D 0001.00 FMT C 0002.00 0003.00 0004.00 0005.00 0006.00 0007.00 *************** Principio de datos ************************************ DNombre+++++++++ETDsDesde++A+/L+++IDc.Palabras Clave+++++++++++++++++++ DContador S 2B 0 CL0N01Factor1+++++++Operac&ExtFactor2+++++++Resultado+++++Lon++D+MaMeIg C/FREE For Contador = 1 To 5 ; Dsply 'HOLA' ; EndFor ; Eval *InLr = *On ; C/END-FREE ****************** Fin de datos ***************************************

Para el ejemplo actual se utilizar el CRTBNDPGM (opcin 14 sobre el miembro fuente del PDM cuando el tipo es RPGLE). Escriba la siguiente instruccin en la lnea de mandatos despus de haber completado con xito la compilacin se debe ejecutar el programa recientemente ingresado CALL PGM(CRSOBJ/JJS002$1), as como muestra la siguiente pantalla:

Presione Intro para continuar, se visualizar una pantalla como la que se ilustra a continuacin:

Captulo 02 - 4 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproduccin parcial o total sin autorizacin escrita de IPM.

INVERSIONES
www.ipm-gs.com

PRETEL MARIN Y CIA S.C.S.

Calle 173 # 52 A 31 Santaf de Bogota - Colombia Telfonos: 6710110 5260991 Fax: 5261805

Presione cuatro veces Intro para continuar, se visualizar una pantalla como la que se ilustra a continuacin:

Presione Intro para finalizar. Conteste las siguientes preguntas Por qu se debe usar FOR / ENDFO en vez de DO / ENDDO? Es ms simple el uso del FOR. Es una instruccin estructurada y homologada por otros lenguajes. Ninguna de las anteriores. En cul tipo de fuente e puede usar la hoja D? RPG. RPGLE. Ninguna de las anteriores. Revisando el anexo VI conteste la siguiente pregunta Es DO equivalente en funcionalidad a FOR? S. No.

Captulo 02 - 5 Material para el curso de RPG IV (Report Program Generator) para el AS/400. Prohibida la reproduccin parcial o total sin autorizacin escrita de IPM.

Anda mungkin juga menyukai