Patrocinado por
Patrocinado por Inetum

Compara uma tabela entre dois sistemas

images/thumbnail.jpg - Thumbnail

A transacção SCMP permite comparar o conteúdo de uma tabela entre dois sistemas. Muito útil, principalmente para tabelas de parameterização. É muito simples de usar. Permite fazer uma pré-selecção dos registos bem como dos campos a comparar. Permite também mostrar apenas as diferenças, o que é conveniente para tabelas com muitos dados. E acho que não é preciso explicar mais. Ite et videte. Esta dica apareceu recentemente no ex-blog SAPtricks e é tão útil que vo-la ofereço aqui também, caso não a tenham lá visto já.

SELECT... ORDER BY PRIMARY KEY

images/thumbnail.jpg - Thumbnail

Embora já use ABAP desde 1998, todas as semanas aprendo novas funcionalidades ou opções ou mesmo novos comandos. Parece mentira. Hoje partilho uma pequena opção do SQL que descobri recentemente: SELECT * FROM T001 INTO TABLE T_T001 ORDER BY PRIMARY KEY. O SELECT e o FROM e o INTO e o TABLE e mesmo o ORDER BY já os conheço há muito tempo. Só não conhecia é o PRIMARY KEY.

Função para gerar bonecada

images/thumbnail.jpg - Thumbnail

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.

SELECT comparando 2 campos da própria tabela

images/thumbnail.jpg - Thumbnail

Esta dica é simples e rápida mas aposto 200$482 em como poucos a sabem.

Erro de sintaxe ao retornar tabela num método

images/thumbnail.jpg - Thumbnail

Quando, num método de uma classe, crias um parâmetro de retorno que é um TABLE TYPE baseado num tipo declarado na própria classe, às vezes aparece um erro que diz:

“Os parâmetros RETURNING devem ser completamente tipificados.”

Roubar o conteúdo de uma SALV

images/thumbnail.jpg - Thumbnail

Um amigo de um amigo de um amigo disse que um amigo dele conhecia um amigo que, num bar de alterne ali nas docas, lhe explicou como roubar os dados a uma SALV.

Comando /HS

images/thumbnail.jpg - Thumbnail

Todo os funcional, até o mais funcional dos funcionais, sabe que para começar a depurar (vá, a fazer debug a) um programa ABAP se usa o comando /H. Mas raro será o programador, mesmo o mais programador dos programadores, que saberá para que serve o comando /HS.

Já usaste expressões regulares?

images/thumbnail.jpg - Thumbnail

As expressões regulares já existem há que tempos. Mas ainda são muito pouco conhecidas e ainda menos usadas. São uma espécie de linguagem descritiva que permite efectuar pesquisas e substituições muito sofisticadas em cadeias alfa-numéricas.

Chama dinamicamente classes e métodos

images/thumbnail.jpg - Thumbnail

Ora aprende lá como invocar dinamicamente um método.

Vamos a isso.

Lê código da net e executa-o

images/thumbnail.jpg - Thumbnail

Este artigo é um dois em um. Ou seja, vais aprender duas coisas de uma só vez.

Mas prepara-te, o que vais aprender é dinamite e, nas mãos erradas, pode fazer implodir o teu universo.

Primeiro vais aprender a ir ler conteúdo à net. E logo a seguir, assumindo que esse conteúdo é código ABAP, aprendes de rajada a executá-lo.

Funções Z misturadas com vistas de manutenção, não!

images/thumbnail.jpg - Thumbnail

A dica de hoje não é uma dica. É um conselho.

Criada uma tabela, depois crias as suas vistas de manutenção. As vistas de manutenção vivem dentro de um grupo de funções. Grupo de funções esse que te é pedido aquando da criação delas. Porque afinal aquilo não passa de um conjunto de código gerado, sendo que a maior parte são ainda assim includes standard. Montes deles.

Apresento-te o problema: há quem crie funções Z suas e as coloque em grupos de função que contêm vistas de manutenção. É verdade. Há quem o faça.

Gosto do LIKE

images/thumbnail.jpg - Thumbnail

Nos maus velhos tempos em que o ABAP era ainda mais antiquado do que é hoje, as declarações de variáveis eram quase todas feitas com LIKE e referenciadas a campos de tabelas:

DATA: V_KUNNR LIKE KNA1-KUNNR.

Com muitos campos evita INTO CORRESPONDING FIELDS

images/thumbnail.jpg - Thumbnail

Já avisei aqui que, em tabelas com muitos campos, é sempre de evitar fazer SELECT *, devendo-se sempre seleccionar explicitamente apenas os campos necessários.

Mas não avisei ainda que há ainda outra optimização que merece ser feita: evitar o INTO CORRESPONDING FIELDS OF TABLE.

Curso grátis da SAP sobre HANA

images/thumbnail.jpg - Thumbnail

A SAP começou a semana passada a dar um curso grátis sobre HANA. Corram!

QUICKINFO: dica sobre como dar dicas

images/thumbnail.jpg - Thumbnail

Esta dica vem, no meu entender, uns anos tarde demais, visto ser já raro usar o comando WRITE para escrever directamente coisas para o ecrã. É, portanto, digamos assim, uma dica retro. Uma dica vintage. Mas vamos supor que estamos ainda no século XX a debater-nos com o comando mais barroco do ABAP, o WRITE. Imagina-te então, sentado à frente do SAP, a ouvir Pearl Jam, com uns auscultadores de cor preta, e a escrever WRITEs de uma série de valores no ecrã sobre os quais gostavas que o utilizador pudesse ter mais informação.