"
Apoiado por

Usa o GUI Status Standard sem o copiares

alv_gui_status

Quando queres usar a CL_GUI_ALV_GRID num CONTAINER tens de copiar um GUI Status standard de outro programa. Por exemplo o GUI Status “STANDARD” do grupo de funções SALV. E depois no PAI do ecrã chamas:

SET PF-STATUS ‘STANDARD’.

E lá aparecem os butõezinhos.

Ler o resto do artigo! »

Provérbio ABAP

calendar

Não deixes para amanhã o que podes fazer SY-DATUM.

Cria modelos na SE80 arrastando coisas para o código

drag_tug_of_war

Quando estamos a programar é sempre bom ter formas de acelerar o que estamos a fazer. Uma delas é a geração automática de de padrões de chamadas de métodos e afins.

Conheço 3 formas de o fazer.

Ler o resto do artigo! »

$PACOTES locais

prenda

Todos os objectos criados em SAP têm de estar associados a um pacote.

Até recentemente, quando eu queria fazer um teste rápido criava o objecto no pacote $TMP. Tinha assim a garantia de este nunca viria a ser transportado.

Mas por vezes há necessidade de criar coisas no sistema de desenvolvimento que não pretendemos nunca vir a transportar mas que queremos que lá existam eternamente. Como o ZSAPLINK e o abapGit, por exemplo. Mas se as associarmos todas as pacote $TMP fica uma valente confusão.

Ler o resto do artigo! »

Campos chave de estrutura DDIC

chave

Hoje em dia quando quero criar uma SALV defino sempre a estrutura dos dados no DDIC já com os elementos de dados com as descrições desejadas em vez de os forçar no código.

Ler o resto do artigo! »

Encontra tudo de uma só vez

sherlock

O editor de ABAP tem sempre coisas novas para descobrir.

Quando faço CTRL-F para pesquisar texto a opção que costumo usar é a “Continuar proc…” (traduções…).

Ler o resto do artigo! »

As APPEND STRUCTUREs fazem mais do que eu pensava

cerejanotopodobolo

Toda a minha vida ABAPiana usei APPEND STRUCTURES para adicionar campos extra a tabelas standard.

Mas aprendi recentemente que afinal servem para mais duas coisas:

Ler o resto do artigo! »

INSERT wa INTO itbl REFERENCE INTO ref. Bug?

dedos-michelangelo

Tenho usado cada vez mais referências em ABAP. Primeiro usava REF TO só para classes mas agora vou percebendo as vantagens de as usar também para estruturas de dados.

Recentemente descobri um comportamento muito lamentável do seguinte comando:


INSERT wa INTO itbl REFERENCE INTO ref.

Mas antes de me queixar sobre isso, dou um bocado de contexto.

Ler o resto do artigo! »

Devíamos ser responsabilizados pela merda que fazemos

bart_prisao

Se, ao construir uma ponte, um engenheiro civil fizer mal as contas a ponte cai. Mas não é só a ponte que cai. Esse engenheiro civil provavelmente também cai. Ou pelo menos desequilibra-se. Porque quando fez o projecto da ponte assinou-o, assumindo responsabilidade pelo que fez.

Nós os programadores ABAP não temos esses problemas.

Ler o resto do artigo! »

Pesquisa métodos, atributos, tipos, eventos, etc

Sabes que há uns anos atrás fizeste um método qualquer cujo nome tinha a palavra MALMEQUER. Mas, e agora? Como é que o encontras?

Poderias usar a transacção SE24 para pesquisar uma a uma todas as classes alteradas por ti. Mas eras capaz de demorar algum tempo. Não faças isso.

Experimenta antes usar a transacção SE84:

Transacção SE84

Mais uma forma de ver os parâmetros de um método

diccionario

Imagina que queres chamar um método mas não sabem quais os seus parâmetros. O que fazes?

Dantes tinhas de usar o pattern ou então abrir a classe numa janela ao lado para ver os parametros do método. Depois apareceu o auto-complete e tornou tudo mais simples.

Mas há ainda outra forma.

Ler o resto do artigo! »

ABAP Code PushDown em HANA

servers

[Artigo por Artur Moreira]

A SAP introduziu a partir da versão 7.4 do ABAP o conceito de Code PushDown, que significa utilizar mais a base de dados para cálculos (agregação de dados, somas e vários cálculos prévios).

Ler o resto do artigo! »

Pesquisa incremental

holmes

Quando quero procurar uma determinada palavra num programa ABAP normalmente uso a função de pesquisa carregando em CTRL-F. E depois vou carregando em NEXT para ir encontrando as várias ocorrências da palavra que procuro.

Mas há outra forma. E não é melhor nem pior. É simplesmente diferente: a pesquisa incremental.

Ler o resto do artigo! »

Passar tabelas internas por valor é bom

panama

Quando um método devolve um valor como RETURNING este é sempre passado por valor e não por referência. Muitas vezes faço métodos que devolvem tabelas internas, algumas bastante grandes. Mas sempre me preocupou a ideia de que, como está a ser devolvida por valor, o ABAP devolva uma cópia da tabela interna, algo que pode ter impacto na performance e na memória que o programa gasta.

Felizmente fiquei recentemente a saber que não é assim.

Ler o resto do artigo! »

INSERT dbtab ACCEPTING DUPLICATE KEYS

pronghorn-twins

Quando tentas inserir um registo numa tabela que já tenha outro registo com a mesma chave primária o programa faz dump. O que em alguns casos é uma chatice porque, mesmo que te estejas nas tintas, te obriga a verificar antecipadamente se aqueles chaves já existem na tabela.

Mas o ABAP prevê esses casos e dá-te uma solução:



INSERT dbtab FROM TABLE itab [ACCEPTING DUPLICATE KEYS].

Não te preocupes que quando acrescentas o ACCEPTING DUPLICATE KEYS não violas a primeira lei da termodinâmica: os registos não são inseridos. A única diferença é que o programa não faz dump. O que pode dar jeito nos casos em que não estás preocupado com o que estás a inserir.

O Abapinho saúda-vos.


Acerca do Abapinho
O Abapinho é suportado pelo WordPress
Artigos (RSS) e Comentários (RSS).