- Postagens: 29
- Obrigados Recebidos: 1
Utilitários essenciais para programadores de mainframe.
Hercules TK5 - Emulador de Mainframe
- bopnet
-
Autor do Tópico
- Desconectado
- Administrador
-
- I'm free!
Less
Mais
1 mês 2 semanas atrás #39
por bopnet
COBOL is not DEAD!
Hercules TK5 - Emulador de Mainframe foi criado por bopnet
Vamos trocar ideias sobre o Hercules TK5, o famoso emulador de mainframe z/OS que roda em PC!
Aqui você pode:
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.
COBOL is not DEAD!
Por favor Entrar ou Registrar para participar da conversa.
- bopnet
-
Autor do Tópico
- Desconectado
- Administrador
-
- I'm free!
Less
Mais
- Postagens: 29
- Obrigados Recebidos: 1
1 mês 2 semanas atrás #41
por bopnet
COBOL is not DEAD!
Respondido por bopnet no tópico Hercules TK5 - Emulador de Mainframe
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
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
COBOL is not DEAD!
Por favor Entrar ou Registrar para participar da conversa.
- bopnet
-
Autor do Tópico
- Desconectado
- Administrador
-
- I'm free!
Less
Mais
- Postagens: 29
- Obrigados Recebidos: 1
1 mês 2 semanas atrás #42
por bopnet
COBOL is not DEAD!
Respondido por bopnet no tópico Hercules TK5 - Emulador de Mainframe
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)
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)
COBOL is not DEAD!
Por favor Entrar ou Registrar para participar da conversa.
- bopnet
-
Autor do Tópico
- Desconectado
- Administrador
-
- I'm free!
Less
Mais
- Postagens: 29
- Obrigados Recebidos: 1
1 mês 1 semana atrás #43
por bopnet
COBOL is not DEAD!
Respondido por bopnet no tópico Hercules TK5 - Emulador de Mainframe
Problema de compilação de programas com books (em outro PDS). RESOLVIDO!
Segue o JOB como exemplo:
//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=*
Segue o JOB como exemplo:
//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=*
COBOL is not DEAD!
Por favor Entrar ou Registrar para participar da conversa.
- bopnet
-
Autor do Tópico
- Desconectado
- Administrador
-
- I'm free!
Less
Mais
- Postagens: 29
- Obrigados Recebidos: 1
4 semanas 1 dia atrás #44
por bopnet
COBOL is not DEAD!
Respondido por bopnet no tópico Hercules TK5 - Emulador de Mainframe
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!
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!
COBOL is not DEAD!
Por favor Entrar ou Registrar para participar da conversa.
- bopnet
-
Autor do Tópico
- Desconectado
- Administrador
-
- I'm free!
Less
Mais
- Postagens: 29
- Obrigados Recebidos: 1
1 semana 2 dias atrás - 1 semana 2 dias atrás #47
por bopnet
COBOL is not DEAD!
Respondido por bopnet no tópico Hercules TK5 - Emulador de Mainframe
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
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
COBOL is not DEAD!
Ultima edição: 1 semana 2 dias atrás por bopnet.
Por favor Entrar ou Registrar para participar da conversa.