Categoria > Dicas
Patrocinado por
Patrocinado por Inetum

Mergulhando no Caos com as classes CL_ABAP_RANDOM*

images/thumbnail.jpg - Thumbnail

Os programas ABAP são todos demasiado bem comportados; demasiado previsíveis.

Enquanto demiúrgos, temos a obrigação moral de lhes dar um pouco de livre arbítrio, dar-lhes a cheirar o caos, mostrar-lhes as árvores da vida e do conhecimento e, num passe de kenosis , deixá-los à vontade para trincarem a maçã. Só assim nos sentiremos completos e realizados; só assim poderemos descansar ao sétimo dia.

E para isso, nada como os números aleatórios.

Parâmetros complexos em funções remotas

images/thumbnail.jpg - Thumbnail

As chamadas a funções remotas (por RFC) não suportam parâmetros com estruturas complexas ( deep structures ). Por outras palavras, se algum dos parâmetros tiver uma estrutura em que um dos seus campos seja outra estrutura ou uma tabela interna, azar, não dá.

Desistes? Não desistas. O Abapinho dá-te a solução: serialização.

F1 nos campos do ecrã de selecção

images/thumbnail.jpg - Thumbnail

Acabaste de fazer um belíssimo relatório encabeçado por um ecrã de selecção atafulhado de campos muito interessantes. Mas o mais normal é que, se tiver alguma complexidade, quem correr o teu relatório não saiba para que serve cada um dos campos. Para isso há, claro, as especificações técnica e funcional. Há? E mesmo que haja, não seria mais simples se ela pudesse fazer F1 em cima de cada campo e logo ali aprender para que serve?

Vou mostrar-te duas formas possíveis de dares informação individualizada sobre os campos de um ecrã de selecção.

Saltando alegremente de linha em linha

images/thumbnail.jpg - Thumbnail

No canto inferior direito do editor ABAP, na linha de status, diz qual é a linha e coluna em que o cursor se encontra. Se fizeres duplo-clique em cima dessa informação aparece-te uma janela de diálogo onde podes introduzir um número de linha para saltar directamente para lá. O atalho de teclado é CTRL-O. Dá muito jeito. Obrigado Fábio Branquinho pela dica. E obrigado a juandesant pela foto. O Abapinho saúda-vos.

Pesquisar em menus

images/thumbnail.jpg - Thumbnail

Sabias que podes pesquisar nos menus SAP? Provavelmente sim. Mas olha, eu não. Passei anos a perscrutar o menu S000 em busca das mais variadas coisas. Estou certo de que se tivesse feito uma pesquisa teria encontrado muitas delas num instante. Às vezes uma pessoa não se lembra do óbvio. Se és essa pessoa, esta dica é para ti. Obrigado Sérgio Fraga pela dica. O Abapinho saúda-vos.

Ponto e vírgula ou vírgula e ponto?

images/thumbnail.jpg - Thumbnail

Há números com pontos, há números com vírgulas e há números com pontos e vírgulas. O problema é que também há números com vírgulas e pontos. É que há vírgulas que são pontos e há pontos que são vírgulas, conforme a tua terra, ou seja, conforme as configurações do teu utilizador. Quando se importa um ficheiro com números decimais, há que converter esses números do seu campo alfa-numérico em campos numéricos.

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: