Ir para o conteúdo
  • Cursos
  • Sobre
  • Conteúdo
  • Eventos
  • Contato
Menu
  • Cursos
  • Sobre
  • Conteúdo
  • Eventos
  • Contato
pedir orçamento
BLOG

SAPScript no Python – Como resolver o problema: ‘class ‘pywintypes.com_error’

 

 

Como resolver o problema <class ‘pywintypes.com_error’> no Python

O problema class ‘pywintypes.com_error’ está relacionado com a forma que o script precisa ser configurado para ser executado no Python.

Fazendo um parelelo com o VBA (Visual Basic for Application), o script gerado pelo SAP pode ser utilizado na forma com que foi gravado mas, no Python é necessária algumas adaptações.

Observe a instrução abaixo:

Original: session.findById(“wnd[1]/usr/btnBUTTON_3”).press
Adaptada para Python: session.findById(“wnd[1]/usr/btnBUTTON_3”).press()

Para ser executada sem erros, é necessário adicionar os parenteses no final do método press.

Outros ajustes que são necessários:

 

Método sendVKey
Original: session.findById(“wnd[0]”).sendVKey 0
Corrigido: session.findById(“wnd[0]”).sendVKey(0)

Método setFocus
Original: session.findById(“wnd[0]/usr/…/cmbBUS_JOEL_MAIN-PARTNER_ROLE”).setFocus
Corrigido: session.findById(“wnd[0]/usr/…/cmbBUS_JOEL_MAIN-PARTNER_ROLE”).setFocus()

Método maximize
Original: session.findById(“wnd[0]”).maximize
Corrigido: session.findById(“wnd[0]”).maximize()

Valores booleanos (True e False)
Original: session.findById(“wnd[0]/usr/chkDY_MAB”).selected = true
Corrigido: session.findById(“wnd[0]/usr/chkDY_MAB”).selected = True

No caso dos valores booleanos deverá ser alterada a caixa do caractere de minúsculo para maiúsculo.

Se você utiliza o try:/except: para capturar os erros no script, em documentação encontrada na WEB é recomendado que você utilize a seguinte sintaxe:

try:
… instruções
except:
print(sys.exc_info()[0])

Recomendo que você remova o [0] do comando para ver detalhes do problema.
Apesar do erro indicar que um controle não pode ser mapeado, o problema está maqueado pois o verdadeiro motivo para não ser executado está na forma de escrever os métodos de seleção e cliques do SAPScript.



As bibliotecas que estou utilizando para a criação do script são: sys, win32com.client e a time.

Espero que te ajude com o problema que me tirou horas de sono 8-).

Até o próximo artigo.


Alessandro Trovato

 

 

 

 
 
 
 
 
 
Quer se interar sobre TypeScript e OfficeScript? Novos artigos no blog…
 

Office Script | TypeScript – Método reduce para array (dica)

Office Script | TypeScript – Método reduceRight para array
Office Script | TypeScript – Switch Case

 

Office Script | Estrutura de Decisão IF … ELSE IF … ELSE 
 

#python #sapscript #sap #scriptSAP #trovato #mvp #mvpbr

 

 

Contato

Telefone:

+55 11 98861.4882

E-mail:

contato@alessandrotrovato.com.br

Siga-nos

Facebook Instagram Linkedin Twitter Youtube

© Copyright 2024 – Todos os direitos reservados | Alessandro Trovato

criado por: