OrgSTR é o nome resumido de
“Organizational Structure” (ou Estrutura Organizacional do TDF), a qual contém as
informações de empresa e filiais organizadas de forma unificada com foco
fiscal.
Para maiores informações leia o post do Fernando Da Rós: TDF – Conhecendo e Entendendo o OrgStr: https://blogs.sap.com/2015/08/11/tdf-conhecendo-e-entendendo-o-orgstr/
TELA DO TDF:
PRINCIPAIS TABELAS DA ORGSTR
- /TMF/D_CNPJ
- DADOS CNPJ
- /TMF/D_ESTABELEC
- DASOS DO BUSINESS PLACE (FILIAL)
- /TMF/D_CNPJ_ROOT - CNPJ ROOT
- /TMF/D_IE - DADOS DA INSCRIÇÃO ESTADUAL (STATE INSCRIPTION)
Agora vamos ao que interessa...
Qual seria a ideia para automatização do preenchimento dos
Dados Fiscais do OrgStr?
Criação de um VBA \o/
CRIAÇÃO DO VBA:
CRIAÇÃO DO VBA:
A automação é toda realizada no
Visual Basic, que pode ser manipulado pelo Excel. Basta ir na guia
Desenvolvedor -> Visual Basic
Após isso, devem ser inseridas,
antes da criação do código, algumas bibliotecas que dão possibilidade de
automação dentro do Internet Explorer, que é como iremos acessar a ORGSTR. Isso
é realizado, dentro do projeto VBA, em: Ferramentas -> Referências.
Podem ser adicionadas as
seguintes referências:
O conceito é acessarmos os
elementos do Internet Explorer por ID, e manipular seu preenchimento da forma
mais conveniente:
Para capturar esses elementos,
no Internet Explorer, basta clicar com o botão direito sobre o elemento e
clicar em “Inspecionar elemento”
A procura do elemento por ID é a
mais indicada, pelo ID ser único dentro da classe.
No VBA,
‘Declaração da função que
é utilizada
Declare Function apiShowWindow
Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long,
ByVal nCmdShow As Long) As Long
Sub Teste ()
Dim inputfield As Object ‘Declaração das variáveis
Set ie =
CreateObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}") ‘Definição do objeto do Internet Explorer
ie.Visible = 1 ‘Torna o ie visível
apiShowWindow ie.hwnd, 3 ‘ Utilização de uma função para exibir o IE.
ie.Navigate http://a9nwebdisp.nestle.com:7702/sap/bc/ui5_ui5/tmf/orgstr01/index.html?sap-client=102&sap-ui-language=PT&sap-ui-xx-devmode=true&sap-ui-language=pt
‘Definindo a página a navegar
campo =
Sheets(“Exemplo”).Range(“A1”).Text ‘O
valor do campo a ser preenchido está na Sheet “Exemplo”, na célula “A1”
Set inputfield =
ie.document.getElementById("IE-DataSet-searchValue-tf-searchico") ‘Procurando o ID do elemento, dentro da tela do IE
inputfield.Value = campo
‘Preenchimento do campo de
acordo com o valor da célula “A1”
Do ‘Início da repetição
Application.Wait (Now() +
TimeValue("00:00:01")) ‘Definindo
tempo de espera
DoEvents ‘Disparador de eventos
Loop While ie.Busy Or
ie.readyState <> 4 ‘O Loop
continua enquanto o Status do navegador não for “Concluído”
End Sub
Após o modulo criado, ele pode
ser executado através da guia Desenvolvedor -> Macros.
Pode ser que sejam necessárias a
inserção de condições, repetições no desenvolvimento.
Assim, a partir de uma planilha,
é possível realizar o preenchimento completo de qualquer formulário no Internet
Explorer.
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.