Patrocinado por
Patrocinado por Inetum

R3TR vs LIMU

images/thumbnail.jpg - Thumbnail

Espatifaste o sistema produtivo: fizeste uma alteração a um método de uma classe (ou a uma função, vá). Outra pessoa faz outra alteração a outro método da mesma classe (ou a outra função do mesmo grupo de funções, vá) e grava-a num transporte diferente. Quando transportas as tuas alterações para produtivo descobres que a classe (ou função, vá) agora tem um erro de sintaxe porque as alterações tinham dependências. Descobres também que agora, e até resolveres este problema, todos os teus colegas funcionais te odeiam.

Finalmente encadeiam-se expressões

images/thumbnail.jpg - Thumbnail

Finalmente, com o SAP NetWeaver 7.0 Enhancement Package 2 o ABAP começa a parecer-se com uma linguagem de programação normal.

Até já dá para encadear expressões, vê lá tu!

Decimais para alfa-numéricos sem depender do utilizador

images/thumbnail.jpg - Thumbnail

Ao ler um ficheiro com valores numéricos para uma tabela interna ou vice-versa, o sucesso da conversão destes depende de o utilizador tem definido o ponto ou a vírgula como separador decimal. É costume ir então ler a configuração do utilizador e depois, adaptar os valores vindos do ficheiro com ponto ou vírgula conforme.

Mas isto é lamentável e pouco elegante. Devia haver uma forma de não fazer a coisa depender do utilizador.

E há.

SORTED em vez de STANDARD nas tabelas de cache

images/thumbnail.jpg - Thumbnail

Há bastante tempo atrás escrevi aqui um artigo demonstrando as vantagens de usar tabelas internas com índices definidos em vez de simples tabelas STANDARD. Confissão: é tal o hábito instalado que desde então, quase todas as tabelas internas que criei continuaram a ser STANDARD TABLE. É muito frequente criar tabelas internas para fazer cache de dados que sei que vou utilizar amiúde dentro de LOOPs para evitar fazer SELECT SINGLEs lá pelo meio.

Partilhar constantes entre várias classes

images/thumbnail.jpg - Thumbnail

Imagina que tens uma manada de classes relacionadas as quais partilham entre elas uma manada de constantes. Dizendo a mesma coisa de outra forma, gostavas que todas as classes da manada tivessem acesso de forma simples à manada de constantes.

(Se estás baralhado, fica sabendo que a manada era só para baralhar)

Continuando.

SAP de aluguer

images/thumbnail.jpg - Thumbnail

Se precisas mesmo de aceder a um SAP e ninguém te deixa e não tens um computador onde o possas instalar ou não tens ciência ou paciência para o fazer, podes sempre alugar.

Alucinação às cores

images/thumbnail.jpg - Thumbnail

Isto não é um artigo. Isto quase nem é uma dica. Isto aproxima-se mais de um desabafo em tom de arco-iris.

Criar RANGEs no DDIC sem ficar com os dentes a ranger

images/thumbnail.jpg - Thumbnail

Cada vez uso mais RANGEs. Uso-os ao pequeno-almoço, ao almoço, ao jantar e fora das refeições. É como o molho de soja. Umas colheradas daquilo e fica logo tudo mais saboroso.

Bloquear dados em tabelas Z sem objecto de bloqueio

images/thumbnail.jpg - Thumbnail

Até há dois dias atrás, se eu precisasse de criar entradas de bloqueio numa tabela ZCOISO criada por mim iria à SE11 criar um objecto de bloqueio para a tabela ZCOISO para depois poder usar os módulos de função gerados pelo objecto de bloqueio para bloquear os dados.

Mas agora já não.

Nome do system SAP no título da janela

images/thumbnail.jpg - Thumbnail

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á é:

Bom rato

images/thumbnail.jpg - Thumbnail

Boa parte dos meus amigos quando compra um computador novo preocupa-se imenso com a velocidade do CPU e a velocidade do disco e a velocidade da memória e a velocidade do raio que os parta. E depois compra um rato de 1200$00 e um teclado de 1400$00. Ironia. Enquanto o CPU e o disco e a memória e o tal raio que os parta acabam quase sempre por ser bastante desperdiçados, o rato e o teclado são usados por inteiro durante a totalidade do tempo de utilização do computador.

Executa comandos no computador do utilizador

images/thumbnail.jpg - Thumbnail

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.

O SAPlink

images/thumbnail.jpg - Thumbnail

O SAPlink é um programa Z que se instala no ambiente de desenvolvimento e que permite importar e exportar os mais variados tipos de objectos do Workbench.

Olha aqui exemplos de como o SAPlink pode ser usado:

  • Transferir uma tabela de um sistema SAP para outro

  • Partilhar uma classe na Internet

  • Fazer um backup local de segurança de um conjunto de programas antes de fazer uma alteração perigosa

  • Guardar um desenvolvimento no nosso repositório pessoal (no Evernote, claro) para o caso de vir a precisar dele mais tarde noutro projecto

  • Etc.

Vantagens do LIKE LINE OF

images/thumbnail.jpg - Thumbnail

Partamos do princípio de que és uma pessoa com alguma dignidade e que por isso já não usas tabelas internas com HEADER LINE ;)

Posto isto, imaginemos que declaras uma tabela interna:

Manter grupos de autorização de manutenção de tabelas

images/thumbnail.jpg - Thumbnail

Há alguns projectos em que o grupo de autorizações associados à manutenção de tabelas é sempre &NC;&, ou seja, &N;ão cuidado&. É sinal de que lá é tudo amigo e ninguém faz mal a ninguém. Mas há outros projectos em que os grupos de autorização são levados a sério. O que não é sinónimo de dizer que estão organizados. A sério ou não, o normal é acabar tudo uma grande salgalhada onde ninguém sabe quem é que está autorizado a fazer o quê.

Esta dica talvez ajude.