Já mencionei anteriormente sobre a importância das características de materiais em
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.
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.
As tabelas necessárias são:
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
Na tabela
É importante o retorno da coluna
2) Tabelas
Para tabela
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
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
Para a próxima etapa retorne as colunas
3) Tabela
Já na tabela
É necessário o retorno das colunas
4) Tabela
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:
A descrição fica armazenada na coluna
Parece trabalhoso, mas o resultado é muito satisfatório.
Um grande abraço e até a próxima.
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 materiaisOBJEK
= [material com 18 dígitos] " com zeros a esquerdasKLART
= '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 mercadoriasATINN
= [característica] " nome da característica consultadaNesta 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 loginADZHL
= 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.
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!
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.
Postar um comentário