Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member638291
Participant
Vamos criar um robô que automaticamente acessa uma análise criada no SAP Analytics Cloud, faz a interação necessária na análise e exporta os arquivos.

Deixa eu exemplificar a situação:

  • Você tem uma lista de vendedores com a venda e a meta.

  • Você precisa todos os dias acessar a sua análise, filtrar vendedor por vendedor, exportar e enviar para cada um deles a informação de quanto já atingiu da sua meta.

  • Se você tem uns 20 vendedores, acredito que em 1 hora mais ou menos você faz esse trabalho.

  • Se você tem 200 vendedores, quando termina de gerar os arquivos do dia está na hora de ir embora.


Vamos criar um robô para fazer o trabalho por nós.

Clique no vídeo para ver acontecendo e aprender a fazer.



O que vamos precisar?

  1. Python.

  2. Ambiente virtual - Virtualenv "opcional"

  3. Pacotes do python "time, os e selenium"

  4. Driver do navegador preferido.


Detalhando os itens acima.

  1. Python.

    • Vem instalado em todos sistemas operacionais, exceto o windows.

    • Para instalar no windows, clique aqui e veja como



  2. Ambiente virtual.

    • Instalar, clique e veja como

    • Para criar a máquina virtual "virtualenv nome_da_virtualenv"

    • Para acessar "source nome_da_virtualenv/bin/activate"



  3. Pacotes do Python.

    • pip install selenium

    • Os outros vem com a instalação padrão do python, não precisa adicionar.



  4. Driver do navegador.



Todo ambiente pronto agora é mão no código.

Abaixo o script feito em python, pode ser visto todo conteúdo no meu github também.
'''
Utilizando o Python para automatizar um export de relatório do SAP Analytics Cloud.
É necessário instalar selenium, driver do navegador e é recomendado usar virtualenv
'''
import login
import time
import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

usuario = login.usuarios()
senha = login.senha()
url = login.url()

#executando webdriver e abrindo o site
driver = webdriver.Chrome()
driver.get(url)
time.sleep(3)

#Passando usuário
element = driver.find_element_by_id("i0116")
element.send_keys(usuario)
driver.find_element_by_id("idSIButton9").click()

#Passando senha
time.sleep(2)
element = driver.find_element_by_id("i0118")
element.send_keys(senha)
driver.find_element_by_id("idSIButton9").submit()

#confirmando acesso
time.sleep(1)
driver.find_element_by_id("idSIButton9").submit()

#Opções do input control no SAC
lista_inputControl = ['Jose','Joao','Julio']

#desmarcando todos os checkbox
time.sleep(5)
for x in lista_inputControl:
driver.find_element_by_xpath(".//*[contains(text(),'"+x+"')]").click()


#marcando o primeiro checkbox
time.sleep(10)
for x in lista_inputControl:
driver.find_element_by_xpath(".//*[contains(text(),'"+x+"')]").click()
driver.find_element_by_xpath("//div[contains(@class, 'sapEpmToolbarElement sapEpmToolbarItem sapEpmUiPageTipEnabled')]").click()
driver.find_element_by_xpath(".//*[contains(text(),'Export...')]").click()
time.sleep(2)
driver.find_element_by_xpath("//button[contains(@class, 'sapEpmUiDialogButton sapEpmUiDialogOkButton sapMBarChild sapMBtn sapMBtnBase sapMBtnInverted')]").click()
time.sleep(10)
os.rename("/home/ti/Downloads/SAC+Python.pdf", "/home/ti/Downloads/SAC+Python "+x+".pdf")
driver.find_element_by_xpath(".//*[contains(text(),'"+x+"')]").click()

driver.close()

 

O Python,selenium e SAP Analytics Cloud são recursos fantástico e da para fazer muita coisa legal, coloque a mão na massa você também.

 
Labels in this area