sexta-feira, fevereiro 04, 2011

NATURAL

NATURAL é uma ferramenta de desenvolvimento de 4ª geração desenvolvida e distribuída pela Software AG no Brasil. Além de possuir a versão para MVS, possui versões para UNIX, Linux e Windows. Pertence ao paradigma Imperativo.

Histórico


Natural é uma ferramenta de desenvolvimento de sistemas de alta produtividade. Sua patrocinadora é a empresa alemã Software AG. É formado por dois componentes principais: o Sistema e a Linguagem.

O sistema é o veículo central de comunicação entre o usuário e todos os outros componentes do ambiente de processamento. As várias versões existentes permitem sua instalação em diversos equipamentos e sistemas operacionais. A linguagem é estruturada e menos procedural que as linguagens convencionais.

Os objetos Natural (programas, mapas, áreas de dados, etc.) são armazenados em bibliotecas (“Libraries”), com estrutura parecida com o diretório DOS e podem ter 8 caracteres como nome máximo. Mesmo sendo objetos de diferentes tipos, não podem possuir o mesmo nome. Permite execução on-line e batch e utilitário de testes de programação.

NATURAL possui versões para MVS, UNIX, OS/2 e Windows. Pertence ao Paradigma Imperativo onde é utilizada a Programação imperativa, para saber mais sobre paradigmas de programação visite: Paradigma de programação.

Características

O núcleo natural é o conjunto de programas que fornecem as funções e as características do natural. Online oferece esses serviços para vários usuários ao mesmo tempo, gerenciando espaço e controle de informações para cada usuário separadamente. Embora apenas um usuário pode executar ao mesmo tempo, o natural mantém os dados para um número de usuários na memória e permite a execução de alternar entre esses segmentos. Os dados para usuários inativos é rolada para o disco até que estejam prontos para executar ou até que os recursos do sistema estão disponíveis. As mesmas funções que estão disponíveis on-line também são fornecidos pelo núcleo natural no grupo, apesar de serem apresentados para cada trabalho em lotes separadamente.

Natural é altamente parametrizado permitindo que os valores de controle interno a ser alterada seletiva de usuário para usuário. Esses parâmetros do sistema tiver atribuído valores padrão, mas pode ser substituído no início de uma sessão Natural e, por vezes durante uma sessão. Estes NATPARMS proporcionar uma grande flexibilidade, como será visto mais adiante.

Natural é muito parecido com um sistema operacional que suporta a execução de comandos, utilitários e programas Natural. Desta maneira, ele suporta tanto o ambiente de desenvolvimento em aplicações Natural são construídos e testados e no ambiente de produção, onde esses sistemas são executados. Natural use o nível de comando é reservado para as pessoas responsáveis pelo desenvolvimento e gestão de programas Natural. Usuário de aplicativos de produção não precisam ter acesso aos comandos Natural desde programas Natural manter controle completo sobre sua sessão. Este é o modo de operação para os nossos sistemas de produção em que IDs de usuário de produção são impedidos de acesso a nível de comando Natural através de um parâmetro Natural.

Bibliotecas Natural e Programas

Os programas Natural são armazenados logicamente dentro de bibliotecas (também referida como aplicações) em um file especial no Adabas, referido como um arquivo do sistema natural. Estes podem ser comparados a um PC: um programa é como um arquivo, uma biblioteca é como um diretório, e arquivo do sistema é como um disco rígido.

Os programas são criados e salvos usando o editor do programa Natural. Os programas devem ser compilados antes de serem executados. Natural mantém a fonte de versão e a versão do objeto de um programa separado, mas ambos são identificados pelo mesmo nome. A forma como eles são utilizados é o factor de distinção, apenas a fonte pode ser editado e somente o objeto pode ser executado. A terminologia é confusa porque estas são apenas duas das várias entidades que são coletivamente denominados Objetos Natural.

Embora os programas sejam compilados no Natural, mas códigos de operação e os argumentos que são interpretados em tempo de execução por Natural. O primeiro passo necessário para executar um programa Natural é para carregar o programa a partir do Adabas para o Buffer Pool. Esta uma área reservada a partir do qual todos os programas são executados. Se um programa já reside no Buffer Pool, ele não tem que ser recarregado. Além disso, os programas natural são reentrantes de forma que somente uma cópia de um programa deve ser na Buffer Pool, embora vários usuários estão executando-lo ao mesmo tempo. Isto é conseguido através Natural manter os dados do programa separado do código do programa.

Um programa pode ser executado por apenas digitando seu nome como um comando natural. O programa deve residir na biblioteca do curso ou no "STEPLIB" definido para essa biblioteca. Natural tem uma biblioteca especial, SYSTEM, que é o STEPLIB padrão para todas as bibliotecas. Programas utilitários e outros objetos naturais que precisam ser compartilhados entre as bibliotecas são colocados na SYSTEM.

User Buffers

Natural gere um grande volume de dados para cada usuário ativo. Estes dados são agrupados em buffers função da sua utilização. Os amortecedores mais significativas são:

E-Size - A extensão do buffer é usado principalmente para armazenar programas de código durante a edição e dados globais durante a execução do programa (usado quase exclusivamente para as aplicações online).

U-Size - O user buffer contém os dados do programa, o conteúdo da variável que são específicos para cada usuário.

O tamanho atual e máximo desses buffers podem ser exibidas com o BUS (Buffer Usage Statistics) comando.

Support Systems

Existem vários sistemas de apoio que fazem parte integrante de nosso uso de Natural. Alguns destes são comercializados pela Software AG como produtos separados, e algumas delas são apenas coleções de programas utilitários colocados em bibliotecas funcionais. Todos são escritos em parte, se não completamente, em Natural. Predict é um exemplo, enquanto o Natural Security é outra. Natural Security nos permite colocar restrições muito específicas para os utilizadores, bibliotecas e arquivos. Restrições comuns incluem bibliotecas que um usuário pode acessar, quais arquivos podem ser acessados a partir de uma biblioteca, se um arquivo pode ser atualizado, e se um usuário tem permissão de nível de comando dentro de uma biblioteca. Bibliotecas que começam com SYS são bibliotecas do sistema mantido pela Software AG e são principalmente para uso por administradores Natural e DBAs.

NATURAL SECURITY

NATURAL fornece um sistema de segurança opcional que controla o acesso e uso do ambiente natural. Você pode restringir o uso de sistemas de aplicação geral, os programas individuais e funções, eo acesso à DDMs. A segurança é realizada através da definição de objetos e as relações entre esses objetos. Existem três objetos que você precisa estar familiarizado ao acesso aos dados através de DDMs NATURAL: Usuários (USER), bibliotecas (LIBRARY) e arquivos (FILES).

Usuarios - podem ser pessoas, terminais, ou de ambos os grupos, com identificadores atribuídos. O identificador do usuário identifica o usuário ao NATURAL SECURITY e controla a atividade do usuário durante uma sessão NATURAL. O identificador é único a NATURAL e pode ter até oito caracteres. Cada identificador de usuário pode ter uma senha de oito associados personagem.

Bibliotecas - contêm conjuntos de programas de origem natural e (ou módulos de objeto) que executam uma determinada função, com identificadores atribuídos. Os dados armazenados na biblioteca são as senhas ADABAS ou códigos de cifra para permitir que programas NATURAL ADABAS para trabalhar com segurança. O identificador de biblioteca identifica a biblioteca eo arquivo ADABAS é autorizado a acessar a segurança natural. O identificador é único a NATURAL e pode ter até oito caracteres.

Files (Arquivos) - São a base DDMs NATURAL em arquivos ADABAS.

Relacionamentos que são chamados links, são definidos entre esses objetos. Estas ligações definem quais usuários estão autorizados a utilizar uma biblioteca e uma biblioteca de arquivos que tem permissão para acessar. Os usuários, bibliotecas, arquivos e links são todos armazenados no arquivo de sistema natural de segurança, que também podem ser protegidos com uma senha ADABAS ou código de cifra desde que é um arquivo ADABAS. Por exemplo, um identificador de usuário e a biblioteca podem ser capazes de acessar um DDM para lido só, enquanto outro identificador de usuário ea biblioteca podem ser capazes de ler e atualizar o DDM mesmo.

A biblioteca SUPORTE2 tem vários relacionamentos com vários arquivos, os usuários que no grupo que tem acesso a biblioteca SUPORTE2 tem acesso a todas estes relacionamentos (UPDATE/READ)

User Identification

Um processo logon é necessário para aceder e utilizar Natural. Isto permite Natural para identificar o usuário e fazer cumprir as restrições adequadas sobre o acesso do usuário, conforme definido no Natural Security. O logon exige a identificação do usuário ID Natural, Natural Password, e da biblioteca para ser acessado. No entanto, a Software AG forneceu um caminho para este procedimento possa ser ignorado que um usuário é automaticamente assinado em. Usamos essa auto-logging on-line desde todos os usuários devem primeiro login pelo CICS e não há motivo para exigir duas autorizações da identidade do usuário. O Natural ID é fornecido em um parâmetro passado de CICS, a senha não é necessária, e os padrões da biblioteca para LOGON (um aplicativo desenvolvido internamente), que solicita ao usuário especificar qual biblioteca que deseja acessar. Isso resulta em usuários com senhas Natural, mas não saber o que são, uma vez que nunca são necessários. Este não é um problema, exceto para os desenvolvedores em Natural que normalmente precisa executar batch em Natural, onde o seu ID e senha devem ser fornecidas. A Natural Security Administrator pode definir sua senha no início. Para mudá-lo do processo de auto registro deve por contornada pela invocação Natural com o comando CICS:

NATL AUTO=OFF

Um menu será exibido, onde a biblioteca para ser acessado, o seu ID, a senha e uma senha opcional novos podem ser inseridos.

System Files

Os arquvios Adabas são usados como um depósito de grande parte das informações utilizadas por Natural. Como mencionado anteriormente, os programas são armazenados no Natural como um arquivo. Estes arquivos que são necessários para o funcionamento do Natural são chamados de System Files.

FNAT - Este arquivo contém as bibliotecas SYSxxx e programas fornecidos pela Software AG. Nós não modificar esses programas.

FUSER - Este é System File onde os usuário escrevem os seus programas e onde estão as bibliotecas onde eles ficam armazenados. Todas as mudanças do programa e compila são registrados neste arquivo Adabas.

FSEC - Este é o arquivo de segurança em que todas as definições Natural de segurança são armazenadas. Estes dados são secretos, devido à sua natureza confidencial.

FDIC - Este é o arquivo de dicionário onde todas as definições são mantidas do Predict. DDMs e os dados de referência cruzada também são armazenadas aqui.

Acessando o Natural


O acesso online aos recursos do natural é fornecida através de CICS (ou de outro monitor de TP). Um usuário deve ser emitido um ID CICS com autorização de acesso Natural. Separe a documentação disponível que descreve o processo acesso no CICS. Depois o Natural é chamado, todos os usuários são automaticamente colocados no aplicativo de logon. Esta aplicação natural tem apenas uma tela, que fornece as informações de identificação do usuário do sistema e permite a seleção de outro aplicativo natural a ser utilizado.

As atividades de desenvolvimento precisam de acesso de nível de comandos no Natural. A tecla CLEAR pode ser usado para encerrar a execução automática da aplicação, se necessário, e, se permitido. Natural de nível de comando podem ser de duas formas: Uma tela clara com apenas um próximo prompt solicitando a entrada de um comando Natural; Natural menus com uma linha de comando direto;

Use destas duas formas pode ser alternado com o comando MainMenu.

O acesso Batch ao Natural requer autorização para executar trabalhos em lote MVS, que exige um cartão de trabalho (reservados para o pessoal Computing Services) ou o acesso aos procedimentos de apresentação especial de trabalho. Batch Natural é mais facilmente invocado usando o proc NATURAL e requer a entrada de seu natural, senha Natural e Natural da biblioteca para ser conectado (a sessão é necessária em lotes tal como ele é online). Os seguintes são especiais DDs (definições dos dados) que pode ser usado com lote Natural:

CMSYNIN - A fonte padrão ou console desde a entrada Natural. Informações de login e comandos estão aqui presentes.

CMPRINT - O destino padrão ou saída do console Natural. Comandos de entrada e os dados são aqui que aparecem e qualquer saída para relatar 0.

CMPRTnn - O destino dos relatórios identificados no âmbito de programas Natural pelo número de dois dígitos mesmo, nn.

CMWKFnn - A definição de arquivos sequenciais, que podem ser utilizados para entrada ou saída de programas Natural (necessário para uso com a ler a obra e escrever o trabalho declarações).
MEMBER=ABAPA013 000041 REC SAVE:10.03.2006 15:29 BY USERID AA10445 R=00000001
DSN=OPD.PRODUCAO.JCLS LIB=P0 VOL=PRL301 UNIT=1020
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//ABCCCS13 JOB (ABAC,AAC),PRODUCAO,CLASS=Y,MSGCLASS=A
//*UQ ALLOW
//*------------------------------------------------------------------- *******
//* EXECUCAO : DIARIAMENTE PELO UTIMER 'AS 21:00 HS *******
//* TEMPO ESTIMADO: 1:45 HS
//*-------------------------------------------------------------------
//STEP01 EXEC NATURAL,PARM1='SYS=P,MT=0,STACK=(LOGON PROSOE)'
//*CMWKF01 DD DSN=ABA.S.WESTIM.OMISSO.FRO.FTP,DISP=OLD,
//* UNIT=SYSDA,VOL=SER=PRD903,SPACE=(TRK,(3,2),RLSE),
//* DCB=(DSORG=PS,LRECL=31,RECFM=FB,BLKSIZE=0)
//CMPRT01 DD SYSOUT=G,HOLD=YES
//SYSOUT DD SYSOUT=A
//SYSIN DD *
ABAPW099
FIN
/*

Modo Estruturado vs Modo Report

O Natural versão 2, que usamos, incorporou mudanças significativas em relação a versão 1. As mudanças foram tão significativas Software AG decidiu renomear como Natural Natural 2 (nem todo mundo segue esta convenção). Para manter a compatibilidade com a versão anterior do seu produto, e ainda prover novas funcionalidades e uma sintaxe mais moderno para a linguagem, agora existem dois modos que você pode codificar em: Structured (estruturada) ou Report (relatório). O manual inclui documentação alternativa para a sintaxe de cada modalidade e notas sobre as restrições aplicáveis à modalidade. O Natural Basics Class apenas com modo de programação estruturada e serviços de computação desencoraja o uso de informação de modo reporting.

Natural Objects

Um objeto "Natural" é uma entidade armazenados no Natural system file (either FNAT or FUSER). Essas entidades são normalmente criados usando editores Natural e comandos do sistema. Todos os objetos natural têm um nome com oito caracteres que deve ser único dentro de uma biblioteca.

Program - Uma coleção de declarações do programa Natural que podem ser executados diretamente. O identificador de tipo de padrão no nome é um S para programas online e B para os programas de batch.

Data area - A definição de um conjunto de variáveis Natural, que é criado e mantido separado do programa (s) que os utilizam. áreas de dados pode ser usado para muitas finalidades e são uma forma de programação modular. Existem três tipos de dados diferentes áreas: Global data areas (GDAs) - São usados para definir variáveis globais, variáveis cujos valores estão disponíveis para qualquer programa que faz referência a essa área de dados. Os valores dessas variáveis permanecem estáticas, mesmo quando os programas são executados em separado. Global data areas são quase exclusivamente usadas para o desenvolvimento de aplicações online. O tipo de identificador para a GDAs é G. Local data areas (LDAs) - São usados como uma maneira de definir variáveis locais central. Uma variável local é uma variável que só pode ser usado dentro do programa para o qual ele está definido. Com uma LDA, essas definições podem ser usadas por vários programas, sem ter que ser inserido para cada um. O identificador de tipo de ADLs é L.

Parameter data areas (PDAs) - definir os dados que são passados de para os subprogramas NATURAL. Esses valores dos parâmetros são, então, disponível para tanto o programa e chamando o subprograma. PDAs não são necessárias para chamar subprogramas, mas, novamente, proporcionar um meio de definir essas variáveis uma vez para o uso em vários locais. O identificador de tipo de PDAs é A

Copycode - Um segmento do código-fonte que é trazida em outro programa em tempo de compilação. Seu ponto de inclusão é identificada com a declaração INCLUDE. Este é um método de manter o código que executa uma função específica em um local ao usá-lo em vários programas. O identificador de tipo de código é cópia C.

Map - Pré-formatados e imagens definidas com tela que são chamados pelo nome de um programa. Os mapas são criados e mantidos com o editor de mapas. O identificador de tipo de mapas é M.

Subprogram - Uma coleção de declarações do programa que são compilados, mas que não pode ser executado diretamente. Subprogramas deve ser chamado de outros programas utilizando a instrução CALLNAT. As áreas de dados de parâmetros citados anteriormente são usados por subprogramas. O identificador de tipo de subprogramas é N.

Subroutine - Como um objeto natural, sub-rotinas são semelhantes aos subprogramas, exceto que sem parâmetros são passados pelo programa de chamada. Para chamar uma subrotina a instrução PERFORM é usado. Subroutine nomes também podem ser de 32 personagens, de alguma forma natural relaciona o nome do personagem de 32 "executou" o objeto de oito caracteres armazenados no sistema de arquivos. Subrotinas também podem ser definidos internamente dentro de outro programa Natural, caso em que nenhum objeto adicional Natural é criado. Tem havido pouco uso encontrado para sub-rotinas externas. O identificador do tipo de sub-rotinas é S.

Helproutine - Um tipo especial de subprograma que é invocado quando um usuário solicita ajuda durante a entrada de dados. Ajuda pode ser solicitada por pressionar uma PF-KEY atribuído essa função ou inserindo um? em um campo. Helproutines são discutidas na classe avançada. O identificador de tipo de helproutines é H.Text - Um tipo de objeto que pode ser usado para armazenar qualquer informação textual pretendida. O uso de objetos de texto tem sido mínima. Uma aplicação tem sido para a manutenção do JCL, que pode então ser submetido a MVS do Natural. O identificador de tipo de texto é T, embora J também tem sido utilizada para JCL

Macro - Um tipo especial de programa Natural que, quando executado, resulta na geração de algum outro objeto, geralmente JCL ou qualquer tipo de programa. As macros só podem ser definidas e catalogadas dentro Natural ISPF, embora possam ser executadas a partir Natural. O identificador de tipo de Macros é Z.

Comandos de Gerenciamento de Objetos

Os seguintes comandos diretos são usados para gerenciar e obter informações sobre objetos naturais. Muitos destes comandos operam sobre uma lista de argumentos que podem conter um nome de objeto, os caracteres iniciais do nome do objeto seguido por *, ou apenas um asterisco designa todos os objetos. Muitas dessas funções estão disponíveis no menu Desenvolvimento, quando a estrutura natural do menu está sendo usado.

CATALL - Esta é uma função de cataloga programas em massa, que pode levar qualquer um ou todos os objetos de uma biblioteca e recatalog-los.

Edit - Chama o editor apropriado para o objeto atualmente realizada na área de trabalho ou o editor de programa por padrão. Se um nome de objeto é fornecido com o comando, o objeto é de leitura na área de trabalho eo editor chamado. Cuidado, nenhum aviso é fornecida se o objeto anteriormente na área de trabalho tinha sido mudado, mas não salva.

List - Todos os objetos naturais podem ser indicados com este comando, incluindo pontos de vista (DDMs Natural). A lista de argumentos pode incluir uma especificação de tipo de objeto que precede o nome do objeto ou curinga. Os tipos são identificados por um código de caractere: V de pontos de vista, para os programas de P, S, para a sub-rotinas, etc Existem algumas opções muito agradável com o comando lista como uma referência cruzada mostrando todas as linhas contendo uma sequência e um recurso de pesquisa.

LIST COUNT - Fornece contagem do número de objetos em estados diferentes.

LIST XREF - Fornece acesso a referência Natural cruzada da informação através de um sistema de menu elaborado.

PURGE - Exclui o objeto de origem especificado a partir do system file natural. Se a especificação curinga é usado, uma lista de objetos de qualificação está prevista e que deverá ser excluído pode ser marcada. Um módulo objeto correspondente pode permanecer no arquivo do sistema e pode continuar a ser executado. Use o comando SCRATCH para excluir a fonte e objetos de formas de um objeto natural.

SCAN - Fornece uma análise global da função que pode ser usado para pesquisa de qualquer ou todos os objetos de origem para uma determinada sequência. valores de reposição também pode ser usado.

SCRATCH - Exclui o objeto especificado do system file do natural, tanto o objeto de origem e no módulo objeto.

STRUCT - Este comando não está no manual. Ele pode ser usado para estabelecer os parâmetros que serão utilizados pelo comando STRUCT no editor de programa ou pode reestruturar um programa. No entanto, a sua utilização principal é para exibir um programa com vários comentários estrutura acrescentou. Isto é muito útil para ver onde os laços e abrir construções são encerrado.

UNCATalog - Excluir um objeto do módulo do sistema de arquivos. A fonte, se houver, não é afetado.

Comandos do Editos Natural

Alguns dos comandos podem também ser emitidos a partir de fora de um editor.

CATalog - Compila e cria um módulo de objeto para o objeto de origem está na área de trabalho.

Check - Realiza uma checagem de sintaxe no objeto de origem na área de trabalho.

CLEAR - Limpa a área de edição do trabalho. Nenhum aviso é fornecido se a fonte na área de trabalho foi alterado, mas não salva.

READ - Lê a fonte especificada objeto na área de edição de trabalho e se em um editor, invoca o editor apropriado para o objeto.

RENUMber - Renumera o número das linhas do programa Natural. Você pode dizer de quanto em quanto as linhas aparecerão: RENUMBER [n]

Exemplo - RENUMBER 5 - As linhas serão numeradas de 5 em 5.

SAVE - Salva o conteúdo da edição a área de trabalho para o sistema natural de arquivo usando o nome do objeto atual.

SCan - Buscas a work area de sequência de caracteres especificada.

STOW - Combinação dos comandos CAT e o comando SAVE.

LOGON - Para utilizá-los/editá-lo, basta estar na biblioteca específica destes osbjetos. Para isso serve o comando: LOGON NOME-DA-BILBIOTECA

5 comentários:

  1. Favor, pode me indicar um livro de NATURAL: dariocardoso@pop.com.br

    Obrigado

    ResponderEliminar
  2. Tem uma boa documentação de Natural em português acesse este link:

    http://naturaladabas.wordpress.com/apostilas/

    Os links de download do PDF são estes;

    http://araujodomingues.googlepages.com/apostila_natural_basico.pdf
    http://araujodomingues.googlepages.com/apostila_natural_avancado.pdf

    Clique neles e depois faça o download do material, estão os níveis básico e avançado, muito bom eles.

    ResponderEliminar
  3. Um ótima documentação em ingles é esta - http://www.spsimpson.com/nat-u/NATURAL%20Essentials.pdf

    ResponderEliminar
  4. Prezados,



    Sou Marinalva e trabalho atualmente com Natural e cobol. Tenho uma demanda para capturar o IP da estação do usuário no mainframe através de uma transação natural online. O mesmo IP capturado pelo comando cobol cics "exec cics assign TNAddr()". Sabem de algum comando que capture IP para ser utilizado no programa Natural online?

    ResponderEliminar
    Respostas
    1. Pesquisando encontre esses links:

      https://www.ibm.com/docs/en/zvse/6.2?topic=SSB27H_6.2.0/fa2ti_ezasoket_gethostbyname.html
      https://www.tek-tips.com/viewthread.cfm?qid=722085 -- comentario 5 de dezembro 03 11:46
      https://techdocs.broadcom.com/us/en/ca-mainframe-software/database-management/ca-idms-reference/19-0/callable-services-reference/tcp-ip-api-support/tcp-ip-programming-examples/cobol-examples.html

      Eliminar