Você está na página 1de 37

Treinamento Abap Query

SAP 4.0B
Novembro/2001

Agenda

reas de Trabalho
Grupo de usurios
rea funcional
Query
Identificao de tabelas

rea de Trabalho e Grupo de Usurios


As transaes utilizadas para query so: SQ03, SQ02 e SQ01. Ao acess-las, necessrio
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
instncia S01, e exigem request, sendo transportadas para os outros ambientes.
A criao de Query no SAP deve comear na transao SQ03 ou pelo menu selecionando
Ferramentas/ABAP Workbench - Utilitrios/ABAP4 Query/Grupos de usurio.
A criao do grupo de usurios pode ser feita uma nica vez para ser utilizado vrias vezes
para a criao de vrias Query's para o mesmo grupo de usurio.
Este passo no obrigatrio se quem for
criar a Query j tiver um grupo de usurios
pr definido.
Para padronizao do nome do grupo de usurios
deve-se seguir a seguinte nomenclatura:
ZSADQGMMNN
Onde:
Q
= Define que uma Query
G
= Define que um Grupo de Usurios
MM = Mdulo ( MM, SD, FI...)
NN = Nmero Seqencial

rea Funcional

O prximo passo entrar na transao SQ02 (Ferramentas/ABAP Workbench Utilitrios/ABAP4 Query/reas funcionais) para que seja criada a rea
funcional. Vale dizer que, como o grupo de usurios, caso j exista alguma rea
funcional para quem quer criar a Query, este passo tambm no obrigatrio .

O nome da rea funcional deve seguir o seguinte padro:


ZSADQAMMNN
Onde:
Q
= Define que uma Query
A
= Define que uma rea funcional
MM
= Mdulo ( MM, SD, FI...)
NN
= Nmero Seqencial

A rea funcional ir conter as tabelas


utilizadas, campos selecionados, etc.
Vrias queries (relatrios) podem
utilizar uma mesma rea funcional.

Definio da rea funcional


Ao solicitar a criao de uma nova rea funcional, dever ser informada a
denominao (obrigatrio), e definido se ser utilizado mais de uma tabela
ou uma nica tabela como fonte das informaes. Cuidado: se optar por uma
nica tabela, isso no 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 estaro as
principais informaes e onde esto os principais campos que sero
utilizados como parmetros de seleo.

rea Funcional Join


A tela seguinte (se foi utilizada a opo Unio tabelas solicitar o
relacionamento entre as tabelas envolvidas (join). A tabela
informada na primeira tela j vem preenchida, devendo ser
informadas as demais tabelas.
Sero processados os dados que estiverem em todas as tabelas
relacionadas nessa tela, e se uma delas possuir mais de um registro,
o relatrio exibir uma linha para cada registro.

necessrio marcar as tabelas que se relacionam, e utilizar o


boto Definir condio. As tabelas sero exibidas na
coluna esquerda. Utilizar o boto Especificar condio.
Sero solicitado confirmao para utilizar as propostas do
sistema, podendo ser confirmado.
A tela seguinte exibir uma sugesto de relacionamento;
necessrio verificar se h coerncia no relacionamento
sugerido. Alm 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 sero utilizados no join fazem parte de ndices, deve-se
consultar as tabelas envolvidas pela transao SE11. Os campos que vm marcados
como chave compem o ndice primrio, que o ideal para utilizao. Se no for
possvel, verificar pelo boto Indices quais so os indices criados para tabela e tentar
utilizar os campos de um deles.
Os campos identificados nessa pesquisa tambm devem ser os campos utilizados como
parmetros de seleo, para garantir uma boa performance da query.

rea Funcional - Tabelas lias


Tabelas alias: Pelo boto 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 informao diferente na mesma linha do relatrio.

Grupos funcionais: Aps definir o join, preciso criar um grupo funcional. O grupo funcional
necessrio para definir os campos das tabelas selecionadas que sero utilizados.

rea Funcional - Delimitaes


Aps criar o grupo funcional, devero ser
selecionados os campos que sero
utilizados na query, para impresso ou
como critrio de seleo.

Parametros de seleo: pelo boto Delimitaes possvel definir parmetros de seleo.


Utilizar sempre a opo Critrio de seleo.
No campo For deve ser
informada a tabela/campo, e no
campo Suplms pode ser definido
como obrigatrio, valor default

rea Funcional -Suplementos


Pelo boto Suplementos da rea funcional possvel adicionar campos ou cdigos Abap.
A sequencia permite que a informao de um campo adicional seja utilizada em outro campo adicional subsequente. Significado e ttulo devem ter
informaes que esclaream o contedo do campo. O formato do campo pode ser definido pelo usurio ou referenciar-se um campo do banco de dados
(like tabela-campo). Para definir o contedo do campo, utiliza-se o boto Editor e ento inserido um cdigo 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 so exibidos se atenderem as
condies de relacionamento em todas as
tabelas, algumas vezes utilizamos o campo
adicional para buscar dados em outras
tabelas. Para isso, necessrio definir a
tabela no menu Saltar, Coding, Data.

rea Funcional - Cdigos Abap adicionais


Uma vez definida a tabela, podemos utiliz-la
no campo adicional.

Tambm possvel fazer tratamento dos


dados atravs de cdigo 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.

Exemplo

Com a rea funcional abaixo, ao executar a query


ser gerada a tabela i_ordens, que executar o
programa z_sad_sd_atualiza_ordens_venda aps
selecionar todos os registros.

Gerao da rea Funcional


Aps definirmos todos os elementos da rea
funcional, devemos utilizar o boto Verificar
para identificarmos possveis problemas
Depois de corrigir os problemas, Salvar
a rea funcional.

e Gerar

Aps salvar a rea funcional preciso


atribu-la ao grupo de usurios que ter
permisso para criar queries utilizando
essa rea funcional.
Marcar o grupo de usurios e salvar.

Query
Click aqui para
selecionar o Grupo
de Usurios.

Digite o nome da
query, conforme o
padro e click em
CRIAR.

Selecione a rea
funcional que ser
atribuda
QUERY.

Utilize a seguinte nomenclatura:


ZSADQ_MMNN
onde:
Q
= Define que uma Query
MM
= Mdulo ( MM, SD, FI...)
NN
= Nmero Seqencial

Query - Definio
Na tela inicial devem ser
informados o ttulo do
relatrio e o nmero de
colunas.
Os parmetros Atributos
especiais podem ser
utilizados depois que a query
estiver pronta, pois exigem
uma variante.
Utilizar o boto Tela seguinte para os prximos passos.

Query - Campos
Sero 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 sero
utilizados na query (no relatrio ou
como critrio de seleo).

Query - Denominao Breve e Campo Local


possvel criar denominaes
breves para os campos na query.
Essas denominaes podem ser
utilizadas na impresso ou na
criao de outros campos locais.
Os campos locais so campos
que tero valor apenas no
momento da impresso,
podendo conter frmulas ou
referncias a outros campos.

Campos Locais da Query

Os campos locais podem


tambm ser informados pelo
usurio na tela de seleo,
como opcionais ou
obrigatrios.

Critrios de Seleo na Query


Os campos de seleo s precisam
ser definidos na query se no foram
definidos anteriormente na rea
funcional. Na query no h os
recursos disponveis na rea
funcional de sequncia dos
parmetros, obrigatoriedade do
campo, valor default.
partir desse ponto necessrio definir o tipo de relatrio que
ser gerado: Lista Bsica (exibe todos os registros), Estatstica
(valores consolidados) ou Lista Ranking (maiores valores).

Query - Lista Bsica


A lista bsica deve ser definida em linhas,
com a sequncia dos campos na linha, a
sequncia de ordenao, os campos que
sero totalizados e o critrio de contagem.

Para os campos utilizados na


ordenao, podem ser definidos os
critrios de quebra.

Query - Lista Bsica


Na definio do lay-out de impresso, podem
ser alterados o tamanho dos campos, a
impresso das unidades de medida, a cor da
linha.
Em seguida exibido o lay-out de
impresso, onde podem ser definidos o
cabealho e o rodap e alterada a linha
de descrio dos campos.
Com o uso dos caracteres especiais &
% possvel utilizar variveis do
sistema (data, hora, pgina) e com o
caracter & possvel utilizar campos
locais definidos como critrio de
seleo.

Query - Estatstica
Na definio de um relatrio tipo
Estatstica, deve-se relacionar
os campos texto que iro compor
o fator de totalizao e em
seguida relacionar os campos de
valor ou quantidade que sero
totalizados.
Na tela seguinte possvel
personalizar o lay-out, da mesma
forma que na lista bsica.

Query - Lista Ranking


A lista ranking permite exibir os maiores (ou
menores) valores de uma seleo. O campo
que ser utilizado como critrio deve estar
marcado na coluna Crit. Para exibir em
ordem crescente, necessrio flegar a coluna
Em. possvel definir tambm o tamanho
do campo e o nmero de casas para
arredondamento.

A definio do lay-out a mesma


da lista bsica e da estatstica.

Query - Impresso
No menu Processar, Sequencia de Saida
possvel determinar a ordem em que os
relatrios criados na query sero impressos..

Com a query concluda,


possvel criar variantes para
facilitar a utilizao e garantir
alguns parmetros.
Se for flegada a coluna Sem
valores SPA/GPA, o valor
gravado na variante no ser
utilizado, prevalecendo o valor
default que for definido pela
query.

Query - Impresso
Se for criada uma variante
padro, a query pode ser
modificada para utilizar sempre
essa variante.
possvel tambm proteger a
query para que somente a opid
que criou possa alter-la.
No relatrio gerado, h uma srie
de funcionalidades que podem ser
utilizadas pelo usurio, como
gerao de relatrio de curva
ABC, visualizao dos
parmetros, visualizao somente
dos totais.

Como identificar as tabelas


Os campos a serem
utilizados nas queries
podem ser
identificados atravs
de transaes que
atualizam esses
campos, posicionandose sobre o campo e
utilizando as teclas F1
e F9

Estrutura ou tabela transparente ?


Muitas vezes, a
informao tcnica exibida
refere-se uma estrutura,
que utilizada apenas no
momento de utilizao da
transao, sem ter dados
gravados. Para verificar,
deve-se clicar 2 vezes
sobre o nome da tabela.
Ser exibida a transao
SE11, onde possvel a
identificao.

Como identificar as tabelas


Se a informao
referenciar uma
estrutura, deve-se
tentar a identificao
em outra transao. Se
isso no for possvel,
pode-se tentar
identificar a tabela
atravs de trace da
transao.

Para isso, necessrio


executar uma
atualizao dos
campos desejados
atravs da transao,
com a ferramenta SQL
Trace ativa para o
usurio.

Como utilizar o SQL Trace


Em uma seo, acesse
a transao ST05 e
acione o boto Trace
on. O trace gravado
por usurio.
Em outra sesso,
execute uma incluso
ou alterao da
informao desejada.

Como utilizar o SQL Trace


Aps gravar os dados,
retorne para a sesso
do SQL Trace, acione
o boto Trace off,
em seguida o boto
List Trace e tecle
<Enter>. Ser exibida
uma relao das
tabelas acessadas pela
transao utilizada.

Como utilizar o SQL Trace


Se foi feita uma
incluso, procure pelo
comando Insert, e se
foi feita uma alterao,
procure pelo comando
Update. Sero exibidas
todas as tabelas
utilizadas na
transao.

Como utilizar o SQL Trace


Clique duas vezes sobre o
comando, e ser exibido o
registro que foi gravado.
Dessa forma, ser possvel
identificar qual tabela
possui a informao que
foi digitada.
Para certificar-se do nome
do campo, consulte a
tabela pela transao SE16

Algumas tabelas

BKPF Cabealho documento contbil


BSEG Detalhe documento contbil
LFA1 Fornecedores
LFBK Fornecedores dados bancrios
LFB1 Fornecedores dados empresa
BSID Duplicatas em aberto clientes
BSIK Duplicatas em aberto fornecedores
BSAD Duplicatas liquidadas clientes
BSAK Duplicatas liquidadas fornecedores
BSIS - ndice secundrio para contas do Razo

Algumas tabelas

KNA1 Clientes
KNVP Clientes parceiros
KNVV Clientes dados de vendas
KNB1 Clientes dados empresa
EKKO Pedidos (MM)
EKPO Item de pedido
EKET Diviso remessa pedido
MARA Materiais
MARC Materiais por centro
MARD Materiais saldo estoque
MBEW Materias dados contbeis
MARM Materiais unidades de medida

Algumas tabelas

MCHA Lotes
MCHB Lotes saldos
LQUA Saldos WM
MKPF Cabealho documento material
MSEG Documento material detalhe
VBAK Ordem de venda cabealho
VBAP Ordem de venda item
VBEP Ordem de venda diviso 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 cabealho


LIPS Fornecimento item
VTTK Transporte cabealho
VTTP Transporte item
VBUK Status cabealho
VBUP Status item
VBSS Grupo de remessa
VBRK Documento Faturamento Cabealho
VBRP Documento Faturamento Item
KONV Condies (preos)
J_1BNFDOC Nota fiscal cabealho
J_1BNFLIN Nota fiscal - item