SAP SCRIPT - Introdução
O que é ?
O editor de Sapscript é um sistema de processamento de texto e pode ser definido como
uma “máscara” de formatação de relatórios (SAP – você já sabe de onde vem e Script, porque é
feito através de comandos - “script”).
Como usar ?
Normalmente é usado em relatórios especiais, cheques, notas fiscais, pedidos de compras,
boletos bancários, etc.
Como funciona?
Um programa abap (do tipo relatório) chama, abre e preenche um formulário SapScript,
feito no Editor de Sapscript através de funções especiais no próprio relatório. No final, esse
formulário é impresso.
Criando um formulário SapScript
Vamos começar criando um formulário SapScript. Para iniciar o Editor, selecione:
Ferramentas / Processamento texto / Formulário (Transação SE71).
SAP R/3 versão 4.0b – edição 1- Março de 1999 1
Acessar o
formulário.
Abaixo vemos a primeira tela do Editor:
digite o nome do formulário que
você quer criar ou alterar.
Aqui você coloca o
idioma do formulário.
No momento em que clicamos em Criar, o editor dá uma mensagem dizendo que o
formulário não existe no idioma escolhido e abre a tela de criação. Antes, pergunta a classe de
desenvolvimento do SapScript. É conveniente ter todas as change requests dos formulários
anotadas para posterior liberação e transporte. Se o formulário já existir, abre-o para modificação.
SAP R/3 versão 4.0b – edição 1- Março de 1999 2
Descrição. Tecle aqui
para opções
básicas.
Esta tela abaixo é a Tela de dados administrativos do formulário. É onde vemos:
nome (no caso, ZTESTE)
seu significado (descrição do que ele é)
status que pode ser “novo – gravado” ou “ativo – gravado” (o formulário só funciona quando
seu status é ativo). Se o formulário estiver com erro, não conseguimos ativá-lo, como veremos
depois.
Devem ser iguais, senão
não poderemos alterá-lo.
Pode-se manter diferentes
versões em diferentes idiomas.
Em atributos de idioma, é importante ressaltar que, se o Código do idioma e o Idioma Original
não forem PT, não conseguiremos alterar o formulário. Quando criamos um novo, não há
problema, mas quando copiamos de um formulário Standard, normalmente precisaremos traduzí-
lo, mas isto será visto adiante.
Podemos também manter versões em outros idiomas do formulário (isto é útil quando, por
exemplo, precisamos imprimi-lo em mais de um idioma e a parametrização no SAP só nos permite
colocar um nome de formulário, pois normalmente o programa que o chama fará essa escolha).
SAP R/3 versão 4.0b – edição 1- Março de 1999 3
Agora, tecle em Funções Básicas, e iremos ver a tela abaixo:
Aqui escolhemos o tamanho
do nosso formulário.
Em Formato de Página, escolhemos um formato, que normalmente é criado em BASIS
(feito através da transação SPAD). Normalmente é criado um formato horizontal e um vertical da
página e podemos usar um dos dois.
Linhas/polegada é importante, principalmente se a impressora for matricial, pois trata do
tamanho da linha no formulário, que normalmente é 6 (sextos) ou 8 (oitavos) linhas por polegada.
Caracs/polegada é o tamanho dos caracteres impressos, normalmente é usado 10
(décimos).
Em Página inicial, escolhemos qual a primeira página do Sapscript será usada (conforme
veremos, um formulário pode uma ou várias páginas).
No grupo Valores propostos p/formatação texto colocamos escolhas gerais para serem
usadas como default nos textos que apresentamos. É coerente que coloquemos aqui a formatação
mais usada no documento. Veremos logo mais como funcionam estas opções de texto.
SAP R/3 versão 4.0b – edição 1- Março de 1999 4
Páginas, Janela, Janelas Páginas
O formulário pode ter uma ou várias páginas. Por exemplo, poderíamos ter uma página de
apresentação e uma ou mais de detalhes. Vejamos:
Para Criar uma página, escolha, no menu Processar -> Criar Elemento. Feito isso, será pedido um
nome e uma descrição para sua página
Nome da Página.
Para Criar uma nova Página.
Feito isso, aparece uma caixa de diálogo:
SAP R/3 versão 4.0b – edição 1- Março de 1999 5
Vejamos abaixo:
Descrição da
Aqui informamos quem será a próxima página. Por
Página
enquanto só temos uma, depois de criarmos outra,
veremos melhor este atributo.
Dentro do grupo Numerador de páginas, temos os dois sub-grupos abaixo e, as escolhas
aqui feitas têm efeito nas variáveis globais de SapScript que podem ser acessadas por código:
No Grupo Numerados de páginas, vemos o modo do numerador de páginas, que pode ser
de 3 tipos:
INC - Aumentar numerador em 1.
HOLD - Manter numerador inalterável.
START - Definir numerador para 1.
Na Categoria numeração, escolhemos como serão os caracteres de numeração numerador
(arábico, números romanos, caracteres fixos ou letras)
Podemos criar várias páginas e encadeá-las, por exemplo:
Primeira Página Segunda Página
Ou, podemos fazer com que a segunda página fique num LOOP, até não ter mais informação:
Primeira Página Segunda Página
SAP R/3 versão 4.0b – edição 1- Março de 1999 6
Isto é feito através da Propriedade Página +, Vejamos abaixo, onde estamos ligando a
primeira página com a segunda:
Quando esta página estiver completa,
chama
Aqui a segunda
colocamos que apágina.
página + da segunda
página é ela mesma, ou seja em LOOP.
Agora, vejamos como se faz o LOOP na segunda janela:
Depois disso precisamos criar Janelas para serem usadas das páginas que criamos:
Escolha aqui para criar as Páginas.
Sempre
Com isso aparece criada tela:
a seguinte por default.
SAP R/3 versão 4.0b – edição 1- Março de 1999 7
Para criar janelas, escolha no menu Processar -> Criar elemento. Dê um nome para a
janela e uma descrição.
SAP R/3 versão 4.0b – edição 1- Março de 1999 8
Complete a criação da janela
escolhendo uma categoria.
As janelas têm 3 categorias:
VAR – Janelas variáveis.
CONST – Janelas Constantes
MAIN - Janela Principal (só pode haver uma)
Agora, vamos “ligar” as Janelas que criamos com as Páginas que também criamos, para
isso, criamos as chamadas Janelas Páginas.
Para Criarmos Janelas Páginas
SAP R/3 versão 4.0b – edição 1- Março de 1999 9
Só podemos criar Janelas páginas com janelas que já existem, nas páginas que já existem.
Vejamos:
Escolha esta opção para criar
Janelas páginas
Feito isso aparece uma janela para podermos escolher que janela queremos colocar na
página. Veja que são as Janelas que tínhamos criado anteriormente.
Escolha aqui a Janela.
Escolha aqui a Página.
Lembra-se que, quando criamos a Janela como VAR ou CONST (já que a MAIN é criada
automaticamente e só pode haver uma) ? Pois então, aqui surgirá o efeito dessa escolha, pois
quando uma Janela é do tipo VAR, as alterações feitas nelas só funcionam para esta página e,
quando é CONST, a alteração funciona para todas as Páginas em que esta Janela existir.
Vamos completar a criação da Janela página:
SAP R/3 versão 4.0b – edição 1- Março de 1999 10
Aqui você
Página
editaonde
o tamanho
esta Janela
da sua Janela
Página Página
e vemos está
logo
sendo
acimacriada.
Janela variável, mudanças daqui o resultado.
só valem para esta janela.
É dentro das Janelas Páginas que conseguimos finalmente colocar os textos que desejamos
formatar e comandos, por isso definimos o tamanho.
Dica importante: sempre que for usar impressora matricial (modo texto), use as medidas em
linhas e caracteres (LN e CH), pois qualquer outra medida serve só para modo gráfico (isto servirá
para o próximo tópico, onde criaremos tabuladores, dentro dos parágrafos).
Formatos de Parágrafo
No editor de elementos de texto, muitas vezes queremos escrever uma linha com tipos e
tamanhos diferentes de caracteres e com tabulações, estas são características dos formatos de
parágrafo.
SAP R/3 versão 4.0b – edição 1- Março de 1999 11
Para criar Formatos de Parágrafo, vejamos abaixo:
Clique aqui para criar/alterar/deletar
Formatos de parágrafo.
Feito isso, a tela de criação abaixo aparece:
Clique em Processar / Criar elemento e
preencha com o nome do objeto e descrição.
SAP R/3 versão 4.0b – edição 1- Março de 1999 12
Podemos colocar neste parágrafo (usaremos logo a seguir), margens esquerda e direita,
alinhamento e espacejamento de linhas.
Em opções básicas, no cabeçalho do Sapscript, colocamos o tamanho de linhas em
linhas/polegada. Podemos definir que uma linha pode ser, na verdade 1,2 linha daquele tamanho
que definimos ou 0,8 linha ou qualquer outro tamanho relativo. Digite esse valor no campo
Espacej. Linhas.
Atenção – Não funciona em modo texto, só em modo gráfico).
Clicando no botão Fam. Caracts podemos escolher um tipo de caracter default para uso do
parágrafo:
Só os tipos de caracteres que estiverem no SAP podem ser usados.
SAP R/3 versão 4.0b – edição 1- Março de 1999 13
Escolhendo o caracter
default. Mais opções
E também podemos colocar tabuladores no parágrafo para usarmos com o texto:
Posição
Medida
SAP R/3 versão 4.0b – edição 1- Março de 1999 14
É possível controlar a tabulação de um parágrafo com tabuladores de posição. O “Stop
tabulador” definido na formatação do parágrafo substitui a tabulação definida nos dados de
Cabeçalho do Layout Set.
Entretanto, isto depende da quantidade de “Stop tabuladores” que foi definida na
formatação do parágrafo. Se houver menos tabuladores na formatação do parágrafo do que nos
dados de Cabeçalho, o “Stop tabulador” definido no Cabeçalho será utilizado para o restante da
linha de edição.
O “Stop tabulador” é representado como ,, no editor de texto.
É possível utilizar diferentes unidades de medidas para definir uma posição de tabulação.
CH - Characters
CM - Centimeters
MM - Milimeters
PT - Points
TW - Twips (1/20 point)
A numeração é carregada automaticamente pelo Sapscript.
Tipo de numeração.
SAP R/3 versão 4.0b – edição 1- Março de 1999 15
Formatos de Caracteres
Permite a formatação de blocos inteiros de texto dentro de um parágrafo, através da
criação de novas tags < > ... </>, como na linguagem HTML.
Protegido: O Character string não
permite uma quebra de linha,
O Character string é apresentado mas apresenta todo o bloco de
como um código de barras, se o texto na próxima linha.
caractere declarado para isto, for
selecionado. Oculto: O Character string não é
apresentado. O texto somente
é visível no editor de texto.
Superescrito/
Se este atributo é selecionado quando Subescrito: O Character string é
se define o formato do caractere, uma apresentado meia linha acima
chave de pesquisa é associada ao ou abaixo.
Character string quando o usuário
utiliza este formato de caractere.
Exemplos: glossários, hipertextos, e
links de elementos de dados.
SAP R/3 versão 4.0b – edição 1- Março de 1999 16
Formatação
Formatação do caractere.
Formatação utilizada.
Para criar um novo Character string: Processar / Criar elemento.
Para criar um novo
elemento, digitar
diretamente no box, ou,
SAP R/3 versão 4.0b – edição 1- Março de 1999 17
Podemos usar outros tipos de medidas, mas lembrando da regra que, em modo texto, se
usa CH (caracteres) e em modo gráfico podemos usar ambos.
O editor de elementos de texto
Os dados a serem carregados no layout set devem obrigatoriamente ter como origem
Tabelas Transparentes ou Estruturas do ABAP/4 Dictionary. Variáveis de campos de programa
não podem ser diretamente impressas.
Para que tais dados apareçam no layout são utilizadas SYMBOLS.
O formato de uma program symbol é: &table-struc/field&. Ex.:&LFA1-LIFNR&. Ou seja tudo
que estiver entre &&, é tido como um campo e não um texto
Elementos de uma JANELA:
Text elements
Symbols
Paragraphs
Character strings -> para dar formato ao text element
Um SELECT retorna dados para várias JANELAS, não necessariamente para somente uma
específica.
Quando uma Janela tiver text element (/E) é possível controlar a impressão. Uma Janela
pode ter vários text elements definidos. Eles funcionam como labels das instruções.
É necessário o uso da função WRITE_FORM para gerar a impressão, quando houver um
text element, senão nada aparecerá na impressão da janela correspondente.
O layout set controla a impressão de saída e o programa de impressão somente os dados
da impressão.
O programa é Client Independent e o Layout Set é Client Dependent. A Language faz parte
do layout do relatório. Então, deve-se sempre trabalhar com a Language em que foi desenhado o
layout.
As modificações das Janelas somente serão possíveis na “Original Language”.
COMO ACESSAR OS TEXT ELEMENTS NA JANELA
Para acessar o editor
de elementos de texto.
SAP R/3 versão 4.0b – edição 1- Março de 1999 18
Elemento de texto
Elemento de texto da Janela MAIN do formulário standard J_1B_BOLETO (Boleto bancário).
É chamado pelas Functions no programa de saída de impressão.
Elemento de texto.
Stop
tabulador.
Formato
de
Caractere.
Formato
de
Parágrafo. Dado: informação de
tabela / estrutura. Literal fixa.
Continuação da linha
superior.
IMPORTANTE
Como deslocar para a página do lado direito, onde está a continuação do
texto?
Posicionar o cursor sobre o sinal ( > ).
Apertar o botão direito do mouse, e selecionar “Página esqu./direita”
SHIFT+F8. Para retornar, efetuar o mesmo procedimento.
SAP R/3 versão 4.0b – edição 1- Março de 1999 19
Este é o editor de elementos de texto:
símbolo de comentário.
Está entre &&, é um campo do relatório que
chama este SapScript.
Este
Istoéquer
o tabulador,
dizer quea alinha
cada 2será
vírgulas consecutivas,
um comando, note
o que
editor entende que um tabulador.
no final do comando não tem o ponto final
Isto é texto.
Este é o parágrafo que criamos.
Agora vamos ver como usar o tabulador que criamos no parágrafo P1:
SAP R/3 versão 4.0b – edição 1- Março de 1999 20
Os formatos que podemos colocar nos parágrafos são apresentados a seguir.
Formato Significado
EN Entradas var.em quadros
H1 Cabeçalho documento
HD Linhas cabeçalho p/quadros
* Parágr.default
Txt.corr.
= Lnh.longa
( LnhBruta
/ Avanço linha
/= Avanço linha e linha longa
/( Avanço linha e linha bruta
/: Linha de comando
/* Linha de comentário
/E Elemento de texto
/E – Este elemento cria um bloco que pode ser referenciado por uma função chamada write_form,
no programa que chama o SapScript
SAP R/3 versão 4.0b – edição 1- Março de 1999 21
Copiando um Formulário SapScript existente
Se já existir um Sapscript semelhante ao que deve ser elaborado, é melhor copiá-lo e fazer
as devidas alterações.
Ativar o formulário do Sapscrip, sempre que for efetuada uma modificação, para que as
novas atribuições sejam consideradas.
Para efetuar a cópia selecione: Utilitários / Copiar do mandante.
Digitar o nome do programa a ser copiado.
Coloque qualquer idioma,
pois não influenciará na
cópia e não há necessidade
de colocar o nome do
formulário
Os formulários Standard estão no mandante 000 e podem ser copiados para o mandante
que você estiver trabalhando. Lembre-se que seus formulários são Client Dependent, mesmo
quando os todos clients estiverem na mesma máquina. Portanto, ao final do projeto, libere a
request do seu SapScript e peça para o suporte BASIS transportá-lo para todos clients.
SAP R/3 versão 4.0b – edição 1- Março de 1999 22
Selecione: Utilitários / Copiar do mandante.
Digitar os nomes dos formulários e executar o processamento.
Nome do formulário (origem), o client de
origem e nome do formulário de destino.
Executar o processo.
Será apresentada uma dialog box. Digitar a classe de desenvolvimento e salvar. Um
resumo do processo será apresentado com as devidas cópias criadas.
SAP R/3 versão 4.0b – edição 1- Março de 1999 23
A cópia a ser utilizada deve ser no idioma PT (Portuguese). Modificar o formulário.
Desta forma o formulário a ser editado na versão em português, devem apresentar o
código do idioma e o Idioma original na mesma linguagem. (No caso, PT).
O código do idioma e o Idioma
original devem ser no mesmo idioma
para permitir a edição da maioria dos
campos no editor.
Para trabalhar em português, estes idiomas devem ser PT
SAP R/3 versão 4.0b – edição 1- Março de 1999 24
Como obter o formulário na linguagem correta?
É necessário converter o idioma original para o idioma que se deseja trabalhar.
Selecionar: Utilitários / Conver. idm. original.
Digitar o idioma de destino. No caso, PT (Portuguese).
Idioma
destino.
SAP R/3 versão 4.0b – edição 1- Março de 1999 25
Esta conversão direta de idiomas de DE para PT muitas vezes não é possível. Passa a ser
obrigatória a passagem de conversões de idiomas pela sequência DEEN, ENPT ( código de
idioma novo idioma original).
Será apresentada mensagem sobre o resultado da operação.
Formulário no idioma PT (Portuguese).
A conversão foi concluída.
Modificar o formulário no idioma PT.
Agora, o formulário está no idioma português e pode ser editado. Na tela de “cabeçalho” os
atributos do idioma apresentam a mesma linguagem.
SAP R/3 versão 4.0b – edição 1- Março de 1999 26
Agora, apresentam o
mesmo idioma.
Lembre-se, a manutenção via transação SPAD é de responsabilidade do pessoal de BASIS.
SAP R/3 versão 4.0b – edição 1- Março de 1999 27
Administração de Spool
Uma das funcionalidades da transação SPAD permite criar formatos de página.
Desta forma tenha sempre absoluta certeza do que está sendo modificado, pois pode-se
estar afetando as atribuições de outros componentes do R/3-SAP referentes a área de spool, além
daqueles que estão diretamente ligados a sua atividade específica.
PORTANTO, É DE RESPONSABILIDADE DO “BASIS” MANIPULAR ESTA TRANSAÇÃO, PARA
QUE SEJA MANTIDA A INTEGRIDADE DOS DISPOSITIVOS DE SAÍDA.
:
* start test print form
CALL FUNCTION 'START_FORM'
EXPORTING
Os elementos de texto (text elements) são acessados pelo seu nome (no exemplo
LANGUAGE = HLP_SPRACHE.
apresentado anteriormente, o nome atribuído: TEXT) por um programa de impressão. Eles são
* write windows with test print
apresentados para a respectiva janela onde ela foi declarada.
Demonstrativo de código no programa de impressão.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'MAIN'
ELEMENT = 'TEXT'
EXCEPTIONS
OTHERS = 1.
SAP
* R/3 versão 4.0b
end test – edição 1- Março de 1999
print 28
CALL FUNCTION 'END_FORM'
IMPORTING
Chamada do
text element
no código do
programa de
impressão.
Um programa pode conter várias funções de ‘WRITE_FORM’ em seu código.
Assim, um programa de impressão pode decidir quais elementos de textos poderão ser
impressos em uma determinada janela, de acordo com a sua lógica de processamento.
Somente os paragraphs e os characters strings definidos no layout set podem ser utilizados
no layout dos elementos de texto.
Default Text Element
Ao iniciar uma Janela, pode-se definir um text element sem o comando “/E” no parágrafo
da coluna de formato. Este texto é sempre impresso na apresentação da janela. Um programa
de impressão não tem que explicitamente mencionar este text em sua saída (no código do
programa).
Janela sem declaração de text element
SAP R/3 versão 4.0b – edição 1- Março de 1999 29
Não há declaração do comando /E na coluna
de formato.
Impressão de Teste
SAP R/3 versão 4.0b – edição 1- Março de 1999 30
Selecionar: Utilitários / Impressão de teste (via menu).
Selecionar um dispositivo de saída e solicitar exibição prévia de impressão.
Declarar dispositivo de saída e
solicitar exibição prévia.
O Layout de Saída de impressão do formulário.
SAP R/3 versão 4.0b – edição 1- Março de 1999 31
Para obter em formato de lista, selecionar: Saltar / Formato lista (via menu).
SAP R/3 versão 4.0b – edição 1- Março de 1999 32
Layout da Página
Selecionar: Utilitários / Layout da página (via menu).
Apresenta as janelas definidas de acordo com as suas coordenadas.
Esta, mais escura, foi a
Janela que estava
selecionada quando a
função foi selecionada.
SAP R/3 versão 4.0b – edição 1- Março de 1999 33
Para gerar um resumo das informações do formulário.
É apresentado todas as características e atribuições referente ao formulário.
SAP R/3 versão 4.0b – edição 1- Março de 1999 34
Como gravar as informações do formulário em um arquivo
Selecionar: Sistema / Lista / Gravar / File Local.
Selecionar o formato de Rich Text Format (gravação em formato semelhante ao layout da
tela).
SAP R/3 versão 4.0b – edição 1- Março de 1999 35
Selecionar o diretório destino para gravação.
Efetuar a transferência.
SAP R/3 versão 4.0b – edição 1- Março de 1999 36
Transportando um Sapscript
Para poder levar um Sapscript e carregá-lo em outro sistema, podemos usar um programa
abap chamado RSTXSCRP Deve-se rodá-lo a partir da transação SE38, que é o editor abap.
Quando fazemos isso, a seguinte tela é mostrada:
Escolha esta opção
Nome do Sapscript
Importar para importar de um arquivo e
exportar para exportar de um arquivo.
Este arquivo está numa estação
local (GUI) ou no servidor SAP ?
Clique em executar. Preencha o nome do arquivo de destino e clique em transferir.
Para importar em outro sistema, faz-se o mesmo processo, só que, na coloca-se importar
no modo e dá-se o nome + caminho de onde o arquivo está.
SAP R/3 versão 4.0b – edição 1- Março de 1999 37
Gráficos no SapScript
O FORMATO DO LOGOTIPO.
Criar o logo da empresa com um programa de edição gráfica, e salvá-lo no formato
“Baseline TIFF 6.0” (.tif) em seu PC.
O LOGOTIPO DEVE SER OBRIGATORIAMENTE NO FORMATO (.TIF).
Se o logotipo somente existir no formato Bipmap, este deve ser convertido para o padrão
Baseline TIFF 6.0, utilizando um software de edição de gráficos.
Um dos softwares de edição de gráficos que permitem a atualização para o
padrão de gráficos TIFF é o Lview Pro.
Ele pode ser obtido no seguinte endereço, via internet: http://winfiles.com
PADRÃO GRÁFICO BITMAP PADRÃO GRÁFICO TIFF
CRIANDO UMA MACRO DO LOGOTIPO
Para inserir um logo utilizar o programa RSTXLDMC.
Selecionar: Ferramentas / ABAP/4 Workbench.
Preencher alguns parâmetros do report.
1) Definir a localização do arquivo que contém o logo.
2) Atribuir o tipo.
BMON para imagem em preto ebranco.
BCOL para imagem colorida de 256 cores.
Utilizar o modo Monocromático (BMON).
SAP R/3 versão 4.0b – edição 1- Março de 1999 38
3) Substituir o * após o nome do texto, ou seja, ZHEX-MACRO-*.
4) Executar a transação.
Será apresentado um protocolo com a mensagem “gravado com êxito” no final da listagem.
O resultado é um Texto Standard (Standard Text).
Para visualizar o texto standard, selecione:
Ferramentas / Processamento de texto / Texto standard.
O report RSTXLDMC.
Preencher os parâmetros necessários.
Localização do
arquivo.
Tipo. Substituir
o *.
SAP R/3 versão 4.0b – edição 1- Março de 1999 39
O resultado do processamento é o texto standard ZHEX-MACRO-ASPENLOGO.
O texto standard
criado.
Incluindo o logotipo no Layout set
A próxima etapa é incluir o logo. O primeiro passo é criar uma nova Janela para
inserir o logo.
SAP R/3 versão 4.0b – edição 1- Março de 1999 40
Alterar a categoria da janela para
CONST.
No elemento de texto da janela, acrescentar o include do novo texto standard.
Em Janelas de página FIRST.
Ajustar as coordenadas da nova janela e associar a janela
a sua respectiva página, reorganizando as coordenadas das
SAP R/3 versão 4.0b – edição 1- Março de 1999 41
janelas da página, se necessário.
Definir os atributos das coordenadas.
SAP R/3 versão 4.0b – edição 1- Março de 1999 42
As coordenadas horizontais devem ser
especificadas como CH e as coordenadas verticais
como LN.
As coordenadas da janela LOGO são automaticamente carregadas da página FIRST para as
outras páginas. Entretanto, o processo de associação da janela para a página deve ser repetido
para cada página do layout set.
Se for muito complicado digitar o comando de inclusão, pode-se selecionar o texto
standard via menu, seguindo os passos apresentados abaixo.
SAP R/3 versão 4.0b – edição 1- Março de 1999 43
O comando de inclusão será inserido no formato correto.
Utilizando a pesquisa, será processada a
transação de pesquisa de texto
standard, que apresentará os textos
standards disponíveis.
Comandos de controle do SapScript
O objetivo destes comandos é permitir o controle do formato de saída. Eles não são
interpretados pelo Sapscript Editor, mas somente afeta o Sapscript Composer. O Composer é um
programa que converte os textos definidos no editor para a apresentação impressa. Ele trata,
entre outras coisas, do formato da linha e do tratamento das páginas, os symbols são substituídos
pelos seus valores correntes e os textos são configurados de acordo com o formato do parágrafo e
o estilo do caractere.
Os comandos de controle possíveis no Sapscrit são descritos abaixo:
1 ADDRESS Formatação do endereço
2 BOTTOM, ENDBOTTOM Define o texto de rodapé em uma janela
3 BOX, POSITION, SIZE Quadros, linhas e sombras
4 CASE, ENDCASE Distinção via case
5 DEFINE Valores associados aos text symbols
6 HEX, ENDHEX Valores hexadecimais
7 IF, ENDIF Condição de saída de texto
8 INCLUDE Inclusão de outros textos
9 NEW-PAGE Avanço de página
10 NEW-WINDOW Próxima janela MAIN
11 PRINT-CONTROL Inclusão de um print control
12 PROTECT, ENDPROTECT Proteção de quebra de página
SAP R/3 versão 4.0b – edição 1- Março de 1999 44
13 RESET Inicializa a saída de parágrafos
14 SET COUNTRY Formatação específica de acordo com o país
15 SET DATE MASK Formatação de campos data
16 SET SIGN Posição do sinal +/-
17 SET TIME MASK Formatação de campos hora
18 STYLE Alteração de estilo
19 SUMMING Somatória de variáveis
20 TOP Atribuir texto cabeçalho na janela MAIN
SAP R/3 versão 4.0b – edição 1- Março de 1999 45
A seguir são apresentados as respectivas sintaxes referente a cada comando de controle.
SINTAXE:
1 /: ADDRESS [DELIVERY] [TYPE t] [PARAGRAPH a] [PRIORITY p] [LINES l]
/: TITLE title
/: NAME name1 [,name2 [,name3 [,name4] ] ]
/: PERSON name of natural person [TITLE form of address]
/: DEPARTMENT department
/: STREET street name
/: LOCATION additional location in formation
/: POBOX po box [CODE post code / zip code] [CITY city]
/: POSTCODE post code / zip_code
/: CITY city1 [,city2]
/: REGION county / state
/: COUNTRY recipient country [LANGUAGE language code]
/: FROMCOUNTRY sender country
/: ADDDRESSNUMBER address number
/: ENDADDRESS
2 /: BOTTOM
:
/: ENDBOTTOM
3 /: BOX [XPOS] [YPOS] [WIDTH] [HEIGHT] [FRAME] [INTENSITY]
/: POSITION [XORIGIN] [YORIGIN] [WINDOW] [PAGE]
/: SIZE [WIDTH] [HEIGHT] [WINDOW] [PAGE]
4 /: CASE symbol
:
/: WHEN value1
:
/: WHEN value2
:
/: WHEN valuen
:
/: WHEN OTHERS
:
/: ENDCASE
5 /: DEFINE &symbol_name& = ‘value’
6 /: HEX [TYPE printer_language]
7 /: IF condition
:
/: ENDIF
8 /: INCLUDE name [OBJECT o] [ID i] [LANGUAGE l] [PARAGRAPH p] [NEW-
PARAGRAPH np]
9 /: NEW-PAGE [page_name]
10 /: NEW-WINDOW
11 /: PRINT-CONTROL name
12 /: PROTECT
:
/: ENDPROTECT
13 /: RESET paragraph_format
14 /: SET COUNTRY country_key
15 /: SET DATE MASK = ‘date_mask’
16 /: SET SIGN LEFT
SAP R/3 versão 4.0b – edição 1- Março de 1999 46
/: SET SIGN RIGHT
17 /: SET DATE MASK = ‘time_mask’
18 /: STYLE style
/: STYLE * (Se * é especificado, o sistema reverte para o estilo original)
19 /: SUMMING program_symbol INTO total_symbol
20 /: TOP
:
/: ENDTOP
Exemplo da utilização dos comandos de controle IF .. ENDIF, INCLUDE, ADDRESS.
Exemplo da utilização dos comandos de controle POSITION, SIZE, BOX.
SAP R/3 versão 4.0b – edição 1- Março de 1999 47
Exemplo da utilização dos comandos de controle PROTECT .. ENDPROTECT.
Chamando Subrotinas ABAP/4: Perform
É possível utilizar o comando PERFORM para chamar subrotinas (form) de qualquer
programa. O comando PERFORM , como todos os comandos de controle, são executados quando
um documento é formatado para apresentação (display) ou impressão. A comunicação entre
uma subrotina que é chamada e o documento é efetuada através de symbols cujos valores são
atribuídos na subrotina.
Sintaxe:
/: PERFORM <form> IN PROGRAM <prog>
/: USING &INVAR1&
/: USING &INVAR2&
.. ..
/: CHANGING &OUTVAR1&
/: CHANGING &OUTVAR2&
.. . .
/: ENDPERFORM
INVAR1 e INVAR2 são variáveis symbols e podem ser qualquer uma dos quatro tipos de
symbols do Sapscript.
OUTVAR1 e OUTVAR2 são text symbols locais e devem ser string de caracteres.
SAP R/3 versão 4.0b – edição 1- Março de 1999 48
Variável de Sistema
&SAPSCRIPT-FORMPAGE& - Define o número total de páginas de impressão dentro
de um layout set .
Para obter os Program Symbols disponíveis, selecionar via menu, na edição de elemento
de texto: Incluir / Símbolos / Símbolos de programa.
SAP R/3 versão 4.0b – edição 1- Março de 1999 49
Símbolos de Sistema
Os símbolos de sistema podem ser utilizados em todos os tipos de texto. O Sapscript
fornece os valores dos símbolos de sistema.
Para obter os símbolos de sistema, selecionar via menu os passos apresentados abaixo.
Será apresentado as opções de símbolos de sistema disponíveis.
SAP R/3 versão 4.0b – edição 1- Março de 1999 50
Símbolos de Programa (Program Symbols)
A integração do Sapscript torna possível conectar dados que estão armazenados em várias
aplicações do sistema SAP para módulos de texto.
O Sapscript não pode efetuar a leitura dos dados de saída da base de dados SAP
diretamente. Ele tem que utilizar um outro programa para fazer isto (programa de impressão de
saída). Os dados são copiados para “work areas” declaradas utilizando Tabelas. Se o Sapscript
for chamado pelo programa de impressão de saída para formar um texto, os dados são copiados
destas “work areas”.
Os “Symbols” que obtem os seus valores através desta área de dados são chamados de
program symbols.
O nome de um program symbol consiste do nome da tabela e do nome do campo separado
por um hífen. O Sapscript é responsável por obter as informações necessárias através das
informações do Dicionário de Dados.
Sapscript utiliza o comando WRITE da linguagem de programação ABAP para gerar a saída
dos “program symbols”.
Os módulos de função utilizados no Sapscript:
OPEN_FORM Abertura do formulário de impressão
CLOSE_FORM Fechamento do formulário de impressão
WRITE_FORM Impressão de saída do elemento de texto de uma
janela do formulário
START_FORM Inicia um formulário
END_FORM Finaliza um formulário
Exemplo de CALL FUNCTION em um programa de saída de impressão.
SAP R/3 versão 4.0b – edição 1- Março de 1999 51
Modelo simples da utilização dos módulos de funções
No programa de impressão deve ser declarada a estrutura ITCPO - SAPscript saída interface.
TABLES:
ITCPO, "spool print parameters SAPscript
LFA1.
ITCPO-TDEST = ‘HPLJ’. “Spool: dispositivo de saída
ITCPO-TDCOPIES = 1. “Spool: número de impressões.
ITCPO-TDIMMED = ‘X’. “IMPRIMIR: saída imediata
SELECT-OPTIONS CODIGO FOR LFA1-LIFNR.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
* APPLICATION = 'TX'
* ARCHIVE_INDEX =''
* ARCHIVE_PARAMS =''
DEVICE = 'PRINTER'
Parâmetros
DIALOG = 'X'
mínimos para
FORM = 'nome do formulário'
este módulo de
LANGUAGE = SY-LANGU
função.
OPTIONS = ITCPO
* MAIL_SENDER =''
* MAIL_RECIPIENT =''
* MAIL_APPL_OBJECT = ' '
* RAW_DATA_INTERFACE = '*'
* IMPORTING
* LANGUAGE =
* NEW_ARCHIVE_PARAMS =
* RESULT =
EXCEPTIONS
CANCELED =1
DEVICE =2
FORM =3
OPTIONS =4
UNCLOSED =5
MAIL_OPTIONS =6
OTHERS = 7.
SAP R/3 versão 4.0b – edição 1- Março de 1999 52
SELECT * FROM LFA1 WHERE LIFNR IN CODIGO.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'nome atribuido ao elemento de texto'
* FUNCTION = 'SET'
* TYPE = 'BODY'
WINDOW = 'MAIN'
* IMPORTING
* PENDING_LINES =
EXCEPTIONS
ELEMENT =1
FUNCTION =2
TYPE =3
UNOPENED =4
UNSTARTED =5
WINDOW =6
BAD_PAGEFORMAT_FOR_PRINT = 7
OTHERS = 8.
CALL FUNCTION 'END_FORM'
* IMPORTING
* RESULT =
EXCEPTIONS
UNOPENED =1
BAD_PAGEFORMAT_FOR_PRINT = 2
OTHERS = 3.
SAP R/3 versão 4.0b – edição 1- Março de 1999 53