Sunteți pe pagina 1din 3

Blog de Natural/Adabas

Pessoal,
Devido a grande procura sobre o assunto, estou criando um blog somente para a
linguagem Natural e acessrios, se que posso dizer assim!
o endereo http://naturaladabas.wordpress.com e voc encontrar disponvel as
lendrias apostilas de Natural do Luciano Perdigo para download.
A idia, como voc ver no blog, criar um guia de referncia com dicas e tutoriais
focados, resumindo e, em na maioria dos casos, complementando o contedo das
apostilas.
Sei que isso far com que o trfego do site diminua, mas no tem problema! O
importante compartilhar informao, idias e conhecimento.
Esse blog vai voltar a ser mais voltado para Engenharia de Software e
Desenvolvimento Web.... Natural de vez em quando para matar a saudade!
Abrao, e se voc estiver procurando por Natural, nos vemos l!
Postado por Daniel s 8:58 AM Nenhum comentrio:
Marcadores: adabas, natural

sexta-feira, novembro 10, 2006


Natural/ADABAS - Dicas 1
O Natural uma linguagem simples, parecida com o Cobol (mas nem tanto poderosa) .
Se voc conhece o Cobolzo, sabe que tem as redefinies de varivel para pegar uma
parte em especfico e utiliz-la de maneiras variadas. Por rodar embaixo do ADABAS, o
Natural tem uma conversa direta com o banco... mas aquele jeito de ler os files
(tabelas) - READ... FIND.
Bom, se voc est lendo isso aqui, provavelmente voc trabalha com ele, porque
ningum em s conscincia leria essa postagem de bobeira ;P
Vamos l!

Alfa para numrico:


Para definir as variveis usamos DEFINE DATA. Depois dele e antes do ENDDEFINE, voc pe todas as variveis que voc vai usar, alm de LOCALS e
GLOBALS com as definies de variveis dentro delas.
No Natural voc tem que dizer o tamanho das variveis e se elas so alfa-numricas (A)
ou numricas (N). existem outros tipos, mas vamos ficar por aqui.
Veja um exemplo bobo:
DEFINE DATA
LOCAL
01 #NOME (A30)
01 #TELEFONE (N10)
01 REDEFINE #TELEFONE
02 #DDD-TELEFONE (N02)
02 #NUM-TELEFONE (N08)

01 #TELEFONE-ALFA (A10)
END-DEFINE
De alguma maneira recebemos do usurio pela varivel telefone-alfa e o usurio no
digita os 10 caracteres pedidos (A10). Fica:
O valor de #TELEFONE-ALFA '99123456__', com 2 espaos no final.
Ns, humanos, entendemos que o DDD 99 e o telefone 123456. Beleza. Mas ao
passar o contedo para a varivel numrica #TELEFONE ficaria com 0099123456.
Um contedo alfa-numrico alinhado por padro para a esquerda preenchendo com
espaos, e o numrico para a direita preenchendo com zeros.
Agora imagina a situao de voc guardar isso no file e depois quiser pegar s o DDD
desse nmero... vai vir 00; e se pegar o nmero, vai vir 99123456.
Por isso tome cuidado com a passagem entre variveis, critique com mscara, valide o
contedo (o programa pode "abendar" - ABNORMAL END - se passar uma letra para
uma varivel numrica), cuidado com variveis em branco que so convertidas para 0
etc.

COMPRESS:
Quando trabalhamos com arquivos de leiaute predefinido, no podemos deslocar nada..
temos que ter o nome com 30 caracteres e pronto... o que sobrar fica l em branco.
Esse cara junta textos e variveis em uma varivel para o contedo final. O comando
bsico :
COMPRESS 'TEXTO' #VARIAVEL1 #VARIAVEL2 INTO #VARIAVEL3
ou seja, ele junta 'texto', o contedo da varivel 1 e da varivel 2 e joga na varivel 3.
Maravilha!
Mas se eu tiver uma varivel alfa de tamanho 30 e tiver usado somente 12, os 18
espaos vo ser perdidos pelo COMPRESS. Para juntar com os espaos tambm, use:
COMPRESS FULL #VAR1 #VAR2 INTO #VAR3
Mesmo assim ocorre outro problema. Ele deixa um espao entre as variveis... para isso
use:
COMPRESS FULL #VARABACATE #VARMAMAO INTO #VARPERA LEAVING
NO SPACE
Ufa! Voc pode fazer isso ou criar uma varivel de retorno redefinida e jogar os
contedos nessas redefinies. j apanhei por causa disso...

FIND errado:
O programa com essa find estava consumindo muita CPU:
FIND (1) MINHA-VIEW WITH
SUPER-S3 GE #CHAVE-INICIAL AND
SUPER-S3 LE #CHAVE-FINAL
O programa fazia duas verificaes, gerando como se fosse duas listas. O find seguinte
resolveu o problema, que passou a utilizar metade dos recursos utilizados pelo primeiro:
FIND (1) MINHA-VIEW WITH
SUPER-S3 EQ #CHAVE-INICIAL THRU #CHAVE-FINAL
Coisinha boba, mas causa um problema quando o programa bem requisitado....

Postado por Daniel s 3:01 PM Um comentrio:


Marcadores: adabas, natural

quarta-feira, dezembro 07, 2005


Natural/ADABAS?
Sou analista de desenvolvimento e atualmente estou trabalhando com um sistema em
plataforma alta, Mainframe. E, adivinha: Natural/ADABAS.
Quando vi "Natural/ADABAS" me perguntei: Mas que porcaria essa?! Da fui
pesquisei um pouco e no trabalho fui conhecendo essa ferramenta, e li tambm uma
apostila que encontrei na internet. A definio seria que Natural uma ferramenta de
deselvolvimento muito utilizada em Mainframe, mas possui verses para plataforma
baixa tambm.
Desenvolvida pela alem Software AG e distribuda aqui no Brasil pela Consist, possui
uma tima e fcil linguagem de programao com diversas funes, variveis de
sistema, editores de objetos, acesso direto a bancos de dados, inclusive ao ADABAS ao
qual faz parte. muito parecida com o COBOL, bem completa tambm, porm com
muito menos instrues necessrias para as tarefas a se realizar. Quem aprendeu, como
eu, na faculdade o bendito do COBOL e achou que iria se livrar e, de uma hora para
outra, d de cara com aquela tela parecida, fica feliz, em partes, quando conhece o
Natural, pois bem mais simples. J ADABAS um banco de dados hierrquico que
atende bem aos requisitos crticos de performance de sistemas de grande volume e alta
disponibilidade, como est descrito no prprio site da Consist, obtendo-se dele uma
resposta rpida mesmo com uma estrutura complexa de banco.
Encontrei uma apostila tima que fala isso a em cima de Natural e muito mais. do
Luciano Perdigo e pretendo disponibilizar no meu site.
Para quem prestar concurso em que se pede para conhecer Natural e no quiser ficar
"boiando", acho que esse texto ajuda (alm dessa tima apostila).
Se voc sabe alguma coisa mais ou discorda de algo, ou at ache que falei alguma
besteira, por favor comente!

S-ar putea să vă placă și