TECH SOLUTIONS PARTICIPA DO CONBRAI 2016 EM SÃO PAULO

Qua 21 Set - 14:35 por Miro



Comentários: 0


ACLScript - Melhores práticas

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

ACLScript - Melhores práticas

Mensagem  Admin em Ter 26 Mar - 10:43

Estamos abrindo este tópico para listar algumas das melhores práticas no uso de ACLSCript.

Admin
Admin

Mensagens : 13
Data de inscrição : 16/02/2012

http://forum.it-tech.com.br

Voltar ao Topo Ir em baixo

COMMENT

Mensagem  Admin em Ter 26 Mar - 10:55

O COMMENT permite documentar um ACLScript incluindo textos como propósitos, descrições e outras explicações necessárias.

Em um ACLScript, os comentários são registrados como parte do arquivo de script e são incluídos no arquivo de log durante a execução do script.

Sintaxe:

COMMENT texto_comentário

ou

COMMENT
texto_comentário
texto_comentário

...
END

Quando você incluir mais de uma linha de texto de comentário, use END após a linha final dos comentários (uma linha em branco também funciona mas não é recomendada).

Admin
Admin

Mensagens : 13
Data de inscrição : 16/02/2012

http://forum.it-tech.com.br

Voltar ao Topo Ir em baixo

GROUP pode fazer diferença na performance

Mensagem  Miro em Ter 26 Mar - 19:03

Para cada comando o ACL lê o arquivo aberto linha à linha executando o referido comando. Vamos imaginar um Arquivo de Notas Fiscais com 1 milhão de linhas (registros). Para ele você codifica:
1. SUMARIZE para ter um conjunto de CNPJ agrupados por valor de nota;
2. EXTRACT nas Notas Fiscais gerando uma tabela por Estado de Origem;
3. EXPORT gerando uma planilha com as Notas Fiscais com valores superiores a R$ 500.000,00.
Somando-se: 01 Sumarize + 27 Extract (01 por estado + DF) + 01 Export. O ACL vai executar 29 leituras no arquivo = 29 X 1 milhão de linhas.

O Script ficaria algo assim:

OPEN NOTAS
SUMMARIZE .....
EXTRACT … IF UF = “AC”
EXTRACT … IF UF = “AL”
EXTRACT … IF UF = “AM”

EXTRACT … IF UF = “SP”
EXPORT …..IF VALOR > 500000

O uso do GROUP / END indica que o ACL deve executar todos os comandos dentro do GROUP / END em uma única leitura do arquivo aberto: O ACL lê um registro e executa todo conjunto de comandos para depois passar para o próximo até o final do arquivo. = 01 X 1 milhão de linhas.

OPEN NOTAS
GROUP
SUMMARIZE .....
EXTRACT … IF UF = “AC”
EXTRACT … IF UF = “AL”
EXTRACT … IF UF = “AM”

EXTRACT … IF UF = “SP”
EXPORT …..IF VALOR > 500000
END

Os comandos a seguir podem ser usados dentro de um GROUP, porém nenhum comando pode alterar a ordem de leitura do arquivo aberto (parâmetro PRESORT) ou tentar abrir outro arquivo (parâmetro OPEN): AGE, ASSIGN, BENFORD, CLASSIFY, COMMENT, COUNT, CROSSTAB, DUPLICATES, ELSE, END, EXPORT, EXTRACT, GAPS, HISTOGRAM, JOIN, LIST, LOOP, MERGE, PROFILE, REPORT, SEQUENCE, STATISTICS, STRATIFY, SUMMARIZE, TOTAL, and VERIFY.

A sintaxe completa do GROUP segue abaixo, mas o uso simples como no exemplo acima já pode melhorar muito a performance de um Script:

GROUP <IF teste> <WHILE teste> <FIRST|NEXT intervalo>
comandos
...
<ELSE> <IF teste>
comandos
...
END


Miro

Mensagens : 119
Data de inscrição : 24/02/2012

http://www.it-tech.com.br

Voltar ao Topo Ir em baixo

Variáveis

Mensagem  Admin em Seg 1 Abr - 13:47

As variáveis podem conter qualquer texto, números, símbolos, expressões ou comandos inteiros e partes de nomes. As variáveis são comumente criadas com os comandos ACCEPT, ASSIGN ou DIALOG. Em um Script o nome de uma variável entre o sinal de percentual (%) indica para o ACL que naquele ponto do código ele deve substituir o nome da variável pelo seu conteúdo.

Exemplo 1: O sinal de percentual (%) faz com que o conteúdo da variável apareça depois do comando OPEN possibilitando ao ACL abrir a tabela digitada pelo usuário no comando ACCEPT.

ACCEPT "Digite o nome do campo:" TO Nome_da_tabela
OPEN %Nome_da_tabela%


Exemplo 2: O Script extrai registros e exporta dados para um arquivo XLS.

ACCEPT "Digite o nome do arquivo de entrada:" TO Entrada "Digite o nome do Campo:" TO Campo "Digite o Limite:" TO Limite "Digite o nome do arquivo de saída" TO Saida

OPEN %Entrada%
EXTRACT RECORD IF %Campo% > %Limite% TO Temp
OPEN Temp
EXPORT ALL XLSX TO %Saída%
CLOSE

Admin
Admin

Mensagens : 13
Data de inscrição : 16/02/2012

http://forum.it-tech.com.br

Voltar ao Topo Ir em baixo

Re: ACLScript - Melhores práticas

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum