71
TREINAMENTO SAPSCRIPT

Curso de Sapscript 41 7

Embed Size (px)

Citation preview

Page 1: Curso de Sapscript 41 7

TREINAMENTO

SAPSCRIPT

Page 2: Curso de Sapscript 41 7

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

Page 3: Curso de Sapscript 41 7

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

Page 4: Curso de Sapscript 41 7

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

Page 5: Curso de Sapscript 41 7

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.

Page 6: Curso de Sapscript 41 7

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

Page 7: Curso de Sapscript 41 7

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.

Page 8: Curso de Sapscript 41 7

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.

Page 9: Curso de Sapscript 41 7

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

Page 10: Curso de Sapscript 41 7

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

Page 11: Curso de Sapscript 41 7

111161

Vejamos abaixo:

SAP R/3 versão 4.6b – edição 1- Março de 200711

Page 12: Curso de Sapscript 41 7

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.

Page 13: Curso de Sapscript 41 7

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.

Page 14: Curso de Sapscript 41 7

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.

Page 15: Curso de Sapscript 41 7

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.

Page 16: Curso de Sapscript 41 7

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

Page 17: Curso de Sapscript 41 7

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.

Page 18: Curso de Sapscript 41 7

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

Page 19: Curso de Sapscript 41 7

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.

Page 20: Curso de Sapscript 41 7

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.

Page 21: Curso de Sapscript 41 7

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.

Page 22: Curso de Sapscript 41 7

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

Page 23: Curso de Sapscript 41 7

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

Page 24: Curso de Sapscript 41 7

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.

Page 25: Curso de Sapscript 41 7

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.

Page 26: Curso de Sapscript 41 7

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

Page 27: Curso de Sapscript 41 7

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.

Page 28: Curso de Sapscript 41 7

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.

Page 29: Curso de Sapscript 41 7

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.

Page 30: Curso de Sapscript 41 7

303061

SAP R/3 versão 4.6b – edição 1- Março de 200730

Page 31: Curso de Sapscript 41 7

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

Page 32: Curso de Sapscript 41 7

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

Page 33: Curso de Sapscript 41 7

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.

Page 34: Curso de Sapscript 41 7

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.

Page 35: Curso de Sapscript 41 7

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.

Page 36: Curso de Sapscript 41 7

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).

Page 37: Curso de Sapscript 41 7

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

Page 38: Curso de Sapscript 41 7

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.

Page 39: Curso de Sapscript 41 7

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.

Page 40: Curso de Sapscript 41 7

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.

Page 41: Curso de Sapscript 41 7

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

Page 42: Curso de Sapscript 41 7

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.

Page 43: Curso de Sapscript 41 7

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

Page 44: Curso de Sapscript 41 7

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

Page 45: Curso de Sapscript 41 7

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

Page 46: Curso de Sapscript 41 7

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 ?

Page 47: Curso de Sapscript 41 7

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

Page 48: Curso de Sapscript 41 7

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 *.

Page 49: Curso de Sapscript 41 7

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.

Page 50: Curso de Sapscript 41 7

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.

Page 51: Curso de Sapscript 41 7

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.

Page 52: Curso de Sapscript 41 7

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.

Page 53: Curso de Sapscript 41 7

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

Page 54: Curso de Sapscript 41 7

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

Page 55: Curso de Sapscript 41 7

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

Page 56: Curso de Sapscript 41 7

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

Page 57: Curso de Sapscript 41 7

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

Page 58: Curso de Sapscript 41 7

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

Page 59: Curso de Sapscript 41 7

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

Page 60: Curso de Sapscript 41 7

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.

Page 61: Curso de Sapscript 41 7

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