"
Etiqueta > DDIC
Apoiado por

O estranho caso da estrutura parcialmente protegida

Estava a tentar actualizar uma linha de uma SORTED TABLE e não estava a conseguir.

Ler o resto do artigo! »

Campos chave de estrutura DDIC

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! »

As APPEND STRUCTUREs fazem mais do que eu pensava

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! »

Boas prácticas
Usarás sempre uma estrutura pré-definida nas ALVs

É comum encontrar as estruturas de dados das ALVs declaradas explicitamente no código. Quando isto é feito, o catálogo de campos tem de ser criado manualmente. Se em vez disso se usar uma estrutura pré-definida (do DDIC ou como TYPE), o catálogo de campos pode ser criado automaticamente. Esta abordagem é sempre melhor resultando em menos código, mesmo que o catálogo de campos tenha de ser reajustado aqui e ali.
https://abapinho.com/en/2011/12/automatizar-catalogo-alv/

Boas prácticas
Considerarás usar clusters SM34

Se um desenvolvimento necessitar de mais do que uma tabela de parametrização, considera agrupar as tuas vistas de manutenção num “cluster”. Assim será mais intuitivo mantê-las. Isto fará ainda mais sentido se umas dependerem de outras uma vez que na definição do “cluster” estas relações podem ser explicitadas.

Exemplo: Como encavalitar tabelas

Boas prácticas
Usarás uma tabela de constantes

Sempre que achares que um valor que estás a usar num programa pode mudar e não o puderes tornar um parâmetro de entrada ou do ecrã de seleccção, guarda-o numa tabela de constantes (ex: ZCONSTS). Esta tabela nunca deverá ser usada directamente. Em vez disso, cria uma classe ZCL_CONSTS que aceda a ela e usa sempre esta classe para obter as tuas constantes. Como é mostrado neste artigo:
https://abapinho.com/2009/06/constantes/

Não caias na tentação de usar a T900 ou outras tabelas do género para este propósito. É certo que muita gente faz isso. Mas é feio, sujo e essas tabelas nem sequer têm uma chave adequada porque não foram pensadas para isso.

Vista técnica da SE16N

Olá. Tudo bem? A vida? Flui? Esta dica é tão simples que mais vale conversarmos um bocado antes de eu a dizer senão nem dá para aquecer. Está sol. Choveu de manhã mas agora escampou.

Siga.

Sempre que vejo alguém a usar a SE16 pergunto-me porque é que o continua a fazer quando a SE16N é tão melhor e já existe há tanto tempo. Mas a dica não é isto.

A dica é que na SE16N podes ligar uma vista técnica que, além do nome técnico do campo, dá-te mais umas informações que te podem ser úteis.

Antes:

se16n_vista_tecnica_desligada

Ligas no menu “Suplementos”:

se16n_vista_tecnica

Depois:

se16n_vista_tecnica_ligada

Obrigado Sérgio Fraga pela dica.

E obrigado OZinOH pela foto.

O Abapinho saúda-vos.

Adicionar valor a domínio standard

Se julgas que não é possível acrescentar valores a um domínio SAP standard sem pedir uma chave de activação, estás enganado.

Ler o resto do artigo! »

Compara uma tabela entre dois sistemas

A transacção SCMP permite comparar o conteúdo de uma tabela entre dois sistemas. Muito útil, principalmente para tabelas de parameterização.

É muito simples de usar. Permite fazer uma pré-selecção dos registos bem como dos campos a comparar. Permite também mostrar apenas as diferenças, o que é conveniente para tabelas com muitos dados. E acho que não é preciso explicar mais. Ite et videte.

Esta dica apareceu recentemente no blog SAPtricks e é tão útil que vo-la ofereço aqui também, caso não a tenham lá visto já.

Obrigado a Dale Harris pela foto.

O Abapinho saúda-vos.

SELECT comparando 2 campos da própria tabela

Esta dica é simples e rápida mas aposto 200$482 em como poucos a sabem.

Ler o resto do artigo! »

Criar RANGEs no DDIC sem ficar com os dentes a ranger

Cada vez uso mais RANGEs. Uso-os ao pequeno-almoço, ao almoço, ao jantar e fora das refeições. É como o molho de soja. Umas colheradas daquilo e fica logo tudo mais saboroso.

Ler o resto do artigo! »

Bloquear dados em tabelas Z sem objecto de bloqueio

Até há dois dias atrás, se eu precisasse de criar entradas de bloqueio numa tabela ZCOISO criada por mim iria à SE11 criar um objecto de bloqueio para a tabela ZCOISO para depois poder usar os módulos de função gerados pelo objecto de bloqueio para bloquear os dados.

Mas agora já não.

Ler o resto do artigo! »

Manter grupos de autorização de manutenção de tabelas

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.

Ler o resto do artigo! »

Belos diagramas de relações de tabelas

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.

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

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. Não é incomum ver-se essa conversão feita à mão. E também não é incomum vê-la feita com os pés. Mas há um módulo de função que nos simplifica a vida e faz a conversão de forma automática e transparente:

MOVE_CHAR_TO_NUM.

Nota: quando testado na SE37, este módulo de funções parece não devolver casas decimais, mas se usado programaticamente funciona como deve ser.

Obrigado Bruno Esperança pela dica.
E obrigado a ImipolexG pela foto.

O Abapinho saúda-vos.


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