Você está na página 1de 12

SAP Como criar uma Query passo a passo

O que uma Query?


Processo de extrao de dados de um banco de dados e sua apresentao em uma forma
adequada ao uso.
Quem geralmente utiliza Query?
Consultores Funcionais e rea de TI.
Quando utilizar uma Query?
Em casos emergenciais, quando no existe tempo hbil para criar um relatrio em ABAP.
Transaes utilizadas em Query's

SQ01 - Manuteno de Query's: transao responsvel pela manuteno de todas as


Query's do sistema.

SQ02 - Manuteno de Infoset's: transao responsvel pela manuteno dos


Infoset's do sistema. No Infoset feita toda a lgica de leitura da base de dados para
posteriormente ser utilizado em Query's.

SQ03 - Manuteno de Grupos de Usurios: transao responsvel pela


manuteno dos Grupos de Usurios. Atravs do Grupo de Usurio podem ser criadas
segregaes de Query's/Infoset's conforme necessidade.

SQVI - QuickViewer (Query rpida): transao de criao de Querys rpidas. Atravs


dessa transao no existe necessidade da utilizao de nenhuma das
transaes citadas acima (SQ01, SQ02, SQ03).

Quando utilizar a SQ01, SQ02 e SQ03?

Quando existir a necessidade de criar uma Query mais complexa ou atribuir uma
transao a Query.

Quando utilizar a SQVI?

Quando existir a necessidade de criar uma Query rpida que no haja necessidade de
disponibilizar ao usurio (criar transao).

Primeiramente, irei mostrar como criar uma Query da tabela MARA x MAKTutilizando
as transaes SQ01, SQ02 e SQ03.

Nosso primeiro passo, ser criar um novo Grupo de Usurio.

Acessar transao SQ03:

SQ03 - Grupo de Usurios

Informar no campo de "Grupo usurios" o valor desejado (ZTESTE, por exemplo) e clicar no
boto "Criar":

SQ03 - Grupo de Usurios

Informar uma descrio para o novo Grupo de Usurio e clicar no boto "Gravar":

SQ03 - Grupo de Usurios

Agora estaremos criando um novo Infoset.


Acessar transao SQ02, informar no campo "Infoset" o valor desejado (ZINFOTESTE, por
exemplo) e clicar no boto "Criar":

SQ02 - Infoset

SQ02 - Infoset

Detalhes campo a campo:


1. Denominao: descrio do Infoset a ser cadastrado;

2. Grupo autorizaes: se for indicado algum grupo de autorizao (o campo


opcional), s usurios que tenham acesso ao grupo de autorizao tero acesso ao
Infoset para criao de Query's;
3. Juno de tabelas via tabela: famoso JOIN. Atravs dessa opo voc poder utilizar
uma ou mais tabelas no Infoset (no exagere, pois voc poder ter grandes problemas
com performance). Preencha a tabela principal neste caso;
4. Leitura direta da tabela: quando houver a necessidade de utilizar apenas uma tabela;
5. Banco dados lgico: programa de banco de dados lgico j existente para obteno
dos dados para a Query.
6. Obteno de dados via programa: quando se deseja criar um programa (ABAP)
interno (dentro da prpria Query) ou externo (fora da Query, se38 por exemplo).
Preencher campos conforme imagem e Gravar:

SQ02 - Infoset

Aps gravar, clicar no boto "Inserir Tabela":

SQ02 - Infoset 6

Informar a tabela MAKT:

SQ02 - Infoset

Notem que aps inserir a tabela MAKT, o SAP faz a ligao entre as tabelas automaticamente.
Porm, sempre devemos conferir se todas as ligaes desejadas e necessrias foram feitas.

SQ02 - Infoset 7

Clique em voltar, e dever abrir uma nova tela chamada de "Predefinio de grupo de campos":

SQ02 - Infoset_8

Os grupos de campos, so os campos que utilizaremos das tabelas (MARA e MAKT) no


Infoset. Caso seja necessrio, possvel alterar aps a criao.
Em nosso caso, vamos marcar apenas para incluir os campos chave.

SQ02 - Infoset

Feito isso, dever aparecer na tela principal do Infoset os grupos de campo para a
tabela MARA e MAKT:

SQ02 - Infoset

Agora vamos adicionar o campo MAKTX da tabela MAKT no Infoset.


Para isso, no menu principal esquerdo, abrir a tabela MAKT e clicar com o boto direito do
mouse em cima do campo desejado, aps abrir as opes, clicar em "Incluir campo em grupo
de campos". Lembre-se de selecionar o Grupo de campos que deseja incluir o campo
(conforme demonstra a imagem):

SQ02 - Infoset

SQ02 - Infoset

Para finalizar, clicar no boto "Gerar"

. Este processo validar e gerar o Infoset.

Sempre executar esse processo quando criar ou alterar alguma informao do Infoset.
Com o Infoset criado, precisamos atribui-lo ao Grupo de usurio que criamos no processo
acima (ZTESTE). Para isso, na tela inicial do Infoset, clicar no boto "Atribuio a
funes/grupos usurios":

SQ02 - Infoset

Selecionar o Grupo de usurio criado (ZTESTE) e salvar. Note que possvel atribuir mais que
um Grupo de usurio ao Infoset.

SQ02 - Infoset

Feito isso, podemos comear a criar a Query.


Acessar transao SQ01. No menu Ambiente->Grupo de usurios informar o grupo de
usurios criado anteriormente:

SQ01 - Query

SQ01 - Query

Pressione ENTER e retorne para a tela inicial.


informar no campo "Query" o nome desejado (ZQUERYTESTE, por exemplo) e clicar no boto
"Criar":

SQ01 - Query

Selecionar o InfoSet criado anteriormente:

SQ01 - Query

Informar um ttulo para a Query:

SQ01 - Query

Clicar no boto de "Lista bsica":

SQ01 - Query

Marque os campos de lista e seleo de acordo com a imagem abaixo. Os campos de lista so
os campos que sero exibidos como resultado do relatrio. Os campos de seleo so os filtros
do relatrio.

SQ01 - Query

Aps selecionar os campos, Salvar e clicar no boto

Caso todos os passos tenham sido efetuados corretamente, o seguinte resultado deve ser
obtido:

SQ01 - Query

SQ01 - Query

Agora vamos criar a mesma Query atravs da transao SQVI.


Acessar transao SQVI, informar um nome para a Query no campo "QuickView"
(ZQUERYSQVI, por exemplo) e clicar em "Criar":

SQVI - Query

Na prxima tela, preencher os campos conforme demonstra imagem e clicar em "Gravar":

SQVI - Query

Aps gravar, clicar no boto "Inserir Tabela" e adicionar as tabelas MARA e MAKT:

SQVI - Query

Clicar em voltar

Na aba "SeleoCpos.lista marcar os campos conforme demonstra imagem:

SQVI - Query

Na aba "Campos seleo" marcar os campos conforme demonstra imagem:

SQVI - Query

Clicar no boto de "Executar" e testar o relatrio.


Caso todos os passos tenham sido efetuados corretamente, o seguinte resultado deve ser
obtido:
SQVI - Query

Bem mais fcil, no?


Posteriormente, mostrarei como criar Query's utilizando cdigo ABAP.