Nome Físico: utp/wutapi011.w
Nome do Include com Parâmetros: utp/utapi011.i
Versão de Integração: 003
Objetivo:
Criação de gráficos.
Pré-requisitos:
Homologado para Windows 7 e inferiores.Temp table tt-atributos
TEMP-TABLE tt-atributos | |||
Atributo | Tipo | Formato | Valor Inicial |
NumGraph | Integer | 1 | |
Cod-Versao-Integracao | Integer | ||
GraphTitle | Character | ||
GraphTitleColor | Integer | ||
GraphType | Integer | ||
GraphStyle | Integer | ||
LabelsColor | Integer | ||
LeftTitle | Character | ||
LeftTitleStyle | Integer | 0 | |
LeftTitleColor | Integer | ||
BottomTitle | Character | ||
BottomTitleColor | Integer | ||
DataLabels | Integer | 0 | |
DataLabelsColor | Integer | ? | |
LimitLines | Integer | 0 | |
LimitLinesColor | Integer | ||
LimitHighLabel | Character | ||
LimitLowLabel | Character | ||
LimitHighValue | Decimal | ||
LimitLowValue | Decimal | ||
LineStats | Integer | ||
MeanLineColor | Integer | ||
MinMaxLinesColor | Integer | ||
StDevLinesColor | Integer | ||
BestFitLinesColor | Integer | ||
CurveType | Integer | ||
CurveColor | Integer | ||
ThickLines | Integer | ||
GridStyle | Integer | 0 | |
GridLineStyle | Integer | 0 | |
TitleFontName | Character | Arial | |
TitleFontSize | Integer | 200 | |
TitleFontStyle | Integer | 0 | |
OtherFontName | Character | Arial | |
OtherFontSize | Integer | 150 | |
OtherFontStyle | Integer | 0 | |
LabelFontName | Character | Arial | |
LabelFontSize | Integer | 100 | |
LabelFontStyle | Integer | 0 | |
LegendFontName | Character | Arial | |
LegendFontSize | Integer | 100 | |
LegendFontStyle | Integer | 0 | |
LegendPos | Integer | 0 | |
Atributo | Descrição |
NumGraph | Identifica o gráfico a que pertencem os atributos do registro. (1 ou 2) |
Cod-Versao-Integracao | Indica a versão atual da API |
GraphTitle | Título do Gráfico. |
GraphType | Tipo do gráfico. *Ver tabela Tipos de gráficos |
GraphStyle | Estilo do Gráfico. *Ver tabela Estilos de Gráficos |
LabelsColor | Cor dos Labels do gráfico. *Ver Tabela de Cores |
LeftTitle | Título do eixo das Ordenadas (Y) |
LeftTitleStyle | Estilo do título do eixo das ordenadas (Y). *Ver tabela Estilos do Título das Ordenadas |
LeftTitleColor | Cor do título do eixo das Ordenadas (Y). *Ver tabela de Cores |
BottomTitle | Título do eixo das Abscissas (X) |
BottomTitleColor | Cor do título das Abscissas(X). *Ver Tabela de Cores |
DataLabels | Habilita a visualização de labels de valores para todos os gráficos do tipo 2D exceto para o tipo Pizza. *Ver Tabela de Labels de Valores |
DataLabelsColor | Cor dos labels de valores. *Ver Tabela de Cores. |
LimitLines | Linhas que definem limites no gráfico. |
LimitLinesColor | Cor das linhas de limites. *Ver Tabela de Cores |
LimitHighLabel | Label da linha de limite superior |
LimitLowLabel | Label da linha de limite inferior |
LimitHighValue | Valor para a linha de limite superior |
LimitLowValue | Valor para a linha de limite inferior |
LineStats | Define linhas estatísticas. *Ver Tabela de Linhas de Estatística |
MeanLineColor | Cor da linha de meio. *Ver Tabela de Cores |
MinMaxLinesColor | Cor das linhas de valores máximo e mínimo. *Ver Tabela de Cores |
StDevLinesColor | Cor da linha de desvio padrão. *Ver Tabela de Cores |
BestFitLinesColor | Cor das linhas de nível. *Ver tabela de Cores |
CurveType | Tipo de Curvas. LineStats deve possuir valor entre 16 e 31. *Ver Tabela de Curvas |
CurveColor | Cor da curva. *Ver Tabela de Cores |
ThickLines | Linhas espessas (1) ou não (0 default) |
GridStyle | Estilo do Grid do gráfico. |
GridLineStyle | Estilo da linha do Grid do gráfico. |
TitleFontName | Nome da fonte do Título. |
TitleFontSize | Tamanho da fonte do Título. |
TitleFontStyle | Estilo da fonte do título do gráfico. *Ver tabela estilo de fontes. |
OtherFontName | Nome da fonte das strings que não pertencem aos títulos. |
OtherFontSize | Tamanho da fonte das strings que não pertencem aos títulos. |
OtherFontStyle | Estilo da fonte das strings que não pertencem aos títulos. *Ver tabela estilo de fontes. |
LabelFontName | Nome da fonte dos Labels. |
LabelFontSize | Tamanho da fonte dos Labels. |
LabelFontStyle | Estilo da fonte do título dos Labels. *Ver tabela estilo de fontes. |
LegendFontName | Nome da fonte das Legendas. |
LegendFontSize | Tamanho da fonte das Legendas. |
LegendFontStyle | Estilo da fonte do título das Legendas. *Ver tabela estilo de fontes. |
LegendPos | Posição das legendas do gráfico. *Ver tabela de Posições da Legenda. |
LeftTitleStyle | Estilo da fonte das Legendas. *Ver tabela Estilo de Legendas. |
Temp-table tt-points-2: Na Temp-Table tt-points são definidas as características comuns aos points do gráfico. Um point refere-se a um período do gráfico, ou seja, ao intervalo entre dois valores do eixo X. Também é fundamental que a cada novo set, o valor do campo NumPoint inicie em 1
TEMP-TABLE tt-points-2 | |||
Atributo | Tipo | Formato | Valor Inicial |
NumPoint | Integer | ||
NumGraph | Integer | 1 | |
LabelText | Character | “” | |
Atributo | Descrição |
NumPoint | Número do Point. |
NumGraph | Identifica a qual gráfico pertencem os atributos do registro. |
LabelText | Label do Point. |
Temp-table tt-sets: Na Temp-Table tt-sets são definidas as características dos sets do gráfico. Um set refere-se aos valores representados em um point. Existe limite de valores para o número de sets em relação ao tipo de gráfico, para maiores informações sobre estas limitações consulte o HELP do Chart FX(chartfx_com_win_api.chm) que encontra-se no diretório interfac/chartfx da instalação do produto.
TEMP-TABLE tt-sets | |||
Atributo | Tipo | Formato | Valor Inicial |
NumSet | Integer | ||
NumGraph | Integer | 1 | |
LegendText | Character | ||
ColorSet | Integer | ||
Atributo | Descrição |
NumSet | Número do Set. |
NumGraph | Identifica a qual gráfico pertencem os atributos do registro. |
LegendText | Legenda do Set. |
ColorSet | Cor do Set. *Ver tabela de Cores. |
TEMP-TABLE tt-reuniao | |||
Atributo | Tipo | Formato | Valor Inicial |
i-versao-integracao | integer | ">>9" | |
c-assunto | Char | ||
c-corpo | Char | ||
c-local | Char | ||
c-categoria | Char | ||
dt-dataini | Date | “99/99/9999” | |
dt-horaini | Char | ||
l-lembrete | Logical | No | |
l-diatodo | Logical | No | |
i-duracao | Integer | “9999” | |
i-horaaviso | Integer | ||
i-tipohorario | integer | ||
c-convidadosreq | Char | ||
c-convidadosopc | Char | ||
c-convidadosrec | Char | ||
i-importancia | Integer | ||
i-tipo | Integer | ||
l-periodico | Logical | No | |
i-tipoperiodo | Integer | ||
i-intervalo | Integer | ||
i-diassemana | Integer | ||
i-mesdoano | Integer | ||
i-diadomes | Integer | ||
dt-fimperiodico | date | ||
i-inicioocorrencia | integer | ||
i-ocorrencias | integer | ||
* ver Principais Validações da Temp-Table tt-reuniao
Atributo | Descrição |
i-versao-integracao | Campo usado para verificar compatibilidade entre programa e api |
c-assunto | Campo referente ao assunto do compromisso |
c-corpo | Texto que seguira junto com o compromisso, é o corpo da mensagem |
c-local | Local do compromisso |
c-categoria | Categorias que o compromisso pertence separadas por “;” |
dt-dataini | Data inicial do compromisso em formato mm/dd/yyyy |
c-horaini | Hora de início do compromisso em formato hh:mm:ss |
i-lembrete | Define se deve ser habilitado o lembrete para aviso prévio do compromisso |
i-diatodo | Define se o compromisso ocupa todo o dia (hora de início deve ser informada) |
i-duracao | Duração, em minutos, do compromisso. |
i-horaaviso | Define o tempo, em minutos, para aviso prévio antes do compromisso (a função lembrete deverá estar ativada) |
i-tipohorario | Define como deve ser mostrado o horário 0-Disponível 1-Provisório 2- Ocupado 3-Fora do escritório |
c-convidadosreq | Convidados requeridos separados por “;”, podendo ser usado o nome do catálogo de endereços ou endereço de e-mail. * |
c-convidadosopc | Convidados opcionais separados por “;”, podendo ser usado o nome do catálogo de endereços ou endereço de e-mail.* |
c-convidadosrec | Convidados do tipo recurso separados por “;”, podendo ser usado o nome do catálogo de endereços ou endereço de e-mail. * |
i-importancia | Importância da reunião 0-baixa 1-normal 2-alta |
i-tipo | Tipo do compromisso 0-normal 1-pessoal 2-privado 3-confidencial. |
i-periodico | Define se o compromisso é do tipo periódico, ou seja, se o mesmo tem várias ocorrências. ** |
i-tipoperiodo | Define o tipo de período a ser usado no compromisso.** |
i-intervalo | Define o intervalo entre as ocorrências, como 2 meses 3 dias dependendo do tipo da mesma. ** |
i-diassemana | Máscara que define o(s) dias(s) de semana a serem usados para o compromisso. ** |
i-mesdoano | Define o mês de 1 a 12 para o compromisso. ** |
i-diadomes | Define o dia do mês para o compromisso. ** |
dt-fimperiodico | Data do fim das ocorrências de um compromisso periódico, sobrescreve o valor da variável i-ocorrências. ** |
i-inicioocorrencia | Define o dia de início de ocorrência para certos tipos de períodos como terceira (segunda) de cada mês. ** |
i-ocorrencias | Número de ocorrências de um compromisso periódico. ** |
*O contato deverá existir no catálogo de endereços
** Verificar tópico referente a compromissos periódicos em “Outras informações”.
Temp-table tt-dados: Informações referentes aos dados do gráfico. Um dado do gráfico deve estar obrigatoriamente relacionado a um point e a um set, portanto para que um registro da tt-dados exista, devem existir relacionamentos com a tt-points e tt-sets. Ou seja, um dado deve pertencer a um point e a um set. Também é fundamental que a cada novo set, o valor do campo NumPoint inicie em 1.
TEMP-TABLE tt-dados | |||
Atributo | Tipo | Formato | Valor Inicial |
NumGraph | Integer | 1 | |
NumPoint | Integer | ||
NumSet | Integer | ||
GraphData | Decimal | 0 | |
Atributo | Descrição |
NumGraph | Identifica a qual gráfico pertencem os atributos do registro. |
NumPoint | Número do Point. |
NumSet | Número do Set. |
GraphData | Valor do dado do gráfico. |
Temp-table tt-erros: A tt-erros é uma tabela de retorno de dados referentes aos erros encontrados na manipulação dos dados das tabelas de entrada. A tt-erros retorna dados através de um registro contendo o código do erro e a sua descrição.
Obs.: Após a chamada feita à API é imprescindível tratar os erros retornados caso existam.
TEMP-TABLE tt-erros | |||
Atributo | Tipo | Formato | Valor Inicial |
Cod-Erro | Integer | ||
Desc-Erro | Character | ||
Atributo | Descrição |
Cod-Erro | Número do erro. Seqüencial dentro da temp-table. |
Desc-Erro | Descrição do erro. |
A geração de gráficos pode ser feita de duas maneiras:
Sintaxe:
Def var hwutapi011 as handle no-undo. RUN utp/wutapi011.w PERSISTENT SET hwutapi011. RUN pi-set-tt-atributos IN hwutapi011(INPUT TABLE tt-atributos). RUN pi-set-tt-points-2 IN hwutapi011 (INPUT TABLE tt-points-2). RUN pi-set-tt-sets IN hwutapi011 (INPUT TABLE tt-sets). RUN pi-set-tt-dados IN hwutapi011 (INPUT TABLE tt-dados). RUN dispatch IN hwutapi011 (INPUT "INITIALIZE"). RUN pi-inicializar IN hwutapi011. IF RETURN-VALUE = "NOK" THEN DO: RUN pi-get-tt-erros IN hwutapi011(OUTPUT TABLE tt-erros). DELETE OBJECT hwutapi011. RETURN "NOK". END. IF VALID-HANDLE(hwutapi011) THEN DO: WAIT-FOR CLOSE OF hwutapi011. END. IF VALID-HANDLE(hwutapi011) THEN DO: DELETE OBJECT hwutapi011. END. |
|
A segunda maneira de criar os gráficos é o desenvolvedor executar diretamente os métodos da API. Nesse caso não será realizada nenhuma validação.
Sintaxe:
Def var hwutapi011 as handle no-undo. RUN utp/wutapi011.w PERSISTENT SET hwutapi011. RUN dispatch IN hwutapi011 (INPUT "INITIALIZE"). IF VALID-HANDLE(hwutapi011) THEN DO: WAIT-FOR CLOSE OF hwutapi011. END. IF VALID-HANDLE(hwutapi011) THEN DO: DELETE OBJECT hwutapi011. END. |
|
No retorno da execução do utp/wutapi011.p, será retornado um dos valores via RETURN-VALUE:
NOK:
Retorna o código e a descrição do erro.
OK:
O gráfico será exibido através do programa utp/wutapi011.w, que roda na mesma seção Progress do programa que executou a API. O programa que executou a utapi011 ficará aguardando o encerramento do programa wutapi011.w para encerrar sua execução.
No caso do retorno ser NOK, todos os erros encontrados serão retornados através da Temp-Table tt-erros.
Compromissos periódicos:
Os compromissos periódicos podem ser dos seguintes tipos:
{utp/utapi028.i}
CREATE tt-reuniao.
ASSIGN c-assunto = "Assunto da mensagem"
c-corpo = " Aqui vai um grande texto para o corpo da mensagem"
c-local = " Local qualquer"
dt-dataini = 12/23/2002
l-lembrete = FALSE
c-horaini = "00:00:00"
l-diatodo = FALSE
i-duracao = 800
i-horaaviso = 50
i-importancia = 0
i-tipohorario = 3
c-convidadosreq = "[email protected]"
c-convidadosopc = "João da Silva"
c-convidadosrec = "Luiz Cesar Medeiros Filho;Joao da Silva"
i-tipo =2
c-categoria = "Importante"
/* inicia periódico */
l-periodico = TRUE
i-tipoperiodo = 1
i-diassemana = 127
i-inicioocorrencia = 2
i-intervalo = 2.
run utp/utapi028.p persistent set h-utapi028.
run pi-execute in h-utapi028 (input table tt-reuniao,output table tt-erros).
for each tt-erros:
disp "Erro: " tt-erros.cod-erro skip
"Descrição: " tt-erros.desc-erro format "x(50)".
end.
delete procedure h-utapi028.
|