Upload
vanessa-paschoal
View
229
Download
6
Embed Size (px)
Citation preview
TREINAMENTO
SAPSCRIPT
2261
SUMÁRIO
SAPSCRIPT – Introdução......................................................................... 03
Criando um formulário SapScript.............................................................. 03
Páginas, Janela, Janelas Páginas............................................................... 11
Formatos de Parágrafo............................................................................ 20
Formatos de Caracteres.......................................................................... 25
O editor de elementos de texto................................................................ 27
Elemento de texto.................................................................................. 28
Copiando um Formulário SapScript existente.............................................. 31
Administração de Spool........................................................................... 37
Default Text Element.............................................................................. 39
Impressão de Teste................................................................................ 40
Layout da Página.................................................................................... 42
Como gravar as informações do formulário em um arquivo.......................... 43
Transportando um SapScript.................................................................... 45
Gráficos no SapScript.............................................................................. 47
Comandos de Controle do SapScript.......................................................... 53
Chamando Subrotinas ABAP/4: Perform..................................................... 56
Variável de Sistema................................................................................ 57
Símbolos de Sistema............................................................................... 58
Símbolos de Programa (Program Symbols)................................................ 59
Os módulos de função utilizados no SapScript............................................ 59
Modelo Simples da utilização dos módulos de funções................................. 60
SAP R/3 versão 4.6b – edição 1- Março de 20072
3361
SAPSCRIPT - 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 e 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).Abaixo vemos a primeira tela do Editor:
SAP R/3 versão 4.6b – edição 1- Março de 20073
4461
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.6b – edição 1- Março de 20074
5561
Esta tela abaixo é a Tela de dados administrativos do formulário. É onde vemos: Nome (no caso, Z_CURSO_SAPSCRIPT); 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.
SAP R/3 versão 4.6b – edição 1- Março de 20075
Descrição.
Escolha a opção: todos os idiomas.
6661
Em seguida devemos informar a classe de desenvolvimento que deverá ser gravado este formulário:
Agora, tecle em Configurações Globais.
SAP R/3 versão 4.6b – edição 1- Março de 20076
Vamos gravar em Objeto local
7761
E veremos a tela abaixo :
SAP R/3 versão 4.6b – edição 1- Março de 20077
Clicamos em configurações Globais.
8861
Sempre coloque uma página inicial
Em seguida clicamos em Páginas:
SAP R/3 versão 4.6b – edição 1- Março de 20078
Escolhemos o Formato da Página.
9961
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.
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:
SAP R/3 versão 4.6b – edição 1- Março de 20079
101061
Feito isso, aparece uma caixa de diálogo:
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:
SAP R/3 versão 4.6b – edição 1- Março de 200710
111161
Vejamos abaixo:
SAP R/3 versão 4.6b – edição 1- Março de 200711
121261
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:
SAP R/3 versão 4.6b – edição 1- Março de 200712
Aqui informamos quem será a próxima página. Por enquanto só temos uma, depois de criarmos outra, veremos melhor este atributo.
131361
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:
Ou, podemos fazer com que a segunda página fique num LOOP, até não ter mais informação:
Isto é feito através da Propriedade Página +, Vejamos abaixo, onde estamos ligando a primeira página com a segunda:
SAP R/3 versão 4.6b – edição 1- Março de 200713
Primeira Página Segunda Página
Primeira Página Segunda Página
Quando esta página estiver completa, chama a segunda página.
141461
Agora, vejamos como se faz o LOOP na segunda janela:
Depois disso precisamos criar Janelas para serem usadas das páginas que criamos:
SAP R/3 versão 4.6b – edição 1- Março de 200714
Aqui colocamos que a página + da segunda página é ela mesma, ou seja, em LOOP.
151561
Com isso aparece a seguinte tela:
SAP R/3 versão 4.6b – edição 1- Março de 200715
Escolha aqui para criar a Janela.
161661
Parágrafo Default:VAR - janelas variáveisCONST – janelas constantesMAIN - janela principal (só pode ter uma)
SAP R/3 versão 4.6b – edição 1- Março de 200716
171761
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.6b – edição 1- Março de 200717
Complete a criação da janela escolhendo uma categoria.
181861
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.
SAP R/3 versão 4.6b – edição 1- Março de 200718
Para Criarmos Janelas Páginas
191961
Só podemos criar Janelas páginas com janelas que já existem, nas páginas que já existem. Vejamos:
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.
SAP R/3 versão 4.6b – edição 1- Março de 200719
Escolha esta opção para criarJanelas páginas
Escolha aqui a Página.
Escolha aqui a Janela.
202061
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:
É 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.6b – edição 1- Março de 200720
Aqui você edita o tamanho da sua Janela Página e vemos logo acima o resultado.
Página onde esta Janela Página está sendo criada.
Janela variável, mudanças daqui só valem para esta janela.
212161
Para criar Formatos de Parágrafo, vejamos abaixo:
Feito isso, a tela de criação abaixo aparece:
SAP R/3 versão 4.6b – edição 1- Março de 200721
Clique aqui para criar/alterar/deletar Formatos de parágrafo.
Clique em Processar / Criar elemento e preencha com o nome do objeto e descrição.
222261
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 Formatos de Caracteres 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.6b – edição 1- Março de 200722
232361
E também podemos colocar tabuladores no parágrafo para usarmos com o texto:
SAP R/3 versão 4.6b – edição 1- Março de 200723
Escolhendo o caracter default.
Mais opções
PosiçãoMedida
242461
É 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 - CharactersCM - CentimetersMM - MilimetersPT - PointsTW - Twips (1/20 point)
A numeração é carregada automaticamente pelo SapScript.
SAP R/3 versão 4.6b – edição 1- Março de 200724
Tipo de numeração.
252561
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.
CÓDIGO DE BARRAS CRIADO NA SE73
Formatação do caractere.
SAP R/3 versão 4.6b – edição 1- Março de 200725
Formatação utilizada.
O Character string é apresentado como um código de barras, se o caractere declarado para isto, for selecionado.
Se este atributo é selecionado quando se define o formato do caractere, uma chave de pesquisa é associada ao Character string quando o usuário utiliza este formato de caractere.
Exemplos: glossários, hipertextos, e links de elementos de dados.
Protegido: O Character string não permite uma quebra de linha, mas apresenta todo o bloco de texto na próxima linha.
Oculto: O Character string não é apresentado. O texto somente é visível no editor de texto.
Superescrito/Subescrito: O Character string é
apresentado meia linha acima ou abaixo.
262661
Para criar um novo Character string: Processar / Criar elemento.
SAP R/3 versão 4.6b – edição 1- Março de 200726
Formatação utilizada.
Para criar um novo elemento, digitar diretamente no box, ou, criar um elemento via
272761
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
Elemento de texto
SAP R/3 versão 4.6b – edição 1- Março de 200727
Para acessar o editor de elementos de texto.
282861
Elemento de texto da Janela MAIN do formulário standard J_1B_BOLETO (Boleto bancário).
SAP R/3 versão 4.6b – edição 1- Março de 200728
Continuação da linha superior.
Formato de Parágrafo.
Formato de Caractere.
Stop tabulador.
Elemento de texto.
Dado: informação de tabela / estrutura. Literal fixa.
IMPORTANTEComo 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.
É chamado pelas Functions no programa de saída de impressão.
292961
Este é o editor de elementos de texto:
Agora vamos ver como usar o tabulador que criamos no parágrafo P1:
SAP R/3 versão 4.6b – edição 1- Março de 200729
Símbolo de comentário.
Isto quer dizer que alinha será um comando, note que no final do comando não tem o ponto final
Este é o parágrafo que criamos.Isto é texto.
Este é o tabulador, a cada 2 vírgulas consecutivas, o editor entende que um tabulador.
Está entre &&, é um campo do relatório que chama este SapScript.
303061
SAP R/3 versão 4.6b – edição 1- Março de 200730
313161
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.6b – edição 1- Março de 200731
323261
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.
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 clientes.
SAP R/3 versão 4.6b – edição 1- Março de 200732
Coloque qualquer idioma, pois não influenciará na cópia e não há necessidade de colocar o nome do formulário
333361
Selecione: Utilitários / Copiar do mandante.
Digitar os nomes dos formulários e executar o processamento.
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.6b – edição 1- Março de 200733
Nome do formulário (origem), o client de origem e nome do formulário de destino.
Executar o processo.
343461
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, deve apresentar o código
do idioma e o Idioma original na mesma linguagem. (No caso, PT).
SAP R/3 versão 4.6b – edição 1- Março de 200734
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.
353561
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).
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.
SAP R/3 versão 4.6b – edição 1- Março de 200735
Para trabalhar em português, estes idiomas devem ser PT
A conversão foi concluída.
Idioma destino.
363661
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.
Lembre-se, a manutenção via transação SPAD é de responsabilidade do pessoal de BASIS.
SAP R/3 versão 4.6b – edição 1- Março de 200736
Agora, apresentam omesmo idioma.
Formulário no idioma PT (Portuguese).
373761
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.
SAP R/3 versão 4.6b – edição 1- Março de 200737
383861
Os elementos de texto (text elements) são acessados pelo seu nome (no exemplo apresentado anteriormente, o nome atribuído: TEXT) por um programa de impressão. Eles são apresentados para a respectiva janela onde ela foi declarada.
Demonstrativo de código no programa de impressão.
SAP R/3 versão 4.6b – edição 1- Março de 200738
:* start test print form CALL FUNCTION 'START_FORM' EXPORTING LANGUAGE = HLP_SPRACHE.* write windows with test print
CALL FUNCTION 'WRITE_FORM' EXPORTING WINDOW = 'MAIN' ELEMENT = 'TEXT' EXCEPTIONS OTHERS = 1.* end test print CALL FUNCTION 'END_FORM' IMPORTING
:
Chamada do text element no código do programa de impressão.
393961
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
Impressão de Teste
SAP R/3 versão 4.6b – edição 1- Março de 200739
Não há declaração do comando /E na coluna de formato.
404061
Selecionar: Utilitários / Impressão de teste (via menu).
Selecionar um dispositivo de saída e solicitar exibição prévia de impressão.
O Layout de Saída de impressão do formulário.
SAP R/3 versão 4.6b – edição 1- Março de 200740
Declarar dispositivo de saída e solicitar exibição prévia.
414161
Para obter em formato de lista, selecionar: Saltar / Formato lista (via menu).
SAP R/3 versão 4.6b – edição 1- Março de 200741
424261
Layout da Página
Selecionar: Utilitários / Layout da página (via menu).
Apresenta as janelas definidas de acordo com as suas coordenadas.
SAP R/3 versão 4.6b – edição 1- Março de 200742
Esta, mais escura, foi a Janela que estava selecionada quando a função foi selecionada.
434361
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.6b – edição 1- Março de 200743
444461
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.6b – edição 1- Março de 200744
454561
Selecionar o diretório destino para gravação.
Efetuar a transferência.
SAP R/3 versão 4.6b – edição 1- Março de 200745
464661
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:
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.6b – edição 1- Março de 200746
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 ?
474761
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.
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).
3) Substituir o * após o nome do texto, ou seja, ZHEX-MACRO-*.4) Executar a transação.
SAP R/3 versão 4.6b – edição 1- Março de 200747
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
484861
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.
SAP R/3 versão 4.6b – edição 1- Março de 200748
Localização do arquivo.
Tipo. Substituir o *.
494961
O resultado do processamento é o texto standard ZHEX-MACRO-ASPENLOGO.
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.6b – edição 1- Março de 200749
O texto standard criado.
Alterar a categoria da janela para CONST.
505061
No elemento de texto da janela, acrescentar o include do novo texto standard.
Em Janelas de página FIRST.
SAP R/3 versão 4.6b – edição 1- Março de 200750
Ajustar as coordenadas da nova janela e associar a janela a sua respectiva página, reorganizando as coordenadas das janelas da página, se necessário.
515161
Definir os atributos das coordenadas.
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.
SAP R/3 versão 4.6b – edição 1- Março de 200751
As coordenadas horizontais devem ser especificadas como CH e as coordenadas verticais como LN.
525261
Se for muito complicado digitar o comando de inclusão, pode-se selecionar o texto standard via menu, seguindo os passos apresentados abaixo.
O comando de inclusão será inserido no formato correto.
SAP R/3 versão 4.6b – edição 1- Março de 200752
Utilizando a pesquisa, será processada a transação de pesquisa de texto standard, que apresentará os textos standards disponíveis.
535361
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ço2 BOTTOM, ENDBOTTOM Define o texto de rodapé em uma janela3 BOX, POSITION, SIZE Quadros, linhas e sombras4 CASE, ENDCASE Distinção via case5 DEFINE Valores associados aos text symbols6 HEX, ENDHEX Valores hexadecimais7 IF, ENDIF Condição de saída de texto8 INCLUDE Inclusão de outros textos9 NEW-PAGE Avanço de página10 NEW-WINDOW Próxima janela MAIN11 PRINT-CONTROL Inclusão de um print control12 PROTECT, ENDPROTECT Proteção de quebra de página13 RESET Inicializa a saída de parágrafos14 SET COUNTRY Formatação específica de acordo com o país15 SET DATE MASK Formatação de campos data16 SET SIGN Posição do sinal +/-17 SET TIME MASK Formatação de campos hora18 STYLE Alteração de estilo19 SUMMING Somatória de variáveis20 TOP Atribuir texto cabeçalho na janela MAIN
SAP R/3 versão 4.6b – edição 1- Março de 200753
545461
A seguir serão apresentadas as respectivas sintaxes referentes 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-WINDOW11 /: PRINT-CONTROL name12 /: PROTECT
:/: ENDPROTECT
13 /: RESET paragraph_format14 /: SET COUNTRY country_key15 /: SET DATE MASK = ‘date_mask’16 /: SET SIGN LEFT
/: SET SIGN RIGHT17 /: SET DATE MASK = ‘time_mask’
SAP R/3 versão 4.6b – edição 1- Março de 200754
555561
18 /: STYLE style/: STYLE * (Se * é especificado, o sistema reverte para o estilo original)
19 /: SUMMING program_symbol INTO total_symbol20 /: 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.6b – edição 1- Março de 200755
565661
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.6b – edição 1- Março de 200756
575761
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.6b – edição 1- Março de 200757
585861
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.6b – edição 1- Março de 200758
595961
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ãoCLOSE_FORM Fechamento do formulário de impressãoWRITE_FORM Impressão de saída do elemento de texto de uma
janela do formulárioSTART_FORM Inicia um formulárioEND_FORM Finaliza um formulário
Exemplo de CALL FUNCTION em um programa de saída de impressão.
SAP R/3 versão 4.6b – edição 1- Março de 200759
606061
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ídaITCPO-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' DIALOG = 'X' FORM = 'nome do formulário' LANGUAGE = SY-LANGU 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.
SELECT * FROM LFA1 WHERE LIFNR IN CODIGO.
SAP R/3 versão 4.6b – edição 1- Março de 200760
Parâmetros mínimos para este módulo de função.
616161
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.6b – edição 1- Março de 200761