Histórico da Página
| Button | ||||
|---|---|---|---|---|
|
API de Envio de compromisso via Outlook (001)
Nome Físico: utp/utapi028.p
Nome do Include com Parâmetros: utp/utapi028.i
Versão de Integração: 001
Objetivo:
Envio de compromisso do tipo reunião via Microsoft Outlook.
Pré-requisitos:
É necessário ter o OUTLOOK com uma versão compatível com o produto. Para mais detalhes consulte a documentação localizada em: https://tdn.totvs.com/pages/releaseview.action?pageId=195301010
Considerações Gerais
- A API recebe como parâmetros valores que correspondem as informações necessárias para envio do compromisso;
- A include {utp/utapi028.i} contém as definições das Temp-Tables que devem ser passadas como parâmetros à API utp/utapi028.p. Sendo que a chamada desta include, como a inclusão de valores, deve ser feita antes da chamada da API utp/utapi028.p;O envio do compromisso é feito através da execução da API utp/utapi028.p;
- A execução da API é dependente do Microsoft Outlook, para o uso da mesma este programa deve estar instalado e o nome do(s) recipiente(s) devem estar no catálogo de endereços, ou então devem ser utilizados endereços de e-mail, e este catálogo deverá estar configurado no computador onde será feito o envio;
- O organizador da reunião será o usuário padrão do Outlook da máquina que fará o envio.
Parâmetros de Entrada
Temp-Table tt-reuniao: possui as definições da mensagem a ser enviada.
* ver Principais Validações da Temp-Table tt-configuracao
Atributo | Descrição |
versao-integracao | Versão de Integração da API |
modelo | Nome do modelo a ser utilizado para criação do arquivo |
senha-modelo | Senha para desproteger o modelo a ser utilizado |
exibir-construcao | Exibir construção do arquivo durante o processo |
imprimir | Imprime o documento |
Temp-Table tt-dados: possui as definições, gerais, sobre cada um dos campos a serem preenchidos no documento.
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-erros: possui todos os erros encontrados pela API.
TEMP-TABLE tt-erros | |||
Atributo | Tipo | Formato | Valor Inicial |
cod-erro | Integer | ||
desc-erro | Character | x(256) | |
* ver Definição Temp-Table tt-erros
Atributo | Descrição |
cod-erro | Número do erro |
desc-erro | Descrição do erro ocorrido da ut-msgs |
Execução
O programa também executará outras validações referentes a erros específicos que serão abordados na seção “Possíveis erros” deste documento.
Cabe ao programa de origem, verificar a consistência do registro que está sendo enviado.
* ver descrições da Temp-Table tt-reuniao
Parâmetros de Saída
No retorno da execução do utp/utapi028.p, será retornado um dos valores via RETURN-VALUE:
NOK:
Envio do compromisso interrompido, os dados passados como parâmetros, através das Temp-Tables, são inconsistentes ou foram insuficientes;
OK:
Criação do compromisso com sucesso.
No caso do retorno ser NOK, todos os erros encontrados serão retornados através da Temp-Table tt-erros.
Outras Informações
Abaixo se encontram as principais validações a serem executadas em cada uma das Temp-Tables de entrada utilizadas pela API utp/utapi027.p.
A seguir se encontram referências sobre os valores que alguns campos podem assumir:
Exemplo
Abaixo programa exemplo de utilização da API.
Instruções:
- Crie um formulário no Word com quatro campos texto, os campos precisam ter os nomes (nome, endereço, telefone, imagem, arquivo) e grave como um modelo do Word no diretório c:\tmp com o nome de a.dot.
- O valor do campo imagem do exemplo abaixo deve ser substituído pelo caminho de uma imagem existente na máquina onde o programa será executado.
- O valor do campo arquivo do exemplo abaixo deve ser substituído pelo caminho de um arquivo existente na máquina onde o programa será executado.
- Execute o programa abaixo:
| Expandir | |||||
|---|---|---|---|---|---|
| |||||
|
Técnicas de Importação/Importação
Técnica de importação dos dados:
Simulação com os arquivos .Json oriundos da técnica acima. Abaixo um exemplo de código para a utapi027 efetuando um input desses registros:
| language | ruby |
|---|
Compromissos periódicos:
Os compromissos periódicos podem ser dos seguintes tipos:
Definições das Temp-Tables a serem utilizadas pela API utp/utapi028.p
Exemplo de Utilização
| Bloco de código | ||
|---|---|---|
| ||
{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. |