Você está na página 1de 24

Treinamento

Relatório Interativo
Prática
Relatório Interativo (Prática)
– Introdução
– Separando opções de seleção
– Instrução ‘FOR ALL ENTRIES’
– O Comando Hide
– Eventos para Relatório Interativo:
• TOP-OF-PAGE / END-OF-PAGE
• AT LINE-SELECTION
• TOP-OF-PAGE DURING LINE SELECTION
• AT USER-COMMAND
– Campos de Sistema
– Read Line / Modify Line
– Formatação usando WRITE - complemento:
• USING EDIT MASK, HOTSPOT, ALINHAMENTO
– Menu Painter
– Adendos
Introdução

Relatório interativo no SAP significa a


possibilidade do usuário ter opções extras
sobre a listagem de saída.
Sua utilização é voltada para a criação de
relatórios ‘Drill-down’, onde uma seleção num
relatório inicial pode levar a outro relatório
mais detalhado, ou a possibilidade de acessar
transações/telas/outros relatórios usando os
dados das linhas do relatório inicial exibido.
Nível do relatório
Nível 0

Nível 1
SY-LSIND = 1

Nível 2

O campo de sistema SY-LSIND controla o


índice do nível do relatório.
A lista inicial será sempre SY-LSIND = 0,
e as subseqüentes serão adicionadas de 1 até o máximo de 20 listas.
SY-LSIND é uma variável que pode ser alterada, mas qualquer lista acima
do SY-LSIND corrente será apagada.
Separando opções de seleção
Selection-screen begin of block <blockname>
with frame-title <text element>

Bloco 1
Select-options...
Parameters...
Bloco 2

Selection-screen end of block <blockname>

Cada bloco cria um quadro separado na tela


agrupando as oções de seleção.
Pode ser utilizado o evento
AT-SELECTION-SCREEN ON BLOCK <nome>
para fazer verificação por bloco.
Instrução FOR ALL ENTRIES
SELECT *
FROM SPFLI
INTO TABLE T_SPFLI
FOR ALL ENTRIES IN T_SCARR
WHERE CARRID EQ T_SCARR-CARRID
AND CONNID IN S_CONNID.

Para se fazer uma nova seleção baseada numa


tabela interna já carregada pode-se usar a instrução
FOR ALL ENTRIES, nesse caso toda a tabela interna
será lida linha a linha, e os campos que fazem a ligação
entre a tabela interna inicial e a nova devem ser inseridos.
O comando HIDE (I)
LOOP AT T_SAIRPORT.
WRITE : T_SAIRPORT-NAME.
HIDE : T_SAIRPORT-ID, T_SAIRPORT-NAME.
ENDLOOP.

O comando HIDE serve para armazenar variáveis numa área


especial para posterior utilização.
Deve ser utilizado imediatamente após o comando WRITE.
Pode-se usar o HIDE com variáveis não usadas no WRITE, mas
que estejam preenchidas.
O comando HIDE (II)
AT LINE-SELECTION.
LOOP AT T_SPFLI
WHERE AIRPFROM EQ T_SAIRPORT-ID.
...
ENDLOOP.

Para ter acesso à área do HIDE, deve acionar uma função através
da seleção de linha.
A variável SY-LISEL receberá o conteúdo da linha selecionada.
Eventos para Relatório Interativo
• TOP-OF-PAGE
• END-OF-PAGE
• AT LINE-SELECTION
• TOP-OF-PAGE DURING LINE SELECTION

‘TOP-OF-PAGE’ é o evento utilizado para se imprimir o cabeçalho


da página quando o mesmo não foi definido nos elementos de
texto nem o padrão vai ser usado.
‘END-OF-PAGE’ é o evento processado quando o comando ‘NEW-
PAGE’ é executado, e serve para imprimir um rodapé na página
atual.
‘AT LINE-SELECTION’ é o evento que trata da seleção feita pelo
usuário dentro do relatório (duplo clique).
‘TOP-OF-PAGE DURING LINE SELECTION’ é o evento utilizado
para definir o cabeçalho do novo relatório criado no evento AT
LINE-SELECTION.
Eventos para Relatório Interativo

• AT USER-COMMAND

‘AT USER-COMMAND’ interpreta os


comandos utilizados pelo usuário.
Os comandos ficam armazenados na variável SY-UCOMM.

Para seleção de linhas o evento ‘PICK’ é executado.


Campos de sistema para relatório
interativo - sumário

SY-CUROW Posição do cursor (linha)


SY-CUCOL Posição do cursor (coluna)
SY-CPAGE Página atual
SY-STACO Primeira coluna exibida da lista
SY-STARO Primeira linha da lista
SY-LSIND Nível da lista
SY-LISTI Índice do Nível selecionado
SY-LILLI Número da linha selecionada
SY-LISEL Conteúdo da linha selecionada
READ LINE

<n> significa a linha que se deseja ler. A variável SY-INDEX pode ser
utilizada nesse caso.
Index <i> é o nível da lista (SY-LSIND).
Field value é utilizado para preencher os campos / variáveis de
acordo com o que foi lido da lista.
INTO é opcional.
MODIFY LINE

MODIFY LINE é utilizado para modificar a última linha lida.


Para isso sempre é necessário executar um READ LINE antes de
modificar.
Formatação usando WRITE -
complemento
• Using Edit Mask
– write / sy-uzeit using edit mask ‘__:__’.
• Hotspot
– write / t_sairport-id hotspot.
• Alinhamento: left-justified, right-justified e centered.
– write / (80) sy-uname centered.

‘Using Edit Mask’ permite modificar o formato de um


campo/variável através de uma máscara.
‘Hotspot’ permite que um determinado campo/variável no relatório seja
selecionado com apenas um clique. Note também que o cursor muda de
formato quando está sobre um hotspot.
Também é possível modificar o alinhamento
padrão dos tipos de dados para a saída do relatório.
MENU PAINTER
– Introdução
– Definindo um STATUS.
– Definindo um título para o STATUS.
Introdução

Para customizar a interface do usuário com o relatório deve-se


usar o Menu Painter.
O Menu Painter é utilizado para se criar GUI STATUS que contém
as definições de menu, barras de ferramentas e funções de atalho
dentro do programa.
A variável SY-PFKEY recebe o STATUS atual.
Definindo um STATUS

Pode-se usar a opção MENU PAINTER no menu inicial de


desenvolvimento.
Usa-se a transação SE41.
Dentro de um relatório usa-se SET PF-STATUS <nome do status>.

Cada Status deve ser relacionado com um programa.

Para se retornar ao STATUS padrão usa-se


SET PF-STATUS SPACE.
Definindo um STATUS

Menu bar: opções de menu – algumas opções são colocadas


automaticamente pelo SAP.
Application Toolbar: a barra de ferramentas – existem opções
padrão que podem ser usadas (como a palavra chave BACK).
Function Keys: As funções associadas com os comandos.
Basicamente elas seriam palavras chaves com atalhos
associados (opcional).

PARA UM STATUS SER EXECUTADO ELE


DEVE SER SEMPRE ATIVADO
Definindo um título para o STATUS

• SET TITLEBAR <nome> WITH field1 ... Field9.

A instrução WITH é opcional.


ADENDOS
Estados de um Programa Fonte
TRANSAÇÕES:

Usa-se a transações SE93 para criar novas transações.


A transação, de maneira geral, é uma forma de fazer uma
ligação entre um objeto e um denominador o qual pode ser
colocado nos menus do SAP.

Também é utilizado para que certos níveis de usuários possam


executar os programas já que eles não teriam autorização para
acessar os editores dos objetos em si mas apenas as
transações chamadoras.
VARIANTES:

Variantes são ‘Estados’ da seleção feita pelo usuário que


podem ser gravados para utilização posterior.
Útil quando se executa um programa com o mesmo conjunto de
dados repetidamente (como em testes).
Variantes também são utilizadas em execuções em background
e processamento em lote (BATCH-INPUT).
Módulos do SAP:
SD – Sales and Distribution
MM – Materials Management
PP – Production Planning
QM – Quality Management
PM – Plant Maintenance
HR – Human Resources
FI – Financial Accounting
CO – Controlling
AM – Asset Management
PS – Project System
WF – Workflow
IS – Industry Solutions

Você também pode gostar