A linguagem de controle (LC) é uma linguagem de alto nível linguagem de programação usado principalmente nos sistemas AS/400 e iSeries da IBM.

O que você quer dizer com linguagem de controle?
A linguagem de controle é uma linguagem de programação especializada desenvolvida pela IBM para uso em seus sistemas AS/400 e iSeries, agora conhecidos como IBM i. Ela foi projetada principalmente para facilitar a automação e gerenciamento de tarefas de nível de sistema, fornecendo uma maneira de controlar e automatizar operações nesses sistemas. O CL é totalmente integrado ao IBM i sistema operativo, permitindo que os usuários escrevam programas que podem interagir com recursos do sistema, gerenciar a execução de tarefas, manipular arquivos e executar comandos do sistema operacional.
Ao contrário das linguagens de programação de uso geral, a CL é focada no gerenciamento de sistemas e na automação de processos, em vez de linguagens complexas. Formulário on line desenvolvimento. Ele permite que os usuários controlem o fluxo de trabalhos, definam parâmetros do sistema e gerenciem input / output operações sem exigir um profundo conhecimento do código de máquina de nível inferior ou dos componentes internos do sistema. CL é especialmente útil para administradores de sistema que precisam automatizar tarefas repetitivas, como executar trabalhos em lote, agendar tarefas ou gerenciar sistemas de arquivos.
Tipos de Linguagem de Controle
A linguagem de controle pode ser amplamente categorizada em vários tipos com base em como é usada e na funcionalidade que fornece. Abaixo estão os principais tipos de Linguagem de Controle usados em sistemas IBM i.
Comandos CL
Os comandos CL são instruções individuais escritas em Control Language para executar tarefas específicas no sistema. Esses comandos podem ser usados para vários propósitos, como gerenciar arquivos, controlar a execução de tarefas, interagir com recursos do sistema ou executar tarefas de nível de sistema, como agendamento de trabalho. Os comandos CL são normalmente executados em sequência para automatizar processos ou gerenciar funções do sistema. Exemplos incluem WRKACTJOB (trabalhar com trabalhos ativos) e ENDTCPSVR (terminar TCP server).
Programas CL
Um programa CL é uma coleção de comandos CL agrupados para executar uma série de operações como parte de uma tarefa maior. Os programas CL permitem que os usuários automatizem procedimentos complexos e integrem vários comandos em um único executável. Esses programas são armazenados como objetos dentro do sistema IBM i e podem ser executados em lote ou em modos interativos. Eles também podem ser chamados por outros programas ou comandos, facilitando a automação reutilizável e eficiente. Os programas CL são normalmente usados para automatizar a manutenção do sistema, o agendamento de tarefas ou processamento em lote tarefas.
Procedimentos CL
Procedimentos CL são blocos de código reutilizáveis que contêm um conjunto de comandos CL. Diferentemente de programas CL, procedimentos CL não são executáveis independentes, mas são chamados dentro de outros programas ou trabalhos CL. Eles fornecem uma maneira de modularizar o código e reduzir a redundância. Procedimentos permitem que administradores de sistema e desenvolvedores escrevam códigos mais eficientes e sustentáveis, dividindo tarefas complexas em unidades menores e reutilizáveis.
Estruturas de controle CL
Estruturas de controle CL são elementos dentro da linguagem CL que fornecem a lógica para gerenciar o fluxo de execução. Essas estruturas permitem que os usuários criem caminhos de execução condicional, loops e outras construções de tomada de decisão. As principais estruturas de controle em CL incluem IF, DO, FOR, GOTO e ENDDO, que ajudam a controlar o fluxo de execução com base em certas condições ou tarefas repetidas. Essas estruturas são vitais para criar programas CL dinâmicos e responsivos que podem se adaptar a diferentes tempo de execução condições.
Controle de trabalho CL
O CL Job Control envolve o uso de comandos CL para gerenciar jobs no sistema IBM i. Esse tipo de CL permite que os usuários controlem como e quando os jobs são executados, monitorem o status do job, gerenciem as prioridades do job e manipulem erros relacionados ao job. O controle do job é um aspecto crítico da administração do sistema, garantindo que os recursos sejam utilizados de forma eficiente e que as tarefas sejam agendadas de acordo com a disponibilidade e as prioridades do sistema. Comandos como CHGJOB (change job) e SBMJOB (submit job) são comumente usados no controle do job.
Exemplos de Linguagem de Controle

Aqui estão alguns exemplos de comandos e programas de linguagem de controle que demonstram como tarefas podem ser automatizadas ou recursos do sistema podem ser gerenciados em sistemas IBM i:
1. Exibindo trabalhos ativos
Este comando CL exibe uma lista de todos os trabalhos ativos no sistema.
WRKACTJOB
O comando WRKACTJOB é usado para trabalhar com jobs ativos. Ele apresenta uma lista de todos os jobs que estão em execução no momento, juntamente com seus status e outros detalhes relevantes. Isso é útil para administradores de sistema monitorarem a atividade e o desempenho dos jobs.
2. Fim do TCP Server
Este comando encerra um TCP/IP específico server.
ENDTCPSVR SERVER(*ALL)
O comando ENDTCPSVR interrompe um ou mais TCP servers. O SERVERO parâmetro (*ALL) especifica que todos os TCP servers deve ser interrompido. Isso é normalmente usado ao executar manutenção na rede ou no sistema.
3. Enviar trabalho
Este comando envia um trabalho ao sistema para execução.
SBMJOB CMD(CALL PGM(MYPGM)) JOB(MYJOB) JOBQ(MYJOBQ)
O comando SBMJOB envia um trabalho em lote. Neste exemplo, ele envia um trabalho que chama o programa MYPGM. O trabalho é colocado na fila de trabalhos MYJOBQ e será executado como parte do fluxo de trabalhos.
4. Alterando atributos de trabalho
Este comando altera a prioridade do trabalho atual.
CHGJOB JOB(*CURRENT) INQMSGRPY(*NONE)
O comando CHGJOB é usado para alterar atributos do trabalho. Neste exemplo, a opção de resposta de mensagem do trabalho é alterada para *NONE, o que significa que o trabalho não esperará pela entrada do usuário para respostas de mensagem, frequentemente usado em trabalhos em lote.
5. Execução condicional
Este programa CL demonstra uma estrutura lógica condicional simples.
IF COND(&MYVAR *EQ 'YES')
SNDMSG MSG('Condition is TRUE') TOUSR(*ALL)
ELSE
SNDMSG MSG('Condition is FALSE') TOUSR(*ALL)
ENDIF
Este programa CL verifica se a variável &MYVAR é igual a 'YES'. Se for, ele envia uma mensagem indicando que a condição é verdadeira; caso contrário, ele envia uma mensagem indicando que a condição é falsa.
Para que é usada a linguagem de controle?
A linguagem de controle é usada principalmente para automatizar e gerenciar tarefas de nível de sistema em sistemas IBM i (anteriormente conhecidos como AS/400 e iSeries). Ela foi projetada para ajudar administradores e desenvolvedores de sistemas a controlar a execução de tarefas, gerenciar recursos do sistema e automatizar uma ampla gama de processos. Alguns dos principais usos da CL incluem:
- Gestão de trabalho. O CL é usado para controlar e gerenciar jobs no sistema IBM i. Isso inclui enviar jobs, monitorar status de jobs, alterar atributos de jobs e controlar filas de jobs. Ele permite que os administradores automatizem tarefas como agendamento de jobs, tratamento de erros e encerramento de jobs.
- Automação do sistema. CL é frequentemente usado para automatizar tarefas repetitivas de gerenciamento de sistemas. Essas tarefas podem incluir a execução backups, gerenciando recursos do sistema (como espaço em disco e memória), iniciando ou parando serviços do sistema e executando trabalhos em lote. Essa automação reduz a intervenção manual e garante consistência nas operações.
- Gerenciamento de arquivos e dados. O CL permite que os usuários manipulem arquivos e bases de dados dentro do ambiente IBM i. Ele pode ser usado para criar, excluir, copiar ou mover arquivos, bem como gerenciar registros de banco de dados. O CL permite simplificação gestão de dados e simplifica as interações com os sistemas de arquivos do IBM i.
- Segurança e controle de acesso. Os comandos CL são frequentemente usados para gerenciar o acesso do usuário, atribuir perfis de segurança e controlar as configurações de segurança do sistema. Ele pode ser usado para criar e gerenciar perfis de usuário, controlar o acesso a certos recursos e impor políticas de segurança.
- Configuração e instalação do sistema. O CL pode ser usado para configurar as definições do sistema, definir parâmetros do sistema e configurar ambientes para aplicativos específicos. Ele fornece uma maneira de automatizar a configuração de vários componentes do sistema, garantindo que o sistema seja configurado corretamente e eficientemente.
- Tratamento de erros e solução de problemas. O CL também é empregado para monitorar a saúde e o desempenho do sistema. Se ocorrerem erros ou condições específicas forem atendidas, os programas CL podem gerar alertas, registrar erros ou até mesmo tomar ações corretivas automaticamente, ajudando os administradores a identificar e resolver problemas rapidamente.
- Controle e execução do programa. O CL permite a criação e execução de programas e Scripts que podem controlar outros programas. Programas CL podem chamar outros programas, passar parâmetros e gerenciar o fluxo de execução com base em condições ou entradas específicas.
Como implementar a linguagem de controle?
Implementar linguagem de controle em um sistema IBM i envolve escrever e executar programas ou comandos CL para automatizar e gerenciar várias tarefas do sistema. Abaixo estão as etapas gerais para implementar CL:
1. Acesse o sistema IBM i. Para implementar CL, primeiro você precisa de acesso ao sistema IBM i. Você pode se conectar ao sistema usando um emulador de terminal ou o IBM Navigator for i, que fornece uma interface gráfica para interagir com o sistema.
2. Escreva um programa ou comando CL. Os programas CL são normalmente escritos usando o ambiente de desenvolvimento integrado (IDE) do IBM i ou diretamente de um interface da Linha de comando. Você pode escrever comandos CL individuais que executam tarefas específicas ou criar programas CL que consistem em vários comandos CL, estruturados com lógica condicional, laços, e outros mecanismos de controle de fluxo.
Aqui está um exemplo de um programa CL simples:
PGM
DCL VAR(&MYVAR) TYPE(*CHAR) LEN(10)
CHGVAR VAR(&MYVAR) VALUE('HelloWorld')
SNDPGMMSG MSG(&MYVAR)
ENDPGM
Este programa CL declara uma variável &MYVAR, atribui a ela o valor 'HelloWorld' e então envia esse valor como uma mensagem de programa ao usuário.
3. Salve o programa CL. Depois de escrever o código CL, você precisa salvá-lo como um objeto no sistema IBM i. Isso é feito tipicamente com o comando CRTCLPGM (Create CL Program). Aqui está um exemplo de criação de um programa CL:
CRTCLPGM PGM(MYLIB/MYPROGRAM) SRCFILE(MYLIB/QCLSRC) SRCMBR(MYPROGRAM)
Este comando cria um programa CL a partir do código-fonte em um arquivo-fonte. MYLIB é a biblioteca onde o programa será criado, e QCLSRC é o arquivo-fonte que contém o código CL.
4. Compile o programa CL (se necessário). Uma vez salvos, os programas CL são automaticamente compilados em um formato executável pelo comando CRTCLPGM. No entanto, se você estiver editando ou modificando um programa existente, precisará recompilá-lo usando o UPDPROD (Update Program) ou o comando CRTCLPGM novamente.
5. Execute o programa CL. Depois de salvar e compilando, você pode executar seu programa CL usando o comando CALL. Veja como chamar um programa CL:
CALL PGM(MYLIB/MYPROGRAM)
Este comando chama e executa o programa MYPROGRAM CL da biblioteca especificada (MYLIB).
6. Use CL em tarefas em lote ou scripts. Os programas CL também podem ser usados em trabalhos em lote para automatizar processos de rotina. Você pode agendar esses trabalhos usando comandos de agendamento de trabalhos como SBMJOB (Submit Job). Este comando envia um trabalho que executará o programa MYPROGRAM CL. O trabalho é colocado na fila de trabalhos MYJOBQ para execução.
7. Depure e solucione problemas. Se você encontrar problemas, o IBM i fornece várias ferramentas para depurar e solucionar problemas de programas CL. O comando STRDBG (Start Debugging) ajuda você a depurar seu programa CL interativamente. Por outro lado, você pode usar o comando MONMSG dentro do CL para manipular erros e gerar mensagens de erro apropriadas para um diagnóstico mais fácil.
8. Implante e automatize. Depois que seus programas CL forem testados e estiverem funcionando, você pode implantá-los no sistema. CL é comumente usado para automatizar tarefas como backups, agendamento de tarefas e gerenciamento de arquivos. Ao aproveitar o CL, você pode garantir que tarefas repetitivas sejam executadas automaticamente, sem intervenção manual.
9. Manter e atualizar programas de CL. Os programas CL geralmente exigem manutenção periódica ou atualizações para lidar com novos requisitos do sistema ou mudanças nos processos de negócios. Você pode modificar os programas existentes editando o código fonte e recompilá-los. Você também pode adicionar novos comandos ou lógica para melhorar a funcionalidade.
Por que a linguagem de controle é importante?

A linguagem de controle é importante porque fornece uma maneira simplificada e eficiente de automatizar e gerenciar tarefas do sistema em sistemas IBM i, como controle de tarefas, manipulação de arquivos e manutenção do sistema. Ao permitir que os administradores do sistema escrevam e executem scripts, o CL elimina a necessidade de intervenção manual em tarefas de rotina, melhorando a consistência e a confiabilidade nas operações do sistema. Ele também oferece flexcapacidade de controlar o fluxo de trabalhos, gerenciar recursos do sistema e lidar com erros, tudo em uma linguagem simples, mas poderosa para programação em nível de sistema.
A integração do CL com o sistema operacional IBM i garante interação perfeita com outros aplicativos e componentes do sistema, tornando-o uma ferramenta essencial para otimizar o desempenho e a estabilidade do sistema.
Existem desafios na implementação da linguagem de controle?
Implementar linguagem de controle em sistemas IBM i pode trazer certos desafios, especialmente ao integrá-la em fluxos de trabalho existentes ou gerenciar tarefas complexas. Abaixo estão alguns desafios comuns na implementação de CL:
- Curva de aprendizado. Embora CL seja relativamente simples em comparação a outras linguagens de programação, ainda pode haver uma curva de aprendizado para novos usuários ou administradores de sistema que não estejam familiarizados com sua sintaxe ou estrutura de comando. Entender as nuances de CL, especialmente em tarefas complexas de sistema, pode levar tempo para aqueles que ainda não têm experiência com ambientes IBM i.
- Ferramentas de depuração limitadas. Programas CL frequentemente não têm as ferramentas avançadas de depuração disponíveis em outras linguagens de programação. Embora a depuração básica seja possível usando o comando STRDBG, ela não é tão robusta ou amigável quanto os ambientes de depuração encontrados em outras linguagens. Isso pode tornar a solução de problemas de erros em programas CL mais demorada e difícil.
- Manipulação de erros. Os recursos de tratamento de erros do CL são um tanto limitados em comparação com as linguagens de programação modernas. Embora o tratamento básico de erros possa ser feito usando o comando MONMSG, recursos mais sofisticados de gerenciamento de erros, como tratamento de exceções ou registro, não são incorporados à linguagem por padrão. Isso pode tornar o gerenciamento de erros em programas CL complexos mais trabalhoso.
- Global e complexidade. Para sistemas maiores ou mais complexos, manter e dimensionar programas CL se torna desafiador. O CL é projetado para tarefas de nível de sistema e não se destina ao desenvolvimento de aplicativos complexos, o que pode levar a dificuldades ao tentar integrar scripts CL em fluxos de trabalho de aplicativos maiores. À medida que os sistemas crescem em complexidade, o número de programas CL e suas interdependências podem se tornar mais difíceis de gerenciar.
- Falta de recursos avançados. CL não é uma linguagem de programação de uso geral e não possui alguns dos recursos avançados encontrados em linguagens modernas, como programação orientada a objetos, multithreading e bibliotecas abrangentes. Isso pode torná-lo menos adequado para o desenvolvimento de aplicativos complexos e pode limitar sua flexibilidade em certos cenários.
- Dependência do sistema IBM i. O CL está fortemente vinculado ao sistema operacional IBM i e não é portátil para outras plataformas. Se uma organização decidir migrar do sistema IBM i, os programas CL podem precisar ser reescritos ou adaptados para o novo ambiente, criando custos adicionais e requisitos de recursos para migração.
- Controle de versão e compatibilidade. Com o tempo, os sistemas IBM i recebem atualizações e novas versões do sistema operacional. Essas atualizações podem, às vezes, introduzir problemas de compatibilidade com programas CL mais antigos, exigindo que os desenvolvedores revisem e modifiquem o código existente para garantir que ele funcione com a versão mais recente do sistema.