Tempo aproximado para leitura: 00:04:18 min
Dúvida
Como customizar algumas características de relatórios impressos utilizando-se de programa UPC - User Procedure Call?
Ambiente
Framework - Framework (Linha Datasul) – Básico (BTB) – Todas as versões
Solução
No programa BTB034AA - Impressora, edite a impressora desejada e selecione a UPC no campo Programa UPC. Para utilizar esses recursos nos relatórios, será necessário a utilização da include/i-rpvar.i, que contem as seguintes temp-tables:
DEFINE TEMP-TABLE tt-configur_layout_impres_inicio NO-UNDO
FIELD num_ord_funcao_imprsor LIKE configur_layout_impres.num_ord_funcao_imprsor
FIELD cod_funcao_imprsor LIKE configur_layout_impres.cod_funcao_imprsor
FIELD cod_opc_funcao_imprsor LIKE configur_layout_impres.cod_opc_funcao_imprsor
FIELD num_carac_configur LIKE configur_tip_imprsor.num_carac_configur
INDEX ordem num_ord_funcao_imprsor.
DEFINE TEMP-TABLE tt-configur_layout_impres_fim NO-UNDO
FIELD num_ord_funcao_imprsor LIKE configur_layout_impres.num_ord_funcao_imprsor
FIELD cod_funcao_imprsor LIKE configur_layout_impres.cod_funcao_imprsor
FIELD cod_opc_funcao_imprsor LIKE configur_layout_impres.cod_opc_funcao_imprsor
FIELD num_carac_configur LIKE configur_tip_imprsor.num_carac_configur
INDEX ordem num_ord_funcao_imprsor.
No EMS 2, o programa de UPC deverá implementar 4 procedures com os seguintes parâmetros:
Procedure pi_before_output do EMS 2:
| Parametro | Tipo | INPUT/OUTPUT | Objetivo |
|---|---|---|---|
| cImpressora | character | INPUT | Recebe o nome da impressora que vai imprimir o relatório |
| cLayout | character | INPUT | Recebe o layout que está sendo utilizado no momento da impressão |
| cUsuario | character | INPUT | Recebe o nome do usuário que solicitou o relatório |
| cArqControl | character | INPUT-OUTPUT |
Recebe/Envia o dispositivo usado para a impressora no Sistema operacional |
| iNumLinPag | integer | INPUT-OUTPUT | Recebe/Envia o número de linhas por página |
| cPagCaracteres | character | INPUT-OUTPUT | Recebe/envia o código da página para conversão de caracteres |
Procedure pi_after_output do EMS 2:
| Parametro | Tipo | INPUT/OUTPUT | Objetivo |
|---|---|---|---|
| tt-configur_layout_impres_inicio | temp-table | INPUT-OUTPUT | Recebe/Envia a tabela temporária com informações de configuração da impressora |
Procedure pi_before_close do EMS 2:
| Parametro | Tipo | INPUT/OUTPUT | Objetivo |
|---|---|---|---|
| tt-configur_layout_impres_fim | temp-table | INPUT-OUTPUT | Recebe/Envia a tabela temporária com informações de configuração da impressora |
Procedure pi_after_close do EMS 2:
| Parametro | Tipo | INPUT/OUTPUT | Objetivo |
|---|---|---|---|
| cArqControl | character | INPUT | Recebe o dispositivo usado para a impressora no Sistema operacional |
No EMS5, o programa de UPC deverá implementar 4 procedures com os seguintes parâmetros:
Procedure pi_before_output_ems5 do EMS 5:
| Parametro | Tipo | INPUT/OUTPUT | Objetivo |
|---|---|---|---|
| cPrograma | character | INPUT | Recebe o nome do programa que vai gerar o relatório |
| cImpressora | character | INPUT | Recebe o nome da impressora que vai imprimir o relatório |
| cLayout | character | INPUT | Recebe o layout que está sendo utilizado no momento da impressão |
| cUsuario | character | INPUT | Recebe o nome do usuário que solicitou o relatório |
| cArqControl | character | INPUT-OUTPUT | Recebe/Envia o dispositivo usado para a impressora no Sistema operacional |
| iNumLinPag | integer | INPUT-OUTPUT | Recebe/Envia o número de linhas por página |
| cPagCaracteres | character | INPUT-OUTPUT | Recebe/envia o código da página para conversão de caracteres |
Procedure pi_after_output_ems5 do EMS 5:
| Parametro | Tipo | INPUT/OUTPUT | Objetivo |
|---|---|---|---|
| cPrograma | character | INPUT | Recebe o nome do programa que vai gerar o relatório |
| tt-configur_layout_impres_inicio | temp-table | INPUT-OUTPUT | Recebe/Envia a tabela temporária com informações de configuração da impressora |
Procedure bi_before_close_ems5 do EMS 5:
| Parametro | Tipo | INPUT/OUTPUT | Objetivo |
|---|---|---|---|
| cPrograma | character | INPUT | Recebe o nome do programa que vai gerar o relatório |
| tt-configur_layout_impres_fim | temp-table | INPUT-OUTPUT | Recebe/Envia a tabela temporária com informações de configuração da impressora |
Procedure pi_after_close_ems5 do EMS 5:
| Parametro | Tipo | INPUT/OUTPUT | Objetivo |
|---|---|---|---|
| cPrograma | character | INPUT | Recebe o nome do programa que vai gerar o relatório |
| cArqControl | character | INPUT | Recebe o dispositivo usado para a impressora no Sistema operacional |
Anexo
Código exemplo como deve ser implementado o programa UPC. Neste exemplo a UPC adiciona o nome do usuário no nome do arquivo a ser impresso e envia para impressão.
0 Comentários