Conectando o SAP com
Excel
SAP SCRIPTING
COM CRISTIANE BATISTA
CRISTIANE BATISTA
QUEM É CRISTIANE BATISTA?
Antes de tudo sou a Cris, mãe da Isa e do Lucas, tenho 51 aninhos e
completamente apaixonada pela educação e pela tecnologia.
Sou formada e pós graduada em análise de sistemas, atuo na área SAP desde
2007, me especializei também em comércio exterior e tecnologias
educacionais. Minha grande paixão é a educação, sou pedagoga e professora,
sai da sala de aula mas continuo na educação corporativa e agora nas redes.
Atualmente sou consultora sênior na Wayon atendendo um grande cliente: a
Goodyear.
Além de sempre ter sido consultora, atuei como quality assurance, P.O, customer
sucess, gestora de conhecimento e design instrucional. Quero dividir todos esses
meus conhecimentos com todos aqueles que se interessarem
Vamos ao sap scripting,
mas antes de começar...
1. Verifique em "Opções" se o seu gravador está ativo.
Caso não esteja, ative-o mas deixe-o como na figura
abaixo:
OBS: (Só terá validade depois de logar novamente no SAP)
Caso não esteja ativo – vá na transação RZ11 e
digite o código sapgui/user_scripting
Modificar Valor
Altere para True o Valor atual
OBS: Você precisa se logar novamente no SAP
DICAS IMPORTANTES ANTES DE COMEÇAR:
Esteja logado e feche todas as janelas SAP,
deixe apenas uma janela aberta, (dica para
iniciantes.)
Sempre Rode a transação a ser gravada
antes de iniciar, pois há algumas transações
que deixam sempre uma tela diferente de
acordo com a última vez que foi acessada,
por isso se atente em como vai deixar a
mesma.
Digite a transação na barra SAP, nunca use
o "favoritos" – ele pode não gravar o clique
Se quiser um layout definido, faça isso
anteriormente, para quando entrar esteja
no local desejado
Durante a gravação clique em todos os
campos que deseja mapear, para se garantir
apague o que o sistema trouxe e coloque
outro o mesmo, mas digite o valor
Esteja preparado a fazer isso muitas vezes,
até que o código fique limpo
Usaremos, durante o curso várias transações
SAP para exemplificar a gravação de Scripts
Vá em Opções – Gravador de Script – Clica
no ... Escolha um nome .VBS e um local para
guardar
1
2 Clique no gravador e comece com sua
transação a ser gravada – caso o nome
escolhido já exista na sua pasta ele
perguntará se deseja sobregravar o
script, caso clique em sim ele perderá o
que for feito antes
3
ANÁLISE DO CÓDIGO
A seguir temos um template de código,
copie e cole-o no seu notepad ou direto no
vb.
Na parte onde está "colocar a transação
gravada..." coloque o seu código, o gerado
pelo gravador de script do SAP.
TEMPLATE DE CÓDIGO
OPTION EXPLICIT
SUB PEDIDO()
'1.A PARTE INSERIDO PÓS GRAVAÇÃO
DIM OBJEXCEL
DIM OBJSHEET
DIM INTROW
DIM I
DIM OFILESYSTEM
DIM SAPGUIAUTO
DIM APPLICATION
DIM MESSAGE
DIM EMBARQUE
DIM PROX_LINHA
DIM LINHA_INICIAL
DIM LINHA_FINAL
DIM TEMPO AS DOUBLE
DIM TEMPO_GASTO AS DOUBLE
DIM CONNECTION, SESSION, WSCRIPT
'----------------------------------------------------
'[Link] GERADO PELO GRAVADOR
----------------------------------------------------
TEMPLATE DE CÓDIGO
IF NOT ISOBJECT(APPLICATION) THEN
SET SAPGUIAUTO = GETOBJECT("SAPGUI")
SET APPLICATION = [Link]
END IF
IF NOT ISOBJECT(CONNECTION) THEN
SET CONNECTION = [Link](0)
END IF
IF NOT ISOBJECT(SESSION) THEN
SET SESSION = [Link](0)
END IF
IF ISOBJECT(WSCRIPT) THEN
[Link] SESSION, "ON"
[Link] APPLICATION, "ON"
END IF
'-----------------------------------------------------------------------
'3. PARTE INSERIO TRECHO PARA USO GERAL
TEMPO = NOW()
'CONTADOR INSERIDO
LINHA_INICIAL = INPUTBOX("QUAL A LINHA QUE INICIA SEU
SCRIPT?", LINHA_INICIAL)
LINHA_FINAL = INPUTBOX("QUAL A LINHA QUE TERMINA SEU
SCRIPT?", LINHA_FINAL)
FOR I = LINHA_INICIAL TO LINHA_FINAL
'-----------------------------------------------------------------------
-
TEMPLATE DE CÓDIGO
'COLOCAR A TRANSAÇÃO- AQUI A GENTE COLA O
TRECHO GRAVADO NO SAP
'-----------------------------------------------------------
'FINALIZAR
'MEDIR TEMPO
TEMPO_GASTO = NOW() - TEMPO
'MSGBOX NOW() - TEMPO
' ALTERE PARA O ENDEREÇO QUE DESEJA COLOCAR O
TEMPO GASTO
CELLS(I, 16).VALUE = TEMPO_GASTO
CELLS(I, 1) = " PEDIDO OK"
CELLS(I, 17).VALUE = CELLS(I, 2)
NEXT
END SUB
A primeira regra de qualquer
tecnologia utilizada nos negócios é que
a automação aplicada a uma
operação eficiente aumentará a
eficiência.
Asegunda é que a automação
aplicada a uma operação ineficiente
aumentará a ineficência (Bill Gates)
saia do zero
Veja os vídeos sobre esse assunto e
para sua primeira automação no SAP.
Ate o momento temos duas séries de vídeos sobre o
assunto
Acesse meu canal e as redes sociais:
[Link]