SAP Tutorial de Scripts: SE71, SE78, SCC1, VF03, SO10

⚡ Resumo Inteligente

SAP Os scripts formam o sistema de processamento de texto do SAP Sistema de impressão de texto pré-formatado em formulários pré-formatados. Esta página explica os cinco componentes, o conjunto de layout, os comandos de controle, o programa de impressão, os tipos de saída e as transações SE71, SE78, SO10 e SCC1.

  • 📝 Definição Essencial: SAPscript é o sistema de processamento de texto integrado de SAPUtilizada para imprimir texto pré-formatado em formulários pré-formatados, como faturas.
  • 🧱 Cinco componentes: Um editor, conjuntos de estilos e layouts, o compositor, uma interface de programação e as tabelas do banco de dados que armazenam textos e formulários.
  • 📄 Conjunto de layouts: O conjunto de layout não contém dados. Ele descreve páginas, janelas e elementos de texto, e o programa de impressão o alimenta com dados selecionados do banco de dados.
  • ⌨️ Comandos de controle: Inseridos com /: no formato de parágrafo, comandos como NEW-PAGE, PROTECT, INCLUDE e PERFORM direcionam a formatação da saída.
  • 🖨️ Programa de impressão: Os campos OPEN_FORM, WRITE_FORM e CLOSE_FORM são obrigatórios, enquanto START_FORM e END_FORM são opcionais.
  • 📬 Tipos de saída: Armazenado na tabela NAST e executado pelo programa RSNAST00, o tipo de saída define se o documento será impresso, enviado por fax ou enviado pelo correio.
  • 🔁 Dependência do cliente: A SAPO formato do script depende do cliente, portanto, ele é copiado entre clientes com o SCC1 ou com o utilitário "Copiar do Cliente" do SE71.

SAP Scripts

O que é a SAP Roteiro?

SAP script é o SAP Sistema de processamento de texto próprio do sistema. Ele se parece muito com outros sistemas líderes de processamento de texto.

É usado para imprimir texto pré-formatado em formulários pré-formatados.

Documentos típicos produzidos com SAPOs scripts incluem faturas, pedidos de compra, notas de entrega e cartas para clientes. O formulário é criado uma única vez na transação SE71, e um programa de impressão ABAP fornece os dados em tempo de execução.

Componentes de SAPScript

SAP Os scripts são compostos por cinco componentes principais:

Componentes de SAPScript

  1. Um editor para inserir e editar as linhas de um texto
  2. Estilos e conjuntos de layout para layout de impressão. Eles são criados independentemente dos textos individuais usando as transações de manutenção correspondentes e são atribuídos aos textos posteriormente
  3. O compositor é um módulo de saída central. O SAP o compositor do roteiro é invisível para o exterior
  4. Uma interface de programação que permite incluir SAP componentes de script em seus próprios programas aplicativos e para controlar a saída de conjuntos de layout de dentro dos programas
  5. Diversas tabelas de banco de dados para armazenar textos, estilos e conjuntos de layout

O diagrama acima mostra como esses componentes se encaixam. O conjunto de layout, mostrado no centro, é descrito a seguir.

Conjunto de layouts

Para gerar documentos usando a interface de programação, os programas aplicativos R/3 precisam dos chamados conjuntos de layout (uma espécie de formulário). SAP script, um conjunto de layout descreve o layout das páginas de impressão individuais e usa elementos de texto para fornecer blocos de saída definíveis, que um programa de impressão pode chamar. Um conjunto de layout pode ser definido como um design de página para um documento

O conjunto de layout, por si só, não contém nenhum dado. A seleção dos dados para o documento é feita por meio do programa de impressão. O programa de impressão seleciona os dados da tabela do banco de dados e os envia para o conjunto de layout. Quando o programa de impressão é executado, o documento é impresso na tela da impressora.

Geralmente um SAPO layout do script consiste nos seguintes componentes

  1. Dados do cabeçalho: Os dados do cabeçalho são usados ​​para informação e controle de SAP impressão. Os dados do cabeçalho são compostos por 2 partes - Independente do dispositivo - Armazena informações como página inicial, parágrafo padrão, atributos de idioma, etc. E dependente do dispositivo armazena informações como formato da página, linhas de orientação por polegada, etc.
  2. Formatos de parágrafo e caracteres: os parágrafos são formatados usando vários atributos. Por exemplo, os atributos de parágrafo padrão especificam a margem esquerda ou direita, o alinhamento, o espaçamento entre linhas, etc. Os atributos da fonte especificam a família da fonte, o tamanho da fonte, etc.
  3. Windows e elementos de texto: Windows são áreas de texto individuais (endereço do cabeçalho, data, rodapé) em uma página. Ajuda a combinar as informações contidas em um documento em determinados grupos e fazer com que cada grupo apareça na página impressa em uma área individual. Você pode definir elementos de texto (textos de janela) para cada janela. O programa de impressão acessa os elementos de texto por nome, formata-os e imprime-os na respectiva janela. O parágrafo e os formatos de caracteres utilizados devem ser definidos no formulário.
  4. Páginas: São páginas individuais de um documento e devem ter um nome exclusivo. Muitas vezes você encontrará layouts diferentes para páginas individuais: A primeira página de uma fatura difere das páginas subsequentes, nas quais você não precisa repetir informações gerais, como endereço ou dados do cliente.
  5. Página Windows: Ao definir janelas e páginas, você ainda não determina a posição e o espaçamento dos textos a serem produzidos. Uma janela de página define a área de saída retangular no meio de saída especificando a borda superior esquerda da área de saída e sua largura e altura

Comandos de controle

O objetivo dos “comandos de controle” é permitir o controle da formatação da saída. Esses comandos não são interpretados pelo SAP editor de script, mas são passados ​​para o SAP script Composer para processamento. Isso inclui, por exemplo, formatação de linha e página, a formatação de texto de acordo com os formatos de parágrafo e caractere especificados.

Sintaxe

Enter /: in the paragraph format

Exemplos

  • NOVA PÁGINA – Quebra de página explícita
  • PROTECT ………ENDPROTECT – Para imprimir parágrafo completo em uma página.
  • INCLUIR – Para incluir o conteúdo de outro texto no texto atual
  • PERFORM – Para chamar uma sub-rotina de qualquer programa ABAP

imprimir programa

A execução do script é feita através de um Programa ABAP, que é conhecido como Programa de Impressão. Cada programa de impressão deverá possuir um formulário de ENTRADA, que será chamado a partir da customização.

Para uma configuração padrão podemos ver o nome do formulário (nome do script), nome do programa de impressão e tipo de saída na tabela TNAPR. O programa de impressão usa as funções de controle Form para chamar o script.

O programa de impressão chama todas ou algumas das funções de controle de formulário para executar o script

  • OPEN_FORM (Obrigatório) Abre a saída do conjunto de layout
  • CLOSE_FORM (Obrigatório) Finaliza a saída do conjunto de layouts
  • START_FORM (Opcional) Inicia um novo conjunto de layouts
  • WRITE_FORM (Obrigatório) Chama um elemento do conjunto de layout
  • END_FORM (Opcional) Encerra o conjunto de layout atual

Como criar um SAPFormulário de script em SE71

Um trabalho SAPA saída do script requer um formulário, um programa de impressão e uma atribuição na personalização. Os passos abaixo criam um a partir de um formulário vazio.

  1. Crie o formulário: Na transação SE71, insira o nome do formulário e o idioma, depois selecione Criar. Preencha os dados do cabeçalho com a página inicial, o parágrafo padrão e o formato da página.
  2. Defina os formatos de parágrafo e de caractere: Crie pelo menos um formato de parágrafo, por exemplo, AS para uma linha padrão, pois cada elemento de texto se refere a um formato de parágrafo.
  3. Criar as páginas: Defina uma primeira página, por exemplo, PRIMEIRA, e defina a página seguinte como PRÓXIMA, para que documentos mais longos continuem em um segundo layout.
  4. Criar janelas e janelas de página: Defina as janelas, como CABEÇALHO, PRINCIPAL e RODAPÉ, posicione cada uma delas na página e insira a margem superior esquerda, a largura e a altura.
  5. Escreva os elementos do texto: Abra o editor de texto de uma janela e marque cada bloco com /E seguido pelo nome do elemento. O programa de impressão chamará o elemento por esse nome.
  6. Ative o formulário e escreva o programa de impressão: Ative o formulário e, em seguida, chame as funções de controle do formulário a partir do programa ABAP, conforme mostrado abaixo.
  7. Atribua o tipo de saída: Insira o nome do formulário, o programa de impressão e a rotina ENTRY na tabela TNAPR por meio da personalização de saída do aplicativo, por exemplo, NACE.
CALL FUNCTION 'OPEN_FORM'
  EXPORTING
    form     = 'Z_INVOICE'
    language = sy-langu
    device   = 'PRINTER'.

* Print the element ITEM_LINE in the window MAIN
LOOP AT lt_items INTO ls_item.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element  = 'ITEM_LINE'
      window   = 'MAIN'
      function = 'SET'
      type     = 'BODY'.
ENDLOOP.

CALL FUNCTION 'CLOSE_FORM'.

⚠️ Aviso: A função WRITE_FORM imprime apenas os campos preenchidos no momento da chamada. Preencha a área de trabalho antes da chamada, pois o formulário lê os campos globais do programa de impressão, e não os parâmetros do módulo de função.

Tipos de saída

O tipo de saída pode especificar um formulário impresso necessário para uso interno ou um formulário que você deseja enviar a um cliente ou fornecedor. O tipo de saída também pode ser uma mensagem de correio eletrônico interna que você deseja enviar à equipe de outro departamento.

Por exemplo, “Imprimir” pode ser classificado como um tipo de saída de um documento de faturamento, ou seja, quando esse tipo de saída é executado, o documento de faturamento é impresso. Da mesma forma, “Fax” pode ser um tipo de saída, ou seja, quando este tipo de saída é executado, um fax do documento de faturamento é enviado

Todos os tipos de saída de qualquer documento (por exemplo, documento de faturamento) serão armazenados na tabela NAST. Os tipos de saída são executados através do programa RSNAST00 .

Exemplo: Tipo de saída em um documento de faturamento-

  1. Vá para VF03
  2. Insira o número do documento de cobrança e pressione Enter novamente
  3. Escolha Saída no menu Ir para -> Cabeçalho
  4. Aqui Z101 é um tipo de saída de impressão

Tipos de saída

A captura de tela mostra a tela de saída da transação VF03, onde o tipo de saída Z101 está associado ao documento de faturamento.

Textos e gráficos padrão

Textos padrão para o seu relatório podem ser criados usando transação SO10

Gráficos e macros de impressora são carregados com RSTXLDMC em documentos de texto padrão individuais ou por meio de transação SE78. Os gráficos são carregados no formato “Baseline TIFF 6.0” (arquivos .tif em PCs).

SAP Elementos de texto Script e Padrão podem ser exportados ou importados entre dois sistemas usando o programa RSTXSCRP

Copiando scripts entre clientes:

SAP O script é um objeto dependente do cliente. Ao contrário dos programas, as alterações feitas em SAP script em um cliente não será refletido em outros clientes. Para copiar script de um cliente para outro, vá para SE71 e utilize a opção “Copiar do Cliente” disponível no menu Utilitários ou importe a solicitação de transporte, na qual o script é salvo, do cliente original utilizando a transação SCC1.

Pontos importantes a serem observados

  1. SAP script não mantém nenhuma versão. Portanto, ao modificar o SAP script , certifique-se de que as alterações estejam bem documentadas no script. Isto também se aplica aos textos padrão.
  2. A saída do formulário será diferente quando visualizada na tela e na impressora. Portanto, sempre teste a saída do script na impressora.

SAPScript vs. Formulários Inteligentes

SAPA escrita é a mais antiga das duas tecnologias de formulário em SAPe cada novo formulário é normalmente construído com Formulários InteligentesA tabela abaixo mostra o porquê.

Critérios SAPescrita Formulários Inteligentes
transação SE71 SMARTFORMS
Dependência do cliente Dependente do cliente, copiado com SCC1 Cliente independente
Janela principal É necessária exatamente uma janela principal. Não é obrigatório, e várias janelas principais são permitidas.
Lógica do programa Escrito no programa de impressão separado Parcialmente integrado ao formulário, que gera seu próprio módulo de função.
Formatos de saída Imprimir, enviar por fax e correio. Impressão, fax, correio e saída XML ou HTML
Gerenciamento de versão Nenhuma, portanto as alterações devem ser documentadas manualmente. Disponível através da bancada de trabalho.

SAPO script continua sendo amplamente utilizado, porque muitos padrões SAP Os formulários e seus programas de impressão ainda dependem disso, e isso ocorre porque um formulário específico para cada cliente pode ser adaptado para cada um deles.

Perguntas Frequentes

A tabela TNAPR armazena o nome do formulário, o programa de impressão e a rotina ENTRY para cada tipo de saída. Leia-a com a transação SE16 ou abra a configuração de saída do aplicativo na transação NACE.

Os gráficos devem ser carregados no formato TIFF 6.0 padrão através da transação SE78 ou do relatório RSTXLDMC, e o formulário deve fazer referência ao texto padrão resultante. Arquivos coloridos ou PNG não são aceitos pelo editor.

Ative o depurador de formulários através do caminho de menu Utilitários > Ativar Depurador na transação SE71. O sistema irá então parar em cada elemento de texto enquanto o programa de impressão é executado, permitindo a verificação dos valores dos campos.

O relatório de migração dentro da transação SMARTFORMS realiza a conversão. Assistentes de IA ajudam posteriormente, explicando os nós convertidos, reescrevendo as chamadas do programa de impressão e listando os elementos de texto que precisam de revisão manual.

SAPO script não mantém histórico de versões, então as alterações são difíceis de serem corrigidas. trace. As ferramentas de IA comparam duas exportações produzidas pelo RSTXSCRP, resumem o que mudou em cada elemento de texto e elaboram a documentação que o próprio formulário não armazena.

Resuma esta postagem com: