Pesquisar este blog

Mostrando postagens com marcador envio de job. Mostrar todas as postagens
Mostrando postagens com marcador envio de job. Mostrar todas as postagens

quinta-feira, 20 de setembro de 2018

Mainframe - Prova de conceito captura de telas terminal 3270 e execução de comandos via script/macro

Próximos Passos

Com essa base, você pode:

  1. Automatizar testes de programas COBOL
  2. Integrar com pipelines CI/CD
  3. Monitorar execução de jobs via scripts

Video 1 : Macro script em execução rodando comandos do windows no mainframe


Automatizando Tarefas no Mainframe: Script com ws3270 e Transferência de Arquivos

Neste video, demonstramos como automatizar conexões, transferências de arquivos e submissão de jobs no mainframe usando o emulador ws3270 e scripts batch.

Tudo capturado e documentado para reprodutibilidade!

Configuração do Ambiente

Arquivos Necessários

Na pasta C:\Ferramentas\ws3270, temos:

- x3270ifTest.bat    # Script principal
- x3270if.exe        # Utilitário de automação
- HELLOWORLD.txt     # Programa COBOL a ser transferido
- OUTPUT.TXT         # Arquivo de log das telas capturadas

Script Batch (x3270ifTest.bat)


# Autenticação e navegação inicial
x3270if -t 5000 -v "Connect(192.86.32.159)"
x3270if -t 5000 -v "Wait(InputField)"
x3270if -t 5000 -v "String(logon AU04660)"
x3270if -t 5000 -v "Enter()"

# Transferência do arquivo
x3270if -t 5000 -v "Transfer(Direction=send,Localfile=HELLOWORLD.txt,HostFile=AU04660.HELLOWRD)"

# Navegação e submissão do job
x3270if -t 5000 -v "Tab(4)"
x3270if -t 5000 -v "Enter()"
x3270if -t 5000 -v "String(sub)"
x3270if -t 5000 -v "Enter()"

Execução do Processo

Comando usado para iniciar a automação e capturar logs:

cmd> x3270ifTest.bat >> output.txt

Exemplo de Tela Capturadas no Output.txt

Captura da tela inicial pre login
Figura 1: Conexao ao z/Os pela macro


Captura do 'sub no job'

*** JOB AU04660Z (JOB09955) SUBMITTED ***

Detalhes do Job Submetido

O programa COBOL transferido (HELLOWRD):


//AU04660Z JOB R8,'BUGA',MSGLEVEL=(1,1),CLASS=K,MSGCLASS=1,RD=NC,
// NOTIFY=&SYSUID
//CLG EXEC IGYWCLG
//COBOL.SYSIN DD *
    ID DIVISION.
        PROGRAM-ID. BUGA001.
    PROCEDURE DIVISION.
        DISPLAY "Hello world!"
        STOP RUN.
/*
//LKED.SYSLMOD DD DSN=AU04660.LOADS(BUGA001),DISP=OLD

Resultados e Aplicações

  • ✅ Autenticação automática no TSO
  • ✅ Upload de arquivos via script
  • ✅ Navegação por menus do ISPF
  • ✅ Submissão de job com número JOB09955
  • ✅ Log completo em output.txt