Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

02.1. IMPLEMENTANDO A PROCEDURE DE MODO GRÁFICO


No bloco de código abaixo, iremos criar a procedure pi-get-monitor-data-chart (maiores detalhes sobre ela podem ser consultados aqui), para o nosso exemplo neste guia, iremos realizar uma query dinâmica na tabela ord-prod para realizar a contagem de Ordens x Situação aplicando os filtros de estabelecimento e desde quando que é calculado em número de dias retroativos a hoje.


Bloco de código
titleExemplo de código
PROCEDURE pi-get-monitor-data-chart:
    DEFINE INPUT PARAMETER TABLE FOR ttVisaoMonitor.
    DEFINE OUTPUT PARAMETER  monitorJsonOutput AS JsonObject. 
    DEFINE OUTPUT PARAMETER TABLE FOR RowErrors.      
  
    DEFINE VARIABLE ChartBuilder  AS ChartBuilder NO-UNDO.
   
    /* Instanciar a classe passando como parâmetro a ttVisaoMonitor, que contém as informações do monitor e visão que estão sendo processados nesse instante. */
    ChartBuilder = NEW ChartBuilder(INPUT TABLE ttVisaoMonitor).
   
    /* Depois que todas as entidades estão criadas, basta setá-las no objeto ChartBuilder */
    ChartBuilder:setTags(INPUT TABLE ttTags).
    ChartBuilder:setCategories(INPUT TABLE ttCategorias).
    ChartBuilder:setSeries(INPUT TABLE ttSeries).
    ChartBuilder:setHeight(290).
      
    /* Chama o método para criar e devolver o gráfico completo e guarda o resultado na variável  monitorJsonOutput */   
    monitorJsonOutput = ChartBuilder:createChart().
      
    DELETE OBJECT ChartBuilder.
  
    CATCH eSysError AS Progress.Lang.Error:
        CREATE RowErrors.
        ASSIGN RowErrors.ErrorNumber = 17006
               RowErrors.ErrorDescription = eSysError:getMessage(1)
               RowErrors.ErrorSubType = "ERROR".
    END.
    FINALLY:
        IF fn-has-row-errors() THEN DO:
            UNDO, RETURN 'NOK':U.
        END.
    END FINALLY.
END PROCEDURE.


02.2. IMPLEMENTANDO A PROCEDURE DE MODO TEXTO

...