<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>sapgui on Abapinho</title><link>https://abapinho.com/tags/sapgui/</link><description>Recent content in sapgui on Abapinho</description><generator>Hugo -- gohugo.io</generator><language>pt</language><copyright>&amp;copy;2009-2026 Nuno Godinho</copyright><lastBuildDate>Mon, 01 Aug 2022 09:00:00 +0000</lastBuildDate><atom:link href="https://abapinho.com/tags/sapgui/index.xml" rel="self" type="application/rss+xml"/><item><title>Usa Python para reescrever código ABAP</title><link>https://abapinho.com/2022/08/python-rewrite/</link><pubDate>Mon, 01 Aug 2022 09:00:00 +0000</pubDate><guid>https://abapinho.com/2022/08/python-rewrite/</guid><description>&lt;p>Quando é preciso fazer alterações de fundo ao código o IDE do SAPGui não ajuda. O Eclipse ADT já é bem melhor mas mesmo assim há muitas alterações que essas ferramentas não conseguem automatizar. Nomeadamente alterações que têm de ser feitas centenas de vezes e que não se conseguem fazer com um simples &lt;em>find and replace&lt;/em>. Nesses casos o mais normal é acabar por fazer tudo à mão.&lt;/p></description></item><item><title>Cortar e inserir rapidamente</title><link>https://abapinho.com/2020/05/cortar-e-inserir-rapidamente/</link><pubDate>Tue, 26 May 2020 09:00:36 +0000</pubDate><guid>https://abapinho.com/2020/05/cortar-e-inserir-rapidamente/</guid><description>&lt;p>Lá aprendi mais uma pequena funcionalidade obscura do SAPGui. Como acelerar o corte e costura.&lt;/p></description></item><item><title>Atalho para gravar lista em ficheiro local</title><link>https://abapinho.com/2019/09/atalho-para-gravar-lista-em-ficheiro-local/</link><pubDate>Wed, 04 Sep 2019 09:00:54 +0000</pubDate><guid>https://abapinho.com/2019/09/atalho-para-gravar-lista-em-ficheiro-local/</guid><description>&lt;p>O SAP está replecto de recantos refundidos e rebuscados raramente reconhecidos que o Abapinho se regozija por revelar.&lt;/p>
&lt;p>O comando %pc é equivalente à opção de menu Sistema/Lista/Gravar/File local:&lt;/p></description></item><item><title>Abracadabra revela parâmetro secreto</title><link>https://abapinho.com/2017/10/parametro-secreto/</link><pubDate>Mon, 23 Oct 2017 09:00:29 +0000</pubDate><guid>https://abapinho.com/2017/10/parametro-secreto/</guid><description>Aqui está uma forma pouco ortodoxa de lidar com o ecrã de selecção de um programa.
Se tiveres um parâmetro que pretendes manter escondido dos olhos dos utilizadores e mesmo assim poder ter acesso a ele (ex.: um pisco para entrar em modo de debug) podes usar a palavra mágica ABRACADABRA para lhe aceder.
Funciona assim:
DATA: unhide_parameters TYPE flag. PARAMETERS: p_debug AS CHECKBOX. AT SELECTION-SCREEN. CASE sy-ucomm. WHEN &amp;#39;ABRACADABRA&amp;#39;. unhide_parameters = abap_true.</description></item><item><title>Entra numa transacção sem passar pelo ecrã de selecção</title><link>https://abapinho.com/2017/07/transaccao-sem-ecra-de-seleccao/</link><pubDate>Wed, 12 Jul 2017 09:00:53 +0000</pubDate><guid>https://abapinho.com/2017/07/transaccao-sem-ecra-de-seleccao/</guid><description>Mais uma vez o SAPGui me surpreende com mais um atalho obscuro que desconhecia.
Usemos a transacção de visualização de clientes XD03 como exemplo:
Entras no ecrã de selecção da transacção escrevendo lá em cima /NXD03
Introduzes o número do cliente que queres visualizar e carregas em ENTER
Fazes lá o que tens a fazer e depois sais da transacção
Mas&amp;hellip; de repente&amp;hellip; precisas de ver mais qualquer coisa desse cliente</description></item><item><title>Copiar variante do Code Inspector para outro sistema</title><link>https://abapinho.com/2017/05/copiar-variante-do-code-inspector/</link><pubDate>Mon, 08 May 2017 09:00:09 +0000</pubDate><guid>https://abapinho.com/2017/05/copiar-variante-do-code-inspector/</guid><description>No meu cliente tenho três ambientes de desenvolvimento. Dantes tinha só um. E foi nesse que configurei a variante do Code Inspector que uso para correr o Abap Test Cockpit.
Quando apareceram os outros dois, antes de me decidir a replicar a variante à mão em cada um deles, decidi investigar um pouco. Para minha surpresa encontrei no GitHub o projecto upDOWNci que faz exactamente o que eu precisava: exportar e importar variantes do Code Inspector.</description></item><item><title>Fechar automaticamente as portas que tu abres</title><link>https://abapinho.com/2017/03/close-doors-automatically/</link><pubDate>Mon, 13 Mar 2017 09:00:21 +0000</pubDate><guid>https://abapinho.com/2017/03/close-doors-automatically/</guid><description>Estas no editor. Introduzes um ( ou [ ou { ou &amp;rsquo; e o SAP é mongo e não o fecha certo?
Ora bem,
Clica no ícone em baixo à direita que acede às opções do SAPGui onde adicionamos template.
Na opção formatting , activas o Enable Auto Brackets e voilá, o SAP começa a fechar automaticamente as portas que tu abres.
Mais valia que isto viesse activado de raiz.</description></item><item><title>Comparar versões ignorando as indentações</title><link>https://abapinho.com/2016/12/comparar-versoes-ignorando-as-indentacoes/</link><pubDate>Mon, 05 Dec 2016 09:00:31 +0000</pubDate><guid>https://abapinho.com/2016/12/comparar-versoes-ignorando-as-indentacoes/</guid><description>Quando se compara versões por vezes aparecem várias diferenças mesmo quando não fizemos alterações ao código. Essas diferenças podem ser simplesmente consequência de um Pretty Printer que altera as indentações do código. Isto torna a comparação muito difícil e confusa.
Mas o ABAP Workbench prevê isso e permite configurar o comparador de versões para ignorar indentações e até comentários.
Basta carregares em F5 ou ires ao menu “Display Format &amp;gt; Settings” e adaptá-lo às tuas necessidades:</description></item><item><title>Cria modelos na SE80 arrastando coisas para o código</title><link>https://abapinho.com/2016/11/modelos-na-se80-arrastando-para-o-codigo/</link><pubDate>Mon, 14 Nov 2016 09:00:26 +0000</pubDate><guid>https://abapinho.com/2016/11/modelos-na-se80-arrastando-para-o-codigo/</guid><description>&lt;p>Quando estamos a programar é sempre bom ter formas de acelerar o que estamos a fazer. Uma delas é a geração automática de de padrões de chamadas de métodos e afins.&lt;/p>
&lt;p>Conheço 3 formas de o fazer.&lt;/p></description></item><item><title>Encontra tudo de uma só vez</title><link>https://abapinho.com/2016/10/find-everything-at-once/</link><pubDate>Mon, 24 Oct 2016 09:00:11 +0000</pubDate><guid>https://abapinho.com/2016/10/find-everything-at-once/</guid><description>&lt;p>O editor de ABAP tem sempre coisas novas para descobrir.&lt;/p>
&lt;p>Quando faço CTRL-F para pesquisar texto a opção que costumo usar é a Continuar proc.&lt;/p></description></item><item><title>Mais uma forma de ver os parâmetros de um método</title><link>https://abapinho.com/2016/08/ver-parametros-metodo/</link><pubDate>Mon, 01 Aug 2016 09:00:26 +0000</pubDate><guid>https://abapinho.com/2016/08/ver-parametros-metodo/</guid><description>&lt;p>Imagina que queres chamar um método mas não sabem quais os seus parâmetros. O que fazes?&lt;/p>
&lt;p>Dantes tinhas de usar o &lt;em>pattern&lt;/em> ou então abrir a classe numa janela ao lado para ver os parametros do método. Depois apareceu o &lt;em>&lt;a href="https://abapinho.com/2014/09/modelo-automatico-so-com-ctrl-space/">auto-complete&lt;/a>&lt;/em> e tornou tudo mais simples.&lt;/p>
&lt;p>Mas há ainda outra forma.&lt;/p></description></item><item><title>ABAP Code PushDown em HANA</title><link>https://abapinho.com/2016/07/abap-code-pushdown-on-sqlscript/</link><pubDate>Mon, 25 Jul 2016 09:00:10 +0000</pubDate><guid>https://abapinho.com/2016/07/abap-code-pushdown-on-sqlscript/</guid><description>&lt;p>[Artigo por Artur Moreira]&lt;/p>
&lt;p>A SAP introduziu a partir da versão 7.4 do ABAP o conceito de Code PushDown, que significa utilizar mais a base de dados para cálculos (agregação de dados, somas e vários cálculos prévios).&lt;/p></description></item><item><title>Pesquisa incremental</title><link>https://abapinho.com/2016/07/pesquisa-incremental/</link><pubDate>Mon, 18 Jul 2016 09:00:21 +0000</pubDate><guid>https://abapinho.com/2016/07/pesquisa-incremental/</guid><description>&lt;p>Quando quero procurar uma determinada palavra num programa ABAP normalmente uso a função de pesquisa carregando em CTRL-F. E depois vou carregando em NEXT para ir encontrando as várias ocorrências da palavra que procuro.&lt;/p>
&lt;p>Mas há outra forma. E não é melhor nem pior. É simplesmente diferente: a pesquisa incremental.&lt;/p></description></item><item><title>Exporta e importa as configurações do ABAP Workbench</title><link>https://abapinho.com/2016/06/export-and-import-the-abap-workbench-settings/</link><pubDate>Mon, 13 Jun 2016 09:00:16 +0000</pubDate><guid>https://abapinho.com/2016/06/export-and-import-the-abap-workbench-settings/</guid><description>&lt;p>Às vezes as coisas estão mesmo debaixo do nosso nariz e não as vimos.&lt;/p>
&lt;p>No meu cliente actual trabalho com um montes de sistemas diferentes. Quando altero a configuração num deles muitas vezes, por preguiça ou esquecimento, acabo por não o fazer nos restantes.&lt;/p>
&lt;p>Mas há uma forma simples de copiar de uma só vez todas as configurações do ABAP Workbench de um sistema para outro.&lt;/p></description></item><item><title>Usa o Editor de Tela Dividida na comparação de versões</title><link>https://abapinho.com/2016/06/usa-editor-tela-dividida-na-comparacao-versoes/</link><pubDate>Mon, 06 Jun 2016 09:00:57 +0000</pubDate><guid>https://abapinho.com/2016/06/usa-editor-tela-dividida-na-comparacao-versoes/</guid><description>&lt;p>Por defeito a comparação de versões é horrível. Mostra as duas versões numa única coluna, com as diferenças destacadas, o que resulta numa grande confusão. É a coisa menos práctica de sempre.&lt;/p>
&lt;p>Mas não tem de ser assim.&lt;/p></description></item><item><title>Descobre as diferenças com a SE39</title><link>https://abapinho.com/2016/05/descobre-as-diferencas-se39/</link><pubDate>Mon, 30 May 2016 09:00:21 +0000</pubDate><guid>https://abapinho.com/2016/05/descobre-as-diferencas-se39/</guid><description>&lt;p>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.&lt;/p>
&lt;p>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.&lt;/p></description></item><item><title>Programar classes baseado em texto fonte</title><link>https://abapinho.com/2016/05/programar-classes-baseado-texto-fonte/</link><pubDate>Mon, 23 May 2016 11:08:44 +0000</pubDate><guid>https://abapinho.com/2016/05/programar-classes-baseado-texto-fonte/</guid><description>&lt;p>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.&lt;/p>
&lt;p>A dado momento a SE24 passou a permitir a opção &lt;em>Basedo em texto fonte&lt;/em> que mostra a classe e os métodos todos ligados em texto corrido. Mas por alguma razão que nunca atinei com aquilo.&lt;/p></description></item><item><title>Saltar para a tua última alteração</title><link>https://abapinho.com/2016/05/jump-to-your-last-change/</link><pubDate>Wed, 18 May 2016 15:03:12 +0000</pubDate><guid>https://abapinho.com/2016/05/jump-to-your-last-change/</guid><description>&lt;p>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).&lt;/p></description></item><item><title>Inibe o histórico de valores para um só campo</title><link>https://abapinho.com/2016/02/inibe-o-historico-de-valores-para-um-so-campo/</link><pubDate>Mon, 08 Feb 2016 09:00:08 +0000</pubDate><guid>https://abapinho.com/2016/02/inibe-o-historico-de-valores-para-um-so-campo/</guid><description>&lt;p>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.&lt;/p>
&lt;p>Mas e se quiseres desligar apenas num campo? O Abapinho ensina-te.&lt;/p></description></item><item><title>A classe CL_GUI_FRONTEND_SERVICES</title><link>https://abapinho.com/2016/01/a-classe-cl_gui_frontend_services/</link><pubDate>Mon, 04 Jan 2016 09:00:43 +0000</pubDate><guid>https://abapinho.com/2016/01/a-classe-cl_gui_frontend_services/</guid><description>&lt;p>A classe CL_GUI_FRONTEND_SERVICES é frequentemente usada para fazer &lt;em>upload&lt;/em> e &lt;em>download&lt;/em> de ficheiros de e para o computador local. Mas ela consegue fazer muitos mais coisas boas. Por exemplo:&lt;/p></description></item><item><title>O SAP sabe tirar &lt;i>selfies&lt;/i>!</title><link>https://abapinho.com/2015/12/o-sap-sabe-tirar-selfies/</link><pubDate>Mon, 28 Dec 2015 09:00:35 +0000</pubDate><guid>https://abapinho.com/2015/12/o-sap-sabe-tirar-selfies/</guid><description>&lt;p>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.&lt;/p>
&lt;p>Faz-se assim:&lt;/p></description></item><item><title>O GUI está disponível?</title><link>https://abapinho.com/2015/11/o-gui-esta-disponivel/</link><pubDate>Mon, 09 Nov 2015 09:00:41 +0000</pubDate><guid>https://abapinho.com/2015/11/o-gui-esta-disponivel/</guid><description>&lt;p>Para verificar se um programa está em &lt;em>background&lt;/em> é 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 &lt;em>background&lt;/em> é uma sessão de BDC. Normalmente usa-se uma destas duas.&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>É 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.&lt;/p></description></item><item><title>Como evitar &lt;i>timeout&lt;/i> ao correr um programa</title><link>https://abapinho.com/2015/11/como-evitar-timeout-ao-correr-um-programa/</link><pubDate>Mon, 02 Nov 2015 09:00:52 +0000</pubDate><guid>https://abapinho.com/2015/11/como-evitar-timeout-ao-correr-um-programa/</guid><description>&lt;p>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 &lt;em>dump&lt;/em> ).&lt;/p></description></item><item><title>Atalhos para fazer letras grandes e pequenas</title><link>https://abapinho.com/2015/10/letras-grandes-e-letras-pequeninas/</link><pubDate>Mon, 19 Oct 2015 09:00:05 +0000</pubDate><guid>https://abapinho.com/2015/10/letras-grandes-e-letras-pequeninas/</guid><description>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.</description></item><item><title>Múltiplas selecções OR na SE16N</title><link>https://abapinho.com/2015/08/multiplas-seleccoes-or-na-se16n/</link><pubDate>Mon, 03 Aug 2015 09:00:15 +0000</pubDate><guid>https://abapinho.com/2015/08/multiplas-seleccoes-or-na-se16n/</guid><description>&lt;p>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).&lt;/p>
&lt;p>Imagina que queres seleccionar todos os materiais que tenham “PREGO&amp;quot; no nome e que sejam do tipo FERRAGENS e além disso todos os materiais que tenham “GUARDANAPO&amp;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):&lt;/p>
&lt;p>(MATNR = “PREGO%” AND MTART = “FERR” ) OR (MATNR = “GUARDANAPO%” AND MAKT = “COMI” )&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>Ou dá?&lt;/p></description></item><item><title>Escrever em muitas linhas ao mesmo tempo</title><link>https://abapinho.com/2014/12/escrever-em-muitas-linhas-ao-mesmo-tempo/</link><pubDate>Mon, 15 Dec 2014 09:00:42 +0000</pubDate><guid>https://abapinho.com/2014/12/escrever-em-muitas-linhas-ao-mesmo-tempo/</guid><description>&lt;p>O editor de ABAP tem coisas que não lembram ao diabo.
Até dá para escrever ao mesmo tempo em várias linhas.&lt;/p></description></item><item><title>Indentar em bloco</title><link>https://abapinho.com/2014/11/indentar-em-bloco/</link><pubDate>Mon, 03 Nov 2014 09:00:21 +0000</pubDate><guid>https://abapinho.com/2014/11/indentar-em-bloco/</guid><description>&lt;p>Para indentares um bloco de linhas só com teclas faz assim:&lt;/p></description></item><item><title>Limpar os buffers de uma sessão SAP</title><link>https://abapinho.com/2014/10/limpar-os-buffers-de-uma-sessao-sap/</link><pubDate>Mon, 13 Oct 2014 09:00:25 +0000</pubDate><guid>https://abapinho.com/2014/10/limpar-os-buffers-de-uma-sessao-sap/</guid><description>&lt;p>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.&lt;/p>
&lt;p>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.&lt;/p></description></item><item><title>Modelo automático só com CTRL-SPACE</title><link>https://abapinho.com/2014/09/modelo-automatico-so-com-ctrl-space/</link><pubDate>Mon, 22 Sep 2014 09:00:04 +0000</pubDate><guid>https://abapinho.com/2014/09/modelo-automatico-so-com-ctrl-space/</guid><description>&lt;p>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.&lt;/p>
&lt;p>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.&lt;/p></description></item><item><title>Mete-o entre parêntesis</title><link>https://abapinho.com/2014/08/mete-o-entre-parentesis/</link><pubDate>Mon, 18 Aug 2014 09:00:09 +0000</pubDate><guid>https://abapinho.com/2014/08/mete-o-entre-parentesis/</guid><description>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 &amp;lsquo;. E imediatamente isto fica (isto) ou [isto] ou &amp;lsquo;isto&amp;rsquo;.
Obrigado Sérgio Fraga pela dica.</description></item><item><title>Contemplar o pacote</title><link>https://abapinho.com/2014/07/contemplar-o-pacote/</link><pubDate>Mon, 14 Jul 2014 08:00:25 +0000</pubDate><guid>https://abapinho.com/2014/07/contemplar-o-pacote/</guid><description>&lt;p>Estás a contemplar uma classe na SE24, uma tabela na SE11 ou um programa na SE80. Agora queres ver o pacote desse objecto bem como o seu conteúdo. Até há pouco tempo eu faria assim: primeiro via nas características do objecto qual é o seu pacote, depois abria uma sessão nova, ia à SE80 e escrevia lá o pacote.&lt;/p>
&lt;p>Agora aprendi uma forma muito mais simples.&lt;/p></description></item><item><title>Vista técnica da SE16N</title><link>https://abapinho.com/2014/06/vista-tecnica-se16n/</link><pubDate>Mon, 30 Jun 2014 09:00:43 +0000</pubDate><guid>https://abapinho.com/2014/06/vista-tecnica-se16n/</guid><description>Olá. Tudo bem? A vida? Flui? Esta dica é tão simples que mais vale conversarmos um bocado antes de eu a dizer senão nem dá para aquecer. Está sol. Choveu de manhã mas agora escampou.
Siga.
Sempre que vejo alguém a usar a SE16 pergunto-me porque é que o continua a fazer quando a SE16N é tão melhor e já existe há tanto tempo. Mas a dica não é isto.</description></item><item><title>0 é Private, 1 é Protected, 2 é Public</title><link>https://abapinho.com/2014/06/0-e-private-1-e-protected-2-e-public/</link><pubDate>Mon, 16 Jun 2014 08:30:50 +0000</pubDate><guid>https://abapinho.com/2014/06/0-e-private-1-e-protected-2-e-public/</guid><description>&lt;p>Pequeno truque para acelerar a introdução de (alguns) dados.&lt;/p></description></item><item><title>Request Based Debugging</title><link>https://abapinho.com/2014/05/request-based-debugging/</link><pubDate>Mon, 12 May 2014 09:00:10 +0000</pubDate><guid>https://abapinho.com/2014/05/request-based-debugging/</guid><description>&lt;p>Se em &lt;em>debug&lt;/em> consultares a variável de sistema UNAME dentro de uma chamada RFC podes achar estranho encontrar um utilizador que não o teu. O que acontece é que o sistema adopta um utilizador específico a chamadas remotas e uma nova sessão é iniciada. Uma nova sessão implica um novo contexto de execução e, consequentemente, todos os nossos &lt;em>breakpoints&lt;/em> , já estrategicamente colocados, não serão reconhecidos.&lt;/p>
&lt;p>Este problema pode dificultar um &lt;em>debug&lt;/em> simples obrigando-nos a percorrer o código à procura DAQUELA chamada remota ÀQUELE sistema em particular.&lt;/p>
&lt;p>A SAP tem a solução.&lt;/p></description></item><item><title>Atalho para viajar no tempo</title><link>https://abapinho.com/2014/04/atalho-para-viajar-no-tempo/</link><pubDate>Mon, 07 Apr 2014 09:00:35 +0000</pubDate><guid>https://abapinho.com/2014/04/atalho-para-viajar-no-tempo/</guid><description>Há uns meses atrás mostrei como transformar o debugger numa máquina do tempo.
Hoje a dica é singela mas escorreita: há um atalho de teclado para tornar ainda mais simples este viajar enviesado:
shift + F12
Pões o cursor na linha para onde queres viajar e depois&amp;hellip; shift+F12.
Obrigado Maxsuel Maia pela dica.
O Abapinho saúda-vos.</description></item><item><title>Usa um gestor de passwords na tua vida</title><link>https://abapinho.com/2014/03/gestor-de-passwords/</link><pubDate>Mon, 24 Mar 2014 09:00:52 +0000</pubDate><guid>https://abapinho.com/2014/03/gestor-de-passwords/</guid><description>&lt;p>E pronto, se leste o título, a dica está dada.&lt;/p>
&lt;p>Agora umas dicas sobre a dica:&lt;/p></description></item><item><title>O detective do ABAP</title><link>https://abapinho.com/2014/03/o-detective-do-abap/</link><pubDate>Mon, 10 Mar 2014 09:00:42 +0000</pubDate><guid>https://abapinho.com/2014/03/o-detective-do-abap/</guid><description>&lt;p>Em SAP, quando um desenvolvimento está concluído, chega finalmente o momento de o enviar para outros sistemas onde pode ser devidamente testado e por fim executado pelos utilizadores.
Mas antes disso, é crucial verificar se não existem lapsos, erros e afins que possam levar ao aparecimento de alguns comportamentos imprevisíveis por parte dos nossos programas.
Existe uma ferramenta muito útil que permite filtrar alguns desses erros e lacunas. Chama-se ABAP Code Inspector.&lt;/p></description></item><item><title>Fecha a janela encalhada</title><link>https://abapinho.com/2014/03/fecha-a-janela-encalhada/</link><pubDate>Mon, 03 Mar 2014 17:30:56 +0000</pubDate><guid>https://abapinho.com/2014/03/fecha-a-janela-encalhada/</guid><description>&lt;p>Quantas vezes te aconteceu ficar com uma janela &amp;ldquo;pendurada&amp;rdquo; quando terminas um debug?&lt;/p></description></item><item><title>O editor de ABAP tem boa memória</title><link>https://abapinho.com/2013/12/o-editor-de-abap-tem-boa-memoria/</link><pubDate>Mon, 02 Dec 2013 09:00:55 +0000</pubDate><guid>https://abapinho.com/2013/12/o-editor-de-abap-tem-boa-memoria/</guid><description>&lt;p>No editor ABAP selecciona uma palavra e faz CTRL-C. Depois selecciona outra palavra e faz novamente CTRL-C. Depois outra e outra. Copiaste várias vezes palavras para o &lt;em>clipboard&lt;/em>. Diz a experiência e o senso comum que agora, se fizeres CTRL-V só vais poder usar a última palavra que para lá copiaste.&lt;/p>
&lt;p>Mas não é bem assim. Talvez não saibas mas o editor de ABAP tem boa memória.&lt;/p></description></item><item><title>Função para gerar bonecada</title><link>https://abapinho.com/2013/11/funcao-para-gerar-bonecada/</link><pubDate>Mon, 11 Nov 2013 09:00:47 +0000</pubDate><guid>https://abapinho.com/2013/11/funcao-para-gerar-bonecada/</guid><description>&lt;p>Bonecada fica sempre bem num relatório. Num SAPGui que é um tédio azulado, quanto mais cores e bonecos melhor. O Luís Rocha mostrou-me uma função muito conveniente para atafulhar um relatório com ícones.&lt;/p></description></item><item><title>Nome do system SAP no título da janela</title><link>https://abapinho.com/2013/01/titulo-da-janela/</link><pubDate>Mon, 21 Jan 2013 09:00:20 +0000</pubDate><guid>https://abapinho.com/2013/01/titulo-da-janela/</guid><description>&lt;p>O cliente onde estou a trabalhar tem mais sistemas SAP do que há vulcões no Chile. E, claro, é inevitável que eu tenha sempre montes de sessões abertas para vários destes sistemas. Ora, quando estão minimizados, não é possível saber a que sistema corresponde cada sessão. Quer dizer, não era, porque agora já é:&lt;/p></description></item><item><title>Executa comandos no computador do utilizador</title><link>https://abapinho.com/2012/12/comandos-no-computador-do-utilizador/</link><pubDate>Mon, 10 Dec 2012 09:00:41 +0000</pubDate><guid>https://abapinho.com/2012/12/comandos-no-computador-do-utilizador/</guid><description>Já há uns tempos que o Abapinho não mexia com o fogo. Hoje mexerá.
Porque hoje mostrará como executar comandos DOS na máquina local do utilizador. Quando tiveres terminado de ler este artigo estarás apto a formatar o disco rígido de todos os teus utilizadores. Lidar com o perigo ajuda-nos a tomar consciência do poder que temos e da responsabilidade que vem junto com ele. Querido leitor, segue a tua consciência.</description></item><item><title>Ninguém liga ao LISTBOX</title><link>https://abapinho.com/2012/10/ninguemligaaolistbox/</link><pubDate>Mon, 29 Oct 2012 09:00:07 +0000</pubDate><guid>https://abapinho.com/2012/10/ninguemligaaolistbox/</guid><description>&lt;p>Por alguma razão misteriosa, a LISTBOX é uma funcionalidade pouco utilizada nos ecrãs de selecção do SAP. E, no entanto, na web está por todo o lado. Vá-se lá saber porquê.&lt;/p>
&lt;p>Caro leitor, proponho que atentes nas suas vantagens:&lt;/p></description></item><item><title>SAPagaio</title><link>https://abapinho.com/2012/10/sapagaio/</link><pubDate>Mon, 15 Oct 2012 09:00:47 +0000</pubDate><guid>https://abapinho.com/2012/10/sapagaio/</guid><description>Na SE38, e cria um programa com o seguinte código. Depois liga o som do teu computador e faz F8.
INCLUDE ole2incl. DATA : ole TYPE ole2_object, voz TYPE ole2_object, texto TYPE string. CREATE OBJECT voz &amp;#39;SAPI.SpVoice&amp;#39;. texto = &amp;#39;Olá eu sou o SAP e falo português com sotaque estrangeiro&amp;#39;. CALL METHOD OF voz &amp;#39;Speak&amp;#39; = ole EXPORTING #1 = texto. Nota: o papagaio ficou de fora na foto, só apanharam a arara com que ele estava a conversar :)</description></item><item><title>Atalho para o campo da transacção</title><link>https://abapinho.com/2012/09/atalho-campo-transaccao/</link><pubDate>Mon, 10 Sep 2012 09:00:09 +0000</pubDate><guid>https://abapinho.com/2012/09/atalho-campo-transaccao/</guid><description>Estás tu escrevendo furiosamente pelo SAP adentro qualquer quando de repente precisas de ir lá acima ao campo da transacção escrever /OS37 ou algo assim. Mas escreves com tanto tanto tanto fervor que a simples ideia de largar o teclado por um momento para ir com a mão ao rato te parece catastrófica. Então, em vez disso, carregas em 3 teclas: CTRL-SHIFT-7.
Obrigado a Renato Sousa pela dica.
O Abapinho saúda-vos.</description></item><item><title>Cria sessões com o teclado</title><link>https://abapinho.com/2012/09/cria-sessoes-com-o-teclado/</link><pubDate>Mon, 03 Sep 2012 09:00:02 +0000</pubDate><guid>https://abapinho.com/2012/09/cria-sessoes-com-o-teclado/</guid><description>Queres criar uma nova sessão e roubaram-te o rato. Não faz mal. Carregas no CTRL e na tecla + e vais ver uma nova sessão a aparecer.
Obrigado Renato Sousa pela dica.
E obrigado a freeimageslive / gratuit pela foto.
O Abapinho saúda-vos.</description></item><item><title>Saltando alegremente de linha em linha</title><link>https://abapinho.com/2012/06/saltar-para-linha/</link><pubDate>Mon, 25 Jun 2012 09:00:09 +0000</pubDate><guid>https://abapinho.com/2012/06/saltar-para-linha/</guid><description>No canto inferior direito do editor ABAP, na linha de status, diz qual é a linha e coluna em que o cursor se encontra. Se fizeres duplo-clique em cima dessa informação aparece-te uma janela de diálogo onde podes introduzir um número de linha para saltar directamente para lá. O atalho de teclado é CTRL-O. Dá muito jeito.
Obrigado Fábio Branquinho pela dica.
E obrigado a juandesant pela foto.
O Abapinho saúda-vos.</description></item><item><title>Barra Ó</title><link>https://abapinho.com/2012/05/barra-o/</link><pubDate>Mon, 21 May 2012 10:00:00 +0000</pubDate><guid>https://abapinho.com/2012/05/barra-o/</guid><description>Durante toda a minha vida SAPica usei o comando /olalala para iniciar a transacção lalala numa nova janela. Mas nunca tinha experimentado escrever só /o. Experimentei. E o que aconteceu foi interessante:
Ou seja, é o mesmo que ia à SM04 e depois escolher o nosso utilizador. Mas muito mais prático.
O Abapinho saúda-vos.</description></item><item><title>F1 + F9 = Informações técnicas</title><link>https://abapinho.com/2012/03/f1-f9-informacoes-tecnicas/</link><pubDate>Mon, 05 Mar 2012 16:18:59 +0000</pubDate><guid>https://abapinho.com/2012/03/f1-f9-informacoes-tecnicas/</guid><description>Amiúde sinto necessidade de, num ecrã funcional, ver as informações técnicas de um determinado campo. Coloco o cursor sobre o campo desejado, depois carrego em F1 e aparece um ecrã de diálogo com ajuda sobre esse campo. A seguir carrego no botão que diz &amp;ldquo;informações técnicas&amp;rdquo;. Mas há uma forma rápida de fazer o mesmo recorrendo apenas ao teclado.
É que há dois modos possíveis para o F1 mostrar ajuda de um campo:</description></item><item><title>O histórico do SAPGui não funciona ainda que activo?</title><link>https://abapinho.com/2012/02/sapgui-historico/</link><pubDate>Mon, 06 Feb 2012 10:00:01 +0000</pubDate><guid>https://abapinho.com/2012/02/sapgui-historico/</guid><description>&lt;p>Já te aconteceu o SAPGui não guardar um histórico dos valores que vais introduzindo nos vários campos ainda que, nas configurações, a opção de Histórico esteja activa?&lt;/p></description></item><item><title>A SE80 tem favoritos</title><link>https://abapinho.com/2012/01/favoritos-se80/</link><pubDate>Mon, 30 Jan 2012 10:00:39 +0000</pubDate><guid>https://abapinho.com/2012/01/favoritos-se80/</guid><description>Na transacção SE80 há de tudo. Parece aquelas mercearias de aldeia atafulhadas de tralha onde se compra pasta de dentes, pão, sandálias, perfume e arroz a granel. Eu gosto dessas mercearias. Mas para lá ir é preciso saber ao que se vai, senão anda-se ao tio ao tio.
Mas isso é nesses mercearias, porque na SE80&amp;hellip; há favoritos.
Pois é. Só soube há uns dias que a transacção SE80 tem a capacidade de guardar favoritos.</description></item><item><title>Sê preguiçoso quando escreves em ABAPês</title><link>https://abapinho.com/2011/12/modelos-de-codigo/</link><pubDate>Mon, 26 Dec 2011 00:11:42 +0000</pubDate><guid>https://abapinho.com/2011/12/modelos-de-codigo/</guid><description>&lt;p>Para tentar determinar quais as profissões com gente mais preguiçosa fiz as seguintes pesquisas no Google:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Profissão&lt;/th>
&lt;th>Resultados&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;/table>
&lt;p>&amp;ldquo;médico preguiçoso&amp;rdquo;| 2.140.000&lt;/p>
&lt;p>&amp;ldquo;advogado preguiçoso&amp;rdquo;| 1.430.000&lt;/p>
&lt;p>&amp;ldquo;gestor preguiçoso&amp;rdquo;| 1.020.000&lt;/p>
&lt;p>&lt;em>&amp;ldquo;engenheiro preguiçoso&amp;rdquo;&lt;/em>| &lt;em>647.000&lt;/em>&lt;/p>
&lt;p>&amp;ldquo;político preguiçoso&amp;rdquo;| 602.000&lt;/p>
&lt;p>&amp;ldquo;economista preguiçoso&amp;rdquo;| 284.000&lt;/p>
&lt;p>&amp;ldquo;pedreiro preguiçoso&amp;rdquo;| 91.200&lt;/p>
&lt;p>Como se pode concluir inequivocamente, os engenheiros não são suficientemente preguiçosos pois são ultrapassados pelos advogados e pelos médicos. Isto tem de mudar. E esta dica vai ajudar. Mas não sem deixar clara a seguinte diferença: preguiça não é ergasiofobia. Falo aqui da preguiça nobre, a de quem gosta de fazer as coisas mas procura fazê-las com o mínimo esforço possível. Já os preguiçosos mandriões, esses não são para aqui chamados.&lt;/p>
&lt;p>O SAP, que lá vai evoluindo lentamente, lançou já há uns anos um editor novo que vem cheio de &lt;a href="https://wiki.sdn.sap.com/wiki/display/ABAP/New+ABAP+Editor">capacidades&lt;/a> muitas das quais, ainda que convenientes, são pouco aproveitadas. Uma delas chama-se &amp;ldquo;Modelos de código&amp;rdquo; que passo a apresentar:&lt;/p></description></item><item><title>Esquece!</title><link>https://abapinho.com/2011/10/esquece/</link><pubDate>Fri, 07 Oct 2011 10:00:49 +0000</pubDate><guid>https://abapinho.com/2011/10/esquece/</guid><description>O SAP GUI tem boa memória. Vai decorando os valores que lhe vamos metendo nos campos e depois sugere-os quando, mais tarde, voltamos a esses campos. Mas às vezes decora coisas que mais valia esquecer. Como por exemplo quando introduzimos um valor errado e a seguir ele insiste em sugerir-nos esse valor errado.
Há uns tempos descobri que este pequeno drama tem solução. Quando, no campo, aparece a combo box com as várias hipóteses, usa as setas do teclado para te posicionares no valor que queres esquecer e depois carrega na tecla DELETE.</description></item><item><title>Selecção vertical de texto no editor ABAP não dá? Dá!</title><link>https://abapinho.com/2011/09/seleccao-vertical-de-texto/</link><pubDate>Mon, 26 Sep 2011 10:00:06 +0000</pubDate><guid>https://abapinho.com/2011/09/seleccao-vertical-de-texto/</guid><description>Como todos sabem, pode fazer-se selecções de blocos de texto verticais e horizontais em quase todo o lado do SAPGUI carregando em CTRL-Y e depois arrastando o rato para fazer a selecção. Como todos também sabem, isto não funciona no editor de ABAP. Mas o que provavelmente nem todos sabem é que há uma forma de fazer este tipo de selecções no editor de ABAP: primir e manter o ALT. Assim já podes seleccionar blocos de texto.</description></item><item><title>Saltando alegremente de ELSE em ELSE</title><link>https://abapinho.com/2011/08/alt-clique-para-saltar/</link><pubDate>Mon, 22 Aug 2011 11:02:30 +0000</pubDate><guid>https://abapinho.com/2011/08/alt-clique-para-saltar/</guid><description>Tens à tua frente um daqueles IF ELSEIF ELSEIF ELSEIF ELSEIF ELSE ENDIF gigantescos que atravessa centenas de linhas de código.
Se fizeres duplo clique em cima do IF ou de qualquer dos ELSEIF vais parar ao ENDIF. Se fizeres duplo-clique lá em baixo no ENDIF vais parar lá acima ao IF. Isto toda a gente sabe. Dá jeito com IF ENDIF pequeninos. Já com os grandes, não serve de muito.</description></item><item><title>Saltos dentro do editor ABAP</title><link>https://abapinho.com/2011/08/saltos-no-editor-abap/</link><pubDate>Mon, 15 Aug 2011 10:06:39 +0000</pubDate><guid>https://abapinho.com/2011/08/saltos-no-editor-abap/</guid><description>Nunca te aconteceu estar a programar num programa ABAP daqueles que parecem um testamento com centenas e centenas de linhas e teres de estar sempre a saltar entre uma zona e outra do código?
Até há uns dias eu, ignorante, usava o PageUp e o PageDown para saltar entre os dois sítios e perdia montes de tempo à procura do lugar exacto do código que me interessava.
Mas entretanto o Sérgio Fraga ensinou-me que o editor ABAP tem uma funcionalidade chamada bookmarks que permite evitar o disparate de andar a subir e a descer às apalpadelas.</description></item><item><title>CTRL-clique para seleccionar uma palavra</title><link>https://abapinho.com/2011/07/ctrl-clique/</link><pubDate>Mon, 18 Jul 2011 11:19:51 +0000</pubDate><guid>https://abapinho.com/2011/07/ctrl-clique/</guid><description>Uma dica simples mas valiosa: em qualquer sítio do SAP GUI - incluindo o editor de ABAP - para seleccionar uma palavra basta fazer CTRL-clique em cima dela. Fixe, não?
Infelizmente não funciona no GUI Java do Mac :-(
(Obrigado ao Sérgio Fraga pela dica)
O Abapinho saúda-vos.</description></item></channel></rss>