En aquest tema, explorarem les tècniques avançades per programar i gestionar treballs en CL (Control Language). Aprendrem a utilitzar comandes avançades per optimitzar la programació de treballs, gestionar dependències i assegurar-nos que els treballs es completen de manera eficient.

Objectius del Tema

  • Comprendre les comandes avançades per a la programació de treballs.
  • Aprendre a gestionar dependències entre treballs.
  • Optimitzar la programació de treballs per a un rendiment eficient.

  1. Comandes Avançades per a la Programació de Treballs

1.1. Comanda SBMJOB

La comanda SBMJOB (Submit Job) és utilitzada per enviar un treball a la cua de treballs. Aquesta comanda permet especificar diversos paràmetres avançats per controlar com i quan s'executa el treball.

Sintaxi Bàsica

SBMJOB CMD(command) JOB(job-name) JOBD(job-description) JOBQ(job-queue) USER(user-name) PRTDEV(printer-device)

Exemple

SBMJOB CMD(CALL PGM(MYPGM)) JOB(MYJOB) JOBD(MYJOBD) JOBQ(QBATCH) USER(MYUSER) PRTDEV(PRT01)

1.2. Comanda WRKJOB

La comanda WRKJOB (Work with Job) permet treballar amb un treball específic, proporcionant informació detallada i opcions per gestionar el treball.

Sintaxi Bàsica

WRKJOB JOB(job-name)

Exemple

WRKJOB JOB(MYJOB)

1.3. Comanda CHGJOB

La comanda CHGJOB (Change Job) permet canviar els atributs d'un treball en execució.

Sintaxi Bàsica

CHGJOB JOB(job-name) RUNPTY(run-priority) OUTPTY(output-priority)

Exemple

CHGJOB JOB(MYJOB) RUNPTY(20) OUTPTY(30)

  1. Gestió de Dependències entre Treballs

2.1. Utilització de la Comanda DLYJOB

La comanda DLYJOB (Delay Job) permet retardar l'execució d'un treball fins que es compleixin certes condicions, com ara un temps específic o la finalització d'un altre treball.

Sintaxi Bàsica

DLYJOB DLY(time-delay)

Exemple

DLYJOB DLY(300) /* Retarda el treball durant 5 minuts */

2.2. Utilització de la Comanda CHKJOB

La comanda CHKJOB (Check Job) permet verificar l'estat d'un treball específic abans de continuar amb l'execució d'altres treballs.

Sintaxi Bàsica

CHKJOB JOB(job-name) STATUS(status)

Exemple

CHKJOB JOB(MYJOB) STATUS(*ACTIVE)

  1. Optimització de la Programació de Treballs

3.1. Priorització de Treballs

Utilitzar la comanda CHGJOB per ajustar la prioritat d'execució dels treballs pot ajudar a optimitzar el rendiment del sistema.

Exemple

CHGJOB JOB(MYJOB) RUNPTY(10) /* Assigna una alta prioritat al treball */

3.2. Agrupació de Treballs

Agrupar treballs similars en una mateixa cua de treballs pot millorar l'eficiència de la programació.

Exemple

SBMJOB CMD(CALL PGM(MYPGM1)) JOB(MYJOB1) JOBQ(QBATCH)
SBMJOB CMD(CALL PGM(MYPGM2)) JOB(MYJOB2) JOBQ(QBATCH)

Exercicis Pràctics

Exercici 1: Enviar un Treball amb Paràmetres Avançats

Escriu una comanda SBMJOB per enviar un treball anomenat REPORTJOB que cridi el programa GENREPORT, utilitzi la descripció de treball REPORTD, la cua de treballs QPRINT, l'usuari REPORTUSER i la impressora PRT02.

Solució

SBMJOB CMD(CALL PGM(GENREPORT)) JOB(REPORTJOB) JOBD(REPORTD) JOBQ(QPRINT) USER(REPORTUSER) PRTDEV(PRT02)

Exercici 2: Retardar un Treball

Escriu una comanda DLYJOB per retardar l'execució d'un treball durant 10 minuts.

Solució

DLYJOB DLY(600) /* Retarda el treball durant 10 minuts */

Exercici 3: Canviar la Prioritat d'un Treball

Escriu una comanda CHGJOB per canviar la prioritat d'execució d'un treball anomenat BATCHJOB a 15.

Solució

CHGJOB JOB(BATCHJOB) RUNPTY(15)

Resum

En aquest tema, hem après a utilitzar comandes avançades per a la programació de treballs en CL. Hem explorat com enviar treballs amb paràmetres avançats, gestionar dependències entre treballs i optimitzar la programació per a un rendiment eficient. A més, hem practicat amb exercicis per reforçar els conceptes apresos. En el proper tema, explorarem les comandes de configuració del sistema.

© Copyright 2024. Tots els drets reservats