VBA

Layouts do SAP GUI – conceito e automação com VBA

Escrito por Adriano Pataro
em 04/11/2024

Layouts do SAP são configurações personalizáveis que determinam como os dados são exibidos em telas de relatórios ou transações.

Cada layout controla quais colunas são exibidas, a ordem dessas colunas, e o formato da apresentação, como filtros, totalizações e agrupamentos. Os layouts permitem que o usuário personalize a visualização dos dados para atender necessidades específicas, sem modificar a estrutura ou o conteúdo do relatório.

Utilidade dos layouts do SAP

Visualização personalizada: layouts ajustam a visualização dos dados, tornando-a mais relevante para as necessidades específicas de cada usuário ou departamento. Um layout bem configurado pode, por exemplo, destacar colunas mais relevantes para o setor financeiro ou simplificar a visualização para equipes de inventário.

Consistência e facilidade de uso: com layouts, os usuários podem salvar e reutilizar configurações, garantindo uma apresentação de dados consistente entre sessões. Isso também permite que diferentes usuários visualizem o mesmo relatório de maneiras adaptadas às suas responsabilidades.

Eficiência operacional: layouts tornam as consultas mais eficientes ao exibir apenas os dados necessários e na forma desejada. Em relatórios de grandes volumes de dados, isso melhora a produtividade, pois elimina a necessidade de ajustes manuais constantes.

Compartilhamento e padrões: além de layouts individuais, é possível criar layouts globais, disponíveis para todos os usuários da organização, padronizando a forma como determinados relatórios são visualizados.

Exemplos do uso de layouts

  • Relatório de estoque: em uma transação de relatório de inventário, como a MB25, diferentes layouts podem ser configurados para destacar itens com baixo estoque, agrupados por localização ou data de entrada.
  • Análise de compras: na transação ME2J, layouts podem mostrar dados de pedidos por fornecedor, agrupados por mês ou centro de custo, otimizando a visualização para análises específicas de compra.

Vamos a um exemplo do uso do VBA para automatizar a escolha dos layouts do SAP. Para este exemplo, usarei a transação MB25.

Usando VBA para escolher layouts do SAP

Para inserir o nome do layout do SAP direto na caixa de texto, use esta linha de código:

Session.findById("wnd[0]/usr/ctxtALV_DEF").Text = "/ALEX"

Esta linha insere o layout /ALEX na caixa de texto de layout:

Inserir layout no SAP

Seguindo esta linha de raciocínio, você pode usar a mesma linha de código, mudando o nome do layout que deseja configurar.

Interagindo com o objeto de seleção de layouts do SAP

Para manipular o objeto de escolha de layouts, é necessário conhecimento de seus métodos e propriedades. Vou mostrar uma das formas de encontrar estes métodos e propriedades.

Primeiro, vamos armazenar o objeto em uma variável, com estas linhas de código:

Session.findById("wnd[0]/usr/ctxtALV_DEF").SetFocus 
Session.findById("wnd[0]").sendVKey 4 
Set layoutTable = Session.findById("wnd[1]/usr")

Com estas linhas, abrimos a caixa do objeto de escolha de layouts e armazenamos este objeto na variável layoutTable.

  1. No VBA, execute o código até esta linha Set layoutTable = Session.findById(“wnd[1]/usr”)
  2. Clique com o botão direito do mouse sobre layoutTable e escolha Adicionar inspeção de variáveis….
  3. Clique em Ok na caixa de diálogo do VBA.

Na parte inferior da janela do VBA, é exibida a janela Inspeção de variáveis. Clique no sinal “+” para ver os métodos e propriedades do objeto.

janela inspeção de variáveis do VBA

Veja algumas propriedades que usaremos no código:

  • Para identificar a posição da barra de rolagem, usamos VerticalScrollbar.Position
  • Para identificar a quantidade de linhas visíveis, usamos VerticalScrollbar.PageSize
  • Para identificar a quantidade total de linhas do objeto, usamos Children.Count

Código completo para escolher o layout do SAP

A caixa de layouts exibe os nomes os layouts na primeira coluna.

caixa de layouts do SAP

Veja a seguir, o código completo para escolher o layout do SAP, procurando no objeto de escolha de layouts:

textoLayout = "/ALEX"
    encontrado = False
    Set layoutTable = Session.findById("wnd[1]/usr")
    layoutTable.VerticalScrollbar.Position = 0
    rolagem = layoutTable.VerticalScrollbar.PageSize
    totalLinhasv = layoutTable.Children.Count
    
    Do While layoutTable.VerticalScrollbar.Position < totalLinhasv And Not encontrado
        For nLin = 3 To rolagem - 1
            If Session.findById("wnd[1]/usr/lbl[1," & nLin & "]").Text = textoLayout Then
            encontrado = True
            Exit Do
            End If
        Next nLin
        
        If Not encontrado Then
            layoutTable.VerticalScrollbar.Position = layoutTable.VerticalScrollbar.Position + rolagem
        End If
        Loop
        
        If encontrado Then
            Session.findById("wnd[1]/usr/lbl[1," & nLin & "]").SetFocus
            Session.findById("wnd[1]").sendVKey 2
        Else
            MsgBox "O layout " & textoLayout & " não foi encontrado."
        End If

Com este código podemos encontrar o nome do layout em qualquer posição do objeto.

Layouts do SAP GUI – participe

O que achou dos Layouts do SAP GUI? Deixe sua opinião nos comentários.

Se este conteúdo foi relevante para você, convide seus amigos para que eles também fiquem sabendo deste material.

Precisa desta automação na sua empresa? Entre em contato e vamos conversar.

Um abraço e até a próxima.

Compartilhe este conteúdo

Artigos Relacionados

Page [tcb_pagination_current_page] of [tcb_pagination_total_pages]

Adriano Pataro

Meu nome é Adriano Pataro, sou certificado pela Microsoft como Excel Specialist e autor do livro Dominando o Excel 2019. Graduando ciência de dados, trabalho como analista de dados e uso o Excel há mais de 15 anos. Em 2005 resolvi trazer meu conhecimento para a internet e compartilhar com você aqui no meu site e nas redes sociais.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Fique por dentro das novidades

Cadastre seu e-mail e receba os conteúdos em primeira mão.

>

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

O site utiliza cookies para melhorar sua experiência de navegação.
Success message!
Warning message!
Error message!