Você está na página 1de 8

Manual Criação Robô

Primeiro deve-se verificar se a opção Registros e Reprodução de Script está ativada.

Caso não esteja, seguir os seguintes passos:

Transação RZ11  sapgui/user_scripting  Exibir

Vá em modificar Valor.

Manual Reprodução Script - 10/11/2011


Vanessa Ap. Lima Gomes - SD
Em valor novo colocar TRUE e salvar

Sair e Logar Novamente no SAP.

Obs: Caso o servidor SAP seja reiniciado após isso, deve-se repetir o mesmo processo,
pois a opção Registros e Reprodução voltará a ficar desabilitada.

Para iniciar a gravação do Robô, vá ao Menu Inicial do SAP, no caminho abaixo.

Manual Reprodução Script - 10/11/2011


Vanessa Ap. Lima Gomes - SD
Clicando em , escolha o caminho que irá Salvar o Script

Inicie a Gravação indo em Registrar Script

É necessário estar na tela inicial do SAP para dar início.

Simule a transação que será utilizada sempre inserindo “barra n” exemplo: (/NJ1BTAX).
***A simulação não poderá ter erros, caso contrário, comece do zero
novamente.

Manual Reprodução Script - 10/11/2011


Vanessa Ap. Lima Gomes - SD
Nas etapas seguintes faça o processo do início ao fim, como exemplo abaixo.

Manual Reprodução Script - 10/11/2011


Vanessa Ap. Lima Gomes - SD
Gravar

Para encerrar a gravação do robô, vá em Encerrar Registro.

Abra a planilha com os dados que serão inseridos, e vá na aba Desenvolvedor e Clique em
Visual Basic.

Manual Reprodução Script - 10/11/2011


Vanessa Ap. Lima Gomes - SD
Em seguida vá em Módulo

Abra o Script.txt Criado no início, e copie aqui seu conteúdo.

Manual Reprodução Script - 10/11/2011


Vanessa Ap. Lima Gomes - SD
Substitua Essa Parte do Código Por esta
If Not IsObject(application) Then Sub PLANILHA()
Set SapGuiAuto = GetObject("SAPGUI")
Set application = If Not IsObject(SapApplication) Then
SapGuiAuto.GetScriptingEngine Set SapGuiAuto = GetObject("SAPGUI")
End If Set SapApplication = SapGuiAuto.GetScriptingEngine
If Not IsObject(connection) Then End If
Set connection = application.Children(0) If Not IsObject(Connection) Then
End If Set Connection = SapApplication.Children(0)
If Not IsObject(session) Then End If
Set session = connection.Children(0) If Not IsObject(session) Then
End If Set session = Connection.Children(0)
If IsObject(WScript) Then End If
WScript.ConnectObject session, "on" If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Application, "on"
End If

Sheets("Plan1").Activate

For j = 2 To 5384

Na parte For j = 2 To 5384, altere de acordo com a quantidade de linhas da sua planilha,
indicando de qual linha irá iniciar o processo e em qual irá finalizar.

No final do código acrescente as duas


linhas abaixo
Next j

End Sub

Os campos onde os valores serão preenchidos com valores fixos, não precisam ser alterados
no Script. Já os campos que sofrem alteração devem ser apagados e substituídos por:

Cells (J, n°Coluna)  Onde 1 se refere ao número da coluna onde se encontra o valor a ser
inserido.

Exemplo: Cells (J, 1) / Cells (J, 2) / Cells (J, 3)

Exemplo de planilha com


dados a serem carregados

Manual Reprodução Script - 10/11/2011


Vanessa Ap. Lima Gomes - SD
No exemplo acima ficará da seguinte forma (Em vermelho, algumas observações).

If Not IsObject(application) Then


Set SapGuiAuto = GetObject("SAPGUI")
Set application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
Set connection = application.Children(0)
End If
If Not IsObject(session) Then
Set session = connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject application, "on"
End If

session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text = "/nj1btax"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/tblJ_1B_MIGRATE_TAX_RATESOVERVIEW/txtWA_TAX_TABLES-TEXT[0,13]").setFocus
session.findById("wnd[0]/usr/tblJ_1B_MIGRATE_TAX_RATESOVERVIEW/txtWA_TAX_TABLES-
TEXT[0,13]").caretPosition = 24
session.findById("wnd[0]").sendVKey 2
session.findById("wnd[1]/usr/sub:SAPLSVIX:0100/ctxtD0100_FIELD_TAB-LOWER_LIMIT[2,37]").text = "15"
session.findById("wnd[1]/usr/sub:SAPLSVIX:0100/ctxtD0100_FIELD_TAB-LOWER_LIMIT[2,37]").setFocus
session.findById("wnd[1]/usr/sub:SAPLSVIX:0100/ctxtD0100_FIELD_TAB-LOWER_LIMIT[2,37]").caretPosition = 2
session.findById("wnd[1]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[5]").press
session.findById("wnd[0]/usr/tblSAPLJ1BISSCUSTTCTRL_J_1BTXCOFV/ctxtJ_1BTXCOFV-VALUE[0,0]").text =
"2315188" Esse número, que é uma variável, substituo por Cell(J, 1), sem aspas, pois ele está na
primeira coluna)
session.findById("wnd[0]/usr/tblSAPLJ1BISSCUSTTCTRL_J_1BTXCOFV/ctxtJ_1BTXCOFV-VALIDFROM[3,0]").text =
"01.01.2009" (Nesse exemplo como a data não muda, não alteramos)
session.findById("wnd[0]/usr/tblSAPLJ1BISSCUSTTCTRL_J_1BTXCOFV/ctxtJ_1BTXCOFV-VALIDTO[4,0]").text =
"31.12.2099" (Nesse exemplo como a data não muda, não alteramos)
session.findById("wnd[0]/usr/tblSAPLJ1BISSCUSTTCTRL_J_1BTXCOFV/txtJ_1BTXCOFV-RATE[5,0]").text = "0" ( Esse
número, que é uma variável, substituo por Cell(J, 2), sem aspas, pois ele está na segunda coluna )
session.findById("wnd[0]/usr/tblSAPLJ1BISSCUSTTCTRL_J_1BTXCOFV/ctxtJ_1BTXCOFV-TAXLAW[11,0]").text = "C06"
(Esse número, que é uma variável, substituo por Cell(J, 3), sem aspas, pois ele está na terceira coluna)
session.findById("wnd[0]/usr/tblSAPLJ1BISSCUSTTCTRL_J_1BTXCOFV/ctxtJ_1BTXCOFV-TAXLAW[11,0]").setFocus
session.findById("wnd[0]/usr/tblSAPLJ1BISSCUSTTCTRL_J_1BTXCOFV/ctxtJ_1BTXCOFV-
TAXLAW[11,0]").caretPosition = 3
session.findById("wnd[0]/tbar[0]/btn[11]").press

Next j

End Sub

Agora basta executar, lembrando de deixar a tela do SAP aberta na tela Inicial.

Manual Reprodução Script - 10/11/2011


Vanessa Ap. Lima Gomes - SD