Fórum — COBOL Dicas

Conhecimento que atravessa gerações. Compartilhe o que você sabe.

Hercules TK5 - Emulador de Mainframe

Publicado

Publicação inicial

13/06/2025 01:11 · Publicado

#31
Vamos trocar ideias sobre o Hercules TK5, o famoso emulador de mainframe z/OS que roda em PC!
Aqui você pode:
  • Tirar dúvidas sobre instalação e configuração no Linux ou Windows
  • Compartilhar dicas e comandos úteis (IPL, JCLs, montagem de DASD, etc)
  • Discutir sobre acesso via terminal 3270 (x3270, tn3270, etc)
  • Integrar com VS Code, Zowe e outros recursos modernos
  • Comentar sobre o uso de FTP, IND$FILE, TSO, ISPF, SDSF, JES2, etc.

Se você também tá usando o TK5 ou tá apanhando na instalação, manda ver aqui. Vamos fortalecer a comunidade mainframe independente! 💪
Agradecimentos: 1 Entre para agradecerRegistros do fórum anterior preservados.
Resposta

13/06/2025 13:09 · Publicado

#33
O TK5 roda um compilador antigo: COBOL VS
O MVS 3.8j do TK5 é da era System/370, lá da década de 70. Ele usa um compilador chamado:

COBOL for OS/VS (às vezes chamado de VS COBOL)
Ou seja, o COBOL “originalzão” mesmo, pré-1985.

Essa versão não suporta comandos introduzidos nas normas mais modernas da linguagem, como:

END-IF

EVALUATE

CONTINUE

INITIALIZE

STRING / UNSTRING com funcionalidades completas

Nem suporte a DB2 nativo ou CICS moderno
Agradecimentos: 0 Entre para agradecer
Resposta

13/06/2025 13:10 · Publicado

#34
O END-IF veio com o padrão COBOL-85, justamente pra evitar aquela bagunça de IF dentro de IF sem saber onde termina.

E isso só foi implementado nos compiladores mais modernos da IBM, como:

VS COBOL II (algumas versões suportam)

COBOL for MVS & VM

Enterprise COBOL (versões atuais, já com suporte a tudo e mais um pouco)
Agradecimentos: 0 Entre para agradecer
Resposta

18/06/2025 18:24 · Publicado

#35
Problema de compilação de programas com books (em outro PDS). RESOLVIDO!

Segue o JOB como exemplo:

Código
//COMPPRG2 JOB (ACCT),'COMPILA COBOL',CLASS=A,MSGCLASS=X,REGION=4096K
//* COMPILACAO                                                      
//COBSTEP EXEC PGM=IKFCBL00,                                        
//*            PARM='LOAD,SUPMAP,SIZE=2048K,BUF=1024K'              
//* ESSE OK    PARM='LIB,SIZE=2048K,BUF=1024K'                      
//            PARM='LIB,SUPMAP,SIZE=2048K,BUF=1024K'                
//STEPLIB  DD  DSN=SYS1.LINKLIB,DISP=SHR                            
//SYSPRINT DD  SYSOUT=*                                              
//SYSPUNCH DD  SYSOUT=*                                              
//SYSUT1  DD  UNIT=SYSDA,SPACE=(460,(700,100))                      
//SYSUT2  DD  UNIT=SYSDA,SPACE=(460,(700,100))                      
//SYSUT3  DD  UNIT=SYSDA,SPACE=(460,(700,100))                      
//SYSUT4  DD  UNIT=SYSDA,SPACE=(460,(700,100))                      
//SYSLIN DD DSNAME=&LOADSET,DISP=(MOD,PASS),UNIT=SYSDA,              
//            SPACE=(80,(500,100))                                  
//COB.SYSLIB DD DSN=CDICAS.COBOL1.CPY,DISP=SHR                      
//COB.SYSIN  DD DSN=CDICAS.COBOL1.SRC(PROGDATA),DISP=SHR            
//*                                                                  
//* LINKEDICAO                                              
//LKED EXEC PGM=IEWL,PARM='LIST,XREF,LET'                  
//SYSLIN  DD DSNAME=&LOADSET,DISP=(OLD,DELETE)              
//  DD  DDNAME=SYSIN                                        
//SYSLIB DD  DSNAME=SYS1.COBLIB,DISP=SHR                  
//LKED.SYSLMOD DD DSN=CDICAS.TEST.LOADLIB(PROGDATA),DISP=SHR
//LKED.SYSLIB  DD DSN=SYS1.COBLIB,DISP=SHR                  
//            DD DSN=SYS1.LINKLIB,DISP=SHR                
//SYSPRINT    DD SYSOUT=*

Agradecimentos: 0 Entre para agradecer
Resposta

27/06/2025 19:23 · Publicado

#36
O Erro ao compilador o programa que chama modulo aconteceu por conta de falta de display no modulo.
O ERRO IEW0132 - O SÍMBOLO IMPRESSO É UMA REFERÊNCIA EXTERNA NÃO RESOLVIDA.

O programa chamado falha quando removo a instrução DISPLAY.
para corrigir o problema bastou colocar um display no programa chamado e resolveu!
Agradecimentos: 0 Entre para agradecer
Resposta

17/07/2025 20:52 · Publicado

#37
CRIAR NOVO USUARIO NO EMULADOR HERCULES

1- Logar com o usuario master
HERC01 - CUL8TR

2- Acessar a biblioteca:
SYS1.SECURE.CNTL(USERS)

3- Adcionar o USUARIO e senha (na ultima linha igual IBMUSER)
Salvar

4- Acessar a biblioteca:
SYS2.JCLLIB(ADDUSER) 
Em:
HLQ=(nome do usuario)
UTYPE=SYSP

5- SUBMETER o JOB
Conferir sysout de execução

6- Reiniciar o Mainframe

Logar com o novo USUARIO e Senha
Agradecimentos: 0 Entre para agradecer
Resposta

18/07/2025 02:28 · Publicado

#38
DELETAR USUARIO NO EMULADOR HERCULES

Obs.: Antes de apagar o usuário salve todos os fontes de JCLs do particionado do usuário. pois eles tabém serão deletados.

1- Logar com o usuario master
HERC01 - CUL8TR

2- Acessar a biblioteca:
SYS2.JCLLIB(DELUSER)
Em:
HLQ=(nome do usuario)

5- SUBMETER o JOB
Conferir sysout de execução

6- Reiniciar o Mainframe
Agradecimentos: 0 Entre para agradecer
Resposta

15/10/2025 16:41 · Publicado

#64
Até onde eu tentei, não consegui conectar o VSCode/Zowe com o TK5, você conseguiu? Caso positivo, compartilhe o passo a passo por favor.
Agradecimentos: 1 Entre para agradecerRegistros do fórum anterior preservados.
Resposta

15/10/2025 19:22 · Publicado

#65
Tambem, nao consegui, pelo que vi o zowe usa uma plataforma de conexão via ftp. Como o tk5 é um emulador ele não tem conexão via ftp. Sigo verificando essa pissibilidade.
Agradecimentos: 0 Entre para agradecer
Resposta

14/11/2025 00:18 · Publicado

#83
JOB DE COMPILAÇÃO PARA O EMULADOR HERCULES TK5




Código · COBOL
 //COMPPROG JOB (ACCT),'COMPILA COBOL',CLASS=A,MSGCLASS=X,REGION=4096K,
// NOTIFY=&SYSUID
//* COMPILACAO
//DEMO1 EXEC COBUCL
//COB.SYSIN DD DSN=CDICAS.COBOL1.SRC(PROG001A),DISP=SHR
//LKED.SYSLMOD DD DSN=CDICAS.TEST.LOADLIB(PROG001A),DISP=SHR
//LKED.SYSLIB DD DSN=SYS1.COBLIB,DISP=SHR
// DD DSN=SYS1.LINKLIB,DISP=SHR
//SYSPRINT DD SYSOUT=A
//*
 







OBS.: ALTERAR O NOME DO PROGRAMA E AS BIBLIOTECAS DO PROGRAMA E LOADLIB.
Agradecimentos: 0 Entre para agradecer
Resposta

17/11/2025 11:07 · Publicado

#84
Estive dando uma estudada no manual do TK5 e ele até tem um serviço de FTP e um de HTTP + FTP,
mas não consegui ter acesso aos DATASET, após o start do emulador e aparecer o TK5 no terminal
do hercules, tem os seguintes comandos:

/S FTPD - Levanta o FTP na porta 2121, até conecta mas não consegui acesso aos DATASET

/S HTTPD - Levanta o serviço http na porta 8080 e um ftp na porta 8021 - ele até fornece acesso em um DATASET WEB mas não fui adiante nas tentativas com o ZOWE.

Caso alguém consiga avançar ou tenha alguma info complementar, compartilhe.
Agradecimentos: 0 Entre para agradecer
Resposta

19/11/2025 20:15 · Publicado

#89
Fala, meu amigo! Então, esses serviços do TK5 (FTPD e HTTPD interno) realmente existem, mas é importante entender o “jeitão” do MVS 3.8J: ele não tem SMS, não tem RACF moderno, não tem catalog baseado no mundo atual — e, por isso, o acesso a DATASETS via FTP nunca funciona da forma que estamos acostumados no z/OS atual.

No ambiente TK5 / MVS 3.8J, a forma real e funcional de trabalhar com datasets é:

IND$FILE via emulador 3270 (x3270, wc3270, c3270, etc.)
Essa é a forma tradicional e 100% funcional de enviar/receber arquivos.
Agradecimentos: 0 Entre para agradecer
Resposta

23/01/2026 00:39 · Publicado

#97
JOB para ciração e catalogação de GDG.

//JCRIAGDG JOB (001),'CRIAR ARQ VAZIO',CLASS=A,MSGCLASS=X, 
//            MSGLEVEL=(1,1),REGION=0M,NOTIFY=&SYSUID     
//*                                                         
//STEP1    EXEC PGM=IDCAMS                                 
//SYSPRINT DD SYSOUT=*                                     
//SYSIN    DD  *                                           
  DEFINE GDG(NAME(CDICAS.COBOL1.GDG.REL0001A) -             
  LIMIT(5) -                                               
  NOEMPTY -                                                 
  SCRATCH)                                                 
/*                                                         
//*                                                         
//STEP2    EXEC PGM=IEFBR14                                 
//DD1      DD  DSN=CDICAS.COBOL1.GDG.REL0001A,             
//            DISP=(NEW,CATLG,DELETE),                     
//            UNIT=SYSDA,                                 
//            SPACE=(TRK,(10,1)),                         
//            DCB=(RECFM=FB,LRECL=100,BLKSIZE=32,DSORG=PS) 
//*


PROBLEMA RESOLVIDO!

DESCRITO NO PROXIMO POST.
Agradecimentos: 0 Entre para agradecer
Resposta

23/01/2026 02:19 · Publicado

#98
//REL0004A DD DSN=CDICAS.COBOL1.GDG.REL0001A(+1),
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(100,10)),UNIT=SYSDA,
// DCB=CDICAS.COBOL.GDG.REL0001A

o arquivo gerado no STEP1 é o DSNAME do GDG e será gerado novas versões.

o arquivo gerado no STEP2 pertence ao DCB da nova GDG.
Agradecimentos: 0 Entre para agradecer
Resposta

08/05/2026 03:27 · Publicado

#115
Olá!

Estou tentando realizar o tutorial pra instalar o Hercules TK5 no Linux, do link abaixo, está dando como inválido o link.
https://coboldicas.com.br/blog/instalacao-do-emulador-hercules-tk5-no-linux?highlight=WyJ0azUiXQ==


Eu entrei na pagina do "prince-webdesign" (https://www.prince-webdesign.nl/tk5/) e parece que mudou, fiz o download do "DOWNLOAD MVS-TK5 with Update 5" mas não consegui localizar os outros comandos e passos do tutorial.

Poderia me dar um help por favor? Caso seja mais fácil compartilhar o link do seu pacote pra mim agradeço.

Obrigado, Arthur.
Agradecimentos: 0 Entre para agradecer
Resposta

13/05/2026 03:09 · Publicado

#116
Olá, Arthur! Tudo bem?

Obrigado por avisar! Realmente o site do prince-webdesign mudou bastante nos últimos meses e alguns links do tutorial antigo acabaram ficando desatualizados.

O pacote correto continua sendo o “MVS-TK5 with Update 5”, então você baixou o arquivo certo 👍

O problema é que algumas etapas do tutorial antigo utilizavam links e estruturas que existiam na versão anterior do site.

Hoje o processo ficou basicamente assim:

1. Baixar o pacote MVS-TK5 with Update 5
2. Extrair os arquivos
3. Instalar o Hercules no Linux
4. Ajustar permissões e diretórios
5. Iniciar o emulador pelo script de inicialização

Nos próximos dias vou atualizar o artigo do COBOL Dicas com o passo a passo revisado para Debian/Linux atual, porque muita coisa mudou desde a publicação original.

Sobre compartilhar meu pacote:
prefiro não disponibilizar diretamente porque o ambiente TK5 possui arquivos e licenças específicas do projeto original. O ideal é usar sempre o pacote oficial do site deles.

Mas posso te ajudar tranquilamente na instalação 🙂

Me fala:

* Qual distribuição Linux você está usando?
* Qual erro exatamente aconteceu?
* Em que etapa você travou?

Se quiser, pode até mandar print da tela ou mensagem de erro que vamos resolvendo juntos.

COBOL Dicas — do básico ao avançado, sem mistério. 🦖
Agradecimentos: 0 Entre para agradecer