COBOL Dicas
  • Home
  • COBOL
  • CICS
  • DB2
  • JCL
  • Códigos de Erro
  • Exemplos de Código
  • Fórum
  • Blog / Notícias
  • YouTube
  • 🔷 O que é CICS?
  • 🔷 Command Level
  • 🔷 Construção de um Mapa BMS
  • 🔷 O que é a macro DFHMDF?
  • 🔷 O que é a macro DFHMDI?
  • 🔷 O que é a macro DFHMSD?
  • 🔷 Retorno dos Comandos CICS
  • 🔷 Bloco de interface EXEC (EXEC Interface Block)
  • 🔷 Identificador de Atenção (EIBAID)

Comandos CICS

  • 🔷 EXEC CICS ABEND
  • 🔷 EXEC CICS ADDRESS
  • 🔷 EXEC CICS ASKTIME
  • 🔷 EXEC CICS ASSIGN
  • 🔷 EXEC CICS BIF DEEDIT
  • 🔷 EXEC CICS CANCEL
  • 🔷 EXEC CICS DELAY
  • 🔷 EXEC CICS DELETE
  • 🔷 EXEC CICS DELETEQ TD
  • 🔷 EXEC CICS DELETEQ TS
  • 🔷 EXEC CICS DEQ
  • 🔷 EXEC CICS ENDBR
  • 🔷 EXEC CICS ENQ
  • 🔷 EXEC CICS FORMATTIME
  • 🔷 EXEC CICS HANDLE ABEND
  • 🔷 EXEC CICS HANDLE CONDITION
  • 🔷 EXEC CICS IGNORE CONDITION
  • 🔷 EXEC CICS LINK
  • 🔷 EXEC CICS READ
  • 🔷 EXEC CICS READNEXT
  • 🔷 EXEC CICS READPREV
  • 🔷 EXEC CICS READQ TD
  • 🔷 EXEC CICS READQ TS
  • 🔷 EXEC CICS RECEIVE MAP
  • 🔷 EXEC CICS RETRIEVE
  • 🔷 EXEC CICS RETURN
  • 🔷 EXEC CICS REWRITE
  • 🔷 EXEC CICS SEND MAP
  • 🔷 EXEC CICS START
  • 🔷 EXEC CICS STARTBR
  • 🔷 EXEC CICS SUSPEND
  • 🔷 EXEC CICS SYNCPOINT
  • 🔷 EXEC CICS SYNCPOINT ROLLBACK
  • 🔷 EXEC CICS WRITE
  • 🔷 EXEC CICS WRITEQ TD
  • 🔷 EXEC CICS WRITEQ TS
  • 🔷 EXEC CICS XCTL
  1. Início
  2. CICS
  3. MAPSET e DFHMDF

🔷 Construção de um Mapa BMS

🧠 Explicação

BMS (Basic Mapping Support) é a linguagem usada no ambiente CICS para descrever telas (ou mapas) que serão exibidas aos usuários em terminais 3270. As telas são definidas por meio de macros escritas em Assembler, que serão posteriormente compiladas e utilizadas em programas COBOL.

O BMS permite criar telas estruturadas que interagem com os programas, facilitando a entrada e saída de dados.

🛠️ Usos mais comuns

  • Criar interfaces interativas (telas) para aplicações CICS

  • Definir campos de entrada, saída ou proteção

  • Organizar visualmente os dados apresentados ao usuário

  • Gerar copybooks para uso direto em programas COBOL

🧾 Estrutura e sintaxe básica

📌 Regras gerais de codificação BMS:

Elemento Regras
Label da macro Colunas 1 a 8 (opcional)
Nome da macro A partir da coluna 10
Argumentos da macro Colunas 16 a 71, separados por vírgula e sem espaços entre eles
Comentários Qualquer texto após um espaço nos argumentos é tratado como comentário
Continuação de linha Indique com um caractere na coluna 72, e continue na coluna 16 da próxima linha
Encerramento A última linha deve conter END na coluna 10
 

🧩 Principais Macros BMS

Macro Função
DFHMSD Define o Mapset (conjunto de telas)
DFHMDI Define uma tela específica dentro do Mapset
DFHMDF Define cada campo individual da tela
DFHMSD TYPE=FINAL Fecha a estrutura do mapa
END Fim do código fonte BMS
 

💻 Exemplo prático de estrutura BMS

MAPSET   DFHMSD   MODE=INOUT,STORAGE=AUTO,LANG=COBOL,TERM=3270
TELA1    DFHMDI   SIZE=(24,80),LINE=1,COLUMN=1
CAMPO1   DFHMDF   POS=(3,10),LENGTH=10,ATTRB=(ASKIP,PROT),INITIAL='NOME.....'
CAMPO2   DFHMDF   POS=(5,10),LENGTH=20,ATTRB=(UNPROT,FSET)
         DFHMSD   TYPE=FINAL
         END

⚙️ Compilação e resultados

Após a escrita do fonte BMS, é necessário compilá-lo. A compilação gera dois componentes principais:

  1. Módulo objeto: carregado pelo TCP (Terminal Control Program) do CICS. Ele é responsável por transformar o mapa em comandos válidos do protocolo 3270.

  2. Copybook (área copy): um arquivo .cpy com as estruturas dos campos da tela, que será incluído (COPY) no programa COBOL para facilitar a manipulação dos dados digitados ou exibidos.

📋 Regras importantes

  • O Mapset pode conter várias telas (DFHMDI), e cada tela pode ter diversos campos (DFHMDF).

  • A macro DFHMSD TYPE=FINAL deve ser usada para fechar corretamente o mapa.

  • O nome do Mapset e das telas deve seguir convenções válidas do CICS (normalmente com até 8 caracteres).

  • Os campos definidos com ATTRB=(UNPROT,FSET) permitem entrada de dados.

  • Campos com ATTRB=(ASKIP,PROT) são somente leitura.

💡 Dicas

  • Sempre teste a tela em um ambiente de homologação antes de colocar em produção.

  • Use nomes de campos descritivos para facilitar a manutenção do código.

  • Utilize o comando SEND MAP(...) e RECEIVE MAP(...) nos programas COBOL para interagir com o mapa.

  • O Copy gerado pela compilação facilita muito a integração entre o programa e a tela — use e abuse dele.

 

✅ Conclusão

A construção de mapas BMS é um passo essencial no desenvolvimento de aplicações interativas em ambientes CICS. Com o uso das macros DFHMSD, DFHMDI e DFHMDF, o programador consegue definir telas funcionais que interagem com os usuários por meio de terminais 3270. Dominar a construção e compilação de mapas é fundamental para quem desenvolve sistemas online no mainframe.

Tópicos recentes - CICS

  • Sua primeira aplicação no CICS: como foi? - por: bopnet

Siga o COBOL Dicas

  • 📺 YouTube | 📘 Facebook | 💼 LinkedIn | 🐦 X (Twitter) | 📷 Instagram | 💬 Fórum COBOL | 📂 GitHub | ✉️ E-mail

© 2025 COBOL Dicas | Powered by Joomla | Desenvolvido por José Roberto

  • ⚖️ Direito de Conteúdo
  • ❓ FAQ / Guia Rápido
  • 📩 Contato
  • 📜 Informações Legais
  • 🔒 Política de Privacidade
  • 👤 Quem Somos