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((‘[email protected]’)) 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((‘[email protected]’))
: 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((‘[email protected]’)) 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((‘[email protected]’)) DSTD('Error en la Compressió') MSG('Hi ha hagut un error en comprimir els fitxers.') RETURN ENDDO SNDDST TYPE(*LMSG) TOINTNET((‘[email protected]’)) DSTD('Còpia de Seguretat Completa') MSG('La còpia de seguretat s'ha completat correctament.') ENDPGM
Estudi 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((‘[email protected]’)) 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((‘[email protected]’))
: 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((‘[email protected]’)) 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((‘[email protected]’)) DSTD('Error en la Generació de l'Informe') MSG('Hi ha hagut un error en generar l'informe.') RETURN ENDDO SNDDST TYPE(*DOC) TOINTNET((‘[email protected]’)) DSTD('Informe de Factures del Mes') MSG('Adjunt trobareu l'informe de factures del mes.') DOCFILE(MYLIB/FACTURES_REPORT) ENDPGM
Resum
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