Beruflich Dokumente
Kultur Dokumente
2263
SUMRIO
SAPSCRIPT Introduo......................................................................... Criando um formulrio SapScript.............................................................. Pginas, Janela, Janelas Pginas............................................................... Formatos de Pargrafo............................................................................ Formatos de Caracteres.......................................................................... O editor de elementos de texto................................................................ Elemento de texto.................................................................................. Copiando um Formulrio SapScript existente.............................................. Administrao de Spool........................................................................... Default Text Element.............................................................................. Impresso de Teste................................................................................ Layout da Pgina.................................................................................... Como gravar as informaes do formulrio em um arquivo.......................... Transportando um SapScript.................................................................... Grficos no SapScript.............................................................................. Comandos de Controle do SapScript.......................................................... Chamando Subrotinas ABAP/4: Perform..................................................... Varivel de Sistema................................................................................ Smbolos de Sistema............................................................................... Smbolos de Programa (Program Symbols)................................................ Os mdulos de funo utilizados no SapScript............................................ Modelo Simples da utilizao dos mdulos de funes.................................
03 03 11 20 25 27 28 31 37 39 40 42 43 45 47 53 56 57 58 59 59 60
SAPSCRIPT - Introduo
O que ? O editor de SapScript um sistema de processamento de texto e pode ser definido como uma mscara de formatao de relatrios (SAP voc j sabe de onde vem e Script, porque feito atravs de comandos - script). Como usar? Normalmente usado em relatrios especiais, cheques, notas fiscais, pedidos de compras, boletos bancrios e etc. Como funciona? 2 SAP R/3 verso 4.6b edio 1- Maro de 2007
3363 Um programa abap (do tipo relatrio) chama, abre e preenche um formulrio SapScript, feito no Editor de SapScript atravs de funes especiais no prprio relatrio. No final, esse formulrio impresso.
4463
No momento em que clicamos em Criar, o editor d uma mensagem dizendo que o formulrio no existe no idioma escolhido e abre a tela de criao. Antes, pergunta a classe de desenvolvimento do SapScript. conveniente ter todas as change requests dos formulrios anotadas para posterior liberao e transporte. Se o formulrio j existir, abre-o para modificao.
5563
Descrio .
Esta tela abaixo a Tela de dados administrativos do formulrio. onde vemos: Nome (no caso, Z_CURSO_SAPSCRIPT); Seu significado (descrio do que ele ); Status que pode ser novo gravado ou ativo gravado (o formulrio s funciona quando seu status ativo). Se o formulrio estiver com erro, no conseguimos ativ-lo, como veremos depois.
Em seguida devemos informar a classe de desenvolvimento que dever ser gravado este formulrio:
6663
7763
8863
9963
Em Formato de Pgina, escolhemos um formato, que normalmente criado em BASIS (feito atravs da transao SPAD). Normalmente criado um formato horizontal e um vertical da pgina e podemos usar um dos dois. Linhas/polegada importante, principalmente se a impressora for matricial, pois trata do tamanho da linha no formulrio, que normalmente 6 (sextos) ou 8 (oitavos) linhas por polegada. Caracs/polegada o tamanho dos caracteres impressos, normalmente usado 10 (dcimos). Em Pgina inicial, escolhemos qual a primeira pgina do SapScript ser usada (conforme veremos, um formulrio pode uma ou vrias pginas). No grupo Valores propostos p/formatao texto colocamos escolhas gerais para serem usadas como default nos textos que apresentamos. coerente que coloquemos aqui a formatao mais usada no documento. Veremos logo mais como funcionam estas opes de texto.
101063 O formulrio pode ter uma ou vrias pginas. Por exemplo, poderamos ter uma pgina de apresentao e uma ou mais de detalhes. Vejamos:
111163 Para Criar uma pgina, escolha, no menu Processar -> Criar Elemento. Feito isso, ser pedido um nome e uma descrio para sua pgina:
Aqui informamos quem ser a prxima pgina. Por enquanto s temos uma, depois de criarmos outra, veremos melhor este atributo.
131363 Dentro do grupo Numerador de pginas, temos os dois sub-grupos abaixo e, as escolhas aqui feitas tm efeito nas variveis globais de SapScript que podem ser acessadas por cdigo: de No Grupo Numerados de pginas, vemos o modo do numerador de pginas, que pode ser 3 tipos: INC - Aumentar numerador em 1. HOLD - Manter numerador inaltervel. START - Definir numerador para 1.
Na Categoria numerao, escolhemos como sero os caracteres de numerao numerador (arbico, nmeros romanos, caracteres fixos ou letras) Podemos criar vrias pginas e encade-las, por exemplo: Primeira Pgina Segunda Pgina
Ou, podemos fazer com que a segunda pgina fique num LOOP, at no ter mais informao: Primeira Pgina Segunda Pgina
Isto feito atravs da Propriedade Pgina +, Vejamos abaixo, onde estamos ligando a primeira pgina com a segunda:
Aqui colocamos que a pgina + da segunda pgina ela mesma, ou seja, em LOOP.
151563
Depois disso precisamos criar Janelas para serem usadas das pginas que criamos:
Pargrafo Default: VAR - janelas variveis CONST janelas constantes MAIN - janela principal (s pode ter uma)
171763
Para criar janelas, escolha no menu Processar -> Criar elemento. D um nome para a janela e uma descrio.
181863
As janelas tm 3 categorias: VAR CONST MAIN Janelas variveis. Janelas Constantes - Janela Principal (s pode haver uma)
Agora, vamos ligar as Janelas que criamos com as Pginas que tambm criamos, para isso, criamos as chamadas Janelas Pginas.
191963 S podemos criar Janelas pginas com janelas que j existem, nas pginas que j existem. Vejamos:
Feito isso aparece uma janela para podermos escolher que janela queremos colocar na Escolha aqui a Janela. pgina. Veja que so as Janelas que tnhamos criado anteriormente. Escolha aqui a Pgina.
202063 Lembra-se que, quando criamos a Janela como VAR ou CONST (j que a MAIN criada automaticamente e s pode haver uma)? Pois ento, aqui surgir o efeito dessa escolha, pois quando uma Janela do tipo VAR, as alteraes feitas nelas s funcionam para esta pgina e, quando CONST, a alterao funciona para todas as Pginas em que esta Janela existir. Vamos completar a criao da Janela pgina:
Aqui voc edita o tamanho da sua Janela Pgina e vemos logo acima o resultado.
dentro das Janelas Pginas 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 grfico (isto servir para o prximo tpico, onde criaremos tabuladores, dentro dos pargrafos).
Formatos de Pargrafo
No editor de elementos de texto, muitas vezes queremos escrever uma linha com tipos e tamanhos diferentes de caracteres e com tabulaes, estas so caractersticas dos formatos de pargrafo.
222263
Podemos colocar neste pargrafo (usaremos logo a seguir), margens esquerda e direita, alinhamento e espacejamento de linhas. Em opes bsicas, no cabealho 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. Ateno No funciona em modo texto, s em modo grfico. Clicando no boto Formatos de Caracteres podemos escolher um tipo de caracter default para uso do pargrafo: S os tipos de caracteres que estiverem no SAP podem ser usados.
232363
Mais opes
Posio
Medida
242463 possvel controlar a tabulao de um pargrafo com tabuladores de posio. O Stop tabulador definido na formatao do pargrafo substitui a tabulao definida nos dados de Cabealho do Layout Set. Entretanto, isto depende da quantidade de Stop tabuladores que foi definida na formatao do pargrafo. Se houver menos tabuladores na formatao do pargrafo do que nos dados de Cabealho, o Stop tabulador definido no Cabealho ser utilizado para o restante da linha de edio. O Stop tabulador representado como, no editor de texto. possvel utilizar diferentes unidades de medidas para definir uma posio de tabulao.
CH CM MM PT TW
Tipo de numerao.
252563
Formatos de Caracteres
Permite a formatao de blocos inteiros de texto dentro de um pargrafo, atravs da criao de novas tags < > ... </>, como na linguagem HTML.
Protegido: O Character string apresentado como um cdigo de barras, se o caractere declarado para isto, for selecionado. CDIGO DE BARRAS CRIADO NA SE73 Se este atributo selecionado quando se define o formato do caractere, uma chave de pesquisa associada ao Character string quando o usurio utiliza este formato de caractere. Exemplos: glossrios, hipertextos, e links de elementos de dados.
O Character string no permite uma quebra de linha, mas apresenta todo o bloco de texto na prxima linha. O Character string no apresentado. O texto somente visvel no editor de texto.
Oculto:
262663
Formatao do caractere.
Formatao utilizada.
272763 Podemos usar outros tipos de medidas, mas lembrando da regra que, em modo texto, se usa CH (caracteres) e em modo grfico podemos usar ambos.
Um SELECT retorna dados para vrias JANELAS, no necessariamente para somente uma especfica. Quando uma Janela tiver text element (/E) possvel controlar a impresso. Uma Janela pode ter vrios text elements definidos. Eles funcionam como labels das instrues. necessrio o uso da funo WRITE_FORM para gerar a impresso, quando houver um text element, seno nada aparecer na impresso da janela correspondente. O layout set controla a impresso de sada e o programa de impresso somente os dados da impresso. O programa Client Independent e o Layout Set Client Dependent. A Language faz parte do layout do relatrio. Ento, deve-se sempre trabalhar com a Language em que foi desenhado o layout. As modificaes das Janelas somente sero possveis na Original Language. COMO ACESSAR OS TEXT ELEMENTS NA JANELA
282863
Elemento de texto
Elemento de texto da Janela MAIN do formulrio standard J_1B_BOLETO (Boleto bancrio). chamado pelas Functions no programa de sada de impresso.
Elemento de texto.
Stop tabulador.
Formato de Caractere.
Formato de Pargrafo.
Literal fixa.
Continuao da linha superior. IMPORTANTE Como deslocar para a pgina do lado direito, onde est a continuao do texto? Posicionar o cursor sobre o sinal ( > ). Apertar o boto direito do mouse, e selecionar Pgina esqu./direita SHIFT+F8. Para retornar, efetuar o mesmo procedimento.
Smbolo de comentrio. Est entre &&, um campo do relatrio que chama este SapScript. Este quer dizer que alinha2ser um comando, note Isto o tabulador, a cada vrgulas consecutivas, o que no entende comando no tem o ponto final editor final do que um tabulador. Isto texto. Este o pargrafo que criamos.
Agora vamos ver como usar o tabulador que criamos no pargrafo P1:
303063
313163 Os formatos que podemos colocar nos pargrafos so apresentados a seguir. Formato Significado EN H1 HD * = ( / /= /( /: /* /E Entradas var.em quadros Cabealho documento Linhas cabealho p/quadros Pargr.default Txt.corr. Lnh.longa LnhBruta Avano linha Avano linha e linha longa Avano linha e linha bruta Linha de comando Linha de comentrio Elemento de texto
/E Este elemento cria um bloco que pode ser referenciado por uma funo chamada write_form, no programa que chama o SapScript.
323263
Coloque qualquer idioma, pois no influenciar na cpia e no h necessidade de colocar o nome do formulrio
Os formulrios Standard esto no mandante 000 e podem ser copiados para o mandante que voc estiver trabalhando. Lembre-se que seus formulrios so Client Dependent, mesmo quando os todos clients estiverem na mesma mquina. Portanto, ao final do projeto, libere a request do seu SapScript e pea para o suporte BASIS transport-lo para todos clientes.
Nome do formulrio (origem), o client de origem e nome do formulrio 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 cpias criadas. 33 SAP R/3 verso 4.6b edio 1- Maro de 2007
343463
A cpia a ser utilizada deve ser no idioma PT (Portuguese). Modificar o formulrio. Desta forma o formulrio a ser editado na verso em portugus, deve apresentar o cdigo do idioma e o Idioma original na mesma linguagem. (No caso, PT).
O cdigo do idioma e o Idioma original devem ser no mesmo idioma para permitir a edio da maioria dos campos no editor. Para trabalhar em portugus, estes idiomas devem ser PT
353563 Como obter o formulrio na linguagem correta? necessrio converter o idioma original para o idioma que se deseja trabalhar. Selecionar: Utilitrios / Conver. idm. original.
Idioma destino.
363663 Esta converso direta de idiomas de DE para PT muitas vezes no possvel. Passa a ser obrigatria a passagem de converses de idiomas pela sequncia DEEN, ENPT ( cdigo de idioma novo idioma original). Ser apresentada mensagem sobre o resultado da operao.
Modificar o formulrio no idioma PT. Agora, o formulrio est no idioma portugus e pode ser editado. Na tela de cabealho os atributos do idioma apresentam a mesma linguagem.
373763
383863
Administrao de Spool
Uma das funcionalidades da transao SPAD permite criar formatos de pgina. Desta forma tenha sempre absoluta certeza do que est sendo modificado, pois pode-se estar afetando as atribuies de outros componentes do R/3-SAP referentes a rea de spool, alm daqueles que esto diretamente ligados a sua atividade especfica. PORTANTO, DE RESPONSABILIDADE DO BASIS MANIPULAR ESTA TRANSAO, PARA QUE SEJA MANTIDA A INTEGRIDADE DOS DISPOSITIVOS DE SADA.
: * start test print form CALL FUNCTION 'START_FORM' EXPORTING Os elementos de texto (text elements) so acessados pelo seu nome (no exemplo LANGUAGE = HLP_SPRACHE. apresentado anteriormente, o nome atribudo: TEXT) por um programa de impresso. Eles so * write windows with test print apresentados para a respectiva janela onde ela foi declarada. Demonstrativo de cdigo no programa de impresso. CALL FUNCTION 'WRITE_FORM' EXPORTING WINDOW = 'MAIN' ELEMENT = 'TEXT' EXCEPTIONS OTHERS = 1. SAP R/3 verso 4.6b edio 1- Maro de 2007 * end test print CALL FUNCTION 'END_FORM' IMPORTING
38
393963
Um programa pode conter vrias funes de WRITE_FORM em seu cdigo. Assim, um programa de impresso pode decidir quais elementos de textos podero ser impressos em uma determinada janela, de acordo com a sua lgica 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 pargrafo da coluna de formato. Este texto sempre impresso na apresentao da janela. Um programa de impresso no tem que explicitamente mencionar este text em sua sada (no cdigo do programa). Janela sem declarao de text element
404063
Impresso de Teste
O Layout de Sada de impresso do formulrio. 41 SAP R/3 verso 4.6b edio 1- Maro de 2007
424263
Para obter em formato de lista, selecionar: Saltar / Formato lista (via menu).
434363
Layout da Pgina
Selecionar: Utilitrios / Layout da pgina (via menu).
Esta, mais escura, foi a Janela que estava selecionada quando a funo foi selecionada.
454563
Selecionar o formato de Rich Text Format (gravao em formato semelhante ao layout da tela).
Efetuar a transferncia.
474763
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 transao SE38, que o editor abap. Quando fazemos isso, a seguinte tela mostrada:
Importar para importar de um arquivo e exportar para exportar de um arquivo. Este arquivo est numa estao 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.
484863
Grficos no SapScript
O FORMATO DO LOGOTIPO.
Criar o logo da empresa com um programa de edio grfica, 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 padro Baseline TIFF 6.0, utilizando um software de edio de grficos. Um dos softwares de edio de grficos que permitem a atualizao para o padro de grficos TIFF o Lview Pro. Ele pode ser obtido no seguinte endereo, via internet: http://winfiles.com
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.
Localizao do arquivo.
Tipo.
Substituir o *.
505063
515163
Ajustar as coordenadas da nova janela e associar a janela SAP R/3 verso 4.6b edio 1- Maro de 2007 a sua respectiva pgina, reorganizando as coordenadas das janelas da pgina, se necessrio.
51
525263
535363
As coordenadas horizontais devem ser especificadas como CH e as coordenadas verticais como LN.
As coordenadas da janela LOGO so automaticamente carregadas da pgina FIRST para as outras pginas. Entretanto, o processo de associao da janela para a pgina deve ser repetido para cada pgina do layout set.
Se for muito complicado digitar o comando de incluso, pode-se selecionar o texto standard via menu, seguindo os passos apresentados abaixo.
Utilizando a pesquisa, ser processada a transao de pesquisa de texto standard, que apresentar os textos standards disponveis.
1 2 3 4 5 6 7 8 9 10 11 12
ADDRESS BOTTOM, ENDBOTTOM BOX, POSITION, SIZE CASE, ENDCASE DEFINE HEX, ENDHEX IF, ENDIF INCLUDE NEW-PAGE NEW-WINDOW PRINT-CONTROL PROTECT, ENDPROTECT
Formatao do endereo Define o texto de rodap em uma janela Quadros, linhas e sombras Distino via case Valores associados aos text symbols Valores hexadecimais Condio de sada de texto Incluso de outros textos Avano de pgina Prxima janela MAIN Incluso de um print control Proteo de quebra de pgina 54
555563 13 14 15 16 17 18 19 20 RESET SET COUNTRY SET DATE MASK SET SIGN SET TIME MASK STYLE SUMMING TOP Inicializa a sada de pargrafos Formatao especfica de acordo com o pas Formatao de campos data Posio do sinal +/Formatao de campos hora Alterao de estilo Somatria de variveis Atribuir texto cabealho na janela MAIN
565663 A seguir sero 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 /: BOTTOM : /: ENDBOTTOM /: BOX [XPOS] [YPOS] [WIDTH] [HEIGHT] [FRAME] [INTENSITY] /: POSITION [XORIGIN] [YORIGIN] [WINDOW] [PAGE] /: SIZE [WIDTH] [HEIGHT] [WINDOW] [PAGE] /: CASE symbol : /: WHEN value1 : /: WHEN value2 : /: WHEN valuen : /: WHEN OTHERS : /: ENDCASE /: DEFINE &symbol_name& = value /: HEX [TYPE printer_language] /: IF condition : /: ENDIF /: INCLUDE name [OBJECT o] [ID i] [LANGUAGE l] [PARAGRAPH p] [NEWPARAGRAPH np] /: NEW-PAGE [page_name] /: NEW-WINDOW /: PRINT-CONTROL name /: PROTECT : /: ENDPROTECT /: RESET paragraph_format /: SET COUNTRY country_key /: SET DATE MASK = date_mask 56 SAP R/3 verso 4.6b edio 1- Maro de 2007
2 3 4
5 6 7 8 9 10 11 12 13 14 15
575763 16 /: SET SIGN LEFT /: 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 utilizao dos comandos de controle IF .. ENDIF, INCLUDE, ADDRESS.
585863
595963
Varivel de Sistema
&SAPSCRIPT-FORMPAGE& - Define o nmero total de pginas de impresso dentro
de um layout set.
Para obter os Program Symbols disponveis, selecionar via menu, na edio de elemento de texto: Incluir / Smbolos / Smbolos de programa.
606063
Smbolos de Sistema
Os smbolos de sistema podem ser utilizados em todos os tipos de texto. O SapScript fornece os valores dos smbolos de sistema. Para obter os smbolos de sistema, selecionar via menu os passos apresentados abaixo.
616163
626263
SELECT-OPTIONS CODIGO FOR LFA1-LIFNR. CALL FUNCTION 'OPEN_FORM' EXPORTING * APPLICATION = 'TX' * ARCHIVE_INDEX ='' * ARCHIVE_PARAMS ='' DEVICE = 'PRINTER' DIALOG = 'X' FORM = 'nome do formulrio' 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.
636363
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 FUNCTION TYPE
=1 =2 =3