Escolar Documentos
Profissional Documentos
Cultura Documentos
Treinamento
SAPscript
SAP R3
MÓDULO ABAP
P
InternationalManagementConsulting
TREINAMENTO
ÍNDICE
INTRODUÇÃO........................................................................................................................................... 4
PROPÓSITO DO SAPSCRIPT...............................................................................................................................5
LAYOUT SETS - ESTILO SE72 / FORMULÁRIO SE71......................................................................................5
ESTRUTURA ENVOLVIDA...................................................................................................................................10
EDITOR DE TEXTO................................................................................................................................. 11
TELA PRINCIPAL..................................................................................................................................................12
FUNCIONALIDADES............................................................................................................................................12
OPÇÕES DE FORMATAÇÃO...............................................................................................................................13
VIDE EXEMPLO: ESTILO SYSTEM IDIOMA : PT OU P NA 3.0......................................................................13
TEMOS AINDA DIVERSSAS OPCÕES DE UTILIZAÇÃO DESSES RECURSOS ACESSANDO A OPCÃO DE
INCLUIR SIMBOLOS NA TELA DESENVOLVIMENTO DO SAP SCRIPT.........................................................13
COMANDOS DE CONTROLE..............................................................................................................................14
INCLUDE...............................................................................................................................................................14
PARAGRAFO..................................................................................................................................................................15
FORMATAÇÃO DE ENDEREÇOS.......................................................................................................................18
FORMATAÇÃO DA DATA HORA E DECIMAL......................................................................................................19
PAGE BREAK E PAGE PROTECTION................................................................................................................19
CONDICIONAIS....................................................................................................................................................21
DA MESMA FORMA QUE UM PROGRAMA ABAP PODEMOS UTILIZAR OS RECURSOS DA
FUNÇÃO CASE....................................................................................................................................... 21
HELP.....................................................................................................................................................................22
EXERCÍCIOS........................................................................................................................................... 25
FORMULÁRIOS...................................................................................................................................... 36
COMPOSIÇÃO DO FORMULÁRIO......................................................................................................................37
ELEMENTOS BÁSICOS DO FORMULÁRIO......................................................................................................38
CABEÇALHO........................................................................................................................................................38
OPÇÕES BÁSICAS..............................................................................................................................................40
PÁGINAS..............................................................................................................................................................41
JANELAS..............................................................................................................................................................42
JANELA PRINCIPAL.............................................................................................................................................43
ASSOCIANDO JANELAS A PÁGINAS.................................................................................................................44
PARÁGRAFOS......................................................................................................................................................45
CARACTERES......................................................................................................................................................46
INCLUINDO TEXTO NAS JANELAS....................................................................................................................47
FUNÇÕES ESPECIAIS.........................................................................................................................................48
COMANDO POSITION/SIZE/BOX.................................................................................................................................48
XPOS – DEFINE A POSIÇÃO HORIZONTAL INICIAL DA CAIXA.....................................48
CÓPIA ENTRE MANDANTES........................................................................................................................................51
COMPARAÇÃO DE FORMULÁRIOS.............................................................................................................................51
VERIFICAÇÃO DE CONSISTÊNCIA DOS FORMULÁRIOS..........................................................................................52
DOCUMENTAÇÃO DOS FORMULÁRIOS.....................................................................................................................53
EXIBIÇÃO DO LAYOUT DO FORMULÁRIO..................................................................................................................53
UTILIZADO PARA VISUALIZAR O FORMULÁRIO........................................................................................................53
PARA VISUALIZAR O FORMULÁRIO ESTE DEVE ESTAR ATIVO, PARA PODER ATIVÁ-LO UTILIZAR A OPÇÃO
FORMULÁRIO ATIVAR.............................................................................................................................................53
APÓS ATIVAR O FORMULÁRIO, UTILIZAR A OPÇÃO UTILITÁRIOS IMPRESSÃO DE TESTE...........................54
INFORMAR O NOME DA IMPRESSORA E TECLAR “EXIBIÇÃO PRÉVIA DE IMPRESSÃO”.....................................54
CRIAÇÃO DE UM FORMULÁRIO COPIANDO DE UM JÁ EXISTENTE NO SAP........................................................56
CONVERSÃO DE FORMULÁRIOS PARA AJUSTES EM JANELAS.............................................................................59
ADMINISTRAÇÃO DE IMPRESSÃO..............................................................................................................................62
NA TRANSAÇÃO SPAD TEMOS UM ACOMPANHAMENTO DA FORMA EM QUE O SAP FOI CUSTOMIZADO,
NESSA TRANSAÇÃO TEMOS A ADMINISTRAÇÃO DOS RECURSOS RELACIONADOS.........................................62
ALTERAÇÕES EM PROGRAMAS................................................................................................................................63
TEMOS UM EXEMPLO DE COMO O PEDIDO DE COMPRA ESTÁ ASSOCIADO AO FORMULÁRIO EM QUESTÃO
NA TRANSAÇÃO OMFE.................................................................................................................................................63
PARA EFETUARMOS QUALQUER ALTERAÇÃO DEVEREMOS SE NECESSÁRIO TROCAR O SAP SCRIPT DE
MEDRUCK PARA ZMEDRUCK2I(COMO EXEMPLO), OU AINDA FOR PRECISO DEVEMOS COPIAR O
PROGRAMA QUE FAZ A GERAÇÃO DOS DADOS NESSES CASO O PROGRAMA SAPFM06P. OBSERVE QUE
TEMOS AINDA QUE ACOMPANHAR A FORMA EM QUE O PROGRAMA EXECUTA TODAS AS FUNÇÕES A ELE
ASSOCIADA OU EVENTOS A ELE ASSOCIADO. NO EXEMPLO ABAIXO PODEMOS DESTACAR ALGUNS CASOS
DE EVENTOS (/E HEADER_TEXT) PODE SERVIR DE DESTAQUE........................................................................64
INCLUSÃO DE CAMPOS EM TABELAS OU ESTRUTURAS........................................................................................66
CONVERTER ARQUIVO (*.TIF) EM TEXTO STANDARD.............................................................................................67
UPLOAD E DOWNLOAD DE FORMULÁRIOS..............................................................................................................71
EXERCÍCIOS........................................................................................................................................... 72
PROGRAMA DE IMPRESSÃO................................................................................................................74
PRINCIPAIS FUNÇÕES (ANEXOS).....................................................................................................................74
CALL FUNCTION ‘OPEN_FORM’ – INICIA O PROGRAMA OBSERVE QUE VAMOS TER APENAS 1 VEZ ESSA
FUNÇÃO.........................................................................................................................................................................74
CALL FUNCTION ‘CLOSE_FORM’ – FINALIZA O PROGRAMA OBSERVE QUE VAMOS TER APENAS 1 VEZ
ESSA FUNÇÃO..............................................................................................................................................................74
CALL FUNCTION ‘WRITE_FORM’ – IMPRIME OS ELEMENTOS DE TEXTOS DO FORMULÁRIO PODE OCORRER
VÁRIAS VEZES..............................................................................................................................................................74
MANIPULAÇÃO DE ELEMENTOS DE TEXTO...................................................................................................76
EXERCÍCIO............................................................................................................................................. 77
INTRODUÇÃO
SAPSCRIPT NO SYSTEMA R3
SD FI
Contab.
Contab.
Vendas e financeira
MM distrib.
MM distrib.
CO
Admin.
Controlling
materiais
PP AM
Planej.
Planej. Contab.
Contab.
produção imobilizado
SAPscript
QM PS
Admin. Sistema de
qualidade projetos
PM WF
Manutenção Workflow
HR IS
Recursos Soluções
humanos setoriais
PROPÓSITO DO SAPSCRIPT
ESTRUTURA ENVOLVIDA
Banco de Dados
Usuário
Programa de impressão
Estilo
Composição – Todas as informações do estilo são enviadas através do programa de
impressão. O documento é formatado e o Job de impressão e gerado
Documento (job de impressão)
Impressora
EDITOR DE TEXTO
TELA PRINCIPAL
MENU DE FUNÇÕES
COLUNA DE FORMATO
ESTATUS
Coluna de Formato – tipo de parágrafo, como por exemplo, os que foram criados no
estilo;
Espaço para textos – janela do editor de textos;
Estatus – mostra o nome do estilo utilizado e o layout do texto;
Menu de Funções – contém os botões de função.
FUNCIONALIDADES
Para utilizar um estilo criado, deve-se selecioná-lo através da opção Formato
Estilo
Tabuladores
Parágrafos numerados
OPÇÕES DE FORMATAÇÃO
COMANDOS DE CONTROLE
INCLUDE
Utilizado para inserir textos de cabeçalho e item, para inserir figuras, etc.
Parâmetros: OBJECT
ID
LANGUAGE
PARAGRAPH
Paragrafo
Procurando enfatizar mais um pouco o assunto de paragrafo podemos destacar
informações do tipo:
Fontes
Tabulação
Outline
Nessa opção podemos configurar essa linha da forma que precisamos, ou seja, podemos
definir em que posições vamos começar a imprimir (tabs), qual a fonte que vamos utilizar,
e se queremos definir alguma saída especial dessa linha.
FORMATAÇÃO DE ENDEREÇOS
O comando PROTECT é utilizado para impedir que os dados sejam separados por
quebra automática de página.
Exemplo: /: PROTECT
* Código
* Descrição
/: ENDPROTECT
Neste caso o código e a descrição sempre aparecerão juntos.
CONDICIONAIS
Serve para dar apoio nas tomadas de decisão relacionadas ao momento da impressão,
funciona como um IF normal vide o exemplo abaixo:
....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
/: IF &J_1BPRNFLI-IPISTAT& = ' '
/* end change 21.01.97: statistical IPI
LI <SM><B>&j_1bprnfli-matnr&,,&j_1bprnfli-charg&,,&j_1bprnfli-maktx&
,,&j_1bprnfli-nbm&
,,&j_1bprnfli-matorg&&j_1bprnfli-taxsit&,,&j_1bprnfli-nfunt&
,,&j_1bprnfli-nfqty&,,&j_1bprnfli-nfpri&
,,&j_1bprnfli-nfnet&,,&j_1bprnfli-icmsrate&,,&j_1bprnfli-ipirate&
,,&j_1bprnfli-ipival&,,&j_1bprnfli-text_ref& </> </>
/* begin change 21.01.97: statistical IPI
/: ELSE
LI <SM><B>&j_1bprnfli-matnr&,,&j_1bprnfli-charg&,,&j_1bprnfli-maktx&
,,&j_1bprnfli-nbm&
,,&j_1bprnfli-matorg&&j_1bprnfli-taxsit&,,&j_1bprnfli-nfunt&
,,&j_1bprnfli-nfqty&,,&j_1bprnfli-nfpri&
,,&j_1bprnfli-nfnet&,,&j_1bprnfli-icmsrate&,, ,,,,&j_1bprnfli-text_ref&
</> </>
/: ENDIF
/* end change 21.01.97: statistical IPI
----------------- J_1BNOTA_FISCAL -------------- Linhas 13 - 30 / 42 ----------
CASE ‘símbolo’
WHEN ‘valor’
.....
.....
ENDCASE
HELP
Para consultar outros comandos e funções, utilizar o Help do SAP R/3, na opção:
EXERCÍCIOS
3. Faça alterações no texto (janela MAIN) usando os comandos, são os recursos que a
tela possibilita.
Inserir
Selecionar
Copiar
Recortar
Colar
Alterar o endereço
Omitir o número da página
Mover a linha para o mesmo número do endereço
Alterar a fonte de um tipo de parágrafo
Use o caracter tipo BOLD para Flight Number
Adicione uma nova coluna chamada “DISCOUNT”
Formulário ZS_CA930_DEMO
_1
Mandante
100
Idioma E
N
Idioma original
EN
Relevante
p/tradução Si
Status ativ
o
06.08.1999
Hora 10:02:35 Hora
11:49:48
Release 40A Release
40B
Atributos
standard
Página inicial
FIRST
Parágrf.default L
Stop tabulador
1,00 CM
Formato página
LETTER
Formato folha
Form.ver
Linhas/polegada
6,00
Caracs/polegada
10,00
AtribsFamC
ar.
Família caracs.
COURIER
Alt.fam.caracs.
12,0 Pon
Negrito Não
Itálico Não
Sublinhado Não
Caracteres Atributos
B bold
Atributos
standard
Marcação Não
AtribsFamCar.
Negrito Sim
I italics, 16 points
AtribsFamCar.
Alt.fam.caracs. 16,0 Ponto
Itálico Sim
U superscript
P
Atributos
standard
Marcação Não
Sobrescrito Sim
Parágrafos Atributos
C centered
Atributos
standard
Espacej.linhas 1.00 LN
Alinhamento Centrado
I item heading
H
Atributos
standard
Espacej.linhas 1.00 LN
Proposta 1.00 LN
Espaç.posterior 0.50 LN
Alinhamento Alinh.esq.
Tabuladores
3.00 CM Alinh.à esquerda
6.50 CM Alinh.à esquerda
10.00 CM Alinh.à esquerda
I item list
L
Atributos
standard
Espacej.linhas 1.00 LN
Espaç.posterior 0.50 LN
Alinhamento Alinh.esq.
Tabuladores
1.00 CM Alinh.à esquerda
3.00 CM Alinh.à esquerda
8.00 CM Alinhado à direita
11.00 CM Alinhamento no símb.decimal
12.50 CM Alinh.à esquerda
L left-aligned
Atributos
standard
Espacej.linhas 1.00 LN
Alinhamento Alinh.esq.
Tabuladores
2.00 CM Alinh.à esquerda
6.00 CM Alinhamento no símb.decimal
18.00 CM Alinhado à direita
Ctg.numeração Letr.minúsculas
Delimitador esq (
Delimitador dir )
R right-aligned
Atributos
standard
Espacej.linhas 1.00 LN
Alinhamento Alinham.à direita
Janela Atributos
ADDRES address
S
CategoriaJanela VAR
DATE date
CategoriaJanela VAR
SENDER sender
CategoriaJanela VAR
Páginas Atributos
Atributos
standard
Pág.seg. NEXT
Numer.pág
s.
Modo START
Ctg.numeração Algarismos árabes
Janelas
páginas
MAIN Margem esquerda 2.20
CM
Margem superior 10.00
CM
Largura janela 17.00
CM
Altura janela 14.00
CM
ADDRESS Margem esquerda 2.20
CM
Margem superior 5.50
CM
Largura janela 8.50
CM
Altura janela 4.00
CM
DATE Margem esquerda 11.70
CM
Margem superior 1.00
CM
Largura janela 7.50
CM
Altura janela 1.00
CM
PAGENR Margem esquerda 2.20
CM
Margem superior 25.50
CM
Largura janela 17.00
CM
Altura janela 1.00
CM
SENDER Margem esquerda 2.20
CM
Margem superior 1.00
CM
ADDRESS
* Company Turnaround
* Mittlerer Ring 145
* 75001 Neustadt
DATE
R &DATE&
MAIN
Elemento INTRODUCTION
* Ladies and Gentlemen,
/
L We thank you for your order and confirm the flight bookings
I below.
Please note that we have already included a discount of 12
percent for
flight AZ 0790.
Elemento ITEMS
I Flight,,Date,,Departure,,Price
H
/
I AA,,0017,,20.07.1998,,13:15,,799,00,,USD
L
I AA,,2019,,23.07.1998,,21:55,,1.799,00,,USD
L
I AZ,,0790,,11.11.1998,,6:55,,1.644,00,,USD
L
I LH,,0454,,22.08.1998,,10:10,,1.151,40,,USD
L
I LH,,1999,,31.12.1998,,23:59,,666,66,,USD
L
Elemento CLOSING_REMARK
S Sincerely,
B
/
/ Your Fly & Smile Team
PAGENR
C Page &PAGE&
SENDER
FORMULÁRIOS
Os formulários são criados para que o programa de impressão utilize um estilo para
exibição de documentos
COMPOSIÇÃO DO FORMULÁRIO
Header ou Cabeçalho
Parágrafos
Caracteres
Janelas
Paginas
Janelas/Páginas
CABEÇALHO
Classificação
Classe de Desenvolvimento
Dados de Criação
Atributos de Idioma
OPÇÕES BÁSICAS
Formato da Página
Formato da folha
Linhas/Polegada
Caracteres/Polegada
parágrafo default
Stop do tabulador
PÁGINAS
Para criar uma nova página, clicar no botão “Páginas” e utilizar a opção Processar
Criar elemento...
JANELAS
Para criar uma nova janela, clicar no botão “Janelas” e utilizar a opção: Processar
Criar elemento...
Categoria da janela
Parágrafo default
JANELA PRINCIPAL
TOP
BODY
MAIN
BOTTOM
Para que as janelas criadas sejam impressas nas páginas, é necessário incluí-las nas
devidas páginas. Para isso clicar no botão “Janela / Páginas” e escolher a opção
Processar Criar elementos...
PARÁGRAFOS
Para incluir novos parágrafos nas janelas, clicar no botão “Formato de parágrafos” e
utilizar a opção Processar Criar elementos...
CARACTERES
Para incluir novos caracteres nas janelas, clicar no botão “Formato de parágrafos” e
utilizar a opção Processar Criar elementos...
Para incluir texto nas janelas, selecionar a janela na tela de Janelas / Páginas e clicar no
botão “Textos”
FUNÇÕES ESPECIAIS
Comando POSITION/SIZE/BOX
Exemplo:
No exemplo acima é criada uma caixa do tamanho da janela, com borda de espessura 10.
Nome do formulário – nome do formulário que será copiado para outro mandante
Comparação de formulários
Existem duas opções para verificar a consistência dos formulários. Essas opções podem
ser acessadas a partir da tela de cabeçalho do formulário:
Para visualizar o formulário este deve estar ativo, para poder ativá-lo utilizar a
opção Formulário Ativar
Administração de Impressão
Alterações em programas
Nesse tópico vamos comentar a importância de analisarmos o programa que está gerando
um formulário. Basicamente no SAP temos um programa que efetua toda a consistência,
valida os processos, seleciona os registros e associa o formulário ao programa de
execução.
Formulário
Programa de associado ao Pedido de
geração do programa de Compra
Pedido de geração do
compra Pedido
Devemos ainda dizer que nem sempre quando estamos processando um evento temos
todas as informações contidas nas estruturas ou tabelas. Por isso devemos analisar com
bastante tranqüilidade qual o momento correto da incluir uma rotina ou um perform, ou
seja, muitas vezes podemos executar uma rotina várias vezes e na realidade precisamos
de sua execução apenas uma vez.
Para nos assegurarmos que estamos efetuando as alterações corretas proponho que
utilizarmos sempre os recursos do break-point para sabermos se vamos Ter a
informação que precisamos naquele instante.
Nesse tópico podemos aproveitar todo o nosso aprendizado de outros cursos para a
criação de Estruturas ou append em tabelas.
Sempre lembrando que uma estrutura é formada em tempo de execução e em
seguida não permanece com dados. Aconselho que sempre que precisarmos criar alguma
coisa, que deveremos criar uma estrutura, nessa estrutura vamos incluir todos os
campos necessários para atender as necessidades do usuário, ou seja, se as tabelas ou
Estruturas que estamos usando não atendam as nossas necessidades precisamos então
efetuar algum(s) Select(s) em tabelas (transparente tables tabelas físicas) e
guardar os campos nessa estrutura.
Para inserir uma figura em um relatório, esta deve primeiramente ser convertida em
texto standard. Afigura deve estar gravada em um arquivo gráfico TIFF (arquivo com
extensão .tif)
A partir da tela principal do R/3, utilizar a opção Ferramentas ABAP wokbench
Editor ABAP.
Nome do file
Tipo
Nome do texto
Id do texto
Idioma do texto
Título do texto
Para incluir o texto standard da figura numa janela, utilizar o comando INCLUDE no
texto da janela.
E o seguinte resultado:
Para efeito de teste o resultado só irá aparecer a impressão for efetuada, ou seja,
ZHEX-MACRO-TESTE
Observe que o resultado só vai aparecer com a impressão, na tela o logotipo não é
destacado.
Modo – EXPORT (para exportar objetos para outros diretório); IMPORT (para
EXERCÍCIOS
<usuário>
<hh:mm:ss>
PROGRAMA DE IMPRESSÃO
Define como o formulário funciona;
Alimenta os dados do formulário.
Call Function ‘OPEN_FORM’ – inicia o programa observe que vamos Ter apenas 1
vez essa função
Call Function ‘CLOSE_FORM’ – finaliza o programa observe que vamos Ter apenas
1 vez essa função
EXERCÍCIO
Criar uma janela chamada TEXTO posicionada entre a janela MAIN e a Rodapé e
com o aspecto indicado:
Texto informativo
Criar uma janela chamada Alstom e inserir o logotipo da Alstom no canto superior
direito a partir do texto standard ZHEX-MACRO-TESTE
Criar na janela TEXTO um text element chamado TEXTO com todo o conteúdo da
janela TEXTO. Inserir no report ZSRELATÓRIO a Call Function ‘WRITE FORM’
que chama este text element
Modificar o set da impressora para que não seja mais exibido o preview antes de
ser feita a impressão