Patrocinado por
Patrocinado por Inetum

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.

INSERT e APPEND com ASSIGNING FIELD-SYMBOL

images/thumbnail.jpg - Thumbnail
A verdade nua e crua, custe o que custar, é que as estruturas estão fora de moda. Agora o que está em voga é FIELD-SYMBOLS. Quando fazes um LOOP a uma tabela interna, claro que também usas ASSIGNING FIELD-SYMBOL em vez de INTO estrutura, não é? Mas o que me lixava era o APPEND e o INSERT. Ainda não sabia como evitar usar uma estrutura para adicionar registos.

Ninguém liga ao LISTBOX

images/thumbnail.jpg - Thumbnail
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ê. Caro leitor, proponho que atentes nas suas vantagens:

Entrevista a Mauricio Roberto Cruz do ABAPZombie

images/thumbnail.jpg - Thumbnail
Depois de o site irmão ABAPZombie (grande site brasileiro sobre ABAP) me ter entrevistado há uns meses atrás, aqui fica finalmente a minha vingança Zômbica. Entrevistar o Mauricio foi muito simples porque as perguntas que me fizeram são tão boas que resolvi virá-las contra o feiticeiro (Mauricio, espero que não leves a mal ter-tas usurpado!). As suas óptimas respostas ajudarão certamente os leitores portugueses a terem uma ideia de como funciona o mercado ABAP lá no Brasil:

SAPagaio

images/thumbnail.jpg - Thumbnail
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 'SAPI.SpVoice'. texto = 'Olá eu sou o SAP e falo português com sotaque estrangeiro'. CALL METHOD OF voz 'Speak' = ole EXPORTING #1 = texto. Nota: o papagaio ficou de fora na foto, só apanharam a arara com que ele estava a conversar :)

É a sério ou a brincar?

images/thumbnail.jpg - Thumbnail
Há coisas que só podem mesmo acontecer em produtivo. Outras há que muito pelo contrário

Se ainda não usas ABAP Objects és mariquinhas pé-de-salsa

images/thumbnail.jpg - Thumbnail
A SAP tem um livro chamado Official ABAP Programming Guidelines que descreve regras e boas práticas de como programar em ABAP. E lá diz assim (dizia em estrangeiro, eu traduzi): Pág. 42: Regra 3.1: Usa ABAP Objects sempre que possível para novos desenvolvimentos. Só podes criar blocos de processamento clássicos em casos excepcionais. Pág. 45: Num bloco de processamento clássico, deverás delegar imediatamente a execução para um método apropriado (ver Regra 6.