Tag > sapgui
Patrocinado por
Patrocinado por Inetum

Descobre as diferenças com a SE39

images/thumbnail.jpg - Thumbnail
Estava há pouco a fazer QC a um programa que criaram chamado ZSDFAKSPE com quase 1000 linhas e nenhum comentário. Uma óbvia cópia de um programa standard chamado SDFAKSPE. Decidi então usar o Editor ABAP de tela dividida (Split screen editor) que está na transacção SE39. Introduzi o nome do Z e do standard e depois pude compará-los lado a lado.

Programar classes baseado em texto fonte

images/thumbnail.jpg - Thumbnail
Estando habituado a programar em Java e C++, a forma como a SE24 obriga a navegar entre as várias partes de uma classe e o facto de cada método estar isolado no seu próprio include ao início fez-me muita confusão. Mas porque é que a SAP complica sempre tudo? Acabei por habituar-me. A dado momento a SE24 passou a permitir a opção “Basedo em texto fonte” que mostra a classe e os métodos todos ligados em texto corrido. Mas por alguma razão que nunca atinei com aquilo.

Saltar para a tua última alteração

images/thumbnail.jpg - Thumbnail
Imagina que estás a mexer num programa daqueles antigos que têm milhares de linhas (sim porque hoje em dia sabes que não modularizar é errado (pecado mesmo) e os teus métodos (sim porque hoje tu já só usas métodos) nunca passam das 200 linhas). Ora estás tu muito bem a editar uma linha qualquer lá pelo meio quando (como já não vais para novo) o nome de uma variável de que precisas se te varre completamente da memória. Ainda puxas pela cabeça mas não há meio de te recordares dela. Não te resta senão fazer HOME para saltares para o topo do programa, onde estão declaradas todas as variáveis (porque quem fez este programa não modularizava mas era uma pessoa arrumadinha). Mas esqueceste-te do número da linha que estavas a editar e então lá tens tu de vir por aí abaixo a PAGE DOWNar às apalpadelas à procura da linha que estavas a alterar. Ou então…

Inibe o histórico de valores para um só campo

images/thumbnail.jpg - Thumbnail
Normalmente o SapGUI memoriza os últimos valores introduzidos em cada campo. E isso costuma ser bom. Mas podes muito bem não querer que isto aconteça. (ex: no caso, improvável eu sei, de quereres introduzir valores pornográficos num determinado campo). Uma hipótese é desligar globalmente esta funcionalidade nas configurações do SapGUI. Mas e se quiseres desligar apenas num campo? O Abapinho ensina-te.

A classe CL_GUI_FRONTEND_SERVICES

images/thumbnail.jpg - Thumbnail
A classe CL_GUI_FRONTEND_SERVICES é frequentemente usada para fazer upload e download de ficheiros de e para o computador local. Mas ela consegue fazer muitos mais coisas boas. Por exemplo:

O SAP sabe tirar <i>selfies</i>!

images/thumbnail.jpg - Thumbnail
Acabei de descobrir que o SAP consegue tirar selfies. Ainda não estou a ver para que é que isto possa servir. Mas não é grave porque na verdade também nunca vi para que é que servem as selfies tiradas por nós os humanos. Faz-se assim:

O GUI está disponível?

images/thumbnail.jpg - Thumbnail
Para verificar se um programa está em background é costume espreitar a variável de sistema SY-BATCH. A SY-BINPT também pode ser usada para verificar se o que está a correr em background é uma sessão de BDC. Normalmente usa-se uma destas duas. Mas há uma pergunta parecida e no entanto diferente. Como fazes para saber se o GUI está disponível? É certo que na maior parte dos casos o resultado é semelhante, mas não o será em todos. É como dizer que de dia há o sol e de noite há a lua. Se o ceu estiver nublado não há nem sol de dia nem lua de noite.

Como evitar <i>timeout</i> ao correr um programa

images/thumbnail.jpg - Thumbnail
Normalmente os sistemas SAP têm definido um tempo limite para que um programa possa correr interactivamente. Se o programa demorar mais ocorre um erro de execução (vulgo dump ).

Atalhos para fazer letras grandes e pequenas

images/thumbnail.jpg - Thumbnail
Podes nem sequer saber programar mas se souberes datilografar rápido e conheceres muitos atalhos de teclado vais parecer super profissional. No editor escreve a seguinte palavra: chichisbéu Agora experimenta nos seguintes atalhos: CTRL+U: CHICHISBÉU LETRAS GRANDES! MAIÚSCULAS! CTRL+L: chichisbéu letras minúsculas! minúsculas! CTRL+J: Chichisbéu A Primeira Letra De CaDa PaLaVrA É mAiÚsCuLa! CTRL+K: cHICHISBÉU O gRaNdE fIcOu PeQuEnO e ViCe-VeRsA! Obrigado José Vília pela dica. Obrigado Chris pela foto. O Abapinho saúda-vos.

Múltiplas selecções OR na SE16N

images/thumbnail.jpg - Thumbnail
Se tu és daquelas pessoas que ainda usa a SE16, este artigo não é para ti. Se continuares a ler corres o risco de encontrar ainda mais uma razão para finalmente passares a usar a SE16N (como se todas as outras não fossem já suficientes). Imagina que queres seleccionar todos os materiais que tenham “PREGO&quot; no nome e que sejam do tipo FERRAGENS e além disso todos os materiais que tenham “GUARDANAPO&quot; no nome e que sejam do tipo COMIDA. Ou seja, não deverá aparecer o “PREGO_NO_PAO” nem o “GARDANAPO_PAPEL”. O que tu queres é isto (faz de conta): (MATNR = “PREGO%” AND MTART = “FERR” ) OR (MATNR = “GUARDANAPO%” AND MAKT = “COMI” ) Como bem sabes, numa utilização normal (sem recorrer a isto que te vou mostrar) da SE16N terias de a executar duas vezes e cruzar manualmente a informação porque o ecrã de selecção não dá para fazer ORs. Ou dá?

Escrever em muitas linhas ao mesmo tempo

images/thumbnail.jpg - Thumbnail
O editor de ABAP tem coisas que não lembram ao diabo. Até dá para escrever ao mesmo tempo em várias linhas.

Indentar em bloco

images/thumbnail.jpg - Thumbnail
Para indentares um bloco de linhas só com teclas faz assim:

Limpar os buffers de uma sessão SAP

images/thumbnail.jpg - Thumbnail
Todos os dias aprendo novos comandos para introduzir no campo da transacção. Hoje aprendi uns que resolvem um problema que, ainda que raramente, já me aconteceu no passado. Vê lá se isto já te aconteceu: fazes uma alteração a um texto de um elemento usado numa tabela que editas a partir da SM30. Mas quando vais à SM30 o texto antigo continua lá. Activas vezes sem conta, sais e entras da transacção e nada.

Modelo automático só com CTRL-SPACE

images/thumbnail.jpg - Thumbnail
Claro que já conheces o botão “Modelo” no editor de ABAP que permite introduzir automaticamente modelos para módulos de função, chamadas a métodos e outros. Mas o novo editor agora cresceu um bocadinho (já só está 10 anos atrasado em relação ao Eclipse em vez de 20) e já permite completar automaticamente alguns comandos através do atalho CTRL-SPACE.

Mete-o entre parêntesis

images/thumbnail.jpg - Thumbnail
Truquezito catita: quando na SE38 quiseres meter uma palavra ou expressão entre parêntesis ou aspas, basta seleccioná-la e carregar em ( ou [ ou &lsquo;. E imediatamente isto fica (isto) ou [isto] ou &lsquo;isto&rsquo;. Obrigado Sérgio Fraga pela dica.