Histórico da Página
...
{
"ttData": [{
"titulo_1": "TÍTULO DO RELATÓRIO",
"conteudo_1": "Conteúdo 1",
"conteudo_2": "Conteúdo 2",
"conteudo_3": 3,
"ttList": [{
"item_1": "14272",
"item_2": "Teste Item 2.1"
},
{
"item_1": "15273",
"item_2": "Teste Item 2.2"
},
{
"item_1": "16274",
"item_2": "Teste Item 2.3"
}]
}]
}
Bloco de código |
---|
/* Definição das variáveis de testes para geração do relatório. */
DEFINE VARIABLE c_report AS CHARACTER NO-UNDO INITIAL "fnd/rel_framework_test".
DEFINE VARIABLE c_program AS CHARACTER NO-UNDO INITIAL "".
DEFINE VARIABLE c_format AS CHARACTER NO-UNDO INITIAL "pdf".
DEFINE VARIABLE c_dialect AS CHARACTER NO-UNDO INITIAL "pt".
DEFINE VARIABLE l_publish AS LOGICAL NO-UNDO INITIAL FALSE.
DEFINE VARIABLE l_download AS LOGICAL NO-UNDO INITIAL TRUE.
DEFINE VARIABLE h_report AS HANDLE NO-UNDO.
DEFINE VARIABLE lc_content AS LONGCHAR NO-UNDO.
DEFINE VARIABLE c_query_params AS CHARACTER NO-UNDO.
DEFINE VARIABLE i_response_code AS INTEGER NO-UNDO.
DEFINE VARIABLE c_response_status AS CHARACTER NO-UNDO.
DEFINE VARIABLE mptr_response AS MEMPTR NO-UNDO.
/* Ajuste do CODEPAGE para UTF-8 */
FIX-CODEPAGE(lc_content) = "UTF-8".
/* Adiciona os parâmetros de query para o relatório, os parâmetros complexos como temp-tables e datasets devem ser passamos como JSON na variável lc_content. */
ASSIGN c_query_params = "".
/* Dados para a geração do relatório */
RUN getReportData IN THIS-PROCEDURE(OUTPUT lc_content).
/* Para fins de testes gera um arquivo de dump com os dados a serem enviados para o Datasul Report Service */
COPY-LOB FROM lc_content TO FILE SESSION:TEMP-DIRECTORY + "lc_content.json" NO-CONVERT.
IF NOT VALID-HANDLE(h_report) THEN
RUN utp/ut-report-api.p PERSISTENT SET h_report.
/* Executa a procedure de geração do relatório de teste */
RUN printTest IN h_report (INPUT c_report,
INPUT c_program,
INPUT c_format,
INPUT c_dialect,
INPUT l_publish,
INPUT l_download,
INPUT lc_content,
INPUT c_query_params,
OUTPUT mptr_response,
OUTPUT i_response_code,
OUTPUT c_response_status).
IF VALID-HANDLE(h_report) THEN DO:
DELETE PROCEDURE h_report.
END.
/* Exibe o status de retorno da requisição ao totvs-report */
MESSAGE i_response_code VIEW-AS ALERT-BOX.
IF i_response_code = 200 THEN DO:
DEFINE VARIABLE ms AS DECIMAL NO-UNDO.
DEFINE VARIABLE endTime AS DATETIME-TZ NO-UNDO INIT NOW.
ASSIGN ms = INTERVAL(endTime, DATETIME-TZ (1, 1, 1970,0, 0, 0, 0, 0), "milliseconds").
/* Gera o relatório no diretóri temporário com o nome rel_framework_test_<MILLISECONDS> */
COPY-LOB FROM mptr_response TO FILE SESSION:TEMP-DIRECTORY + 'rel_framework_test_' + STRING(ms) + "." + c_format NO-CONVERT.
END.
/* Dados fixos para a geração do relatório */
PROCEDURE getReportData:
DEFINE OUTPUT PARAM lc_data AS LONGCHAR NO-UNDO.
ASSIGN LC_data = "~{
~"ttData~": ~[~{
~"titulo_1~": ~"TÍTULO DO RELATÓRIO~",
~"conteudo_1~": ~"Conteúdo 1~",
~"conteudo_2~": ~"Conteúdo 2~",
~"conteudo_3~": 3,
~"ttList~": ~[~{
~"item_1~": ~"14272~",
~"item_2~": ~"Teste Item 2.1~"
~} ,
~{
~"item_1~": ~"15273~",
~"item_2~": ~"Teste Item 2.2~"
~} ,
~{
~"item_1~": ~"16274~",
~"item_2~": ~"Teste Item 2.3~"
~} ~]
~} ~]
~} ".
RETURN "OK":U.
END PROCEDURE.
|
03. TELA XXXXX
Outras Ações / Ações relacionadas
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas