En aquest tema, aprendrem els fonaments de la sintaxi i l'estructura del llenguatge RPG. Aquest coneixement és essencial per poder escriure programes correctes i eficients. Comencem amb una visió general de la sintaxi bàsica i les estructures de control més comunes.
- Introducció a la Sintaxi de RPG
1.1. Estructura Bàsica d'un Programa RPG
Un programa RPG típic es compon de diverses seccions, cadascuna amb una funció específica. A continuació es mostra l'estructura bàsica d'un programa RPG:
H* Encapsulament de l'entorn del programa H DFTACTGRP(*NO) ACTGRP(*NEW) F* Declaració d'arxius FMYFILE IF E K DISK D* Declaració de dades D MYVAR S 10A C* Codi de càlcul C EVAL MYVAR = 'Hello, World!' C DSPLY MYVAR C SETON LR
1.2. Comentaris
Els comentaris són línies de codi que no s'executen i s'utilitzen per documentar el codi. En RPG, els comentaris es poden escriure de les següents maneres:
- Comentaris de línia completa: Comencen amb un asterisc (*) en la columna 7.
- Comentaris en línia: Utilitzen el format
//
o/* ... */
en RPG IV.
Exemples:
* Aquest és un comentari de línia completa // Aquest és un comentari en línia /* Aquest és un comentari de múltiples línies */
- Declaració de Variables
2.1. Tipus de Dades
RPG suporta diversos tipus de dades, incloent:
- Caràcters (A)
- Numèrics (P, S)
- Binari (B)
- Data (D)
- Hora (T)
- Timestamp (Z)
2.2. Declaració de Variables
Les variables es declaren en la secció de dades (D-spec). Aquí teniu alguns exemples de declaració de variables:
D MYCHAR S 10A // Variable de caràcter de 10 posicions D MYNUM S 5P 0 // Variable numèrica de 5 dígits sense decimals D MYDATE S D // Variable de data
- Estructures de Control
3.1. Condicionals
Els condicionals permeten executar codi basat en certes condicions. RPG utilitza les instruccions IF
, ELSEIF
, ELSE
i ENDIF
.
Exemple:
C IF MYNUM > 10 C DSPLY 'MYNUM és major que 10' C ELSE C DSPLY 'MYNUM és menor o igual a 10' C ENDIF
3.2. Bucles
Els bucles permeten repetir un bloc de codi diverses vegades. RPG utilitza les instruccions DO
, DOW
(Do While) i FOR
.
Exemple de bucle DO
:
Exemple de bucle DOW
:
- Exemples Pràctics
4.1. Programa Simple amb Condicionals i Bucles
A continuació es mostra un programa que utilitza condicionals i bucles per mostrar números del 1 al 10:
H DFTACTGRP(*NO) ACTGRP(*NEW) D MYNUM S 2P 0 C EVAL MYNUM = 1 C DOW MYNUM <= 10 C DSPLY MYNUM C EVAL MYNUM = MYNUM + 1 C ENDDO C SETON LR
- Exercicis Pràctics
Exercici 1: Programa de Salutació
Escriu un programa RPG que demani al usuari el seu nom i mostri una salutació personalitzada.
Solució:
H DFTACTGRP(*NO) ACTGRP(*NEW) D NAME S 20A C DSPLY 'Introdueix el teu nom:' C ACCEPT NAME C DSPLY 'Hola, ' + %TRIM(NAME) + '!' C SETON LR
Exercici 2: Programa de Suma
Escriu un programa RPG que sumi els números de l'1 al 10 i mostri el resultat.
Solució:
H DFTACTGRP(*NO) ACTGRP(*NEW) D SUM S 5P 0 D I S 2P 0 C EVAL SUM = 0 C FOR I = 1 TO 10 C EVAL SUM = SUM + I C ENDFOR C DSPLY SUM C SETON LR
Conclusió
En aquesta secció, hem après la sintaxi bàsica i l'estructura d'un programa RPG, incloent la declaració de variables, l'ús de comentaris, i les estructures de control com condicionals i bucles. Aquests conceptes són fonamentals per a qualsevol programador RPG i seran la base per a temes més avançats en els següents mòduls.
Curs de Programació RPG
Mòdul 1: Introducció a la Programació RPG
- Què és RPG?
- Configuració del Teu Entorn de Desenvolupament
- Sintaxi i Estructura Bàsiques
- Programa Hello World
Mòdul 2: Conceptes Bàsics
Mòdul 3: Treballant amb Dades
Mòdul 4: Tècniques Avançades de Programació
Mòdul 5: RPG IV i Més Enllà
Mòdul 6: Integrant RPG amb Tecnologies Modernes
Mòdul 7: Aplicacions del Món Real
- Construint una Aplicació Simple
- Estudi de Cas: Sistema de Gestió d'Inventari
- Estudi de Cas: Sistema de Nòmines
- Millors Pràctiques i Revisió de Codi