quinta-feira, 3 de outubro de 2013

Visões e Diálogos de atualização (Parte 1/2)

Olá,

Neste post falarei um pouco sobre Visões de tabela. Na parte 2, falarei um pouco sobre Diálogos de atualização. Estes pontos são uma continuidade sobre o tema ABAP Dictionary.

Por que necessitamos de visões?  Geralmente os dados para um objeto de aplicação são, muitas vezes, distribuídos em N tabelas. Por essa razão, os SGBD's fornecem uma forma de definir visões específicas em dados de várias tabelas. Elas são chamadas de visões.

Das visões restritas ou ampliadas em tabelas de BD, temos o seguinte:
  • JOIN: Combinação de dados de várias tabelas de uma maneira significativa;
  • PROJEÇÃO: Ocultação de informações nas quais não há interesse;
  • SELEÇÃO: Exibição de apenas registros de dados que atendem determinadas condições.
Uma visão de BD é definida no ABAP Dictionary e criada automaticamente no BD durante a sua ativação. Os acessos a uma visão de BD são transferidos diretamente para o BD pela sua interface. O SW de BD efetua a seleção de dados. Se a definição de uma visão de BD for modificada no ABAP Dictionary, a visão criada no BD é eliminada efetuando assim o ajuste a essa modificação. Isso ocorre, em razão da visão não conter dados como uma tabela.

Anexação dinâmica de campos de tabela em visões: Podemos incluir tabelas inteiras em visões de BD. Neste caso, todos os campos da tabela incluída se tornam campos da visão. Se forem incluídos novos campos na tabela ou se os campos  forem eliminados, a visão é automaticamente ajustada a essa modificação;  se uma estrutura append for adicionada a uma tabela incluída em uma visão, os campos adicionados com a estrutura append são automaticamente incluídos na visão. 

Uma visão append está atribuída a EXATAMENTE UMA visão de BD. Pode ser criada mais de uma visão append para uma visão de banco de dados.

A seguir, mostro alguns print's com um exemplo de visão criada a partir do exercício proposto pelo material que estou estudando. Aqui, a ideia é montar uma view adequada, a fim de satisfazer as necessidades do setor de RH, pois se faz necessário exibir alguns dados dos funcionários. Vamos aos print's:






















Como pode ver, foi criado uma view e posteriormente realizada uma configuração para somente um setor ser selecionado com tal visão. Como não havia dado algum com o parâmetro inicial (no caso, 'F'), alterei o mesmo para mostrar o do tipo 'A', onde então foi possível visualizar um registro de acordo com o critério de pesquisa. Por fim, armazenado em buffer a visão gerada.

No próximo post, darei uma continuidade abordando a parte 2.
Um abraço e até lá!

segunda-feira, 30 de setembro de 2013

Modificação de Tabelas

Olá,

Hoje, continuando o assunto que já exploro no blog há um tempo (ABAP Dictionary), tratarei alguns pontos que aborda sobre o seguinte tema: Modificação de Tabelas. Ao final do post, estará disponível para consulta alguns print's.

O acesso correto através dos programas ABAP a uma tabela de BD só é possível se o objeto de tempo de execução da tabela for consistente com a estrutura da tabela no BD. Toda vez que a tabela for alterada no ABAP Dictionary, se faz necessário verificar se a estrutura de BD da tabela deve ser ajustada à definição do ABAP Dictionary modificada da tabela quando é ativada.

Não é necessário mudar a estrutura de BD para determinadas modificações do ABAP Dictionary, com exceção dos campos-chave. Se mudarmos uma ordem dos campos no ABAP Dictionary, aí a estrutura modificada e simplesmente ativada no ABAP Dictionary e a estrutura no BD se mantém inalterada.

A tabela de BD pode ser ajustada à definição modificada no ABAP Dictionary de três modos:
  • Eliminando a tabela de BD e criando novamente;
  • Modificando o catálogo de BD com ALTER TABLE;
  • Convertendo a tabela (modo de ajuste da estrutura que demanda maior tempo).
Quanto a transação para acesso ao utilitário de BD, usamos o Tcode SE14Vamos aos print's.























Como pode perceber, foi reduzido o comprimento do último campo da tabela ZSFLCREWMS. Posteriormente, exibido o LOG, a fim de perceber a necessidade em converter a tabela, em razão da redução do campo. Depois, foi feita a criação de uma estrutura append justamente no espaço de nomes do cliente. E, por fim, definição da chave externa na tela de atualização da estrutura append.

Bom, é isso aí.
Abraço e boa semana!

sexta-feira, 27 de setembro de 2013

Dependências de objetos e SI do Repositório

Olá,

Tratarei no post de hoje sobre o seguinte assunto: Dependências de objetos. Posteriormente, mostrarei alguns print's abordando o tema e comentarei também sobre o Sistema de Informação do Repositório.

Objetos dependentes são objetos que utilizam outro objeto para funcionar! Quando alterado um objeto que depende para um outro objeto funcionar, pode ser necessário ajustar às modificações para os objetos de tempo de execução desses objetos dependentes. Por outro lado, uma modificação pode, às vezes, tornar inconsistente um objeto dependente.

O ABAP Dictionary do sistema de informação do repositório é um recurso que vale muito a pena usar para pesquisa de dependências de objetos (tcode SE84. Trata-se da ferramenta para pesquisa do Dicionário de Dados), pois ele ajuda na procura de objetos do ABAP Dictionary e seus usuários.

Vamos aos print's...
















Como pode ver, foi criado uma estrutura, onde posteriormente a mesma foi agregada em tabelas transparente para causar esta dependência de objeto. Posteriormente, foi empregado pesquisa diversas no SI.

Bom, é isso aí.
Um abraço e bom final de semana!