Categoria > Artigos
Patrocinado por
Patrocinado por Inetum

Roubar o conteúdo de uma SALV

images/thumbnail.jpg - Thumbnail
Um amigo de um amigo de um amigo disse que um amigo dele conhecia um amigo que, num bar de alterne ali nas docas, lhe explicou como roubar os dados a uma SALV.

Já usaste expressões regulares?

images/thumbnail.jpg - Thumbnail
As expressões regulares já existem há que tempos. Mas ainda são muito pouco conhecidas e ainda menos usadas. São uma espécie de linguagem descritiva que permite efectuar pesquisas e substituições muito sofisticadas em cadeias alfa-numéricas.

Lê código da net e executa-o

images/thumbnail.jpg - Thumbnail
Este artigo é um dois em um. Ou seja, vais aprender duas coisas de uma só vez. Mas prepara-te, o que vais aprender é dinamite e, nas mãos erradas, pode fazer implodir o teu universo. Primeiro vais aprender a ir ler conteúdo à net. E logo a seguir, assumindo que esse conteúdo é código ABAP, aprendes de rajada a executá-lo.

Com muitos campos evita INTO CORRESPONDING FIELDS

images/thumbnail.jpg - Thumbnail
Já avisei aqui que, em tabelas com muitos campos, é sempre de evitar fazer SELECT *, devendo-se sempre seleccionar explicitamente apenas os campos necessários. Mas não avisei ainda que há ainda outra optimização que merece ser feita: evitar o INTO CORRESPONDING FIELDS OF TABLE.

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.

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.

Olha pai, agora sem mãos

images/thumbnail.jpg - Thumbnail
Neste artigo vou mostrar-te (e explicar-te!) como podes fazer com que um ecrã de selecção de um programa se refresque periodicamente sem intervenção do utilizador. Estás preparado?

Finalmente o ABAP sabe Excel

images/thumbnail.jpg - Thumbnail
Há várias formas de criar um Excel em ABAP. Umas mais masoquistas, outras menos masoquistas; umas mais foleiras, outras menos foleiras.

Mete variáveis dentro de textos standard

images/thumbnail.jpg - Thumbnail
Textos standard toda a gente usa. Mas sabias que os textos standard podem ter campos dinâmicos lá pelo meio? A SAP chama-lhes “símbolos de texto”. A forma de o conseguir é igual à dos velhos formulários da nefasta SE71, ou seja, envolvendo-os com o símbolo &. Assim: &KNA1-NAME1;&. Dá um jeitão. Vou mostrar-te como se faz.

Pesquisar por atributos de objectos em tabelas internas

images/thumbnail.jpg - Thumbnail
Há cada vez mais objectos em ABAP, cada vez menos medo deles e, vê só!, cada vez mais gente a escrevê-los e a usá-los. Ora, se começam a aparecer objectos por todo o lado, é normal e desejável que comecem a enfiá-los também dentro de tabelas internas. Também eu guardei há uns tempos um monte de objectos dentro de tabelas mas infelizmente na altura não sabia disto que vou ensinar aqui. Tinha-me dado jeito. Mas afinal o que vou eu ensinar aqui?

Implementar métodos privados em BADIs

images/thumbnail.jpg - Thumbnail
Há uns tempos tive uma ideia meio estrambólica meio fantástica que hoje decidi partilhar aqui: criar métodos privados nas classes das BADIs. Passo a explicar.

Como sabotar tabelas

images/thumbnail.jpg - Thumbnail
Mais um artigo em auxílio dos que buscam a subversão subreptícia. Espiões, reparem como editar uma tabela que não pode (e provavelmente não deve) ser editada. Apresento-vos 3 técnicas. A primeira já caducou há anos, a segunda está em vias de caducar e a terceira vamos ver quando caducará.

Enviar relatório ou ordem de spool por e-mail

images/thumbnail.jpg - Thumbnail
Este post inaugura uma nova categoria no Abapinho: Código. Os posts desta categoria apresentarão programas úteis prontos a correr. Este serve para enviar por e-mail o resultado de qualquer relatório ou ordem de spool. O programa apresentado faz uso da nova BCS (Business Communication Services) através da classe CL_BCS em vez do velho e cansado SO_DOCUMENT_SEND_API1, paz à sua alma. O conteúdo pode ser enviado no corpo do email, como um anexo TXT ou como um anexo HTML, sendo que este último até vai com as cores todas certinhas e tudo. Disfruta-o. Copia-o cegamente e usa-o ou disseca-o e aprende como usar a CL_BCS. Pelo meio, se te apetecer, ainda podes aprender como usar classes locais e como usar classes de excepção.

Automatizar catálogo de campos de ALV

images/thumbnail.jpg - Thumbnail
Às vezes pergunto-me qual será, no mundo, a percentagem de código ABAP desnecessário. Um exemplo paradigmático de como se pode desperdiçar tempo a escrever código que não serve para nada e só prejudica é a tão frequente definição das descrições dos campos de uma ALV directamente em ABAP.

As funções *_SINGLE_READ

images/thumbnail.jpg - Thumbnail
Quando se quer obter um único registo de uma tabela da base de dados é costume usar-se o SELECT SINGLE que, como toda a gente sabe, na sua forma mais básica reza assim: SELECT SINGLE * FROM KNA1 WHERE KUNNR = '1234567890'.