Usa Python para reescrever código ABAP

images/thumbnail.jpg - Thumbnail

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 find and replace. Nesses casos o mais normal é acabar por fazer tudo à mão.

Cortar e inserir rapidamente

images/thumbnail.jpg - Thumbnail

Lá aprendi mais uma pequena funcionalidade obscura do SAPGui. Como acelerar o corte e costura.

Atalho para gravar lista em ficheiro local

images/thumbnail.jpg - Thumbnail

O SAP está replecto de recantos refundidos e rebuscados raramente reconhecidos que o Abapinho se regozija por revelar.

O comando %pc é equivalente à opção de menu Sistema/Lista/Gravar/File local:

Abracadabra revela parâmetro secreto

images/thumbnail.jpg - Thumbnail

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 'ABRACADABRA'.
      unhide_parameters = abap_true.
    WHEN 'NORMAL'.
      CLEAR unhide_parameters.
  ENDCASE.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-name = 'P_DEBUG' AND unhide_parameters IS INITIAL.
      screen-active = 0.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

Quando estiveres no ecrã de selecção basta escreveres ABRACADABRA no campo de comandos e o teu parâmetro secreto aparece magicamente. Se for preciso depois podes escrever NORMAL e ele torna a desaparecer.

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

images/thumbnail.jpg - Thumbnail

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

Copiar variante do Code Inspector para outro sistema

images/thumbnail.jpg - Thumbnail

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.

Fechar automaticamente as portas que tu abres

images/thumbnail.jpg - Thumbnail

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.

image

Mais valia que isto viesse activado de raiz.

Comparar versões ignorando as indentações

images/thumbnail.jpg - Thumbnail

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:

Cria modelos na SE80 arrastando coisas para o código

images/thumbnail.jpg - Thumbnail

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.

Encontra tudo de uma só vez

images/thumbnail.jpg - Thumbnail

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.