Você está na página 1de 26

O que Smart Forms.

Smart Forms uma ferramenta de desenvolvimento, que est presente a partir da verso 4.6c do SAP.
Com ele possvel criar formulrios sem a necessidade de programar todo o formulrio. Ao invs
disso, o usurio arrasta-e-solta os objetos no Form Painter.

possvel tambm criar tabelas complexas utilizando um assistente.

Ao se criar um formulrio pelo Smart forms, gerado um mdulo de funo Standard, inclusive com
os parmetros de importao, exportao, changing, tabelas e excees. Alguns parmetros so
inseridos por default, estes no podem ser alterados.

Parmetros default do Smart forms


Ao se criar um smart forms, criado tambm alguns parmetros default na interface do modulo de funo.
Os parmetros default so os seguintes:

Importao:
o ARCHIVE_INDEX
o ARCHIVE_INDEX_TAB
o ARCHIVE_PARAMETERS
o CONTROL_PARAMETERS
o MAIL_APPL_OBJ
o MAIL_RECIPIENT
o MAIL_SENDER
o OUTPUT_OPTIONS: So as opes de sada do sapscript ( como se fosse a estrutura ITCPO,
s que com mais opes)
o USER_SETTINGS
Exportao:
o DOCUMENT_OUTPUT_INFO
o JOB_OUTPUT_INFO
o JOB_OUTPUT_OPTIONS
Excees:
o FORMATING_ERROR
o INTERNAL_ERROR
o SEND_ERROR
o USER_CANCELED

Interface do Smart Forms

Esta a interface do smartforms. Note que ela se


assemelha a interface de um mdulo de funo
possvel inserir novos parmetros de
importao/exportao/tabelas ou excees, porm, no
possvel alterar os parmetros defaults, nem excludos.

Neste canto ficam as opes do smartforms em formato de


rvore.
Em opes globais possvel:
Configurar os atributos do formulrio como o formato de
pgina, o nmero de caracteres por polegada, o n de linhas
por polegada e o estilo.
Em interface do formulrio possvel adicionar novos
parmetros (ver balo acima)
Em definies globais onde ser feita todas as declaraes
globais do formulrio como: Variveis, Smbolos, etc...
possvel, inclusive, incluir um cdigo abap que ser executado
assim que o smartforms for chamado

Nesta parte da tela fica o


Form Painter, com ele
possvel arrastar objetos e
posicion-los no formulrio.

Atributos do Formulrio
Nesta seo possvel configurar como o formulrio ir se comportar. O n Atributos do Formulrio se
divide em duas abas:

Caractersticas Gerais

Estas opes indicam em que condies o


formulrio ser traduzido

Opes de Sada

Indique aqui o nmero de


caracteres por polegada.

Indique aqui o formato de


pgina de seu formulrio.
Indique aqui o nmero
de linhas por polegada.
Indique aqui o estilo
(uma espcie de
modelo) do seu
formulrio.

Indique aqui se a sada do formulrio ser no formato OTF (flag


desmarcado) ou no formato XML (flag marcado).
No modo de sada voc indicar por qual meio a sada XML se dar. As
opes so: S para Spool, A para aplicao, I para ITS e B para
business connector.
No dispositivo de sada, dever ser indicada a impressora que ser utilizada
para a impresso do XSF.

Definies Globais
Neste n voc dever indicar quais so os dados globais (variveis, smbolos e etc...) do formulrio, ele se
divide em 5 abas:

Dados Globais
Nesta Aba voc dever indicar as variveis e estruturas globais. Toda varivel e estrutura que ser utilizada no
formulrio e que no esteja declarada no n interface do formulrio dever ser declarado aqui.

Ctgs.
Declaraes de tipos.

Smb. Campo
Nesta aba devero ser declarados todos os smbolos do formulrio.

Inicializao
Nesta aba possvel escrever um cdigo abap que ser executado quando o formulrio for chamado. Eqivale
ao evento initialization do report.

No exemplo acima todos itens de um determinado documento de vendas selecionado quando o formulrio
iniciado. Note que no alto existem duas janelas: Parmetros de entrada e Parmetros de sada.
Nos parmetros de entrada devero ser indicadas todas as variveis ou estruturas que sero lidas no cdigo
abap. Nos parmetros de sada devero ser indicadas todas as variveis ou estruturas que recebero dados e
sero utilizadas no restante do formulrio.
Tanto os parmetros de entrada, quanto os de sada devero estar declarados em dados globais ou na interface
do mdulo de funo.

Rotinas FORM
Nesta aba so indicadas todas as rotinas form que sero utilizadas no formulrio.

Campos Moedas/Quant.
Usado para declaraes de tipos moedas e quantidades.

Form Painter
O Form painter uma interface onde os objetos do formulrio podem ser posicionados livremente.

Objetos do Smart Forms


O Smart forms possui 13 objetos que podem ser usados para a confeco do formulrio:

Pgina: Cria uma pgina no formulrio.


Janela: Cria uma janela (para insero de textos, grficos ou tabelas) em uma pgina do formulrio
Grfico: Insere um grfico bitmap em uma janela do formulrio
Alternativa: Com este objeto possvel inserir um se no formulrio.
Endereo: Com este objeto possvel inserir uma caixa de texto, j formata, contendo o endereo de
um centro (filial) ou cliente.
Texto: Inclui um texto em uma janela do formulrio.
Comando: Insere um comando de impressora ou uma transio de pgina
Linhas de Programa: Insere um cdigo ABAP no formulrio
LOOP: Com este objeto possvel inserir um LOOP de uma tabela interna, inserindo os resultados
em um campo de texto, por exemplo.
Tabela: Com este objeto possvel inserir uma tabela (como a do Word) no formulrio. Os dados
viro de uma tabela interna.
Padro: Insere uma tabela vazia. Os dados devero vir de um outro objeto, como um LOOP, por
exemplo.
Seo Complexa: Rene os objeto LOOP, tabela e padro em um nico objeto.

Objeto Pgina
Com este objeto possvel incluir uma pgina no formulrio. Existem 3 abas de configurao neste objeto que
sero explicadas abaixo:

Este flag indica se esta janela a janela


principal do formulrio.
Geralmente a janela principal a janela
main.
S pode existir uma janela principal em
cada pgina.

Objeto Janela
Uma janela pode contm textos, imagens e tabelas.

Indique aqui as margens esquerda e


superior, assim como a largura e altura da
janela.

Indique aqui se a janela ser envolvida por uma linha


(e sua espessura). Tambm possvel incluir um
sombreamento nas linhas da janela.

Tambm possvel indicar em que


Objeto
Grfico
momento
a janela
ser impressa.
Com este objeto possvel inserir uma imagem bitmap em qualquer parte do formulrio.
OBS: A imagem a ser inserida j dever ter sido carregada pela transao SE76.
Indique aqui as condies

Indique tambm se ele


Indique
aqui osdeatributos
ser impresso
forma da
imagem
bitmap,
como:
colorida ou em preto e nome,
objeto
branco.e identificador.

Indique aqui a resoluo.


Quanto maior a resoluo,
menor ser a imagem exibida.

Objeto Alternativa
Com este objeto possvel incluir um se no formulrio, ou seja, voc pode definir qual objeto ser impresso
ou executado quando a condio for verdadeira e qual objeto ser impresso ou executado quando a condio
for falsa.

Insira abaixo do true todos os objetos que


devero ser impressos ou executados
quando a condio for verdadeira

Insira abaixo false todos os objetos que


devero ser impressos ou executados
quando a condio for falsa.

Objeto Endereo
Com este objeto possvel inserir um endereo, j formatado, de uma organizao, de um cliente ou de um
centro de trabalho (filial).

Objeto Texto
Insere um texto livre em uma janela ou em uma clula de uma tabela. Este objeto tambm poder ser usado
para receber os dados do objeto LOOP.

Objeto Comando
Insere um comando de impressora ou uma transio de pgina.

Objeto Linhas de Programa


Insere um cdigo abap dentro do smart forms.

Note que no alto existem duas janelas: Parmetros de entrada e Parmetros de sada.

Nos parmetros de entrada devero ser indicadas todas as variveis ou estruturas que sero lidas no cdigo
abap. Nos parmetros de sada devero ser indicadas todas as variveis ou estruturas que recebero dados
e sero utilizadas no restante do formulrio.

Tanto os parmetros de entrada, quanto os de sada devero estar declarados em dados globais ou na
interface do mdulo de funo.

Objeto LOOP
Com este objeto possvel incluir um loop em uma tabela interna. Por exemplo: listar todos os dados de uma
tabela interna.

Objeto Tabela
Insere uma tabela (como a do Word) no formulrio. Este objeto depende de outros objetos como o objeto
Texto.

Ser necessrio inserir um objeto texto, ou grfico, para cada clula da tabela.

Objeto Padro
O objeto padro muito semelhante ao objeto tabela, a nica diferena que ele no possui a aba dados. Este
objeto poder ser usado para formatar dados estticos em uma tabela.

Chamando o smartforms no programa ABAP


Para executar o smart forms a partir de um programa ABAP voc dever, antes, saber qual foi o nome do
mdulo de funo gerado para ele. Para isso, no menu ambiente selecione a opo Nome do mdulo de
funo. O nome do mdulo de funo ser exibido em uma mensagem de informao como demonstrado
abaixo:

Funo que faz a chamada do smartforms pelo formulrio.


CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME
=
*
VARIANT
= ' '
*
DIRECT_CALL
= ' '
* IMPORTING
*
FM_NAME
=
* EXCEPTIONS
*
NO_FORM
= 1
*
NO_FUNCTION_MODULE
= 2
*
OTHERS
= 3
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Você também pode gostar