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.

  1. 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 */

  1. 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

  1. 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:

C                   DO        5 TIMES
C                   DSPLY     'Aquest és un bucle DO'
C                   ENDDO

Exemple de bucle DOW:

C                   DOW       MYNUM < 10
C                   EVAL      MYNUM = MYNUM + 1
C                   DSPLY     MYNUM
C                   ENDDO

  1. 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

  1. 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.

© Copyright 2024. Tots els drets reservats