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.