I. INTRODUO
O setor produtivo brasileiro altamente oligopolizado,
afirmam os economistas Marco A. Vasconcellos e Manuel E.
Garcia [1] e ainda, de acordo com a Teoria Microeconmica,
h uma tentativa de maximizao dos lucros por parte das
empresas. Diante desse fato, a estratgia de produo em
massa no mais vlida. Para permanecer neste mercado a
empresa deve tornar a produo vivel e efetiva em termos
tcnicos e financeiros, ou seja, necessrio flexibilizar e
agilizar a produo, alm de garantir qualidade no produto e
reduzir custos.
Quando se fala em processo produtivo o leitor deve estar
ciente de que um produto pode ser resultado da
transformao de insumos ou resultado do processamento de
servios prestados, visto que os dois so produtos dos quais o
cliente necessita e utiliza. Tendo em vista que a concorrncia
neste mercado pode impedir um aumento nos preos, para
que a empresa consiga cobrir os custos ela deve reduzir
gastos e aumentar a produtividade, incluindo os servios,
pois, como foi dito, este tambm est inserido no processo.
Nesse sentido, este trabalho explora os meios de automao
nesta etapa da produo, ou seja, na prestao de servios.
Nos tpicos abaixo, sero abordados os conceitos de
automao enfatizando o setor de servios. Em seguida, a
contribuio do estudo estar voltada para a anlise na
aplicabilidade de uma linguagem de extenso visando
reduo da interveno humana. Por fim, prope-se uma
soluo que utiliza uma linguagem de extenso freeware nos
moldes da linguagem de programao BASIC que permite o
controle de GUIs do Windows e scripting em geral.
Dada a facilidade e generalidade desta linguagem, foi
possvel obter bons resultados ao implementar programas
especficos de acordo com a necessidade de servio prestado.
B. Automao
A automao operacionaliza as atividades necessrias para
a melhoria do processo em estudo. Dessa forma, esta pode
ser definida como sendo o controle de processos automticos
por meio do acrscimo de algum tipo de inteligncia a fim de
executar tarefas de modo mais eficiente, com vantagens
econmicas e tcnicas como: reduo do gasto com matria
prima, agilidade, diferenciao e qualidade do produto,
garantia de repetibilidade, flexibilidade na produo e
segurana nos processos.
C. Automao em Servios
Na anlise voltada aos servios, a estratgia integrar os
objetivos do negcio com a tecnologia da informao para
uniformizar procedimentos no mbito corporativo. Dentro da
empresa, a transmisso e o processamento da informao de
forma rpida e segura so essenciais para tomada de decises
e agilidade nos demais processos que envolvem um mesmo
produto. Para alterar estas decises organizacionais
necessrio aplicar a automatizao, registrando o que
relevante para o negcio e determinando quais os processos
computacionais sero implementados ou alterados para
garantir uma soluo efetiva.
De acordo com James A. Fitzsimmons e Mona J.
Fitzsimmons [3] servios de infraestrutura em comunicaes
formam um elo essencial entre os setores da economia,
incluindo o consumidor final. Deve-se ter em mente que
automao de servios contempla procedimentos realizados
por pessoas e programaes efetuadas em equipamentos que
garantem regularidade de execuo.
Aps verificar que a automao de servios pode
manipular dados de transaes ou operaes realizadas por
clientes e funcionrios, quando mais rpido e seguro for esta
transmisso, melhor o fluxo do produto dentro da empresa,
facilitando tomadas de decises e incorporando mtodos de
registros e avaliaes de desempenhos.
Em se tratando de qualidade do servio, Lourdes
Hargreaves, Rose Zuanetti e Renato Lee [4] descrevem que
em um ambiente competitivo, surge o cliente mais exigente
em relao ao produto e ao servio que consome. Como
consequncia, o padro de qualidade faz a diferena no
mercado e pode ser definido como algo bem projetado,
elaborado, organizado, administrado e bem apresentado que
atenda as especificaes e satisfaa necessidades de
produtores, prestadores de servio e clientes.
No caso dos prestadores de servio, John R. Schermerhorn
Junior, James G. Hunt e Richard N. Osborn [5] mencionam
que geralmente servios muitos simplificados ou repetitivos
no fornecem motivao ao trabalhador, gerando problemas
de desempenho dentro da empresa.
A. Facilidade de programar
Cdigo derivado do BASIC fcil de aprender, sendo
considerado didtico segundo A. Min Tjoa [8]. Alm
disso, as mensagens de erro so amigveis, tornando fcil a
identificao e correo dos problemas.
B. Funes
Utilizando as bibliotecas do programa, o AutoIt possui
vrias funes que podem ser exploradas de acordo com a
aplicao de cada cdigo criado. Entretanto ser abordado
apenas as funes utilizadas no programa proposto.
1) Controle do mouse
A maneira mais confivel de se controlar o mouse por
meio de uma funo ControlClick(). Diferentemente de
comandos que apenas movem o cursor por coordenadas x e y
esta funo possibilita identificar o controle na qual o
programa interage. Pela sintaxe exibida em (2) possvel
notar as diversas formas de controle que permitem a
obteno de resultados especficos e dando boa preciso na
automao.
F. isento de licenas
O AutoIt um software gratuito, logo, basta fazer o
download e comear a programar. No precisa de licenas
nem cadastros, facilitando o acesso.
V. ANLISE DO MTODO PROPOSTO
Dada a motivao para este trabalho, possvel
determinar quais sero as funes utilizadas de acordo com a
lgica de funcionamento do programa. O programa dever
manipular os controles de mouse e teclados para clicar e
escrever o que for necessrio no programa de cadastros.
Tambm dever estar habilitado para gerenciar as janelas
abertas no momento de execuo e ainda dever ser capaz de
criar ou abrir arquivos.
Aps o estudo da automatizao, transferir do algoritmo
para o cdigo em si uma questo de conhecimento a
respeito da linguagem e do que esta capaz de fazer.
Portanto, como proposto por Jonathan Benennett [7]
necessrio dominar a sintaxe das principais bases do AutoIt
que so: referncias de linguagem e funes.
ControlClick(ttulo,texto,controlID,[,boto[,cliques[,x[,y]]]] (2)
A. Referncias de Linguagem
1) Variveis e operadores
O espao de memria para armazenar um dado qualquer
foi utilizado para todas as informaes inseridas no programa
empresarial. Dado que o cdigo foi elaborado por etapas
todas as variveis foram declaradas como globais, o que
permite a utilizao do valor em mais de uma funo. Ao
utilizar este artificio foi possvel copiar todos os valores da
planilha de uma s vez alocados em espaos diferentes da
memria.
Global $cdigo = valor
Send($variaver)
Send(valor-bruto, 1)
Send({comando-especial}, 0)
(3)
(4)
(5)
(1)
AutoItSetOption(SendKeyDelay,10)
AutoItSetOption(SendKeyDownDelay, 10)
(6)
(7)
5) Gerenciamento de Processos
Entende-se por gerenciamento de processos a capacidade
de se controlar programas externos. Para abrir uma planilha
do Excel que j existe utilizou-se uma funo que e permite
iniciar qualquer aplicativo instalado no computador do
usurio (15).
Caso o sistema reconhea determinado programa como
um objeto possvel utilizar funes como: ObjCreate() ou
ObjGet().
O programa possui as duas opes, o arquivo no Excel
pode ser aberto, permitindo a insero de dados na planilha
ou, caso j tenha uma planilha preenchida, o programa
apenas abre e executa este arquivo.
3) Gerenciamento de Ambiente
Para auxiliar a Send() existem mais duas funes:
ClipGet() e ClipPut(). Respetivamente so capazes de captar
e inserir um valor na rea de transferncia. Dessa forma
possvel alocar vrias variveis com diferentes dados para
posteriormente inserir no local desejado, conforme a
aplicao do cdigo. Estas funes so utilizadas
principalmente nos casos que se deseja somente inserir um
valor, pois a Send(), ao enviar um dado, tambm pressiona
simultaneamente a tecla ENTER, porm nem sempre
interessante pressionar esta tecla. Usando ClipPut()
possvel apenas colar o valor da rea de transferncia com a
auxlio da Send() ao invs de enviar o valor, dessa forma a
funo no simula o pressionar de ENTER.
$montante = ClipGet()
ClipPut($montante)
ShellExecute(Nome[,parmetros[,diretrio[,ao[,flag]]]]) (15)
(8)
(9)
4) Gerenciamento de janelas
Existem 4 funes principais e 2 complementares para
este tipo de comando. Ao lidar com a janela de um programa
que fora recentemente iniciado ideal aguardar um tempo
at a este esteja aberto e em condies de operar com um
bom funcionamento.
InputBox(ttulo,texto[,padro[,password[,dim,timeout[,hwnd)
MsgBox(flag,ttulo,texto[,timeout[,hwmd)
WinWait(ttulo da janela[,texto)
WinWaitActivate(ttulo da janela[,texto)
WinActive(ttulo da janela[,texto)
WinActivate(ttulo da janela[,texto)
(10)
(11)
(12)
(13)
WinSetState(ttulo da janela[,texto, @SW_MAXIMIZE) (14)
(16)
(17)
C. Executando o programa
Aps a explicao da linguagem e das principais funes
utilizadas resta esclarecer como o arquivo foi compilado e
qual o procedimento para gerar um executvel.
No total, para chegar verso final do programa, foram
executados cinquenta e trs testes. Os editores utilizados
foram o bloco de notas e o Notepad++. No caso do primeiro,
os arquivos foram salvos no formato .au3. J o segundo
contm a linguagem AutoIt no menu de opes.
Como o AutoIt uma aplicao pequena e autnoma,
pode-se executar scripts com o executvel principal
(AutoIt3.exe). O cdigo tambm pode ser convertido em
arquivo .exe com o compilador Aut2Exe. Assim o usurio
no precisa ter o AutoIt instalado.
Onde:
4) Para dar continuidade o programa novamente aguarda
at que a prxima tela exista, pausando o cdigo, aps a tela
ser maximiza e a ativada para manipulao.
5) Nesta tela os dados sero cadastrados, sendo que os
nicos valores que se alteram j foram perguntados ao
funcionrio no passo 3. Dessa forma, os demais, ou seja,
valores que no dependem do usurio, o modo automatizado
preencher as colunas necessrias (exemplo: datas, cdigo da
empresa, perodo e taxa de cmbio).
6) Caso no exista uma planilha, criado um objeto com
formato .xlsx (arquivo do Excel). Na aplicao atual, o
documento est sendo gerado e referenciado com o ttulo
Pasta1, dado que foi uma nova planilha aberta pelo
programa.
7) O executvel gera um arquivo no Excel devido a
facilidade de manipulao para o funcionrio. Dessa forma, o
cdigo fica aguardando o preenchimento de todas as
informaes a serem cadastradas.
8
Onde:
1) As funes de gerenciamento de janelas aguardam at
que a primeira janela do SAP Easy Access exista para depois
maximizar e ativar;
2) O controle de teclado insere a chave de registro que
identifica o processo de reclassificao de servios e
pressiona a tecla ENTER, alterando a tela de interface;
3) Em seguida, as interaes com o usurio perguntam o
tipo de cadastro e o texto que ser inserido na reclassificao.
O cadastro feito para mais de um tipo de servio e para
cada tipo o programa a ser manipulado tem uma interface
diferente. Este fato justifica a necessidade de tomadas de
deciso do cdigo, pois para cada registro os controles se
alteram.
5
4
Onde:
8) A pausa do cdigo dada pela InputBox na qual o
usurio dever inserir a quantidade de linhas preenchidas na
planilha. Em seguida todos os dados da primeira linhas so
copiados, armazenados em variveis e a janela do Excel
minimizada;
9) Mais uma vez, por questes de confiabilidade na
automao oferecida, o cdigo aguarda at que a nova tela do
SAP exista e esteja ativada. Assim, valores como montante,
ordem, centro de custo, texto de preenchimento, quantidade e
cdigo do material, aps copiados, com o auxilio das funes
de gerenciamento de ambiente, so inseridos. Os valores da
planilha que esto armazenados entram na rea de
transferncia e so colados no programa de cadastro por
meio da Send(), que controle o pressionar das teclas com o
comando especial CTRL+V. Para identificar botes de
avano a funo ControlClick() foi utilizada, possibilitando
preciso de local devido aos vrios atributos utilizados.
Tambm, para evitar erros, ao pular para as janelas de texto
que devem ser preenchidas utilizou-se apenas controle de
teclado e no de mouse.
10
REFERNCIAS BIBLIOGRAFICAS
VII. CONCLUSES
Neste trabalho foi apresentado um mtodo eficiente para a
automao em servios o qual envolve a codificao de
software em linguagem de scripting, especificamente a
AutoIt, dado a facilidade de se programar.
Esta forma de automatizao surgiu com o processo de
anlise de requisitos no qual consta o desejo da empresa em
aumentar a produtividade dos funcionrios, garantir a
qualidade do produto final, segurana e agilidade nas