Você está na página 1de 7

SmatrForms

SmatrForms
Ferramenta para criação de formulários.

1. Criação do Formulário
2. Criação do programa para chamar o formulário

Criação do programa para chamar o formulário:

Exemplo: ZAULA_SMARTFORMS

 Seleção dos dados a serem exibidos

 Chamada da função 'SSF_FUNCTION_MODULE_NAME’ passando o nome do


formulário e retornando o nome da função que vai gerar o SMARTFORM.
(Cada formulário gerado tem uma função específica para ele).

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'


EXPORTING formname = Nome do formulário
IMPORTING fm_name = Nome da função
EXCEPTIONS no_form =1
no_function_module = 2
OTHERS = 3.

 Chamada da função retornada acima para executar o SmatForm passando como


parâmetro informações referentes ao controle da impressão (control_parameters) e
as tabelas com os dados selecionados.

wa_control_parameters-langu = sy-langu.
wa_control_parameters-preview = 'X'.
wa_control_parameters-no_dialog = 'X'.

CALL FUNCTION fm_name


EXPORTING
control_parameters = wa_control_parameters
TABLES
it_voos = it_voos (Tabela com dados selecionados)
EXCEPTIONS
formatting_error =1
internal_error =2
send_error =3
user_canceled =4
SmatrForms

OTHERS = 5.
Criação do formulário:

Exemplo: ZAULASMARTF
Transação: SMARTFORMS

1. Criação do estilo ZAULASMARTF

 Criar os formatos de caracter C1 (letra normal) e C2 (letra para


título):
C1 – Na opção fonte indicar: fonte COURIER, tamanho 12
C2 – Na opção fonte indicar: fonte COURIER, tamanho 14,
negrito itálico,
sublinhado.

 Criar o formato de parágrafo P1:


P1 – Na opção fonte identação, indicar alinhamento a esquerda

 Em dados do cabeçalho:
Colocar parágrafo Standard = P1

2. Criação do SMARTFORM: ZAULA_SMARTF

 Em Configurações globais - Atributos do formulário:


- Título: “Aula de Smart Forms”
- Estilo: ZAULA_SMARTF

 Em Configurações globais - Interface do formulário:


- Preencher a opção tabelas: IT_VOOS like ZVOOS
( criar a estrutura ZVOOS na SE11 com os mesmos campos
usados na tabela interna IT_VOOS do programa )
SmatrForms

 Em páginas e janelas – Criar a página a ser usada (PAGE1)


– Obs: Se já não existir.

 Em páginas e janelas – PAGE1 – Criar as janelas a serem


usadas (RODAPE, DESPEDIDA, CARTA, ADDRESS,
DATE, SENDER e MAIN)
- Trocar os nomes, colocar as descrições e alterar as
posições das janelas na opção “opções de saída” de cada uma
conforme quadro abaixo.
Janela Margem Margem Largura Altura
esquerda Superior
RODAPE 1,37 28,20 17 1
DESPEDIDA 1,53 25,13 17 2
CARTA 2,2 10 17 4
ADDRESS 2,2 5,5 9 4
DATE 11,7 1 7,5 3
SENDER 2,2 1 9 4
MAIN 1,13 13,53 17,23 10,9
- Clicar no Form Painter se necessário

 Colocar o Logotipo na página DATE;


- Botão direito – criar gráfico – em características gerais
colocar: Nome = ZLOGOBMS e Resolução = 200.

- Se quiser colocar a data corrente no lugar do LOGO,


deve-se criar um texto.
OBS: No menu Utilitários – Lista de campos on/off
habilitamos a janela com as variáveis de sistema. Então, arrasta-se
a variável DATE para o texto.
 Criar os textos dentro das janelas.
SmatrForms

- Botão direito – criar texto – informar nome do texto e


significado, digitar o texto e informar formato de parágrafo (P1) e
de caracter (C1).
 Criar um LOOP na janela MAIN ( onde serão exibidos os
dados da tabela interna it_voos preenchida no programa ).
- Na opção Dados do LOOP, flagar Operando e informar
IT_VOOS into IT_VOOS.

- Criar uma tabela no LOOP para formatar a saída dos


dados em formato de tabela.
- Na opção Dados do LOOP, flagar Operando e informar
IT_VOOS into IT_VOOS.
- Definir a largura das colunas na tabela: Na opção
Tabela – Botão Detalhe/Table Painter deve-se informar:
* O tipo de linha = LINHA1
* As larguras das colunas (o total deve coincidir
com a largura da janela = 17 cm)

- Exibir as grades na tabela: clicar no botão Table painter


– clicar no botão selecionar modelo – clicar no botão exibir
SmatrForms

modelo com quadro e escolher o modelo em que todas as grades


são exibidas.

- Criar textos na tabela para exibirem o conteúdo das


células: Na área principal da tabela – clicar com o botão direito e
criar Entrada tabela.
Na ROW criada – na opção “opções de saída” colocar
tipo de linha = LINHA1 ( automaticamente será carregada as
células criada nas LINHA1 )
Em cada célula – criar texto e na opção características
gerais do texto informar o campo da tabela interna que será exibido (
Ex.: &IT_VOOS-CARRID& ). Informar também o formato de
parágrafo e de caracter.

- Colocar o título nas colunas da tabela:


Na área de cabeçalho da tabela, criar uma “entrada
tabela”.
Na ROW criada, em tipo de linha da opção “opções de
saída” informar LINHA1 ( automaticamente será carregada as
células criada nas LINHA1 ).
Criar textos nas ROWs ( cada ROW terá como texto o
título da coluna ) – Ir na opção “características gerais” do texto e
informar o texto de saída, o formato de parágrafo e de caracter.

- Fazer com que o título das colunas só sejam exibidos na


primeira linha, ou seja, quando sy-tabix for igual a 1:
Define uma variável global: Em configurações globais –
Definições globais – opção “dados globais” definimos G_TABIX
like SY-TABIX.
Na ROW da Área de cabeçalho da tabela – opção
“condições” informamos a condição G_TABIX = 1.
SmatrForms

Inserir um código no LOOP da MAIN (botão direito –


Criar – Lógica de processamento – Linhas de programa) e definir
parâmetro de entrada, de saída e o código conforme figura abaixo.

 Salva – Ativa e executa.


 Executar o programa que chama o smart form.

Transações:
SmatrForms

SMARTFORMS: Criação de Formulário / Estilo


SE78: Importação de gráficos (Logotipo)
Observação: poderia ter sido criado uma janela somente para os
títulos da tabela ou ter colocado o loop na área principal da tabela e
o cabeçalho na área de cabeçalho da tabela. Assim não teria que usar
a condição mostrada.
Essa condição foi usada apenas para exemplificar a parte de lógica
do SmartForm.

Você também pode gostar