Páginas filhas
  • LOG_freepdf_start FreePDF

Função: LOG_freepdf_start

Inicia a geração do arquivo de configuração para geração do relatório PDF.

LOG_freepdf_start ( < Nome do arquivo>, < Modo de exibição da mensagem> ) --> Situação

 

NomeTipoDescriçãoObrigatórioReferência
Nome do arquivoCaracterNome do arquivo de relatório (sem o caminho e sem a extensão).X 
Modo de exibição da mensagemNuméricoModo de exibição de mensagem de erro durante o processamento.

 

  • 0 (ON-LINE): a mensagem será exibida ao usuário durante o processamento.
  • 1 (BATCH): a mensagem ficará armazenada na memória, para que o programa possa acessar e utilizar seu conteúdo de acordo com a necessidade da rotina em execução através das funções log0030_mensagem_get_texto() e log0030_mensagem_get_tipo() ou exibi-la posteriormente em tela utilizando a função log0030_exibe_ultima_mensagem().
X 

 

Situação
    (logico)
  • Situação da criação do arquivo de configuração. Caso executado com sucesso retorna verdadeiro, caso contrário, falso.
 DATABASE logix#------------------# FUNCTION FreePDF()#------------------#     DEFINE l_status SMALLINT     DEFINE l_count_usuarios INTEGER     DEFINE l_mensagem        CHAR(200)     DEFINE l_administrador   CHAR(003)     DEFINE l_cod_usuario     LIKE usuarios.cod_usuario     DEFINE l_nom_funcionario LIKE usuarios.nom_funcionario     DEFINE l_ind_admlog      LIKE usuarios.ind_admlog     LET l_status = TRUE     LET l_count_usuarios = 0     CALL LOG_connectDatabase("DEFAULT")     WHENEVER ERROR CONTINUE     DECLARE cq_usuarios CURSOR FOR      SELECT usuarios.cod_usuario,             usuarios.nom_funcionario,             usuarios.ind_admlog        FROM usuarios       WHERE usuarios.cod_usuario <> "admlog"       ORDER BY usuarios.ind_admlog DESC,usuarios.nom_funcionario     WHENEVER ERROR STOP     IF  sqlca.sqlcode <> 0 THEN         CALL log003_err_sql("DECLARE CURSOR","cq_usuarios")         RETURN FALSE     END IF     WHENEVER ERROR STOP     FOREACH cq_usuarios INTO l_cod_usuario,                              l_nom_funcionario,                              l_ind_admlog         IF  sqlca.sqlcode <> 0 THEN             LET l_status = FALSE             CALL log003_err_sql("FOREACH CURSOR","cq_usuarios")             EXIT FOREACH         END IF         IF  l_ind_admlog = "S" THEN             LET l_administrador = "Sim"         ELSE             LET l_administrador = "Não"         END IF         LET l_count_usuarios = l_count_usuarios + 1         IF  l_count_usuarios = 1 THEN             IF  NOT LOG_freepdf_start("usuarios",1) THEN                 LET l_status = FALSE                 EXIT FOREACH             END IF             # Aqui não contralarei as novas páginas a serem criadas, deixarei             # a biblioteca FreePDF controlar automaticamente.             IF  NOT LOG_freepdf_new_page("Usuários Logix","R",0) THEN                 LET l_status = FALSE                 EXIT FOREACH             END IF             IF  NOT LOG_freepdf_add_column_header("Usuário",25) THEN                 LET l_status = FALSE                 EXIT FOREACH             END IF             IF  NOT LOG_freepdf_add_column_header("Nome",50) THEN                 LET l_status = FALSE                 EXIT FOREACH             END IF             IF  NOT LOG_freepdf_add_column_header("É administrador?",50) THEN                 LET l_status = FALSE                 EXIT FOREACH             END IF             IF  NOT LOG_freepdf_print_columns_header() THEN                 LET l_status = FALSE                 EXIT FOREACH             END IF         END IF         IF  NOT LOG_freepdf_add_column(l_cod_usuario) THEN             LET l_status = FALSE             EXIT FOREACH         END IF         IF  NOT LOG_freepdf_add_column(l_nom_funcionario) THEN             LET l_status = FALSE             EXIT FOREACH         END IF         IF  NOT LOG_freepdf_add_column(l_administrador) THEN             LET l_status = FALSE             EXIT FOREACH         END IF         IF  NOT LOG_freepdf_print_columns() THEN             LET l_status = FALSE             EXIT FOREACH         END IF     END FOREACH     WHENEVER ERROR STOP     IF  l_status AND l_count_usuarios > 0 THEN         LET l_status = LOG_freepdf_finish()     END IF     IF  l_status THEN         IF  l_count_usuarios = 0 THEN             CALL log0030_mensagem("Não há dados para serem exibidos.","excl")         ELSE             LET l_mensagem = "Relatório PDF gerado com sucesso em '", LOG_freepdf_get_pdf_filename() CLIPPED,"'."             CALL log0030_mensagem(l_mensagem,"info")         END IF     ELSE         CALL log0030_exibe_ultima_mensagem()     END IF     WHENEVER ERROR CONTINUE     FREE cq_usuarios     WHENEVER ERROR STOP     RETURN l_status END FUNCTION
4GL Interop

 

  • Sem rótulos