En aquest mòdul, explorarem diversos estudis de cas que il·lustren com el Llenguatge de Control (CL) es pot utilitzar en aplicacions del món real. Aquests exemples pràctics t'ajudaran a comprendre millor com aplicar els conceptes i les tècniques que has après al llarg del curs.
Objectius d'Aprenentatge
- Comprendre com s'apliquen les comandes de CL en situacions reals.
- Analitzar i resoldre problemes pràctics utilitzant CL.
- Aprendre de les solucions implementades en diferents escenaris.
Estudi de Cas 1: Automatització de Còpies de Seguretat
Descripció del Problema
Una empresa necessita automatitzar el procés de còpia de seguretat dels seus fitxers crítics cada nit. El procés ha de:
- Copiar els fitxers des d'un directori específic a un altre.
- Comprimir els fitxers copiat.
- Enviar una notificació per correu electrònic amb el resultat de l'operació.
Solució Proposada
Utilitzarem un programa CL per automatitzar aquest procés.
Pas 1: Copiar els Fitxers
CPY OBJ: Comanda per copiar objectes.'/directori/origen/*': Directori d'origen.'/directori/desti/': Directori de destí.
Pas 2: Comprimir els Fitxers
QSH CMD: Executa una comanda de shell.tar -czf /directori/desti/backup.tar.gz /directori/desti/*: Comanda per comprimir els fitxers.
Pas 3: Enviar una Notificació per Correu Electrònic
SNDDST TYPE(*LMSG) TOINTNET((‘admin@empresa.com’)) DSTD('Còpia de Seguretat Completa') MSG('La còpia de seguretat s'ha completat correctament.')SNDDST TYPE(*LMSG): Envia un missatge de distribució.TOINTNET((‘admin@empresa.com’)): Adreça de correu electrònic del destinatari.DSTD('Còpia de Seguretat Completa'): Assumpte del correu.MSG('La còpia de seguretat s'ha completat correctament.'): Cos del missatge.
Codi Complet
PGM
CPY OBJ('/directori/origen/*') TODIR('/directori/desti/')
MONMSG MSGID(CPF0000) EXEC(DO)
SNDDST TYPE(*LMSG) TOINTNET((‘admin@empresa.com’)) DSTD('Error en la Còpia de Seguretat') MSG('Hi ha hagut un error en copiar els fitxers.')
RETURN
ENDDO
QSH CMD('tar -czf /directori/desti/backup.tar.gz /directori/desti/*')
MONMSG MSGID(CPF0000) EXEC(DO)
SNDDST TYPE(*LMSG) TOINTNET((‘admin@empresa.com’)) DSTD('Error en la Compressió') MSG('Hi ha hagut un error en comprimir els fitxers.')
RETURN
ENDDO
SNDDST TYPE(*LMSG) TOINTNET((‘admin@empresa.com’)) DSTD('Còpia de Seguretat Completa') MSG('La còpia de seguretat s'ha completat correctament.')
ENDPGMEstudi de Cas 2: Processament per Lots de Factures
Descripció del Problema
Una empresa necessita processar un lot de factures cada final de mes. El procés ha de:
- Llegir les factures des d'una base de dades.
- Generar un informe resum.
- Enviar l'informe per correu electrònic al departament de comptabilitat.
Solució Proposada
Utilitzarem un programa CL per automatitzar aquest procés.
Pas 1: Llegir les Factures
RUNSQL SQL('SELECT * FROM factures WHERE data >= CURRENT_DATE - 30') OUTPUT(*OUTFILE) OUTFILE(QTEMP/FACTURES)RUNSQL SQL: Executa una comanda SQL.SELECT * FROM factures WHERE data >= CURRENT_DATE - 30: Selecciona les factures del darrer mes.OUTPUT(*OUTFILE) OUTFILE(QTEMP/FACTURES): Desa el resultat en un fitxer temporal.
Pas 2: Generar l'Informe
CPYF FROMFILE(QTEMP/FACTURES) TOFILE(MYLIB/FACTURES_REPORT): Copia les dades al fitxer d'informe.MBROPT(*REPLACE): Reemplaça el contingut existent.
Pas 3: Enviar l'Informe per Correu Electrònic
SNDDST TYPE(*DOC) TOINTNET((‘comptabilitat@empresa.com’)) DSTD('Informe de Factures del Mes') MSG('Adjunt trobareu l'informe de factures del mes.') DOCFILE(MYLIB/FACTURES_REPORT)SNDDST TYPE(*DOC): Envia un document.TOINTNET((‘comptabilitat@empresa.com’)): Adreça de correu electrònic del destinatari.DSTD('Informe de Factures del Mes'): Assumpte del correu.MSG('Adjunt trobareu l'informe de factures del mes.'): Cos del missatge.DOCFILE(MYLIB/FACTURES_REPORT): Fitxer adjunt.
Codi Complet
PGM
RUNSQL SQL('SELECT * FROM factures WHERE data >= CURRENT_DATE - 30') OUTPUT(*OUTFILE) OUTFILE(QTEMP/FACTURES)
MONMSG MSGID(CPF0000) EXEC(DO)
SNDDST TYPE(*LMSG) TOINTNET((‘comptabilitat@empresa.com’)) DSTD('Error en la Lectura de Factures') MSG('Hi ha hagut un error en llegir les factures.')
RETURN
ENDDO
CPYF FROMFILE(QTEMP/FACTURES) TOFILE(MYLIB/FACTURES_REPORT) MBROPT(*REPLACE)
MONMSG MSGID(CPF0000) EXEC(DO)
SNDDST TYPE(*LMSG) TOINTNET((‘comptabilitat@empresa.com’)) DSTD('Error en la Generació de l'Informe') MSG('Hi ha hagut un error en generar l'informe.')
RETURN
ENDDO
SNDDST TYPE(*DOC) TOINTNET((‘comptabilitat@empresa.com’)) DSTD('Informe de Factures del Mes') MSG('Adjunt trobareu l'informe de factures del mes.') DOCFILE(MYLIB/FACTURES_REPORT)
ENDPGMResum
En aquest mòdul, hem vist com aplicar el Llenguatge de Control (CL) en situacions reals a través de dos estudis de cas. Hem après a automatitzar processos de còpia de seguretat i processament per lots de factures, utilitzant comandes de CL per copiar fitxers, comprimir-los, executar comandes SQL i enviar notificacions per correu electrònic. Aquests exemples pràctics t'ajudaran a aplicar els teus coneixements de CL en el teu entorn de treball.
Amb això, concloem el mòdul d'Estudis de Cas. Estàs preparat per abordar el Projecte Final, on podràs aplicar tot el que has après al llarg del curs.
Curs de CL (Llenguatge de Control)
Mòdul 1: Introducció al CL
- Què és el Llenguatge de Control?
- Configuració del Teu Entorn
- Sintaxi i Estructura Bàsiques
- Escrivint el Teu Primer Programa CL
Mòdul 2: Comandes Bàsiques de CL
- Introducció a les Comandes de CL
- Comandes de Gestió de Fitxers
- Comandes de Gestió de Treballs
- Comandes de Gestió del Sistema
Mòdul 3: Variables i Expressions
- Comprenent les Variables
- Definint i Utilitzant Variables
- Expressions i Operadors
- Manipulació de Cadenes
Mòdul 4: Estructures de Control
Mòdul 5: Comandes Avançades de CL
- Operacions Avançades de Fitxers
- Programació Avançada de Treballs
- Comandes de Configuració del Sistema
- Seguretat i Permisos
