"
Categoria > Dicas
Apoiado por

Classe para garantir segurança em programação dinâmica

No outro dia encontrei um programa que gerava um comando SQL com base em várias variáveis fixadas no código. Mas, por distracção ou ignorância, a alminha que fez aquilo achou que fazia sentido associar essas variáveis a símbolos de texto. Algo assim:

Ler o resto do artigo! »

Relatório de consistência da SALV

Às vezes uma SALV pode ter inconsistências que passam despercebidas a quem as programa. Um exemplo é uma estrutura com um campo WRBTR sem um campo de moeda associado:

Ler o resto do artigo! »

Entra numa transacção sem passar pelo ecrã de selecção

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:

  1. Entras no ecrã de selecção da transacção escrevendo lá em cima /NXD03
  2. Introduzes o número do cliente que queres visualizar e carregas em ENTER
  3. Fazes lá o que tens a fazer e depois sais da transacção
  4. Mas… de repente… precisas de ver mais qualquer coisa desse cliente
  5. Em vez de /NXD03 fazes /*XD03
  6. Como que por magia apareces dentro da transacção já mostrando os detalhes do último cliente

É extraordinário como até hoje nunca ninguém me falou nisto.

Também já experimentei na FB03 por isso deve funcionar numa boa parte das transacções funcionais. Infelizmente já constatei que não funciona na que uso mais: SE24, SE38 e SE11. Pena.

Ide e espalhai a notícia!

Obrigado Sérgio Fraga pela dica.

Foto: Leonard J Matthews.

O Abapinho saúda-vos.

Copiar variante do Code Inspector para outro sistema

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.

Trigo limpo, farinha amparo.

Obrigado Lars por teres feito esta singela mas útil ferramenta. Aliás, obrigado pelas dúzias de de ferramentas úteis que já ofereceste à comunidade. São notáveis.

O Abapinho saúda-vos.

Pasta física vs pasta lógica

Se num relatório chamado APP1 precisares de gravar um ficheiro numa determinada pasta do servidor (ex.: /export/app1/) e não quiseres que esta pasta seja um parâmetro, como fazes?

Ler o resto do artigo! »

Fechar automaticamente as portas que tu abres

Estas no editor. Introduzes um ( ou [ ou { ou ‘ 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.

Obrigado Sérgio Fraga pela dica.

O Abapinho saúda-vos.

O estranho caso da estrutura parcialmente protegida

Estava a tentar actualizar uma linha de uma SORTED TABLE e não estava a conseguir.

Ler o resto do artigo! »

Passei-me ao passar o SY-TABIX por parâmetro

No outro dia aconteceu-me uma coisa muito estranha. Estava eu a passar o SY-TABIX como parâmetro para dentro de um método quando reparei que cá fora era 1 mas quando lá chegava dentro era 0.

Muitíssimo bizarro.


o_coisificador->que_coisa_bizarra( sy-tabix ).

Ler o resto do artigo! »

Converte classe de excepção numa BAPIRET2

Há uns tempos escrevi um artigo a explicar uma forma de converter automaticamente excepções clássicas em classes de excepção. Hoje uso esta técnica em quase todas as classes de excepção que crio (e até já melhorei a coisa mas noutro dia falo disso).

Esta dica explica exactamente o contrário.

Ler o resto do artigo! »

Comparar versões ignorando as indentações

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 > Settings” e adaptá-lo às tuas necessidades:

diff

De nada ;)

O Abapinho saúda-vos.

Usa o GUI Status Standard sem o copiares

Quando queres usar a CL_GUI_ALV_GRID num CONTAINER tens de copiar um GUI Status standard de outro programa. Por exemplo o GUI Status “STANDARD” do grupo de funções SALV. E depois no PAI do ecrã chamas:

SET PF-STATUS ‘STANDARD’.

E lá aparecem os butõezinhos.

Ler o resto do artigo! »

Cria modelos na SE80 arrastando coisas para o código

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.

Conheço 3 formas de o fazer.

Ler o resto do artigo! »

Campos chave de estrutura DDIC

Hoje em dia quando quero criar uma SALV defino sempre a estrutura dos dados no DDIC já com os elementos de dados com as descrições desejadas em vez de os forçar no código.

Ler o resto do artigo! »

Encontra tudo de uma só vez

O editor de ABAP tem sempre coisas novas para descobrir.

Quando faço CTRL-F para pesquisar texto a opção que costumo usar é a “Continuar proc…” (traduções…).

Ler o resto do artigo! »

As APPEND STRUCTUREs fazem mais do que eu pensava

Toda a minha vida ABAPiana usei APPEND STRUCTURES para adicionar campos extra a tabelas standard.

Mas aprendi recentemente que afinal servem para mais duas coisas:

Ler o resto do artigo! »


Acerca do Abapinho
O Abapinho é suportado pelo WordPress
Artigos (RSS) e Comentários (RSS).