Menu

COBOL - Conceitos Avançados


Neste capítulo, veremos a introdução sobre alguns dos conceitos avançados em programação COBOL. No entanto, esses tópicos estão além do escopo das informações do COBOL.

Desenvolvendo programas COBOL para ambiente DB2:

Em geral, a codificação de seu programa COBOL será a mesma se você desejar que o programa acesse um banco de dados DB2. No entanto, para recuperar, atualizar, inserir e excluir dados do DB2 e usar outros serviços do DB2, você deve usar instruções SQL.

Para se comunicar com o DB2, execute estas etapas:
  • Codifique quaisquer instruções SQL que você precisar, delimitando-as com instruções EXEC SQL e END-EXEC.
  • Use o pré-compilador independente do DB2 ou compile com a opção do compilador SQL e use o coprocessador do DB2.

Desenvolvendo programas COBOL para CICS:

Os programas COBOL que são escritos para CICS podem ser executados no CICS Transaction Server. Os programas de aplicativos CICS COBOL que usam serviços CICS devem usar a interface de nível de comando CICS.

Quando você usa a opção do compilador CICS, o compilador Enterprise COBOL manipula as instruções COBOL nativas e as instruções CICS incorporadas no programa de origem. Você ainda pode usar o conversor CICS separado para traduzir instruções CICS para código COBOL, mas o uso do conversor CICS integrado é recomendado em vez disso.

Depois de compilar e editar o link de seu programa, você precisa executar algumas outras etapas, como atualizar as tabelas CICS antes de poder executar o programa COBOL no CICS.

Desenvolvendo Programas Orientados a Objetos:

Quando você escreve um programa orientado a objetos (OO), você precisa determinar quais classes você precisa e os métodos e dados que as classes precisam para fazer seu trabalho.
  • Programas orientados a objetos (OO) são baseados em objetos (entidades que encapsulam estado e comportamento) e suas classes, métodos e dados.

  • Uma classe é um modelo que define o estado e os recursos de um objeto. Normalmente um programa cria e trabalha com várias instâncias de objetos (ou simplesmente instâncias) de uma classe, ou seja, vários objetos que são membros dessa classe.

  • O estado de cada instância é armazenado em dados conhecidos como dados de instância e os recursos de cada instância são chamados de métodos de instância.

  • Uma classe pode definir dados que são compartilhados por todas as instâncias da classe, conhecidos como dados de fábrica ou estáticos, e métodos que são suportados independentemente de qualquer instância de objeto, conhecidos como métodos de fábrica ou estáticos.

Usando o Enterprise COBOL, você pode:
  1. Crie instâncias de classes Java e COBOL.

  2. Invoque métodos em objetos Java e COBOL.

  3. Escreva classes que herdam de classes Java ou outras classes COBOL.

  4. Defina e invoque métodos sobrecarregados.


GERAR/PROCESSAR XML em COBOL:

Você pode processar a entrada XML em um programa COBOL usando o Instrução XML PARSE..

O processamento de entrada XML envolve passar o controle entre o analisador XML e um procedimento de processamento no qual você manipula eventos do analisador.

A instrução XML PARSE é a interface de linguagem COBOL para qualquer um dos dois analisadores XML de alta velocidade. Você usa a opção do compilador XMLPARSE para selecionar o analisador apropriado para seu aplicativo:
  • XMLPARSE(XMLSS) seleciona o analisador z/OS XML System Services.
    Essa opção fornece recursos aprimorados, como processamento de namespace, validação de documentos XML em relação a um esquema XML e conversão de fragmentos de texto para representação de caracteres nacionais (Unicode UTF-16).

  • XMLPARSE(COMPAT) seleciona o analisador XML que é construído na biblioteca COBOL.
    Esta opção fornece compatibilidade com análise XML no Enterprise COBOL Versão 3.

Para transformar dados COBOL em XML, use o Instrução XML GENERATE como no exemplo abaixo.

XML GENERATE XML-OUTPUT FROM SOURCE-REC
      COUNT IN XML-CHAR-COUNT
  ON EXCEPTION
    DISPLAY 'XML generation error ' XML-CODE
    STOP RUN
  NOT ON EXCEPTION
    DISPLAY 'XML document was successfully generated.'
END-XML

Na instrução XML GENERATE, você primeiro identifica o item de dados (XML-OUTPUT no exemplo acima) que deve receber a saída XML. Defina o item de dados para ser grande o suficiente para conter a saída XML gerada, geralmente de cinco a 10 vezes o tamanho dos dados de origem COBOL, dependendo do comprimento de seu nome de dados ou nomes de dados.

Na DIVISÃO DE DADOS, você pode declarar o identificador de recebimento como alfanumérico (um item de grupo alfanumérico ou um item elementar de categoria alfanumérico) ou como nacional (um item de grupo nacional ou um item elementar de categoria nacional).

Em seguida, você identifica o item de dados de origem que deve ser transformado no formato XML (SOURCE-REC no exemplo). O item de dados de origem pode ser um item de grupo alfanumérico, item de grupo nacional ou item de dados elementares de classe alfanumérico ou nacional.