Categoria > Dicas
Patrocinado por
Patrocinado por Inetum

Mais RANGEs, menos SELECTs

images/thumbnail.jpg - Thumbnail

O dicionário diz o seguinte do verbete “estilo”: “conjunto de aspectos formais e recursos expressivos que caracterizam um texto”. Dá mais gosto ler textos com estilo do que textos sem estilo. Se o ABAP é uma linguagem, um programa em ABAP é um texto. Há programas que, no que toca ao estilo, parecem escritos com os pés; enquanto há outros que se poderia jurar que a pena que os escreveu deixou-se guiar pelas alvas mãos de uma qualquer donzela do século XVIII afligida por males de amor. Felizmente penso que não é possível escrever programas em ABAP tão pirosos quanto esta última frase. Aqui no Abapinho usa-se a etiqueta “estilo” para identificar artigos que falam sobre isso mesmo: estilo. Estes artigos tentam encontrar formas de melhorar o estilo dos programas ABAP. Esta é uma das etiquetas favoritas do Abapinho como podes ver aqui. E isto que estás a ler é mais um desses artigos. Adiante.

Barra Ó

images/thumbnail.jpg - Thumbnail

Durante toda a minha vida SAPica usei o comando /olalala para iniciar a transacção lalala numa nova janela. Mas nunca tinha experimentado escrever só /o. Experimentei. E o que aconteceu foi interessante: Ou seja, é o mesmo que ia à SM04 e depois escolher o nosso utilizador. Mas muito mais prático. O Abapinho saúda-vos.

Constantes gregárias

images/thumbnail.jpg - Thumbnail

Se és daqueles que, em vez de usarem constantes, espetam com os valores directamente no código, então pára de ler isto e vai ali para o canto de castigo durante 1 hora que é para aprenderes a não ser mandrião. Quando voltares podes continuar a ler.

A sua password expirou. Mude-a 5 vezes.

images/thumbnail.jpg - Thumbnail

Não é incomum criarmos uma relação emocional com as nossas passwords. Por isso, é sempre com alguma dor que se recebe aqueles abjectos avisos ameaçadores que dizem que “a sua password vai expirar”. Brevemente seguidos pelo duro golpe que recebemos no coração quando surge a inevitável ignóbil invectiva que diz que “a sua password expirou”. Nesses momentos a mágoa é tanta que todas as musas nos abandonam, temos uma cãibra na imaginação e ficamos ali, especados, esquecidos, esvaziados de qualquer ideia que nos ajude a escolher a nossa próxima palavra-chave.

Atender o cliente ou aviar o freguês?

images/thumbnail.jpg - Thumbnail

Em todo o lado onde se use o elemento de dados KUNNR, a sua descrição diz “Cliente”. E se quiseres mudar a descrição deste campo de “Cliente” para “Freguês”? “Freguês” é tão mais bonito! Ou imagina que a empresa para quem trabalhas trafica droga e te diz que gostava que no LIFNR aparecesse “Dealer” em vez de “Fornecedor”. Claro que nos ecrãs e relatórios Z podemos descrevê-lo como quisermos mas… e nas transacções standard?

Mete botões no ecrã de selecção

images/thumbnail.jpg - Thumbnail

Quando num relatório é preciso criar botões para os utilizadores carregarem, normalmente recorre-se ao Screen Painter para criar um ecrã que depois é invocado pelo report com CALL SCREEN. Mas, a não ser que o ecrã a desenhar tenha já alguma complexidade, não é preciso apanhar a valente seca de fazer um ecrã que depois fica para lá. Ecrãs sempre me irritaram. Mostro aquí um exemplo de utilização de botões num normalíssimo ecrã de selecção recorrendo a um botão chamado PUSHBUTTON e a um truque muito esperto chamado ONLI.

Atafulha o ecrã de selecção de bonecada

images/thumbnail.jpg - Thumbnail

Foi o SAP que nasceu tristonho ou são os SAPeiros que não o alegram? É verdade que o SAPGui não é nenhum arco-íris nem inspira felicidade ao olhar para ele. Mas ainda assim põe uma catrefada de bonequinhos ao nosso dispôr que podemos usar para o tornar nem que seja um pouquinho mais animado. E vê como é tão fácil.

Ó Tempo Volta Para Trás

images/thumbnail.jpg - Thumbnail

“Ó tempo volta para trás Dá-me tudo o que eu perdi Tem pena e dá-me a vida A vida que eu já vivi Ò tempo volta p’ra trás Mata as minhas esperanças vãs Vê que até o próprio sol Volta todas as manhãs” - António Mourão Ó Tony, é para já. Vou mostrar-te como podes voltar atrás no tempo.

F1 + F9 = Informações técnicas

images/thumbnail.jpg - Thumbnail

Amiúde sinto necessidade de, num ecrã funcional, ver as informações técnicas de um determinado campo. Coloco o cursor sobre o campo desejado, depois carrego em F1 e aparece um ecrã de diálogo com ajuda sobre esse campo. A seguir carrego no botão que diz “informações técnicas”. Mas há uma forma rápida de fazer o mesmo recorrendo apenas ao teclado. É que há dois modos possíveis para o F1 mostrar ajuda de um campo:

Quando a tabela interna não é estruturada

images/thumbnail.jpg - Thumbnail

Quando queres seleccionar linhas numa tabela interna normalmente fazes algo assim: DATA: BEGIN OF itbl, campo1 TYPE c, campo2 TYPE c, END OF itbl. READ TABLE itbl WITH KEY campo1 = 'X' campo2 = 'Y'. LOOP AT itbl WHERE campo1 = 'X' and campo2 = 'Y'. COISO. ENDLOOP. Mas, e se a tabela não for estruturada e quiseres pesquisar na linha como um todo? Bem, nesse caso, fica aqui a dica: usas a palavra especial TABLE_LINE :

Cria variantes de teste em funções a partir do debugger

images/thumbnail.jpg - Thumbnail

Imagina que estás a fazer debug de uma transacção e entras numa função e encontras algo interessante. Tão interessante que tens de lhe fazer debug várias vezes. A via convencional é tornar a iniciar o debug da transacção desde o início. Que seca. Mas há uma via mais directa. Quando estás a fazer debug de uma função podes, directamente a partir do debugger, criar dados de teste para essa função com os valores com que a função tiver sido chamada nessa instância. É assim:

O histórico do SAPGui não funciona ainda que activo?

images/thumbnail.jpg - Thumbnail

Já te aconteceu o SAPGui não guardar um histórico dos valores que vais introduzindo nos vários campos ainda que, nas configurações, a opção de Histórico esteja activa?

A SE80 tem favoritos

images/thumbnail.jpg - Thumbnail

Na transacção SE80 há de tudo. Parece aquelas mercearias de aldeia atafulhadas de tralha onde se compra pasta de dentes, pão, sandálias, perfume e arroz a granel. Eu gosto dessas mercearias. Mas para lá ir é preciso saber ao que se vai, senão anda-se ao tio ao tio. Mas isso é nesses mercearias, porque na SE80… há favoritos. Pois é. Só soube há uns dias que a transacção SE80 tem a capacidade de guardar favoritos.

Se um desconhecido te oferecer valores, isso é Input

images/thumbnail.jpg - Thumbnail

Num relatório, os valores são normalmente pedidos ao utilizador no ecrã de selecção inicial, antes da execução do programa. Mas e se quiseres pedir-lhe mais alguns valores, interactivamente, a meio da execução do programa? Uma forma de o fazer é criar um ecrã com os campos desejados e depois invocá-lo com CALL SCREEN. Mas desenhar o ecrã e definir o PAI e o PBO é uma valente maçada. Outra solução é recorrer às funções POPUP_GET_VALUES ou POPUP_GET_VALUES_DB_CHECKED.

Ecrãs de selecção com abas

images/thumbnail.jpg - Thumbnail

Os ecrãs de selecção dos programas ABAP têm várias funcionalidades que, embora sofisticadas e simples de usar, são geralmente ignoradas. Aqui mostrar-te-ei quão simples é criar abas para melhor organizar os parâmetros de um programa. Desta vez, excepcionalmente, vou poupar-te à verborreia. É uma aula prática.