📌 Explicação

IKJEFT01 é um programa interpretador TSO, usado pra executar:

  • Comandos TSO em modo batch

  • Programas CLIST e REXX

  • Comandos SPUFI, DSNTEP2, DSNUTILB

  • Qualquer comando que você rodaria na linha de comando TSO

🧰 Usos mais comuns

  • Rodar comandos DB2 (RUN PROGRAM, SELECT, UPDATE)

  • Submeter CLISTs e REXX para automação

  • Rodar utilitários SQL em lote

  • Executar comandos de manutenção de arquivos, usuários, jobs, etc.

🧾 Sintaxe básica

//TSOBATCH JOB (1234),'COBOL DICAS',
//             MSGCLASS=X,CLASS=A,NOTIFY=&SYSUID
//*
//STEP01 EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD *
  TSO COMANDO1
  TSO COMANDO2
/*

💻 Exemplo 1: rodar comando simples TSO

//STEP01 EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD *
  LISTC LEVEL(CDICAS)
/*

Esse exemplo lista todos os datasets começando por ZROBERT, como se você digitasse isso no prompt TSO.

💻 Exemplo 2: executar um programa DB2

//DB2RUN EXEC PGM=IKJEFT01
//STEPLIB  DD DSN=DB2.LOADLIB,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD *
  DSN SYSTEM(DB2T)
  RUN PROGRAM(PROGCOB) PLAN(PLANCOB) PARM('')
  END
/*

Aqui, você executa um programa COBOL com SQL embutido, usando um PLAN de DB2.

💻 Exemplo 3: rodar CLIST ou REXX

//EXECREXX EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD *
  %NOMEDOREXX
/*

O símbolo % é usado pra chamar REXX ou CLIST direto no TSO.

⚙️ Regras

  • O que estiver dentro do SYSTSIN será interpretado como comandos de terminal TSO

  • Precisa de permissões adequadas pra acessar objetos (DB2, datasets, etc.)

  • STEPLIB, DBRMLIB, SYSUDUMP, SYSPRINT, SYSIN, etc., variam conforme o tipo de operação

💡 Dicas

  • Se for rodar comando SQL, garanta que DSNLOAD esteja no STEPLIB

  • O nome do PLAN precisa estar corretamente BINDADO com os programas

  • Pode ser usado em conjunto com DSNTIAUL, DSNUTILB, DSNTEP2 pra gerar relatórios SQL

 

✅ Conclusão

IKJEFT01 é o TSO dentro do JCL. Ele permite automatizar tarefas que você normalmente faria no terminal, incluindo integração com DB2, execução de REXX, CLISTs e comandos do sistema. Se você quer fazer automação batch séria no mainframe, dominar o IKJEFT01 é obrigatório.