Scripts SAP - Programa de impressão

Em SAP Scripts, Print Programé usado para imprimir o formulário atual e obter os dados das tabelas do banco de dados, escolhendo um formulário e imprimir os elementos de texto em um formato definido. Ele recupera os dados do banco de dados e os combina com a entrada do usuário, formata os dados e os imprime.

Todos os programas e formulários de impressão são armazenados na tabela TNAPR.

Diferentes módulos funcionais são usados ​​no programa de impressão. Para iniciar um programa de impressão, o módulo funcional OPEN_FORM é usado e, para finalizar o programa, o módulo funcional CLOSE_FORM é usado.

OPEN_FORM- No programa de impressão, esta função deve ser chamada primeiro antes que qualquer impressão possa ocorrer. Você especifica o nome do formulário e a linguagem de impressão.

CALL FUNCTION 'OPEN_FORM'

START_FORM - Esta função é chamada para utilizar diferentes formulários com características semelhantes em uma única solicitação.

CALL FUNCTION ’START_FORM’

WRITE_FORM - Esta função é usada para escrever texto em uma janela no formulário usando elementos de texto.

CALL FUNCTION ‘WRITE_FORM’

CONTROL_FORM - Esta função é usada para inserir comandos de controle SAP Script em um programa ABAP.

CALL FUNCTION ‘CONTROL_FORM’

END_FORM - Esta função é chamada no final e não possui parâmetros de exportação.

CALL FUNCTION ‘END_FORM’

CLOSE_FORM - Para visualizar o formulário padrão e o programa de impressão padrão, execute Transaction Code: NACE

Insira os Tipos de aplicativos e clique em Tipo de saída na parte superior.

Na captura de tela a seguir, você pode ver o nome do aplicativo para o serviço selecionado.

Programa de impressão - exemplo

A seguir está um programa de impressão de amostra que cria uma fatura com informações relacionadas à empresa, como dados do cliente, data, reserva de voo, etc.

Seção 1 - Obter dados do cliente

TABLES: zcustom, zbook, zpfli.  
DATA: bookings like zbook... 
select * from... 
/In this section, you are reading the data from tables in database./

Seção 2 - formulário aberto

CALL FUNCTION 'OPEN_FORM'  
EXPORTING  
DEVICE     = 'PRINTER'  
FORM       = 'EXAMPLE1'  
DIALOG     = 'X'  
OPTIONS    = 
EXCEPTIONS  
CANCELLED  = 1 
DEVICE     = 2 
FORM       = 3 
OTHERS     = 11 
/In this section, you are calling OPEN_FORM function module to initialize print output./

No módulo de função acima, o parâmetro -

  • FORM mostra o nome do formulário.

  • DEVICE pode ser PRINTER (impressão usando spool), TELEFAX (saída de fax) ou SCREEN (saída para tela)

  • OPTIONS mostra uma estrutura do tipo ITCPO para controlar os vários atributos - Visualização de impressão, número de cópias.

Seção 3 - Imprimir cabeçalho da tabela

CALL FUNCTION 'WRITE_FORM' 
EXPORTING 
ELEMENT  = 'textelement’  
TYPE     = 'TOP' 
WINDOW   = 'MAIN' 
FUNCTION = 'SET' 
... 
/In this section, you use WRITE_FORM function to output general text elements and column 
heading/
  • ELEMENT módulo de função mostra o 'elemento de texto' a ser impresso e 'JANELA' mostra qual janela do formulário a ser impressa.

  • TYPE mostra a área de saída da janela como TOP, BOTTOM ou BODY.

  • FUNCTION diz ao texto a ser substituído, adicionado ou anexado.

Seção 4 - Imprimir reservas de clientes

LOOP AT bookings WHERE  
CALL FUNCTION 'WRITE_FORM'  
EXPORTING  
ELEMENT  = 'BOOKING'  
TYPE     = 'BODY'  
WINDOW   = 'MAIN'  
...  
ENDLOOP  
/In this section, text element BOOKING is used to output the bookings of a customer from
the loop from BOOKING table in database./

Seção 5 - Fechar formulário

CALL FUNCTION 'CLOSE_FORM'  
IMPORTING 
* RESULT    = 
EXCEPTIONS 
UNOPENED    = 1 
OTHERS      = 5 
/To end the Print Program/

Você chama este módulo de função no final e ele não tem nenhum parâmetro de exportação.