IMPORTANTE
Esta página está aqui para tentar ajudar a tirar algumas dúvidas, ou até para fins de treinamento.
Como qualquer outro programa ou aplicativo, este tem versões diferentes, assim sendo, é possível que se encontrem diferenças de ferramentas ou até de funções no programa. Mas creio que este não seja um problema, pois o conceito de Scheduling é o mesmo.
Se algma informação não for encontrada aqui, então envie uma mensagem ao dono do site, que posso tentar ajudar.
Não tenho experiencia na instalação deste aplicativo, portanto perguntas relacionadas a instalação, podem ficar sem resposta.
Agradeço desde já a visita e a utilizacão do site.
CONTROL_M DESKTOP
O Control_M Desktop, é uma versão com interface gráfica da melhor ferramenta de Scheduling que já trabalhei, na minha opnião.
Diferente do Control_M para Mainframe, o Desktop executa Jobs de Mainframe e Servidor, faz trasnferencia de arquivos, Jobs de SAP, Filewatchers, etc. englobando assim um campo bem amplo da produção de uma empresa.
O Control_M trabalha com carga diária, ou seja, carrega diáriamente os Jobs que deveráo executar nas próximas 24 horas.
Não vou entrar nos méritos de custo/benefício da ferramenta, pois este não é o caso.
Caso haja interesse na ferramenta, esta é desenvolvida pela BMC. Vejaabaixo o Link.
Control-M Para Baixa Plataforma
A Ferramenta em si também pode ser chamada de Control_M E/ ( Enterprise Manager ). Mas este termo também é usado para uma parte específica da ferramenta.
Esta versao com interface grafica do Control_M foi criada com o fim de “schedular” Jobs que executam em servidores. Mas como o Control_M tambem tem uma versao que pode ser instalada no Mainframe, entao porque não unir as duas.
Entao o Control_M é usado para “Scheduling” de jobs de Servidores e Mainframe em uma mesma versao instalada. Esta versao permite o “Scheduling” de Jobs que executam tanto em sistemas de servidores quanto de sistemas Mainframe, sendo que para os Jobs de Mainframe sejam “manipulados” nesta versao com interface grafica uma versao de Control_M especifica para Mainframe tem que estar instalada no sistema Mainframe. Sendo assim a versao com interface grafica não dispensa a utilizacao da versao do Mainframe.
Entao porque utilizar-se da versao com interface grafica? Simples! Para que os Jobs possam interagir! Um Job que executa em um servidor pode ter como dependencia em um Job do Mainframe, e vice e versa.
Então como todas as ferramentas de scheduling, existe a divisão entre Batch Monitoring e Batch Scheduling. As vezes dividido por uma simples opcão diferente, as vezes sao aplicativos diferentes mesmo, que é o caso do Control-M.
O Control_M sendo uma interface gráfica, tem como opções, ícones na barra de ferramentas para acessar as funções, assim como tambem tem disponivel uma barra de ferramentas em forma de “árvore” para as funções.
O Control_M tem dois aplicativos com funções vem diferentes que serao descritos abaixo.
O ENTERPRISE MANAGER ou ACTIVE SCHEDULE é o aplicativo de Batch Monitoring do Control_M, tendo a função de monitorar os Jobs que já foram carregados para a execução do dia. Dando a opcão de tomar qualquer ação no Job ( Delete, Rerun, Hold, Release, etc. ), e também trazer um Job para execução ( Order / Force ), etc. Mas nenhuma ação tomada no AS vai ter efeito permanente, tudo feito no AS vai ser só para aquela versão do Job.
O CONTROL_M DESKTOP é o aplicativo usado para Batch Schedule. Tudo o que se refere as definições permanentes do Schedule de um Job. Tudo o que for mudado neste aplicativo é permanente, portando tem que se tomar cuidado ao trabalhar neste aplicativo.
Control M Enterprise Manager - Active Schedule
Esta parte do Control_M , que aparece como Control M Enterpise Manager, em que se pode ver os Jobs que foram colocados em execução no dia. Todos eles seão trazidos do banco de dados para o Active Schedule, entao será possível ver se terminaram bem, os Job em erro, Jobs em Hold, etc. E também de outras funções tais como o Global Resource, etc.
Abrindo o Enterprise Manager
Para abrir o Active Schedule e enxergar os Jobs, deve-se usar a seguinte opção na barra de ferramentas, FILE – OPEN VIEW POINT. Uma janela vai abrir, então deve-se escolher de qual servidor se quer ver os Jobs, podendo escolher um só, ou todos na opção ALL JOBS.
É possivel ainda abrir o ENTERPRISE MANAGER de um ícone do DESKTOP, na barra de ferramentas.
Trabalhando Com Os Jobs
Para ver um Job específico, deve-se utilizar a seguinte opção na barra de ferramentas, EDIT – FIND JOB.
Uma janela vai se abrir, entao deve-se colocar qualquer parametro passível de filtragem para encontrar o Job específico. Mas, como dica, o mais fácil é colocar o nome do job no campo MEM NAME ou no JOBNAME, e a data ( que vai ser sempre AA/MM/DD ) no campo ODATE. Pode-se deixar a data em branco, pois assim se encontram todas a versões do Job que estejam carregadas lá.
Ao encontrar um Job no EM pode-se trabalhar com ele, e fazer qalquer coisa. Alterando informações, colocando em HOLD, fazendo um Job RERUN, pdoe usar DELETE, RELEASE, FREE, ver Job OUTPUT, ver estatisticas das últmas rodadas, job LOG, etc.
Então, clicando no Job com o botão direito, estas opções citadas acima vao aparecer.
Para alterar os parametros do Job, deve-se colocá-lo em HOLD, daí então é só fazer um DOUBLE CLICK no Job que se deseja alterar e fazer as devidas alterações.
Dá pra alterar alguns parametros da TAB GENERAL, pode mudar informações de SCHEDULE, CONDITIONS, etc.
Finding Job
Este recurso é utilizado para encontrar um Job no Control M, seja no EM ou no Desktop.
Um icone na barra de ferramentas em formato de binoculo é utilizado para isso, ou então a opção TOOLS – FIND JOB, tambem na barra de ferramentas. Então coloca-se o nome do Job no campo JOBNAME ou no campo MEMBER NAME. Pode-se prencher o campo ODATE com a data que se deseja, ou deixar em branco pra ver todos os Jobs.
CUIDADO ao encontrar o Job, pois se tiver mais de uma versão do Job, TODAS serão selecionadas, e se realizar qualquer mudança assim, TODAS as versões serão alteradas. Deve-se clicar novamente somente no Job que se quer alterar dai então trabalhar nele.
Quando mais de um Job é selecionado, só um Job aparece no Active Schedule por vez, às vezes mais de um, mas a tela nao é tao grande, por isso se os Jobs estiverem longe um do outro no gráfico, eles nao aparecem na mesma tela. Para isso tem um icone em “seta” na barra de ferramentas que indica NEXT JOB, este ícone vai passa de um Job para outro.
Ordering / Forcing Job
Quando é necessário colocar um Job para execução para uma rodada extra, entao se usa esta função.
ORDER/FORCE um Job pode ser feito pelo Active Schedule ou Pelo Control_M Desktop e pelo Schedule Table Manager.
Usando a barra de ferramentas o AS pode ser feito pela opção TOOLS -> ORDER FORCE A JOB, daí escolhe a Table e seleciona o nome do Job que se deseja fazer o ODER / FORCE. É preciso CUIDADO ao fazer um ORDER / FORCE, pois se não for selecionado o Jo corretamente, TODOS os Jobs da Table vao ser carregados.
Quando for fazer um ORDER ou FORCE, tem opção de escolher os seguintes parametros:
Se vai fazer ORDER/FORCE com HOLD;
Se vai ser ORDER ou FORCE;
Se vai ser ODATE ou uma DATE específica;
A diferenca entre ORDER e FORCE de um Job
ORDER - O Job que foi “Ordered” vai carregar todas as dependecias que possam existir já definidas em um Job.
FORCE - Um Job que tenha sido “Forced” vai entrar para executar sem nenhum parametro de Schedule, o Job entra e sai executando.
Global Resource
O Gobal Resource e de extrema inportancia para o bom funcionamento do Active Schedule, pois este define as conexoes entre os sistemas que se utilizam da mesma versao do Control_M. Entao um nome vai ser dado para este Global Resource, que sera um para cada tipo de conexao entre servidores e LPares.
Para checar estes Resources entao deve-se ir ate a tela principal do Active Schedule, e na barra de ferramentas clicar em Resources e entao Global Resources, ao escolher um deles, pode-se verificar a conexao definida neste Global Resource clicando nele. Estes Global Resources são usados no IN e OUT conditions.
PRE-REQUISITE TABLE
Este aplicativo do AS é o local onde se podem definir pré requisitos. As vezes um Job precisa que se adicione uma IN CONDITION para a primeira execução, então se adiciona esta condição com a data da primeira execução.
A Pre Requisite Table pode ser acessada porum icone na barra de ferramentas, ou por uma opção, na barra de opções.
Control M Desktop
Esta ferramenta do Control-M e usada para trabalhar com os Jobs no Banco de Dados, mas de uma maneira OFFLINE. Significa que esta e uma versão do Desktop de quem esta trabalhando, e que deverá ser trasnferido para o Database do Control-M assim que terminadas as mudanças, para a validação das mesmas.
Para abrir o Control-M Desktop, deve-se então na tela do Control_M Active Schedule. clicar em TOOLS e DESKTOP.
Para ter a opção de trabalhar com o Job’s começa-se abrindo um novo. Então vai ate a opção FILE e NEW
Trabalhando Com Table
O conceito de TABLE ou Tabela, tem por ideia “ajuntar” Jobs com as mesmas caracteristicas. Geralmente da mesma aplicação, dos mesmos “donos”, etc.
A tabela não tem função de Schedule, ou seja, nao tem horarios de execução, nem triga job, etc.
Abrindo o Control-M Desktop, pode-se criar, deletar e modificar um job ou uma tabela. Para isso é necessário “puxar” uma tabela (TABLE) que contém os Jobs que se queira trabalhar.
Uma Table é o agente que o Control-M tras quando faz seu Load diário, mas também serve para agrupar Jobs de uma mesma aplicação ou até de uma parte de uma aplicação.
Para abrir uma tabela no Control-M Desktop usa-se o um ícone da barra de ferramentas, este icone seria o LOAD TABLE . Passando o mouse sobre os ícones estes dizem sua função. Ou ainda fazer o load pela opção FILE -> Load Jobs from Control_M EM.
Ao clicar em Load Table, uma janela se abre, entao a sequencia seria esta:
Primeiro deve-se escolher qual o Servidor ou LPAR que vai se trabalhar, e então escolher a TABLE em uma lista. Pode-se utilizar de uma parte do nome da tabela, caso já se saiba alguma coisa, entao colocar algumas letras do nome e um asterisco. Entao deve se selecionar a tabela que se deseja trabalhar e depois clicar em LOAD.
Entao do lado esquerdo da tela vai aparecer o comeco de uma “cadeia” de Jobs, normalmente com o nome do servidor ou LPar.
Entao para se abrir esta cadeia e enxergar os Jobs seria clicando no símbolo + no primeiro item e ir abrindo, do mesmo modo que se faz com diretorios, pastas e subpastas em um PC.
Existem algumas maneiras ou VIEWS no Control_M Desktop. Pode-se ver a lista de Jobs por Aplicativo ou por Tabela, para definir isso e so escolher um dos dois ícones que estão logo abaixo da palavra WINDOW do topo da barra de ferramentas. Um deles mostra por aplicativo e outro por tabela.
Ainda depois de definir esta situação, pode-se escolher ver por diagrama ou por lista de Jobs, esta definição pode ser feita na opcao VIEW da barra de ferramentas, clicando em VIEW pode se escolher JOB LIST ou FLOWDIAGRAM.
Todas as maneiras lhe dão a possibilidade de chegar ao Job que se esta trabalhando.
Para o update de um job, deve-se clicar no mesmo 2 vezes para abrir as as configurações do job, ou ainda com o botão direito e escolher a opção desejada, pois pode-se atualizar um job, deletar ou copiar.
Table Write
Assim que terminar de mexer nos Jobs, um Write deve ser feito na Table, para que a Table assuma as mudanças dos Jobs.
Para fazer um write, o ícone usado será o WRITE JOBS, que fica ao lado do LOAD TABLE na barra de ferramentas. Ao clicar no ícone, uma janela se abre e o nome da Table geralmente vai estar lá, mas se nao estiver, pode ser filtrado nas opções no alto da janela. Após escolher e selecionar a Table, é só clicar em WRITE e aguardar a resposta de sucesso.
Table UPLOAD
Após o comando de write então a Table tem quer ser atualizada na base de dados dos Control-M, pois até agora, tudo está sendo feito no seu Desktop.
Para esta tarefa, o ícone a ser escolhido na barra de ferramenta é o SCHEDULING TABLE MANAGER. Ao clicar neste ícone, uma janela vai se abrir, então no filtro na parte superior deve ser selecionado o Server na qual a Table pertence, a Table deve escolhida e depois selecionada, então clicar na opção UPLOAD e esperar resposta de sucesso.
Salvando Uma Cópia da Table
Sempre que for alterar ou deletar um Job, deverá salvar uma cópia da Table. Está cópia será salva com extensão .drf. Para salvar é só ir até a barra de ferramentas em
FILE -> SAVE, então deverá escolher um lugar no próprio pc para salvar estes DRAFTS.
Este arquivo poderá ser lido somente pelo Control_M, ou seja, voce só saberá o que está nele se abrir pelo Control_M. Para abrir use a barra de ferramentas, vá em FILE -> OPEN, então seleciona o arquivo Draft que se quer abrir e é só esperar.
Tabalhando Com os Jobs
Quando se abre o Job para definicao, entao uma tela com algumas Tabs ou Abas vai aparecer. Seria algo como um arquivo de excel e suas planilhas dentro da planilha principal.
Estas abas são utilizadas para definir um Job no Control_M, definindo informacoes gerais, schedule, execucao, condicoes, etc. Estas são as abas, um pouco esmiuçadas.
JOB TABS
As Tabs ou Abas, são as Janelas nais quais se define um Job. Cada Aba tem sua função específica. Veja em seguida cada uma delas.
GENERAL TAB
Nesta aba se definem muitas coisas, tais como o nome do job, a Library ou Biblioteca que o Job vai estar, a tabela, a descricao do Job, algum comando que o Job podera executar, o grupo a qual o Job pertence, o ID de quem esta adicionando este Job, etc. Segue uma breve descricao dos campos desta aba:
- Campo CONTROLM - Campo que vai o servidor do Control_M. Não confundir com o servidor que executa o Job, pois este servidor é onde o control_m esta instalado.
- Campo JOB TYPE - Campo ode se define o Tipo do Job. Se é Job simples, ou File Transfer, ou SAP, etc.
- Campo JOBNAME - Campo onde vai o Nome do Job
- Campo JOB TYPE ou TASK TYPE
Onde se define o que o Job vai ser um. São estas as opções:
1 - Job - Job comum, em geral um Job de Mainframe.
2 - Command - Que seria um Job que executa um comando em um Job de servidor. Opção que não existe para Job de Mainframe.
3 - Dummy - Que seria um job que nao faz nada ou nao executa nada. Opção não existente em Job de Mainframe.
4 - Start Task - Quandos e define uma Task e não simplesmente um Job. Usado somente para Jobs de Mainframe.
- Campo MEM NAME/FILENAME - Campo onde vai, ou o nome do Job repetido, ou o nome do arquivo que vai ser executado em um comando. A diferença é que para Mainframe ( MEMNAME )só se repete o nome do Job e pra servidor ( FILENAME ) tem o nome do arquivo com sua extenção ( .dat, .sh, etc ).
- Campo FILEPATH - É o caminho da pasta onde estará o FILENAME para executar um Job. Geralmente é um diretório de uma máquina.
- Campo COMMAND - Campo que é utilizado para definir um comando que o Job vai se utilizar para realizar alguma ação. Podenso ser de onde é “puxado” o Script para o Job, ou comando para chamar o Job no SAP, etc. O campo pode ter linhas de comando para Jobs que executam em AS400, ou para UNIX, etc.
Dicas para o campo de comando:
Neste campo, caso haja algum comando que tenha variavel de tempo (timestamp), esta deve ser definida assim:
cd /home/dir1/dir2/folderfile_name.d%%YEAR.%%JULDAY..t%%TIME.extension
Agora, para usar um comando de COPY e MOVE, pode-se definir assim:
cp /home/local/foldr/FOLDER_NAME/File_NAME.extension /home/local/folder1/FOLDER2/File_NAME.%%$DATE..%%TIME..extension;rm /home/local/folder1/FOLDER2/File_NAME.extension
Para um FILEWATCHER pode ficar assim:
ctmfw /home/local/folder1/folder2/File_Name.extensio CREATE 0 30 10 30 02 Y
Estas são as definições dos valores no parametro CREATE para o Filewatcher. Usando o exemplo acima, veja o que se explica:
0 – neste campo se define o tamanho maximo do FILE qual este File watcher vai olhar.
30 –
10 –
30
02 –
Y – Indica que o File watcher vai monitorar o tamanho do arquivo. Se for N, entao o tamanho sera ignorado.
Para um Job com DELAY, no campo comando se define assim:
sleep 1200
Neste caso o Job executa 1200 segundos e depois termina, mas qualauer valor pode ser definido aqui.
- Campo TABLE NAME - Local onde se põe o nome da Table na qual este Job vai fazer parte.
- Campo APPLICATION - local onde se coloca a Aplicação a qual o Job pertence. Indica qual grupo o Job faz parte.
- Campo SUPPORT GROUP - Campo onde se define o grupo de suporte para este Job. Em geral serve de informação para escalonamento. Seja este escalonamento automático ou manual.
- Campo OWNER - Onde se define um ID para ete Job, em geral está ligado a aplicação deste, ou a um grupo especifico de jobs ( Jobs SAP por exemplo ).
- Campo AUTHOR - Em geral campo utilizado para o id do analista que criou o Job.
- Campo DESCRIPTION - Campo onde se coloca a descrição do Job. O cliente em geral é quem passa esta informação.
- Campo DOC FILE e DOC PATH - São campos que sao pouco usados.
FILE TRANSFER TAB
Esta TAB é onde se definem uma ou mais transferencias de arquivo entre Jobs.
Um Job que faz File Transfer, é definido no Control_M como AFT Job, sendo assim, é também conhecido como Job AFT, e às vezes tem AFT no seu nome.
A transferencias podem ser feitas de Jobs nos seguintes sentidos:
SERVIDOR - > SERVIDOR
SERVIDOR - > MAINFRAME
O que deve definir em primeria mão é o campo **AFT Account **.
- Campo ACCOUNT - Neste campo se define um Account Name, o qual vai trazer o nome dos servidores nos quais as trasnferencias vao se realizar.
Este Account é definida, em geral, pelo time de Automação do Control_M, e o cliente deve lhe fornecer o Account que vai ser usado. Ou se o Scheduler souber o Account, tudo certo.
Quando se “chama” um Account, este geralmente vem com alguma parte do Path já pré definida, ou seja, parte do caminho dos diretórios já é configurada no Account. Então, quando se define os diretórios e subdiretórios NUNCA se deve tirar a parte dos diretórios que já vem com o Account.
O cliente deve informar os diretórios, subdiretórios ou pastas onde estarão os arquivos a serem transferidos ou para onde eles serão trasnferidos.
Colocando o nome do account e clicando em Load este as informações dos Path deste Account. Se remover o nome do Path, então pode se procurar um account específico clicando em Load, uma lista vem em uma Janela para se escolher os Accounts.
Se colocar o account e clicar em Select, uma janela vai abrir com uma lista de alguns subdiretórios deste Account escolhido.
Se clicar em Refresh eset dá um Refresh no Account.
- Campo FILE PATH - São as “janelas” logo abaixo do Account onde se colocam os diretorios e/ou pastas dos servidores envolvidos na transferencia de arquivo.
Como dito anteriormente, os diretórios básicos veem pré definidos quando os Account são criados, e estes NÃO devem ser removidos.
O cliente pode enviar o caminho todo de um servidor, então deve ser verificado se os primeiros diretórios são iguais aos que veem com o Account, caso sejam, então pode usar o Path completo.
Log adiante do campo existe um campo para se escolher entre BINARY, ASCII e EBCDIC. O cliente deve informar qual tipo a usar, mas o mais usado é Ascii. Use este caso o cliente não indique um diferente. Outra dica é olhar outros AFT Jobs na mesma Table, e ver como estão configurados.
Existe, entre os dois campos, uma SETA indicando o sentido da transferencia de arquivo, neste caso, que servidor vai ser Source e qual vai ser Destination.
São quatro tipos de seta, duas normais e cuas com função de FileWatcher. As com função de filewatcher tem uma “Lupa” junto com a seta.
- Campos da opção ADVANCED
Clicando em Advanced uma nova “janela” se abre com algumas abas.
Aba General
Esta aba é onde se define o que vai ser feito dos arquivos, Deletar, Renomear, Deixar como estão, etc.
A Aba General é a mis utilizada, pois define muitas coisas para os arquivos transferidos.
Os campos são:
After completion of a successfull file transfer the SOURCE will be:
Então se escolhe entre as opções: Left as is, Deleted, Renamed, Moved
Se a opção for Renamed, então deve-se colcoar o nome do arquivo no campo File Name.
If a file of the same name as the destination file already exists:
Neste caso as opções são: Overwrite (mais usada), Append, Abort, Skip
Aftter the completion of a successfull file trasnfer the DESTINATION file wil be:
As opções são: Left as is, Renamed, Moved
Se a opção for Renamed, então deve-se colcoar o nome do arquivo no campo File Name
A opção RENAMED nao é recomendada para renomear arquivos trasferidos, se o arquivo a ser trasferido vier de Wild Card, ou seja, de um Source com asterisco, significando “trasferir qualquer arquivo encontrado”. Já foi visto que erros podem ocorrer nestes casos.
O cliente tem que informar o que vai ser feito dos arquivos. Caso não informe, deixe tudo no Default, o que vier na Aba, não é necessário nem abrí-la.
Ainda no ADVANCED existem algumas Flags logo abaixo dos campos de filename, mas estas, em geral, são pouco utilizadas.
Uma delas é a Create Empty file. Esta opção cria um arquivo vazio na transferencia, será necessário colocar o nome de um arquivo.
Existem outras Abas juntas a General, estas Abas são:
OpenSystems/OS400 - Aba pouco usada, nao tenho muita informaçào sobre esta.
MVS - Aba utilizada para quando a transferencia for entre servidor e Mainframe. São parametros para a criação do arquivo do lado do Mainframe.
SFTP Options - Aba pouco usada, nao tenho muita informaçào sobre esta.
Commands - Aba utilizada para se colcoar comandos para o File, seja na Source ou no Destination. Pode-se usar comando para mover o arquivo depois de transferido, etc.
File Watcher - Esta aba vai ser preenchida caso se decida pela Seta com uma “Lupa” indicando um File Watcher nesta transferencia.
Os campos a serem preenchidos na aba File Wacher são:
Minimum detected size: - Campo onde se coloca o valor minimo que se vai detectar um arquivo. O tamanho é em Bytes, e o mínimo é 1.
Time limit type: Maximum time to wait or Wait until - Onde se define por quanto tempo, ou até quando, o File Watcher vai ficar procurando o arquivo antes de trasnferir.
//Auto-Edit containing detected file name: %% // - Campo que não usei, entao não tenho idéia da real função.
Transfer all matching files - Flag que indica que todos os arquivos encontrados serão transferidos. Sempre vi esta Flag ser marcada quando usei a Aba.
Alguns exemplos de TIME STAMP
nomedoarquivo.d%%YEAR.%JULDAY..t%%TIME..extensaodoarquivo - Este exemplo renomeia o arquivo para um nome com ano, data Juliana e horário.
nomedoarquivo%%$DATE.%%TIME..extensaodoarquivo - Este exemplo renomeia arquivo para um arquivo com data e horário.
SCHEDULING TAB
Esta aba vão ser definidos os dias de execução, se o Job vai usar um calendário especifico, etc.
Os campos mais utilizados são:
Month Days - Usado para definir os dias do mes que o Job vai executar.
Week Days - Usado para definir os dias da semana que o Job vai executar
Estes dois primeiros campos podem ser definidos ou em um ou em outro, qualquer um dos dois vai funcionar bem. As opções entre elas são AND e OR, sendo que usando AND, os dois campos vao ser levados em conta para execução do Job, e usando OR, um OU outro lado vai ser utilizado.
RULES - Clicando em Rules, há uma explicação de como usar regras para estes campos, usadas tambem com calendários.
Month Days Calendar - Utilizado para definir um calendário mensal pré-definido
Weekdays Calendar - Utilizado para definir um calendário semanal pré-definido
Dates - Campo onde se pode definir a execução em uma data especifica.
Months - Campo onde se define quais meses o Job deverá executar.
Confimation Calendar - Definição pouco usada.
Ignore Jobs - Campo usado para parar um Job por alguns dias. Colocam-se quantos dias se quer parar um job no campo days
- Campo ACTIVE
From - Utiliza este campo para defnir a partir de quando um Job deve executar.
To - Cria uma “janela” de não execução para este Job.
EXECUTION TAB
Tabela onde se definem os horários para execução dos Jobs. Também ode se definem os Jobs que serão cíclicos.
Seguem os campos desta TAB:
- Campo Node ID/Group - Campo onde se define em qual máquina da rede o Job executa. Este campo é sempre utilizado para Jobs de servidor.
- Campo Run Jobs on All Nodes in Group - “falta definição”
- Campo Wait Confirmation - Campo que se define se o Job é carragado no plano como On Confirm. Seria com um Hold no Job, que para executar precisa de que se “confime” ele manualmente.
- Campo PRIORITY - Campo de prioridade, campo que define com qual urgencia agir caso o Job tenha problema. O campo é numérico.
- Campo CRITICAL - Campo utilizado para definir se o Job é critico ou não.
- Campo EXEC TIME - Campo onde se define o horário que o Job deve executar.
- Campo SUBMIT BETWEEN - onde se define uma janela de execução, começando tal horario no primeiro campo, e indo até tal horário definido no campo abaixo. Utiliza-se os dois campos para Jobs ciclicos, ou para jobs que devam executar somente dentro daquela “janela” especifica.
- Campo - START - Caso seja um Job normal, então só o horário START deve ser preenchido. Neste campo o formato do horário é de hora cheia sem dois pontos, exemplo 1000 o Job inicia sua execução as 10 da manha.
Este campo pode aparecer como SUBMIT BETWEEN. Onde se define o horário que o Job deve começar a executar. Se o Job vai executar somenet uma vez durante o dia, e nao tem um horário que deve parar de executar, entao o campo TO deve ficar em branco. Já se o Job deve parar em algum horário, entao é só preencher este campo. Esta opção TO é mais utilizada para Jobs ciclicos.
- Campo - TIME ZONE - Campo onde se define qual Time Zone ( fuso horário ) este Job vai executar na verdade. Caso não se preencha este campo, o Job executa seguindo o horário default no Control-M.
- Campo - RERUN INFORMATION - Esta parte da Tab de Execution, é utilizada para Jobs Ciclicos.
Marca o campo Ciclic Job , e clicando em Set, se define o intervalo de cada execução do job utilizando o campo Run Every.
- Campo Max Rerun - define qual o máximo de Rerun do Job.
- Campo MAX WAIT - Este campo se define quantos dias o Job vai ficar esperando no Active Schedule, caso ele nao execute.
Geralmente NÃO se usa maxwait em Jobs ciclicos.
Dentro do Campo CYCLIC, existe uma opção que deverá ser usada caso o Job execute com intervalo muito curto, por exemplo de 2 em 2 minutos.
run from the end of the previous run - Indica que um cilco Job só vai executar quando o outro terminar.
CONDITION TAB
Nesta aba, são definidas as condições do Job, os predecessores, sucessores e triggers.
Para definir condição de um Job existem duas” janelas”, IN e OUT.
- Campo IN CONDITION - É o campo que define os predecessores, ou seja, o Job ou DSN que vai triggar ou só ser o precedessor. É definido da seguinte maneira: quemtriga-jobtrigado. A IN CONDITION deve ser repetida no campo OUT Condition, colocando o sinal de MENOS.
Um Job pode ser trigado por outro Job ou por um dataset. Para processo de triggering pode ser definido os nomes que quiserem no “quemtriga”, pois no Job que vai trigar, é só adicionar no OUT CONDITION do Job que vai trigar algumnome-jobtrigado, mas para o Job que vai ser trigado o nome tem que ser correto, adicionar exatamente os mesmos nome no Job que vai ser trigado.
No Campo IN, podem ser definidas varias condições, mas não só isso, também pode se definir como funcionarão essas condições.
- As Condições podem ser AND, ou seja, o Job vai esperar TODAS as condições se satisfazerem para começar a executar.
- As Condições pode ser OR, ou seja, o Job vai esperar por uma OU outra condição para executar.
- As condições podem ser INDIVIDUALLY HANDLED, ou seja, as condições vão ser definidas uma a uma, podendo ser uma AND e outra OR, ou várias de uma e de outra, etc.
- Campo OUT CONDITION É o campo que se define quem vai trigar, e também onde se repete a situação do IN CONDITION para o Job que está sendo trigado. Por exemplo o JOBA triga o JOBB, entao ficaria JOBA-JOBB, esta condição vai ser colocada no OUT condition do JOBA e no IN e OUT do JOBB.
Os Parametros de Date Value tem a função de se definir qual a data da condição será utilizada.
1 - ODAT - Usado para condição do dia, a condição neste caso só é valida no dia do Load dos Jobs.
2 - PREV - Usado para quando as condições de um Job a serem usadas serão do dia anterior.
3 - NEXT - Usado para quando as condições de um Job a serem usadas serão do dia seguinte.
4 - STAT - Esta condição não tem dependencia de data. É a versão mais utilizada para Jobs Ciclicos com dependencia.
5 - (** ou $$$$)** - Valor usando para quando nao tem importancia o Scheduling Date.
RESCOURCE TAB
Esta Tab é onde se define os recursos do Job. Do lado esquerdo da tela, tem a opção para os recursos, chamada Quantitative Resources, geralmente se usa o nome do Servidor onde o Job executa, e para Jobs de mainframe se coloca o nome da Lpar. Outros recursos também podem ser adicionados, específicados pelo cliente.
- Campo QUANTITATIVE RESOURCES - São os campos onde se preenchem os recursos que o cliente cria para o Job, ou para um grupo de jobs de uma aplicação, ou ainda o nome do servidor que o Job executa, ou algum outro nome qualquer dado pelo time de Tools do Control_M, e que devera ser usado como recurso indispensável.
- Campo NEGATIVE DEPENDENCIES - Do lado direito da Tab tem a opção para se adicionar dependencia negativa enter Jobs, também chamado de EXCLUSIVE. Se define quando NÃO se quer que um Job execute junto com algum outro, ou outros Jobs. Em geral, funciona defnindo da seguinte forma:
1 - EXCLUSIVE-JOBITESLF - Onde se define o Exclusive do Job com ele mesmo, a opção no campo de exclusividade deve ser EXC ( Exclusive )
2 - JOBA-JOBB - Onde se define o JobA Exclusive com o JobB, o exclusive deve ser igual nos dois Jobs.
3 - EXCLUSIVE-OTHERJOB - Onde se coloca o nome do Job que nao se quer que execute junto com este. A opção no campo de exclusividade deve ser SHR ( Share )
A definição do campo onde vão os Jobnames podem ser ainda:
4 - NOTDURING-OTHERJOB
5 - JOBITSELF-OTHERJOB
Ainda existe a opção de adicionar um “String” de Jobs, colocando como “Exclusive”, todos os Jobs com o mesmo prefixo, por exemplo.
Ficaria assim:
NOTDURING-JOBAPREFIXxxx
Onde os xxx menores seriam todas as sequencias deste Job, neste caso o JOBAPREFIX.
SET TAB
Esta TAB tem como funções definir Parameters ou JobQueues. Os parametros destes campos serão lidos pelo Job, funcionando como uma extensão do Script.
Algumas opções para definir Job Parameter ( PARM ), são:
- Letra:
PARM 1 = A
- Número:
PARM 2 = 1
- Arquivo:
PARM 3 = file.xml
- Mes Corrente
PARM 4 = %%omonth
- Ano Corrente:
PARM 5 = %%$oyear
Para se definir alguma Job Queue, se faz assim:
JOBQ = xxxxxx/yyyyyyy
A Queue é enviada pelo cliente.
STEP TAB
É o campo onde se definen condições nos STEPS dos Jobs. Neste campo se define qual Step vai ter a condição, o tipo de condição e o que fazer caso a condição seja ou não satisfeita. O primeiro campo tem duas opções a se defnir na primeira coluna ON/DO.
ON – Para se definir em qual, ou quais Steps vai ser adicionada a condição.
DO – Para se definir o que fazer como que foi definido no ON. A opção DO é obrigatória caso exista a opção ON.
Após definir a coluna ON/DO utilizando ON, define-se a coluna TYPE, onde se define STATEMENT, etc.
Depois se definem os PARAMTERS. Se for STATEMENT entao se define Stmt=, para todos os Steps defineANYSTEP por exemplo, se é uma Condição CONDITION .
E em seguida vai ser definido o que é aceitável para esta condição, sou seja o CODE=, por exemplo NOTOK para dizer que em nenhum Step pode haver erro.
Após definir o ON, então se define a Linha DO. Após escolher a opção DO na coluna ON/DO, defines-e o TYPE, que pode ser STOP CYCLIC.
Por exemplo, sempre que montar um Job Cíclico deve ser definido assim:
ON/DO = On
TYPE=Statement
Stmt=ANYSTEP
Code=NOTOK
ON/DO = Do
TYPE= Stop Cyclic
O que diz esta definição. Que se em qualquer Step houver erro, o ciclo para.
Nesta TAB também se define COND CODE aceitável para o Job. Sende que se pode definir um Cond máximo aceitável ou definir somente um Cond aceitável. Em geral é usado para Jobs que executam no Mainframe.
Exemplo1: - Exemplo de um job com COND CODE aceitável de até 8. Só utilizável em Job de Mainframe.
ON/DO = On
TYPE = Statement
PGMST = AnyStep
PROCST = -
CODES = <C0008
AND/OR =
ON/DO = Ok
Exemplo 2: - Exemplo de algum Job que esteja fazendo FileWatcher com AFT e precisa ser “setado de volta” para ok, mesmo quando não encontrar o file.
ON/DO = On
TYPE = Statement
CODE = *File does not exist*
DO = OK
Exemplo 3: - E ainda outra opção de resposta de File:
ON/DO = On
TYPE = Statement
CODE = *File size is not static*
DO = OK
E se o File deu erro, então este AFT não deverá acionar o Out Condition então se faz como no exemplo abaixo. O Out Condition deverá estar definido somente na SET Tab.
Exemplo 4: - Exemplo que mostra o Job que é mandado pra erro quando o Script está sendo usado por outro processo. Este caso o Job não era um AFT ou ciclico.
ON/DO = On
TYPE = Statement
CODE = *it is being used by another process*
DO = NOTOK
Exemplo 5: - Para este exemplo o ciclo pára logo após o Job AFT trigar o job seguinte. Pois tem o parametro Stop Cyclic.
// On = Statement
Stmt = ANYSTEP
Code= COMPSTAT=0
Do = Condition
Name = joba-jobb
Date = ODAT
Sign = +
Do = Stop Cyclic//
Exemplo 6: - Para que o Job continue o ciclo, então se remove a linha Do = Stop Cyclic . O próprio COMPSTAT=0 significa um DO = Ok e o ciclo segue.
// On = Statement
Stmt = ANYSTEP
Code= COMPSTAT=0
Do = Condition
Name = joba-jobb
Date = ODAT
Sign = +//
Exemplo 7: - Para que o COND CODE 8 seja aceito em Jobs de servidor.
ON/DO = On
TYPE = Statement
PGMST = AnyStep
PROCST = -
CODES = COMPSTAT=8
AND/OR =
ON/DO = Ok
POSTPROC TAB
Tab utilizada para definir, por exemplo, mensagens de um Job executando tempo demais, ou seja, se um Job executa por mais tempo que o periodo determinado na tela, uma mensgem é enviada ao responsável pelo Job.
- Os campos são:
- WHEN – Se define em que situação se deve enviar mensagem;
- PARAMETER – Qual o Parametro que deve ser levado em conta;
- TO – Pra onde deve ser enviada mensagem, qual grupo;
- URGENCY – Qual a urgência da mensagem;
- MESSAGE – A mensgem em si que será enviada;
Exemplo1: Exectime Alert
Um Job que deve alertar alguém após uma hora ( 60 min ) de execução, além do tempo médio de execucao do Job, ficaria definido assim:
When = exectime
Param = +060
To = monitoring team or tool
Urgency = regular
Message = %%JOBNAME job running too long – please contact support
O sinal de + indica a soma do tempo que se define como exectime e do tempo médio das ultimas execucoes do Job. Ou seja, 60 minutos mais o tempo que o Job geralmente leva pra executar.
Exemplo 2: Long Run alert
Um Job que executa por um tempo maior do que o definido no parametro, ele vai alertar. Entao ficaria assim:
When: exectime
Param: >45
To: monitoring team or tool
Urgency: Regular
Message: "%%JOBNAME IS RUNNING LONG-PLEASE INVESTIGATE"
Esta mensagem sera enviada caso o Job execute por mais de 45 min, contando desde o inicio da sua execução.
Exemplo 3: Late Submit time
Um Job que precisa alertar caso nao comece a execução ficaria assim:
When; Late Time
Param: 0500
To: monitoring team or tool
Urgency: Urgent
Message: “crie a mensagem ncessaria para o time de monitoracao”
Uma mensagem sera enviada caso o Job nao comece a execução as 0500 da manha.
Trabalhando Com Table
O conceito de SCHEDULING TABLE ou Tabela, tem por ideia “ajuntar” Jobs com as mesmas caracteristicas. Geralmente da mesma aplicação, dos mesmos “donos”, etc.
A tabela não tem função de Schedule, ou seja, nao tem horarios de execução, nem triga job, etc.
Abrindo o Control-M Desktop, pode-se criar, deletar e modificar um job ou uma tabela. Para isso é necessário “puxar” uma tabela (TABLE) que contém os Jobs que se queira trabalhar.
Uma Table é o agente que o Control-M tras quando faz seu Load diário, mas também serve para agrupar Jobs de uma mesma aplicação ou até de uma parte de uma aplicação.
Para abrir uma tabela no Control-M Desktop usa-se o um ícone da barra de ferramentas, este icone seria o LOAD TABLE . Passando o mause sobre os ícones estes dizem sua função.
Ao clicar em Load Table, uma janela se abre, entao a sequencia seria esta:
Primeiro deve-se escolher qual o Servidor ou LPAR que vai se trabalhar, e então escolher a TABLE em uma lista. Pode-se utilizar de uma parte do nome da tabela, caso já se saiba alguma coisa, entao colocar algumas letras do nome e um asterisco. Entao deve se selecionar a tabela que se deseja trabalhar e depois clicar em LOAD.
Entao do lado esquerdo da tela vai aparecer o comeco de uma “cadeia” de Jobs, normalmente com o nome do servidor ou LPar.
Entao para se abrir esta cadeia e enxergar os Jobs seria clicando no símbolo + no primeiro item e ir abrindo, do mesmo modo que se faz com diretorios, pastas e subpastas em um PC.
Existem algumas maneiras ou VIEWS no Control_M Desktop. Pode-se ver a lista de Jobs por Aplicativo ou por Tabela, para definir isso e so escolher um dos dois ícones que estão logo abaixo da palavra WINDOW do topo da barra de ferramentas. Um deles mostra por aplicativo e outro por tabela.
Ainda depois de definir esta situação, pode-se escolher ver por diagrama ou por lista de Jobs, esta definição pode ser feita na opcao VIEW da barra de ferramentas, clicando em VIEW pode se escolher JOB LIST ou FLOWDIAGRAM.
Todas as maneiras lhe dão a possibilidade de chegar ao Job que se esta trabalhando.
Para o update de um job, deve-se clicar no mesmo 2 vezes para abrir as as configurações do job, ou ainda com o botão direito e escolher a opção desejada, pois pode-se atualizar um job, deletar ou copiar.
Table Write
Assim que se termina uma atualização de uma tabela esta precisa ser escrita. O Ícone e seria o segundo da esquerda para a direita na ultima linha de ícones, este icone se chama WRITE TABLE
Logo que clica neste ícone, uma janela se abre, nesta janela deve-se escolher qual a table a que se deve escrever. Deve-se clicar no ícone FILTER e colocar algumas letras ou o nome da tabela na janela TABLE, daí então clicar em APLY. Pode aparecer uma tabela ou uma lista delas, dependendo do que foi filtrado, então deve-se escolher a tabela desejada, selecionar e clicar em WRITE. Esta ação vai enviar as mudanças nesta tabela para o banco de dados do Control-M, mas ainda não esta validado, pois será necessário um UPLOAD desta tabela.
Table UPLOAD
Após o comando de write então a Table tem quer ser atualizada na base de dados dos Control-M, pois até agora, tudo está sendo feito no seu Desktop.
Para esta tarefa, o ícone a ser escolhido na barra de ferramenta é o SCHEDULING TABLE MANAGER. Ao clicar neste ícone, uma janela vai se abrir, então no filtro na parte superior deve ser selecionado o Server na qual a Table pertence, a Table deve escolhida e depois selecionada, então clicar na opção UPLOAD e esperar resposta
Scheduling Table Manager
Esta função é muito utilizada, pois nela se faz o Upload de uma table, mas também pode ser utilizada para Deletar uma Table, Modificar uma Table, Copiar uma Table, enfim, para trabalhar com todos os parametros de confiuracao de uma Table.
O icone é o mesmo utilizado para upload, na barra de ferramentas. Ao clicar no icone, uma janela se abre onde se coloca o nome da tabela e clica APLY.
Trabalhando Com Calendários
Para que um Job execute, não existe somente as funções das TAB’s, existe também a opção de calendário.
Para utilizar o calendário, é só entrar na SCHEDULING TAB, e olhando logo abaixo das janelas de MONTH ou WEEK, tem uma janela com nome de RULES, onde se define quais dias do calendário vao ser usados.
Logo abaixo ta janela RULES, tem a janela CALENDAR, onde se coloca o nome do calendário.
E após definir qual calendário usar, deve ser definido os dias que o Job vai executar. Podem ser usadas as Janelas logo acima do calendário, ou simplesmente marcar os dias na opção acima das janelas. São duas opções, uma com os dias do mes, e outra com os dias da semana.
Existem, basicamente, 2 tipos de calendários, periódicos e regular.
Calendário Periódico – Calendário onde se definem periodos. Um período pode começar no meio de um mes e terminar no meio de outro, por exemplo. Para se utilizar este calendário, deve-se definir, na janela logo acima de onde se coloca o calendário, o dia do periodo e qual periodo deve executar.
Exemplo: Se um Job deve executar no ultimo dia de todos os períodos, se faz assim:
L1P* - Que significa “Last 1st day of all Period” – Ultimo dia de todos os períodos.
D15P1 – Que significa “Day 15th of the Period 1” – Décimo quinto dia do período 1.
Calendário Regular - Este é um calendário com meses regulares, ou seja, não tem períodos. Então pode-se criar um calendário pra um Job executar, por exemplo, duas vezes por semana, uma vez por semana, a cada duas semanas, primeiro dia do mes, etc.
Criando/Alterando Calendário
Para criar ou alterar um calendário, a partir do Control_M Desktop, vai até o ícone na barra de ferramentas, ou vai até Tools -> Calendar Manager
Assim que clicar no ícone ou na barra de ferramentas, uma janela vai se abrir, com campos específicos, segue assim:
Campo Control_M - Onde se define qual Control_M está o calendário.
Campo Calendar - Campo onde se escolhe o calendário que vai ser utilizado/alterado.
E tem ainda os seguintes ícones na barra de ferramentas da janela.
NEW - Ícone utilizado para criar um calendário.
Os Ícones mencionados abaixo que ter o calendário já selecionado.
EDIT - Ícone utilizado para edtiar um calendário existente.
COPY - Para copiar um calendário.
DOWNLOAD - Para um download no calendário.
FORCE UPLOAD - Força o Upload no calendário para o dia.
UPLOAD - Ícone utilizado para salvar o novo calendário ou as alterações de um.
DELETE - Utilizado para deletar um calendário.
Mechendo no Calendário
Depois de selecionado um calendário, ou um calendário novo está sendo criado, uma outra janela se abre, esta tem o calendário que conhecemos, Gregoriano, que vai ser utilizado de base para a criação ou alteração.
Logo acima na janela tem o ano que se quer ver ou alterar, em geral o ano corrente deve aparecer.
Logo abaixo da janela do ANO tem uma janela de DESCRIPTION, onde se coloca a descrição do calendário.
Abaixo da descrição, ficam os campos onde se define os dias executáveis. Se estão em VERDE e com um Y, quer dizer que este é um dia executável neste calendário.
Para alterar este dia executável, ou mudar um dia para executável, é só colocar o cursor em cima do dia e clicar com o botão direito do mouse, e escolher entre Y e N.
Depois da alteração ou criação de um novo calendário, aí é só fazer o UPLOAD.
Outras Funções no Control_M Desktop
Mudando o TIME FRAME para o Job.
Este parametro altera o relógio do Job de 24 para 48 horas. Então na barra de ferramentas:
TOOLS -. OPTIONS – Display - Display Time Synonym
Deixando o flag, 48 horas, tirando o flag, 24 horas.
Um Job que executa as 0500 ( cinco da manhã ), vai aparecer como 2900, que significa 24 horas + 5 horas.