Categoria > Dicas
Patrocinado por
Patrocinado por Inetum

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.

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:

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.

Belos diagramas de relações de tabelas

images/thumbnail.jpg - Thumbnail

O Rui Dias mostrou-me um site onde podes ver as relações que qualquer tabela standard tem com as outras. Por exemplo para a T012. E se experimentares com a KNA1 é ainda mais giro. Gostas? Eu gosto. Obrigado Rui Dias. O Abapinho saúda-vos.

Atalho para o campo da transacção

images/thumbnail.jpg - Thumbnail

Estás tu escrevendo furiosamente pelo SAP adentro qualquer quando de repente precisas de ir lá acima ao campo da transacção escrever /OS37 ou algo assim. Mas escreves com tanto tanto tanto fervor que a simples ideia de largar o teclado por um momento para ir com a mão ao rato te parece catastrófica. Então, em vez disso, carregas em 3 teclas: CTRL-SHIFT-7. Obrigado a Renato Sousa pela dica. O Abapinho saúda-vos.

Cria sessões com o teclado

images/thumbnail.jpg - Thumbnail

Queres criar uma nova sessão e roubaram-te o rato. Não faz mal. Carregas no CTRL e na tecla + e vais ver uma nova sessão a aparecer. Obrigado Renato Sousa pela dica. E obrigado a freeimageslive / gratuit pela foto. O Abapinho saúda-vos.

Narcisismo digital

images/thumbnail.jpg - Thumbnail

Chama-se reflexão à capacidade de um programa se ver a si próprio. O ABAP tem uma série de capacidades reflexivas como o RTTS ou a capacidade de gerar código dinamicamente. Além disso há mais umas funções assim e assado que fazem isto e aquilo. Hoje apresento-vos uma delas:

GET_GLOBAL_SYMBOLS

Bom programa para encontrar user-exits

images/thumbnail.jpg - Thumbnail

Volta não volta lá andamos nós à procura de user-exits e BADIs, BTEs e quejandos. A SAP não ajuda. Mas vão aparecendo aqui e ali programas, quase sempre chamados Z_USEREXIT, que dão uma ajuda nessa ingrata busca. Pois recentemente fiquei a saber de mais um. Partilho-o aqui porque é o melhor que vi até hoje: https://wiki.sdn.sap.com/wiki/display/Snippets/Find+User-exits,+BADIs,+BTEs,+Etc+by+TCode+or+Program Obrigado Bruno Esperança pela dica. E obrigado a rverscha pela foto. O Abapinho saúda-vos.

Classe para converter STRINGs

images/thumbnail.jpg - Thumbnail

Sabes como às vezes tens uma variável do tipo STRING e precisas de a enviar para uma função que precisa dela no tipo SOLIX? Acontece-me frequentemente. Pois descobri esta classe óptima que permite converter strings entre os mais variados formatos:

CL_BCS_CONVERT

Salta a parede

images/thumbnail.jpg - Thumbnail

Baixa a música. Fecha a porta. Olha à volta. Está alguém a olhar para ti? Não estás a ser observado? Nem câmaras de vigilância? Então, podemos continuar.