Você está na página 1de 37

Treinamento Abap Query

SAP 4.0B
Novembro/2001
Agenda
• Áreas de Trabalho
• Grupo de usuários
• Área funcional
• Query
• Identificação de tabelas
Área de Trabalho e Grupo de Usuários
As transações utilizadas para query são: SQ03, SQ02 e SQ01. Ao acessá-las, é necessário
definir o ambiente de trabalho. Para isso, acessar o menu ‘Ambiente’, ‘Areas de trabalho’.
As queries desenvolvidas na área standard pertencem somente ao mandante onde foram
desenvolvidas. As queries da área global somente podem ser criadas ou alteradas na
instância S01, e exigem request, sendo transportadas para os outros ambientes.
A criação de Query no SAP deve começar na transação SQ03 ou pelo menu selecionando
Ferramentas/ABAP Workbench - Utilitários/ABAP4 Query/Grupos de usuário.
• A criação do grupo de usuários pode ser feita uma única vez para ser utilizado várias vezes
para a criação de várias Query's para o mesmo grupo de usuário.
• Este passo não é obrigatório se quem for
criar a Query já tiver um grupo de usuários
pré definido.
• Para padronização do nome do grupo de usuários
deve-se seguir a seguinte nomenclatura:
• ZSADQGMMNN
• Onde:
• Q = Define que é uma Query
• G = Define que é um Grupo de Usuários
• MM = Módulo ( MM, SD, FI...)
• NN = Número Seqüencial
Área Funcional
• O próximo passo é entrar na transação SQ02 (Ferramentas/ABAP Workbench -
Utilitários/ABAP4 Query/Áreas funcionais) para que seja criada a área
funcional. Vale dizer que, como o grupo de usuários, caso já exista alguma área
funcional para quem quer criar a Query, este passo também não é obrigatório .
• O nome da área funcional deve seguir o seguinte padrão:
• ZSADQAMMNN
• Onde:
• Q = Define que é uma Query
• A = Define que é uma área funcional
• MM = Módulo ( MM, SD, FI...)
• NN = Número Seqüencial

A área funcional irá conter as tabelas


utilizadas, campos selecionados, etc.
Várias queries (relatórios) podem
utilizar uma mesma área funcional.
Definição da área funcional
Ao solicitar a criação de uma nova área funcional, deverá ser informada a
denominação (obrigatório), e definido se será utilizado mais de uma tabela
ou uma única tabela como fonte das informações. Cuidado: se optar por uma
única tabela, isso não poderá ser alterado posteriormente. Se optar por mais
de uma tabela, será preciso informar pelo menos 2 tabelas.
No campo ‘Tabela’ deve ser informada a tabela principal, onde estarão as
principais informações e onde estão os principais campos que serão
utilizados como parâmetros de seleção.
Área Funcional – Join
A tela seguinte (se foi utilizada a opção ‘União tabelas’ solicitará o
relacionamento entre as tabelas envolvidas (join). A tabela
informada na primeira tela já vem preenchida, devendo ser
informadas as demais tabelas.
Serão processados os dados que estiverem em todas as tabelas
relacionadas nessa tela, e se uma delas possuir mais de um registro,
o relatório exibirá uma linha para cada registro.

É necessário marcar as tabelas que se relacionam, e utilizar o


botão ‘Definir condição’. As tabelas serão exibidas na
coluna esquerda. Utilizar o botão ‘Especificar condição’.
Serão solicitado confirmação para utilizar as propostas do
sistema, podendo ser confirmado.

A tela seguinte exibirá uma sugestão de relacionamento; é


necessário verificar se há coerência no relacionamento
sugerido. Além disso, para garantir uma boa performance
da query que será criada, é preciso que os campos sejam
indice.
Índices de tabelas para área funcional
Para verificar se os campos que serão utilizados no join fazem parte de índices, deve-se
consultar as tabelas envolvidas pela transação SE11. Os campos que vêm marcados
como chave compôem o índice primário, que é o ideal para utilização. Se não for
possível, verificar pelo botão ‘Indices’ quais são os indices criados para tabela e tentar
utilizar os campos de um deles.
Os campos identificados nessa pesquisa também devem ser os campos utilizados como
parâmetros de seleção, para garantir uma boa performance da query.
Área Funcional - Tabelas Álias
Tabelas alias: Pelo botão ‘Tabelas alias’ pode-se definir um novo nome para uma tabela, e
dessa forma utilizar a tabela mais de uma vez no join. Isso permite que se utilize a mesma
tabela com mais de uma informação diferente na mesma linha do relatório.

Grupos funcionais: Após definir o join, é preciso criar um grupo funcional. O grupo funcional
é necessário para definir os campos das tabelas selecionadas que serão utilizados.
Área Funcional - Delimitações
Após criar o grupo funcional, deverão ser
selecionados os campos que serão
utilizados na query, para impressão ou
como critério de seleção.

Parametros de seleção: pelo botão ‘Delimitações’ é possível definir parâmetros de seleção.


Utilizar sempre a opção ‘Critério de seleção’.

No campo ‘For’ deve ser


informada a tabela/campo, e no
campo ‘Suplms’ pode ser definido
como obrigatório, valor default
Área Funcional -Suplementos
Pelo botão ‘Suplementos’ da área funcional é possível adicionar campos ou códigos Abap.
A sequencia permite que a informação de um campo adicional seja utilizada em outro campo adicional subsequente. Significado e título devem ter
informações que esclareçam o conteúdo do campo. O formato do campo pode ser definido pelo usuário ou referenciar-se à um campo do banco de dados
(like tabela-campo). Para definir o conteúdo do campo, utiliza-se o botão ‘Editor’ e então é inserido um código Abap para preenchimento do campo.
Área Funcional - Campos Adicionais
Os campos adicionais criados passam a fazer parte da
tabela principal, e podem ser adicionados ao grupo
funcional para serem inseridos na query.

Como os dados das tabelas inseridas no joins


somente são exibidos se atenderem as
condições de relacionamento em todas as
tabelas, algumas vezes utilizamos o campo
adicional para buscar dados em outras
tabelas. Para isso, é necessário definir a
tabela no menu ‘Saltar, Coding, Data’.
Área Funcional - Códigos Abap adicionais
Uma vez definida a tabela, podemos utilizá-la
no campo adicional.

Também é possível fazer tratamento dos


dados através de código Abap inserido
nos pontos definidos no menu ‘Saltar,
Coding’.
Por exemplo, na área ‘End of Selection’
pode ser inserida a chamada para outro
programa. Na área ‘Data’ pode ser
definida uma tabela interna para uso em
outra área.
• Com a área funcional abaixo, ao executar a query
Exemplo será gerada a tabela i_ordens, que executará o
programa z_sad_sd_atualiza_ordens_venda após
selecionar todos os registros.
Geração da Área Funcional

Após definirmos todos os elementos da área


funcional, devemos utilizar o botão ‘Verificar’
para identificarmos possíveis problemas

Depois de corrigir os problemas, Salvar e Gerar


a área funcional.

Após salvar a área funcional é preciso


atribuí-la ao grupo de usuários que terá
permissão para criar queries utilizando
essa área funcional.
Marcar o grupo de usuários e salvar.
Query
Click aqui para
selecionar o Grupo Utilize a seguinte nomenclatura:
de Usuários. ZSADQ_MMNN
onde:
Q = Define que é uma Query
MM = Módulo ( MM, SD, FI...)
Digite o nome da NN = Número Seqüencial
query, conforme o
padrão e click em
CRIAR.

Selecione a área
funcional que será
atribuída à
QUERY.
Query - Definição
Na tela inicial devem ser
informados o título do
relatório e o número de
colunas.
Os parâmetros ‘Atributos
especiais’ podem ser
utilizados depois que a query
estiver pronta, pois exigem
uma variante.

Utilizar o botão ‘Tela seguinte’ para os próximos passos.


Query - Campos

Serão exibidos os grupos funcionais


criados na área funcional (normalmente,
é um único grupo). Deve-se prosseguir
para a tela seguinte.

Nesse momento deve-se marcar os


campos do grupo funcional que serão
utilizados na query (no relatório ou
como critério de seleção).
Query - Denominação Breve e Campo Local
É possível criar denominações
breves para os campos na query.
Essas denominações podem ser
utilizadas na impressão ou na
criação de outros campos locais.

Os campos locais são campos


que terão valor apenas no
momento da impressão,
podendo conter fórmulas ou
referências a outros campos.
Campos Locais da Query

Os campos locais podem


também ser informados pelo
usuário na tela de seleção,
como opcionais ou
obrigatórios.
Critérios de Seleção na Query
Os campos de seleção só precisam
ser definidos na query se não foram
definidos anteriormente na área
funcional. Na query não há os
recursos disponíveis na área
funcional de sequência dos
parâmetros, obrigatoriedade do
campo, valor default.

À partir desse ponto é necessário definir o tipo de relatório que


será gerado: Lista Básica (exibe todos os registros), Estatística
(valores consolidados) ou Lista Ranking (maiores valores).
Query - Lista Básica
A lista básica deve ser definida em linhas,
com a sequência dos campos na linha, a
sequência de ordenação, os campos que
serão totalizados e o critério de contagem.

Para os campos utilizados na


ordenação, podem ser definidos os
critérios de quebra.
Query - Lista Básica

Na definição do lay-out de impressão, podem


ser alterados o tamanho dos campos, a
impressão das unidades de medida, a cor da
linha.
Em seguida é exibido o lay-out de
impressão, onde podem ser definidos o
cabeçalho e o rodapé e alterada a linha
de descrição dos campos.
Com o uso dos caracteres especiais &
% é possível utilizar variáveis do
sistema (data, hora, página) e com o
caracter & é possível utilizar campos
locais definidos como critério de
seleção.
Query - Estatística
Na definição de um relatório tipo
‘Estatística’, deve-se relacionar
os campos texto que irão compor
o fator de totalização e em
seguida relacionar os campos de
valor ou quantidade que serão
totalizados.

Na tela seguinte é possível


personalizar o lay-out, da mesma
forma que na lista básica.
Query - Lista Ranking
A lista ranking permite exibir os maiores (ou
menores) valores de uma seleção. O campo
que será utilizado como critério deve estar
marcado na coluna ‘Crit’. Para exibir em
ordem crescente, é necessário flegar a coluna
‘Em’. É possível definir também o tamanho
do campo e o número de casas para
arredondamento.

A definição do lay-out é a mesma


da lista básica e da estatística.
Query - Impressão
No menu ‘Processar, Sequencia de Saida’ é
possível determinar a ordem em que os
relatórios criados na query serão impressos..

Com a query concluída, é


possível criar variantes para
facilitar a utilização e garantir
alguns parâmetros.
Se for flegada a coluna ‘Sem
valores SPA/GPA’, o valor
gravado na variante não será
utilizado, prevalecendo o valor
default que for definido pela
query.
Query - Impressão
Se for criada uma variante
padrão, a query pode ser
modificada para utilizar sempre
essa variante.
É possível também proteger a
query para que somente a opid
que criou possa alterá-la.
No relatório gerado, há uma série
de funcionalidades que podem ser
utilizadas pelo usuário, como
geração de relatório de curva
ABC, visualização dos
parâmetros, visualização somente
dos totais.
Como identificar as tabelas
• Os campos a serem
utilizados nas queries
podem ser
identificados através
de transações que
atualizam esses
campos, posicionando-
se sobre o campo e
utilizando as teclas F1
e F9
Estrutura ou tabela transparente ?
• Muitas vezes, a
informação técnica exibida
refere-se à uma estrutura,
que é utilizada apenas no
momento de utilização da
transação, sem ter dados
gravados. Para verificar,
deve-se clicar 2 vezes
sobre o nome da tabela.
Será exibida a transação
SE11, onde é possível a
identificação.
Como identificar as tabelas
• Se a informação • Para isso, é necessário
referenciar uma executar uma
estrutura, deve-se atualização dos
tentar a identificação campos desejados
em outra transação. Se através da transação,
isso não for possível,
pode-se tentar com a ferramenta SQL
identificar a tabela Trace ativa para o
através de ‘trace’ da usuário.
transação.
Como utilizar o SQL Trace
• Em uma seção, acesse
a transação ST05 e
acione o botão ‘Trace
on’. O trace é gravado
por usuário.
• Em outra sessão,
execute uma inclusão
ou alteração da
informação desejada.
Como utilizar o SQL Trace
• Após gravar os dados,
retorne para a sessão
do SQL Trace, acione
o botão ‘Trace off’,
em seguida o botão
‘List Trace’ e tecle
<Enter>. Será exibida
uma relação das
tabelas acessadas pela
transação utilizada.
Como utilizar o SQL Trace
• Se foi feita uma
inclusão, procure pelo
comando Insert, e se
foi feita uma alteração,
procure pelo comando
Update. Serão exibidas
todas as tabelas
utilizadas na
transação.
Como utilizar o SQL Trace
• Clique duas vezes sobre o
comando, e será exibido o
registro que foi gravado.
Dessa forma, será possível
identificar qual tabela
possui a informação que
foi digitada.
• Para certificar-se do nome
do campo, consulte a
tabela pela transação SE16
Algumas tabelas
• BKPF – Cabeçalho documento contábil
• BSEG – Detalhe documento contábil
• LFA1 – Fornecedores
• LFBK – Fornecedores – dados bancários
• LFB1 – Fornecedores – dados empresa
• BSID – Duplicatas em aberto – clientes
• BSIK – Duplicatas em aberto – fornecedores
• BSAD – Duplicatas liquidadas – clientes
• BSAK – Duplicatas liquidadas – fornecedores
• BSIS - Índice secundário para contas do Razão
Algumas tabelas
• KNA1 – Clientes
• KNVP – Clientes – parceiros
• KNVV – Clientes – dados de vendas
• KNB1 – Clientes – dados empresa
• EKKO – Pedidos (MM)
• EKPO – Item de pedido
• EKET – Divisão remessa pedido
• MARA – Materiais
• MARC – Materiais por centro
• MARD – Materiais – saldo estoque
• MBEW – Materias – dados contábeis
• MARM – Materiais – unidades de medida
Algumas tabelas
• MCHA – Lotes
• MCHB – Lotes – saldos
• LQUA – Saldos WM
• MKPF – Cabeçalho documento material
• MSEG – Documento material – detalhe
• VBAK – Ordem de venda – cabeçalho
• VBAP – Ordem de venda – item
• VBEP – Ordem de venda – divisão de remessa
• VBAP – Ordem de venda – parceiros
• VBKD – Ordem de venda – dados comerciais
• VEPVG – Ordens de venda para serem fornecidas
• VBFA – Fluxo de documentos
Algumas tabelas
• LIKP – Fornecimento – cabeçalho
• LIPS – Fornecimento – item
• VTTK – Transporte – cabeçalho
• VTTP – Transporte – item
• VBUK – Status – cabeçalho
• VBUP – Status – item
• VBSS – Grupo de remessa
• VBRK – Documento Faturamento – Cabeçalho
• VBRP – Documento Faturamento – Item
• KONV – Condições (preços)
• J_1BNFDOC – Nota fiscal – cabeçalho
• J_1BNFLIN – Nota fiscal - item

Você também pode gostar