Tabelas de características de material para RETAIL | ABAP Warrior

Tabelas de características de material para RETAIL

Caracteristicas tabelas
Já mencionei anteriormente sobre a importância das características de materiais em RETAIL e como retornar essas informações através de uma função standard. Mas quando for necessário retornar dados de muitos materiais, a melhor opção é fazer a consulta diretamente nas tabelas.

Veja nesta postagem quais são as tabelas que devem ser usadas, como as colunas delas estão relacionadas e o uso correto de cada coluna.





Explicação


Caso haja uma situação onde a massa de dados seja limitada ou então que a quantidade de materiais seja pequena, é recomendado o uso da função standard para retornar as características. Para saber mais sobre a função standard, acesse a postagem Características de material para RETAIL.

Porém, se o cenário possuir muitos registros, o ideal é usar a consulta direto nas tabelas. Você pode estar se perguntando: "Mas a função também não acessa as mesmas tabelas ?". A resposta é: "Sim!".

O problema é que a função permite a consulta de apenas um material por vez. Isso significa que quanto mais materiais, mais consultas ao banco serão realizadas para cada tabela. Fazendo a consulta diretamente nas tabelas, mesmo com uma grande quantidade de materiais, será realizada apenas uma consulta ao banco para cada tabela.

Execução


As tabelas necessárias são: INOB, AUSP, CAWN e CAWNT, nesta ordem.

Existem duas formas de se trabalhar com características. A característica pode ter valores previamente cadastrados para que o usuário escolha um dos valores, ou também pode ter livre digitação de valores. No caso de valores previamente cadastrados será necessário o uso das quatro tabelas mencionadas. Enquanto que na livre digitação será necessário o uso apenas das duas primeiras.

1) Tabela INOB


Na tabela INOB, que é a primeira da sequência, utilize as colunas OBTAB, OBJEK e KLART, exatamente nesta ordem. Os valores informados nas colunas devem ser:

    OBTAB = 'MARAT' " nome da tabela que se relaciona com materiais
    OBJEK = [material com 18 dígitos] " com zeros a esquerdas
    KLART = '026' " tipo de característica usada em grupo de mercadorias

É importante o retorno da coluna CUOBJ, pois ela será usada na próxima consulta.

2) Tabelas AUSP


Para tabela AUSP precisamos do retorno da tabela INOB. Utilize as colunas OBJEK, KLART e ATINN. Essa última coluna deve ser usada apenas se houverem características específicas para consultar, caso contrário não informe essa coluna na seleção. Os valores informados nas colunas devem ser:

    OBJEK = INOB-CUOBJ " retorno da tabela INOB
    KLART = '026' " tipo de característica usada em grupo de mercadorias
    ATINN = [característica] " nome da característica consultada

Nesta etapa existem algumas particularidades.
Se for uma característica com valores previamente cadastrados, os valores deverão ser verificados na próxima etapa na tabela CAWN.
Se for uma característica com valores de livre digitação, não é necessário passar para próxima etapa.
Para valores alfanuméricos deve-se usar a coluna ATWRT. Para valores numéricos deve-se usar a coluna ATFLV. Existe ainda a opção para valores numéricos com range, então deve-se usar as colunas ATFLV e ATFLB.
Para a próxima etapa retorne as colunas ATINN e ATWRT.

3) Tabela CAWN


Já na tabela CAWN é onde estão os valores previamente cadastrados para cada característica. É importante saber que se não houver valores cadastrados nesta tabela o sistema irá permitir livre digitação na característica (de acordo com o formato e tipo cadastrados). Para buscar as descrições dos valores das características, obrigatoriamente é necessário passar por essa etapa. Deverão ser usadas as colunas ATINN e ATWRT da seguinte forma:

    ATINN = AUSP-ATINN " retorno da tabela AUSP
    ATWRT = AUSP-ATWRT " retorno da tabela AUSP

É necessário o retorno das colunas ATINN, ATZHL e ADZHL para chegar até a próxima etapa.

4) Tabela CAWNT


E finalmente a tabela da última etapa, onde estão as descrições das características. A consulta deve ser feita usando as colunas retornadas da etapa anterior e também a coluna de idioma: ATINN, ATZHL, SPRAS e ADZHL. Os valores informados nas colunas devem ser:

    ATINN = CAWN-ATINN " retorno da tabela CAWN
    ATZHL = CAWN-ATZHL " retorno da tabela CAWN
    SPRAS = SY-LANGU " variável do sistema para idioma do login
    ADZHL = CAWN-ADZHL " retorno da tabela CAWN

A descrição fica armazenada na coluna ATWTB.


Parece trabalhoso, mas o resultado é muito satisfatório.
Um grande abraço e até a próxima.
2018-01-20T12:21:00-02:00 2018-01-20T14:21:17Z
2 comentários:
Cinthia disse...

Boa Tarde, Fernando!
Você sabe me dizer em qual tabela fica registrado o valor que eu entrei? Exemplo tenho documentos na CV01N que criei e dentro deste documento associei um classe, sendo um campo de livre digitação e um campo com opções fechadas "sim" e "não", onde ele armazena os valores registrados.

Desde já agradeço pela atenção,Obrigada!

Fernando Botelho disse...

Cinthia, boa noite!
Procure na tabela AUSP.
Provavelmente na coluna OBJEK (objeto) você terá que filtrar o número do seu documento e na coluna KLART (tipo de classe) filtrar os valores 017 ou 201.
Abs.

Related Posts Plugin for WordPress, Blogger...