En aquest tema, explorarem els programes de servei i els procediments en RPG IV. Els programes de servei són una part fonamental de la programació modular en RPG, ja que permeten la reutilització de codi i la separació de funcionalitats en mòduls independents. Els procediments, per altra banda, són subrutines que encapsulen funcionalitats específiques dins dels programes de servei o altres programes.

Objectius d'Aprenentatge

  • Comprendre què són els programes de servei i els procediments.
  • Aprendre a crear i utilitzar programes de servei en RPG IV.
  • Saber com definir i cridar procediments dins dels programes de servei.
  • Entendre els avantatges de la programació modular i la reutilització de codi.

Què és un Programa de Servei?

Un programa de servei és un tipus especial de programa en RPG que conté procediments que poden ser cridats des d'altres programes. Els programes de servei permeten agrupar funcionalitats relacionades en un sol lloc, facilitant la seva reutilització i manteniment.

Avantatges dels Programes de Servei

  • Reutilització de Codi: Permet compartir funcionalitats comunes entre diferents programes.
  • Manteniment: Facilita l'actualització i manteniment del codi, ja que les modificacions es fan en un sol lloc.
  • Modularitat: Promou la separació de funcionalitats en mòduls independents, millorant l'organització del codi.

Creació d'un Programa de Servei

Pas 1: Definir el Programa de Servei

Per crear un programa de servei, primer hem de definir-lo utilitzant la paraula clau H per especificar que es tracta d'un programa de servei.

H DFTACTGRP(*NO) ACTGRP(*NEW)

Pas 2: Definir els Procediments

A continuació, definim els procediments que formaran part del programa de servei. Utilitzem la paraula clau P per definir un procediment.

P MyProcedure B
D MyProcedure PI
D parm1 S 10A
D parm2 S 10A

 /free
     // Codi del procediment
     dsply 'Hello, ' + parm1 + ' ' + parm2;
 /end-free

P MyProcedure E

Pas 3: Compilar el Programa de Servei

Un cop definit el programa de servei i els seus procediments, el compilarem utilitzant la comanda CRTSRVPGM.

CRTSRVPGM SRVPGM(MYLIB/MYSRVPGM) MODULE(MYLIB/MYMODULE)

Utilització d'un Programa de Servei

Pas 1: Declarar el Programa de Servei

Per utilitzar un programa de servei en un altre programa, primer hem de declarar-lo utilitzant la paraula clau D.

D MyService PR
D MyProcedure PR
D parm1 S 10A
D parm2 S 10A

Pas 2: Cridar el Procediment

Un cop declarat el programa de servei, podem cridar els seus procediments com si fossin subrutines locals.

 /free
     MyProcedure('John', 'Doe');
 /end-free

Exercici Pràctic

Exercici 1: Crear un Programa de Servei

  1. Definir el Programa de Servei: Crea un programa de servei anomenat UTILS que contingui un procediment AddNumbers que sumi dos números i retorni el resultat.
H DFTACTGRP(*NO) ACTGRP(*NEW)

P AddNumbers B
D AddNumbers PI 10I 0
D num1 S 10I 0
D num2 S 10I 0

 /free
     return num1 + num2;
 /end-free

P AddNumbers E
  1. Compilar el Programa de Servei: Compila el programa de servei utilitzant la comanda CRTSRVPGM.
CRTSRVPGM SRVPGM(MYLIB/UTILS) MODULE(MYLIB/UTILS)

Exercici 2: Utilitzar el Programa de Servei

  1. Declarar el Programa de Servei: En un altre programa, declara el programa de servei UTILS i el procediment AddNumbers.
D UTILS PR
D AddNumbers PR 10I 0
D num1 S 10I 0
D num2 S 10I 0
  1. Cridar el Procediment: Crida el procediment AddNumbers per sumar dos números i mostrar el resultat.
 /free
     result = AddNumbers(5, 10);
     dsply result;
 /end-free

Resum

En aquesta secció, hem après què són els programes de servei i els procediments en RPG IV, com crear-los i utilitzar-los. Els programes de servei permeten la reutilització de codi i la separació de funcionalitats en mòduls independents, facilitant el manteniment i la modularitat del codi. Hem vist com definir un programa de servei, compilar-lo i utilitzar-lo en altres programes. A més, hem realitzat exercicis pràctics per reforçar els conceptes apresos.

En el següent tema, explorarem RPG en format lliure, una característica que permet escriure codi RPG de manera més flexible i llegible.

© Copyright 2024. Tots els drets reservats