Histórico da Página
CONTEÚDO
Índice minLevel 2
01. VISÃO GERAL
Com o objetivo de facilitar o desenvolvimento de geração de relatórios Smart View de forma assíncrona utilizando RPW / Automação de tarefas, foi desenvolvida uma classe que centralizará as informações necessárias para execução de pedidos agendados.
02. EXEMPLO DE UTILIZAÇÃO
A classe GenerateReport() será responsável por recuperar o ID do pedido de execução com base nos parâmetros recebidos. Com essa informação, será realizado o refresh do token de autenticação para a execução dos pedidos agendados referentes ao relatório solicitado, e, em seguida, o relatório será recuperado no endpoint do Smart View.
02.1 Parâmetros de entrada da classe
| Nome | Tipo | Descrição |
|---|---|---|
| pOrder | INTEGER | Código do pedido de execução. |
| pLayoutName | CHARACTER | Nome do relatório do Cadastro de Programas Datasul. |
| pReportParams | JSONOBJECT | Objeto com os parâmetros do relatório. |
| pFormat | CHARACTER | Formato do relatório. Formatos permitidos: .csv, .docx, .html, .jpeg, .mht, .pdf, .png, .rtf, .txt, .xls, .xlsx. |
| Aviso | ||
|---|---|---|
| ||
O nome externo do relatório cadastrado em Programas Datasul - bas_prog_dtsul será inserido no escopo de programas permitidos a utilizarem o token de autenticação do pedido agendado. Sendo assim, é de extrema importância que este cadastro esteja correto ou o relatório não será gerado. |
02.2 Instância da classe
USING com.totvs.framework.smartview.GenerateReport. DEFINE VARIABLE oGenerateReport AS GenerateReport NO-UNDO. DEFINE VARIABLE oJsonLog AS JsonObject NO-UNDO. oGenerateReport = NEW GenerateReport(pOrder, pLayoutName, pReportParams, pFormat). |
02.3 Chamada do método gerador do relatório
| ASSIGN oJsonLog = oGenerateReport:getReport(). |
02.4 Modelo JSON parâmetros do relatório
| { "progIni":["rpHistorLogin"], "progFim":["rpHistorLogin"] } |
| Nota |
|---|
O JSON repassa os parâmetros de acordo com o Objeto de Negócio do relatório, porém pode ser enviado vazio (NEW JsonObject()). |
02.5 Programa exemplo
|
02.5.1 Retorno da classe
A classe irá retornar um objeto JSON com logs de erros ou de sucesso ocorridos durante a execução. Esse JSON poderá ser utilizado de acordo com a necessidade de retorno para o usuário. No exemplo acima é convertido para temp-table, mas permite também converter para longchar, jogar diretamente num arquivo texto, etc. As possibilidades de conversão podem ser consultadas na documentação Progress.
02.5.2 Formato JSON
|
02.6 Diretório de saída do relatório
O diretório de saída dos relatórios será o spool do usuário responsável pelo agendamento de execução dos pedidos, cadastrado no programa SEC000AA e é retornada a string do diretório em que o relatório foi salvo.
03. INFORMAÇÕES IMPORTANTES
Para evitar erros na execução, considerar as seguintes informações:
- O código do pedido deve existir na tabela ped_exec;
- O relatório deverá estar cadastrado no Programas Datasul - bas_prog_dtsul;
- O nome externo do relatório cadastrado no Programas Datasul deve estar de acordo com o padrão de diretórios reportView: <MODULO>/reportview/<NOME_RELATORIO>.treports. Por exemplo: men/reportview/rpProgramasDatasul.treports;
- O layout do relatório deve estar importado no programa Importação Layout SmartView - html.fwk-smartview-layout;
- O relatório será salvo no diretório spool cadastrado para o usuário responsável pelo pedido de execução;
- O nome do servidor (HOST) e porta do servidor (PORT) utilizados para a requisição do token de autenticação será recuperado do cadastro de Propriedades do Sistema > Propriedades Gerais > Configuração Servidor.