Você está na página 1de 54

Overview Smartforms

Overview Smartforms
Rodrigo Gama - SONDA IT - 2012

1
Overview Smartforms

1. Introdução........................................................................................................................................................................... 2
1.1 O que é Smart Forms..................................................................................................................................................... 2
1.2 Benefícios do Smart Form.............................................................................................................................................. 2
2. Acessando o Smartforms.................................................................................................................................................... 2
3. Atributos do Formulário....................................................................................................................................................... 5
3.1. Características Gerais.................................................................................................................................................... 5
3.2. Opções de Saída............................................................................................................................................................ 6
3. Importando Imagens........................................................................................................................................................... 7
4. Criando um SMARTFORMS............................................................................................................................................. 10
4.1. Criando um Smart Form Print Program:....................................................................................................................... 10
4.2. Iniciando a criação do Smartforms:............................................................................................................................... 11
4.3. Criando o Header.......................................................................................................................................................... 14
4.4. Testando o Header........................................................................................................................................................ 27
4.5. Criando o Main.............................................................................................................................................................. 29
4.6. Inserindo Logo.............................................................................................................................................................. 35
4.7. Testando o relatório...................................................................................................................................................... 37
4.8. Criando Estilo................................................................................................................................................................ 40
4.9. Formatações................................................................................................................................................................. 49
5. Download \ Upload do formulário...................................................................................................................................... 50
5.1. Download do formulário................................................................................................................................................ 50
5.2. Upload do formulário..................................................................................................................................................... 52

1. Introdução

Esse documento tem como objetivo apresentar a ferramenta de criação de formulários da SAP “SMARTFORMS”.

1.1 O que é Smart Forms

Smart Forms é uma ferramenta de desenvolvimento de formulários, que está presente a partir da versão 4.6c do SAP.
Substitui o SapScript como ferramenta de desenvolvimento de formulários, oferecendo um ambiente gráfico para criar e
alterar os formulários.
Está acessível através da transação SMARTFORMS, e o processo de impressão se dá através da chamada a uma
função gerada por esta transação, que contem todo o processamento do formulário.

O Smartforms trabalha com objetos. A partir deles é possível inserir janelas, páginas, LOOPS, figuras, tabelas e
códigos ABAP.

1.2 Benefícios do Smart Form

 Ambiente gráfico para desenvolvimento


 Maior flexibilidade no desenvolvimento e maior facilidade de manutenção
 Publicar formulários na WEB
 O programa de impressão basicamente só seleciona os dados e faz chamada a função que executa o formulário
enviando os dados. Em caso de alterações no formulário, elas se concentrarão exclusivamente no formulário, sem
necessidade de se alterar o programa, exceto nos casos em que se alterem os dados.
 Não precisa ser copiado de um ambiente para outro para ser testado.
 Seu teste em desenvolvimento apresenta a aparência real do formulário mais próxima do real.

2. Acessando o Smartforms

2
Overview Smartforms

Acessar a transação SMARTFORMS

3
Overview Smartforms

Navigation Menu Maintenance Frame Form Painter

 Navigation Menu: Exibe os nós contidos no formulário, e permite incluir novos nós, alterar posição no formulário,
eliminar, etc.
 Maintenance Frame: Exibe as propriedades do nó selecionado no menu.
 Form Painter: Exibe e permite manipular as janelas e alguns outros objetos(nós) do formulário em formato gráfico.

OBSERVAÇÕES: Ao clicar no item de menu: Utilitários => Lista de Campos on/off serão exibidos os campos do form. Estes
campos poderão ser arrastados e colados em um elemento de texto.

O processo completo de impressão de um formulário Smart Form possui três objetos principais no SAP:

 Smart Form Print Form Template:


É o formulário, onde é criado ou pré-configurado o modelo.

4
Overview Smartforms

 Smart Form function module:


Modulo de função a ser chamado para executar o formulário. É gerada automaticamente quando ativamos um smart
form e contém todo o processamento do mesmo.

 Smart Form print program:


Programa ABAP que executará o formulário. Deverá selecionar os dados, fazer chamada a função
'SSF_FUNCTION_MODULE_NAME' passando o nome do formulário como parâmetro. Esta função retorna o nome
da function module que será chamada para executar o formulário.

Os programas do Smart Form não são os mesmos que os dos formulários de SapScript, e você não pode utilizar os
programas de impressão de SapScript para imprimir um Smart Form.

3. Atributos do Formulário

Nesta seção é possível configurar como o formulário irá se comportar. O nó “Atributos do Formulário” se divide em duas
abas:

3.1. Características Gerais

5
Overview Smartforms

Estas opções indicam em que


condições o formulário será
traduzido.

3.2. Opções de Saída

6
Overview Smartforms

Indique aqui o
formato de página
de seu formulário.

Indique aqui o número de


caracteres por polegada.

Indique aqui o
número de linhas
por polegada.

Indique aqui o estilo


(uma espécie de
modelo) do seu
formulário.

3. Importando Imagens
Para utilizarmos imagens do Smartforms, devemos antes importar para o sistema utilizando a transação SE78 –
Manutenção de Imagens no Sistema

7
Overview Smartforms

Clicar em (Importar)

Nome do File: endereço da imagem a ser importada


Nome: nome da imagem no SAP
Descrição: descrição da imagem
Tipo: em preto e branco ou em cores

8
Overview Smartforms

Aperte em (Pré-Visualização)

O tamanho da imagem é ajustado no formulário nas características técnicas da imagem.

9
Overview Smartforms

4. Criando um SMARTFORMS.

4.1. Criando um Smart Form Print Program:


Programa ABAP que executará o formulário. Deverá selecionar os dados, fazer chamada a função
'SSF_FUNCTION_MODULE_NAME' passando o nome do formulário como parâmetro. Esta função retorna o nome da
function module que será chamada para executar o formulário.

Na transação SE38, crie um report chamado ZR_SF_OVERVIEW_01 onde 01 é seu número. Utilize o código descrito no
arquivo abaixo.

ZR_SF_OVERVIEW.txt

10
Overview Smartforms

4.2. Iniciando a criação do Smartforms:


Na transação Smartforms, crie um formulário chamado ZSF_OVERVIEW_01 onde 01 é seu número. Grave como objeto
local.

11
Overview Smartforms

12
Overview Smartforms

13
Overview Smartforms

4.3. Criando o Header

Este formulário será dividido da seguinte maneira:


- Figura
- Header (Dados Tabela Scarr)
- Main (Sflight)

14
Overview Smartforms

15
Overview Smartforms

Marque a opção abaixo:

Para alterar o posicionamento das Janelas e Main:

- Maior precisão - Ambos tem a aba “Opções de Saída” onde podemos escolher margem, tamanho da largura e altura.
- Menor precisão - Ou podemos alterar manualmente utilizando o form painter.

16
Overview Smartforms

17
Overview Smartforms

18
Overview Smartforms

Nossa Tabela Scarr tem os seguintes campos para header:

COMPANHIA AÉREA (CARRID) Exemplo - AA

NOME COMPANHIA AÉREA (CARRNAME) Exemplo - American Airlines

MOEDA (CURRCODE) Exemplo - USD

URL (URL) Exemplo - http://www.aa.com

Faremos o header com 2 linhas e 2 colunas separando as 4 informações.

19
Overview Smartforms

Vamos criar os textos com variáveis dentro do layout.

20
Overview Smartforms

21
Overview Smartforms

Para inserir Variáveis devemos clicar no botão , a tela abaixo será exibida. O campo deve ser preenchido entre &.

Não esqueça que o campo deve estar declarado nos dados globais.

22
Overview Smartforms

Criaremos outros textos

23
Overview Smartforms

Faremos mais 2 textos para a Segunda Linha. Coluna 1 e Coluna 2 da segunda linha.

24
Overview Smartforms

Criando o loop da Janela Header.

Definir nome e descrição.

25
Overview Smartforms

Atenção.: Seguindo esse procedimento ocorreram os erros abaixo ao ativar e servem como conhecimento para
futuros problemas.

Esse erro está ocorrendo porque o nó “layout” está separado do nó Loop. O nó layout tem que estar dentro do
nó loop onde foi colocado w_scarr neste caso não está havendo ligação.

A Solução é colocar o nó layout dentro do nó loop. Selecionar o Header como figura acima e arrastar para cima
do nó loop.
O sistema irá perguntar se deseja realmente confirmar a alteração. Após a correção deverá ficar assim:

Devemos estar atentos a erros de formatação:

Precisamos aumentar a altura da janela header pois o layout dentro da janela é maior que tamanho de janela.

26
Overview Smartforms

4.4. Testando o Header

Todo formulário é atribuído a um módulo de função, para verificarmos o nome da função gerada devemos ir em
"Ambiente" - "Nome do módulo de função"

A tela com o nome da função será exibida, podemos acessar via SE37. Esta função será chamado pela programa que
criamos no inicio e receberá como parâmetro de entrada as tabelas T_SCARR e T_SFLIGHT que declaramos na
interface do formulário.

Após o formulário ter sido ativado com sucesso, vamos testar. Selecione o botão ,

27
Overview Smartforms

Selecione novamente o botão para rodar a função preenchendo a tabela SCARR conforme abaixo.

Informar impressora LOCL e clicar em pré-visualização.

O relatório deve ser exibido.

28
Overview Smartforms

4.5. Criando o Main

Criar a tabela dentro do MAIN inserindo um loop na SFLIGHT. Utilizamos a condição carrid = w_scarr-carrid para que a
quebra seja feita pelo campo. Por exemplo, scarr-carrid = AA o loop da SFLIGHT imprimirá todos o registros AA dentro do
Main
.

29
Overview Smartforms

Inserir as medidas conforme a imagem, a coluna 6 oculta na imagem está com 3,00cm.

30
Overview Smartforms

Ao definir a Ctg.linha como HEADER_SFLIGHT, automaticamente as colunas serão exibidas na arvore.

Renomear a 1º célula.

31
Overview Smartforms

Criar o texto "Companhia Aérea"

Realizar este procedimento para todas as outras células ficando conforme abaixo:

Textos: Companhia Aérea


Nº Vôo
Data do vôo
Preço do vôo
Tipo do Avião
Marcações

32
Overview Smartforms

Criar entrada de tabela na área principal.

Ao definir a Ctg.linha como DADOS, automaticamente as colunas serão exibidas na arvore.

Realizar o mesmo procedimento para renomear as células (não podemos ter nomes repetidos por isso completamos o
nome com "DADOS" no final)

Criar os textos, só que em vez de inserirmos textos fixos vamos chamar variáveis clicando no botão .

33
Overview Smartforms

Textos: Companhia Aérea - &w_sflight-carrid&


Nº Vôo - &w_sflight-connid&
Data do vôo - &w_sflight-fldate&
Preço do vôo - &w_sflight-price&
Tipo do Avião - &w_sflight-planetype&
Marcações - &w_sflight-paymentsum&

Ficando desta forma

34
Overview Smartforms

4.6. Inserindo Logo

35
Overview Smartforms

Podemos criar uma condição para a impressão do logo. Esse logo é da american airlines, logo somente deverá ser
impresso se w_scarr-carrid for ‘AA’.

Caso exista condições, devemos mover o logo para dentro do Loop.

Alterei a medida do Header para receber o logo.

36
Overview Smartforms

4.7. Testando o relatório.

Editar o programa ZR_SF_OVERVIEW_01 criado anteriormente.

Procurar a função SSF_FUNCTION_MODULE_NAME. Essa função busca o nome da função do smartforms pelo nome
do formulário. O campo formname deve ser preenchido com o nome do seu formulário.
Ao rodar, o campo fm_name será preenchido com o nome da função gerada pelo smartforms.

* Busca Nome do módulo de função que foi gerado para o Formulário.


CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZSF_OVERVIEW_01' "--> Mudar para o nome do seu formulário
IMPORTING
fm_name = vl_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.

Tela do DEBUG após passar pela função:

Tela vista no smartforms pelo caminho: “Ambiente” – “Nome do Módulo de Função”.

Com o nome da função em mãos devemos chamar a função do smartforms (o nome da função é a variável vl_fm_name
preenchida pela função SSF_FUNCTION_MODULE_NAME) passando como parâmetro as tabelas que definimos na
criação.

CALL FUNCTION vl_fm_name


EXPORTING
control_parameters = st_control_parameters
output_options = st_output_options
user_settings = 'X'
TABLES
t_scarr = it_scarr
t_sflight = it_sflight
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3

37
Overview Smartforms

user_canceled = 4
OTHERS = 5.

Rodar o programa.

Informar a impressora LOCL e clicar em pré-visualização.

38
Overview Smartforms

39
Overview Smartforms

4.8. Criando Estilo

Vamos criar o estilo ZE_OVERVIEW_01, acessar a transação SMARTFORMS e no campo Estilo informar o nome do
estilo a ser criado.

40
Overview Smartforms

41
Overview Smartforms

42
Overview Smartforms

Definir o tipo da fonte. No campo visualização será exibido o texto formatado.

43
Overview Smartforms

44
Overview Smartforms

Criamos o parágrafo Negrito com alinhamento centralizado.

45
Overview Smartforms

Finalizar a criação do estilo informando o Parágrafo standard em dados do cabeçalho. Salvar como objeto local e ativar.

46
Overview Smartforms

Voltar no formulário e definir no formato de saída o estilo criado.

As formatações criadas no estilo estarão disponíveis na "combo" do elemento de texto.

47
Overview Smartforms

Rodando o formulário após aplicação do estilo.

48
Overview Smartforms

4.9. Formatações

Linhas de
separação para
tabelas

2º Modelo
selecionado.

1º Selecione Exibir
modelo com quadro.

49
Overview Smartforms

Resultado.

5. Download \ Upload do formulário.

5.1. Download do formulário


Podemos fazer download do formulário como forma de backup ou para copiar o formulário para outro sistema, o
download gera um arquivo .XML

Na tela inicial da transação SMARTFORMS. Caminho: Utilitários – Download formulário

Informar o nome do formulário a ser copiado.

50
Overview Smartforms

Informar o local a ser gravado. Salvar.

Será criado um arquivo .XML com o nome do formulário, no caso z_nfdanfe_portrait_sap.xml

51
Overview Smartforms

5.2. Upload do formulário


Podemos fazer upload de um formulário no formato .XML e todo seu layout incluindo sua codificação interna serão
carregados para o SAP.

Na tela inicial da transação SMARTFORMS. Caminho: Utilitários – Upload formulário

Informar o nome do formulário a ser criado.

Informar o local onde o arquivo se encontra. Abrir.

52
Overview Smartforms

Informar Pacote e request.

Formulário criado com sucesso

Exibir

53
Overview Smartforms

Formulário criado com sucesso ainda inativo.

54

Você também pode gostar