+ All Categories
Home > Documents > Workflow_P10.pdf

Workflow_P10.pdf

Date post: 12-Oct-2015
Category:
Upload: pauloidelfonso
View: 37 times
Download: 0 times
Share this document with a friend
Popular Tags:

of 53

Transcript
  • 5/21/2018 Workflow_P10.pdf

    1/53

    Educao Corporativa

    Workflow

    1Todos os direitos reservados.

    Matriz - Av. Braz Leme, 1.717 - 02511-000 - So Paulo - SP - Brasil.Tel.: 55 (11) 3981 - 7001 www.microsiga.com.br

  • 5/21/2018 Workflow_P10.pdf

    2/53

    2 Todos os direitos reservados.Workflow

    WORKFLOW 3FLUXO OPERACIONAL 4CONFIGURAO 5

    Requisitos 5Correio Eletrnico 6

    Contas de e-mail 6CADASTRAR A CONTA DE E-MAIL DO WORKFLOW 8

    Pasta Caixa de Correio 9Pasta Receber Mensagens 10Pasta Enviar Mensagens 11Pasta Conexo 12Pasta "Correio" 14

    PARMETROS 14Pasta "Processo" 15Pasta "Notificao" 17Pasta "Messenger" 18

    ESTRUTURA DE DIRETRIO DE MENSAGENS 19PROCESSOS WORKFLOW 22

    Status Workflow 24E-mails substitutos 27

    SCHEDULER 29Ativao 29Agendando 30Agendar recebimento de mensagens do Workflow 33

    AGENDAR ENVIO DE MENSAGENS DO WORKFLOW 34HTML MODELO WORKFLOW 35

    Post message 35Macro substituio 36Tabelas 37

    CRIANDO UM PROCESSO EM ADVPL - FUNES 40Classe TWFProcess 40Mtodos 40

    GLOSSRIO 52

    Sumrio

  • 5/21/2018 Workflow_P10.pdf

    3/53

    3Todos os direitos reservados. Workflow

    WORKFLOW

    A automao de processos de negcio corresponde, em partes ou totalmente, s informaes, documentosou tarefas que so passadas de uma pessoa outra para a realizao de uma ao que baseada em umconjunto de regras.

    Atravs da implantao de uma ferramenta de Workflow nos processos crticos de uma organizao, estestornam-se mais geis e seguros, evitando o travamento operacional do complexo fluxo existente entreos processos.

    Principais benefcios:

    Aumento da ecincia: automao de processos eliminam vrios passos desnecessrios.

    Melhor controle dos processos: melhora do gerenciamento dos processos atravs da padronizao dosmtodos de trabalho.

    Melhora nos servios ao cliente: consistncia nos processos leva a uma maior previsibilidade e rapideznos nveis de resposta ao cliente.

    Flexibilidade: controle sobre os processos atravs de uma ferramenta permite uma rpida mudana nosfluxos de acordo com a necessidade.

    A ferramenta de Workow existente no Protheus 8 permite o rpido alcance dos benefcios acima citados,alm de:

    Forte rastreabilidade dos processos: pode-se saber a atual situao de qualquer processo atravs daconsulta da rastreabilidade.

    Transformao do sistema Protheus em ativo em vez de reativo: a informao e a ao necessria a sertomada levada ao usurio e no o contrrio.

    Controle de time-out dos processos: os processos nunca cam parados por falta de resposta de umapessoa.

    Qualquer processo existente pode ser automatizado atravs da construo de um Workow.

    As aes a serem tomadas pelas pessoas em cobrana podem ser realizadas atravs de quatro meios,evitando que um processo tenha seu ciclo interrompido por falta de comunicao, so eles:

    e-mail: os processos so respondidos atravs de um cliente de e-mail homologado.

    browser de internet: atravs do Internet Explorer, pode-se tomar a ao pedida pelo processo.

    Protheus: atravs do recurso de Messenger do Protheus, pode-se tomar a ao pedida pelo processo.

    Pontos de entrada: atravs de pontos de entradas existentes no sistema, pode-se tomar a ao pedidapelo processo.

  • 5/21/2018 Workflow_P10.pdf

    4/53

    4 Todos os direitos reservados.Workflow

    FLUXO OPERACIONAL

  • 5/21/2018 Workflow_P10.pdf

    5/53

    5Todos os direitos reservados. Workflow

    CONFIGURAO

    Requisitos

    Software: o Workow, que uma ferramenta embutida dentro do Server do Protheus, no necessita deinstalao prpria, apenas configuraes. Toda configurao se d atravs do ambiente Configurador doProtheus.

    Servidor de e-mail (quando necessrio para os processos): o Workflow necessita obter acesso aalgum servidor de e-mail, caso se deseje utilizar e-mails como forma de comunicao. Esse servidor podeestar em um provedor remoto, acessado atravs de um proxy server ou atravs de uma linha discada(totalmente no recomendvel), caso se queira enviar e-mails para fora da sua empresa. Se a troca dee-mails for interna, poder ser utilizado um Exchange Server, Lotus Domino Server ou outro servidor dee-mail interno. O nico requisito imprescindvel que esses servidores trabalhem com protocolos SMTP

    e POP3 ou IMAPI.

    Conta de e-mail: caso utilize-se a opo de e-mail, o Workflow necessita que seja criada uma contade e-mail especicamente para ele. Isto , no poder ser utilizada para mais nenhum m. Para cadaempresa do sistema, dever ser criada uma conta especfica. Pea para o seu provedor criar esta novaconta. Sugerimos com o nome da conta Workflow.

    Exemplo:[email protected]

    Clientes de e-mail:para recebimento dos e-mails gerados a partir do Workflow, so utilizados os clientes

    de e-mails que devem ser aptos a responder os e-mails gerados pelo Workflow, gerando arquivos deretorno chamados octetos.

    Para saber se o cliente de e-mail compatvel com o Workflow, ele dever automaticamente gerar ume-mail de sada enviado para a conta do Workow com um arquivo do tipo postdata atachado, quandohouver a resposta do e-mail pelo usurio.

    Os seguintes clientes de e-mail funcionam com o Workflow: OutLook Express 4.01, OutLook Express5.5x, OutLook Express 6.0 e OutLook 2000 e XP, Lotus Notes 5.x. Outros clientes de e-mail podem nofuncionar, principalmente os webmails. Portanto, garanta que as pessoas que iro receber e responderos e-mails tenham os clientes acima instalados em suas estaes. Quando no houver a certeza de que

    todos conseguiro responder os e-mails e possuir os clientes de e-mail homologados, use a opo deWorkflow sem uso de e-mails, conforme ser descrito nesta apostila. As opes de execuo de Java Scripte Cookies devero estar liberadas.

    Servidor do Protheus: necessrio que o Workow execute em um Server do Protheus exclusivo paraele, ou seja, deve haver um binrio somente para o Workow.

    Memria do servidor: o servidor no qual ser executado o Workflow deve possuir memria suficiente paraque se processem vrios retornos ao mesmo tempo. O mnimo recomendado de 512 MB de memriaRAM para processar cinco retornos por vez. Um nmero maior do que isso, provavelmente necessitar de

    mais memria.

  • 5/21/2018 Workflow_P10.pdf

    6/53

    6 Todos os direitos reservados.Workflow

    Correio EletrnicoProtocolo

    O Workflow faz uso do recurso de envio e recebimento de mensagens eletrnicas (e-mails). Para queesse procedimento seja possvel, devemos congurar que tipo de protocolo de recebimento o Protheus

    dever usar.

    Se omitido, o padro assumido ser POP3. Caso necessite mudar, localize a seo [Mail] no arquivomp8srv.ini e altere para o protocolo utilizado.Protocolos atualmente homologados:

    POP3 IMAP

    Exemplo:

    [Mail]Protocol=IMAPFolder=inbox

    Contas de e-mail

    Atravs do cadastro de contas de e-mails, possvel realizar o envio e recebimentos de mensagens. Paraacessar o cadastro de e-mails, selecione a seguinte opo de menu do configurador:

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    7/53

    7Todos os direitos reservados. Workflow

    Aps a realizao do cadastro de uma conta de e-mail, possvel realizar algumas operaes extrascomo:

    Enviar:esta opo executar o envio de todas as mensagens contidas na pasta outbox (caixa de sada).

    Enviar Todos:esta opo realizar a mesma operao do item anterior; entretanto, efetuar o envio detodas as mensagens para todas as contas cadastradas.

    Receber:esta opo executar o recebimento de todas as mensagens contidas no servidor de e-mailespecificado no cadastro para a pasta inbox (caixa de entrada).

    Receber todos:esta opo realizar a mesma operao do item anterior. Contudo, realizar para todasas contas cadastradas.

    O protocolo MAPI no suportado pelo Protheus.

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    8/53

    8 Todos os direitos reservados.Workflow

    CADASTRAR A CONTA DE E-MAIL DO WORKFLOW

    A principal caracterstica do Workflow so as mensagens que so enviadas e recebidas via email. Para queisto funcione necessrio configurar as contas de email e tambm alguns parmetros do Workflow.

    imprescindvel a criao de pelo menos uma conta de email exclusiva para o Workflow.

    Para iniciarmos a configurao, precisamos inicialmente definir as contas que podero ser usadas.Podemos cadastrar vrias contas de email que sero utilizadas com os processos de Workflow. Porexemplo, podemos ter uma conta de email para os processos do Workflow para uma empresa/filial eoutra conta para outra empresa/filial.Para definir as contas de email, acesso no ambiente Configurador:

    Menu Ambiente > Workflow > Contas de Email

    Nesta opo voc poder denir quantas contas de email forem necessrias.

  • 5/21/2018 Workflow_P10.pdf

    9/53

    9Todos os direitos reservados. Workflow

    Para incluir uma nova conta, escolha a opo Incluir. As seguintes informaes so pedidas:

    Pasta Caixa de Correio

    Caixa de Correio

    Opo Item Descrio

    Correio

    Nome da caixa de correio. Esse nome

    ser usado para criar a pasta, em que

    sero identificadas as mensagens

    pertinentes a cada conta.

    Correio

    Tempo Espera

    Tempo mximo (em segundos) de

    espera para conexo com o servidor de

    e-mails, tanto no envio como

    recebimento de mensagens. O tempo

    padro 60 segundos.

    Nome Nome do remetente da mensagem.

    Remetente

    Endereo Endereo eletrnico.

    HabilitarIncluir esta conta ao

    enviar e receber e - mails

    Esta opo habilita o uso da conta para

    enviar e receber mensagem.

  • 5/21/2018 Workflow_P10.pdf

    10/53

    10 Todos os direitos reservados.Workflow

    Pasta Receber Mensagens

    Receber mensagens

    Opo Item Descrio

    Nome

    IP ou Named Pipe do servidor. Ser

    exibido conforme o tipo utilizado na

    seo [Mail] no arquivo mp8srv.iniServidor (POP3 ou

    IMAP)

    PortaPorta de acesso dependendo do tipo.

    POP3 = 110; IMAP = 143 (defaults).

    Conta Nome da conta.Login

    Senha Senha de acesso conta.

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    11/53

    11Todos os direitos reservados. Workflow

    Pasta Enviar Mensagens

    Enviar mensagens

    Opo Item Descrio

    Nome IP ou Named Pipe do servidor SMTP.

    Servidor SMTP

    Porta Porta de acesso. Valor padro: 25.

    Usurio

    Nome do usurio para autenticao.

    Alguns servidores exigem esta

    informao para envio de e -mails.Autenticao

    Senha Senha de acesso para autenticao.

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    12/53

    12 Todos os direitos reservados.Workflow

    Pasta Conexo

    Conexo

    Opo Item Descrio

    LANUtiliza a conexo j estabelecida pelo

    usurio em uma intranet.

    Tipo

    DIAL - Up

    Utiliza o recurso de discagem atravs de

    uma linha telefnica (no

    recomendvel). Somente funciona em

    estaes e servidores Windows.

    *ConexesLista de conexes disponveis do tipoDial -up, obtidas a partir do cadastro de

    conexes dial -up criado previamente no

    Microsoft Windows.

    ContaNome da conta (usurio) de acesso ao

    provedor internet.

    S enha Senha de acesso conta no provedor.

    Discagem

    TelefoneNmero da linha de acesso ao provedor

    internet.

  • 5/21/2018 Workflow_P10.pdf

    13/53

    13Todos os direitos reservados. Workflow

    * Os campos Conta, Senha e Telefone so obtidos automaticamente a partir da seleo da lista de conexesdisponveis no campo Conexes:. Esses campos so meramente informativos, j que foram obtidosatravs da conexo criada previamente no Windows. Veja no manual do Microsoft Windows como criarconexes dial-up.

    * Os campos para autenticao de envio somente devero ser preenchidos caso sejam obrigatrios,

    conforme a regra de segurana estabelecida pela empresa. Consulte o administrador do servidor demensagens para obter as informaes necessrias para os preenchimentos dos campos Usurio eSenha.

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    14/53

    14 Todos os direitos reservados.Workflow

    PARMETROSO Workflow faz uso de uma srie de parmetros que determinam a maneira como ele se comportarperante alguns pontos estratgicos na execuo dos fluxos de processo. O acesso janela de parmetrosest disponvel na opo do menu do configurador Ambiente > Workflow > Parmetros WF.

    Pasta "Correio"

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    15/53

    15Todos os direitos reservados. Workflow

    Correio

    Opo Item Parmetro Descrio

    Caixa de correio Conta MV_WFMLBOX

    Caixa de correio a ser utilizada

    pelo workflow para o envio e

    recebimento de mensagens.

    Envia figura do

    html como anexo

    da mensagem

    MV_WFIMAGE Recurso ainda no disponvel.

    Envia html no

    corpo da

    mensagem

    MV_WFHTML

    Selecionando esta opo, o html

    passara a fazer parte do corpo

    da mensagem. O contrrio, ir

    como anexo.

    Envio automtico MV_WFSNDAUAps a criao do processo, oworkflow enviar a mensagem

    imediatamente .

    Composio da

    mensagem

    Usa Java Script MV_WFJAVAS

    No html, o Workflow

    adicionar rotinas semi -prontas

    em Java script.

    Pasta "Processo"

  • 5/21/2018 Workflow_P10.pdf

    16/53

    16 Todos os direitos reservados.Workflow

    Processos

    Opo Item Parmetro Descrio

    Define a quantidade de

    processos de retorno que

    podero ser executados por vez.

    Execuo de

    retornos

    Execuo( es) de

    retorno(s)

    simultneos de

    processos .

    MV_WFMAXJB

    Esteja atento ao nm ero

    de licenas disponveis e

    capacidade de

    processamento da

    mquina. A quantidade

    influenciar na

    performance do

    servidor.

    Reativar processos

    automatic amenteMV_WFREACT

    C aso esta opo sejaselecionad a, ocorr er erro na

    execu o de retornos . O

    Workflow reativar o processo

    imediatamente para ser

    executado de novo. Caso

    contrrio, ser reativado

    somente quando o Scheduler

    for reiniciado.

    Tratamento de

    erros

    Usar

    TRANSAAO naexecuo de

    funes de

    RETORNO e

    TIMEOUTs

    MV_WF TRANS

    Habilita o recurso de transaocom a finalidade de conservar a

    integridade dos dados em caso

    de falha de execuo.

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    17/53

    17Todos os direitos reservados. Workflow

    Pasta "Notificao"

    Notificao

    Opo Item Parmetro Descrio

    E -mail do

    administradorEndereo MV_WFADMIN

    Endereo eletrnico doadministrador (es) do sistema .

    Separe entre ; (ponto -e-

    vrgula) caso desej e informar

    mais do que um endereo.

    Exemplo:

    A dm [email protected];

    [email protected]

    Quando oc orrer

    erro ao e xecutar

    funes

    Retorno e

    Timeout .

    MV_WFNF001

    Notificar por e -mail a lista de

    endereos dos administradores

    sobre o erro ocorrido.

    Ao reativar

    processos

    pendentes .

    MV_WFNF002

    Notificar por e -mail a lista de

    endereos dos administradores

    no momento em que for em

    reativados os processos que

    ocorreram erro .

    Enviar

    notificao

    Ao recebermensagens no

    reconhecidas .

    MV_WFNF003

    Notificar por e -mail a lista de

    endereos dos administradores

    sobre as mensagens no

    reconhecidas pelo Workflow .

  • 5/21/2018 Workflow_P10.pdf

    18/53

    18 Todos os direitos reservados.Workflow

    Pasta "Messenger"

    Messenger

    Opo Item Parmetro Descrio

    Caminho MV_WFBROWS

    Arquivo executvel do browser

    Internet que dever estar no

    pathda estao.

    Browser

    Internet

    Servidor MV_WFBRWSR

    IP ou Nome d PIPE do servidor

    Protheus para uso do servio

    http. Adic ione : + a porta ,

    caso seja diferente do padro.

    trio HTTP Caminho MV_WFDHTTP

    Diretrio de trabalho do serviohttp. Verifique o identificador

    Path= na seo [HTTP] do

    arquivo mp 8Srv.ini para obter o

    diretrio de trabalho.

    Habilitar

    Habilitar Messenger

    automaticamente.

    (prximo logon)

    MV_WFMESSE

    O messenger ser executado

    automaticamente no prximo

    login de qualquer ambiente

    Protheus.

  • 5/21/2018 Workflow_P10.pdf

    19/53

    19Todos os direitos reservados. Workflow

    ESTRUTURA DE DIRETRIO DE MENSAGENSA pasta Workflow localiza-se no Root por questes de organizao de acesso aos respectivos arquivosde controle e mensagens a cada empresa.

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    20/53

    20 Todos os direitos reservados.Workflow

    Estrutura de diretrios

    Pastas Descrio

    Pasta principal da estrutura de diretrios do Workflow . Esta pasta

    til para armazenar os html e arquivos comuns entre as empresas.

    Pasta individual de trabalho para cada empresa.

    Mail

    Esta pasta contm a estrutura de diretrios para

    uso exclusivo de armazenamento de mensagens

    enviadas e recebidas para cada caixa de correio

    existente.

    ProcessContm arquivos de controle criados pelo

    Workflow para gerar e manipular processos.

    TasksContm temporariamente arquivos deagendamento de rotinas utilizados para serem

    inseridos dentro da tabela SXM (scheduler).

    Temp Diretrio temporriode trabalho.

    A partir da pasta Mail , sero criadas todas as caixas de correio

    existentes no cadastro de contas de correio do Workflow .

    Archive

    Esta pasta foi criada exclusivamente para uso da

    caixa de correio do Workflow . Todas as

    mensagens que no sejam relacionadas aos

    processos de Wor kflow, sero armaz enadas nestapasta.

    Ex: Spam.

    Ignored

    Esta pasta foi criada exclusivamente para uso da

    caixa de correio do Workflow . As mensagens

    recebidas e j identificadas anteriormente sero

    armazenadas nessa pasta (mensagens recebidas em

    duplicidade)

    I nbox

    Esta uma pasta comum entre as caixas de correio

    existentes. Ela responsvel pelo armazenamentode mensagens recebidas.

    Outbox

    Esta uma pasta comum entre as caixas de correio

    existentes, sendo responsvel pelo armazenamento

    de mensagens que devero ser enviadas. Caso

    ocorra erro durante o envio das mensagens, elas

    sero armazenadas na sub-pasta Erro.

    Sent

    Esta uma pasta comum entre as caixas de correio

    existentes, sendo responsvel pelo armazenamento

    das mensagens enviadas.

  • 5/21/2018 Workflow_P10.pdf

    21/53

    21Todos os direitos reservados. Workflow

    Case Atualizao do Preo de Venda de Produto

    A partir do ponto de entrada (MT010INC) no cadastro de produtos, criaremos um processo de Workflowque enviar um html via e-mail para um destinatrio que dever atualizar o preo de venda do produtoe, em seguida, enviar a resposta para ser atualizada na base de dados do Protheus. Esse ponto de entradaser executado aps a incluso de um novo produto.

    Conforme os passos descritos abaixo, realizaremos um cadastro de processos e de status para futuraspesquisas com o uso da rastreabilidade de processos. Criaremos, tambm, um html e um arquivo deprograma para descrevermos o fluxo do processo em cdigo Advpl, usando as classes e as funes deWorkflow.

    Criar novo campo no SB1

    Crie um novo campo B1_WFID no SB1 para que possa ser gravado o ID do processo de Workflow e serutilizado em consultas na janela de rastreabilidade.

    Denio do campo B1_WFID: tipo Caracter; tamanho 7; decimais 0

    Pesquisa padro SXB

    Crie uma pesquisa SXB com o nome WFSB1 que faa referncia tabela SB1 e retorne o contedo docampo B1_WFID.

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    22/53

    22 Todos os direitos reservados.Workflow

    PROCESSOS WORKFLOWO cadastro de processos do Workflow, apesar de no ser obrigatrio, tem a importncia de amarrara seqncia de passos de um uxo de processo para ser visualizado a partir da janela de consulta darastreabilidade.

    Exemplo de processos a serem cadastrados:

    Aprovao de solicitao de compras. Aprovao de pedido de compras. Cotao de preos. Liberao de crdito.

    Esse cadastro encontra-se no ambiente Configurador.

    Para cadastrar processos workflow:

    EmAmbiente > Workflow > Processos Workflow, selecione a opo "Incluir"

    O sistema apresenta a tela de incluso da rotina.

  • 5/21/2018 Workflow_P10.pdf

    23/53

    23Todos os direitos reservados. Workflow

    Confira os dados e confirme a incluso.

    Cadastro de Processos

    Agrupamento Campos Descrio

    Cdigo Cdigo nico identificador.

    Codificao

    Nome Nome do processo.

    Informativo Tabelas Especificaes das tabelas utilizadas para execuo do processo.

    Pesquisa genricaPesquisa Padro Cdigo da pesquisa padro utilizada para localizar um

    determinado processo.

    Visio Arquivo .vsd Arquivo visio document (fluxo do processo desenhado a partir doMicrosoft Visio).

  • 5/21/2018 Workflow_P10.pdf

    24/53

    24 Todos os direitos reservados.Workflow

    Exerccios

    A partir do configurador, selecione a opo de menu Ambiente > Workflow > Processos

    Workflowe crie um novo processo conforme o contedo dos campos apresentados na tabelaabaixo:

    Cdigo Descrio Pesq Padro

    ATUAPV A TUALIZACAO DO PRECO DE VENDA W FSB1 - Produto

    Status Workflow

    O cadastro de Status o complemento do cadastro de processo. Atravs dele, determina-se cada etapaque se realizar em um fluxo de processo, sendo muito til para determinar pontos de rastreabilidadedentro de um grande processo.

    Para cadastrar status workflow:

    Em Ambiente > Workflow > Status Workflow, selecione a opo "Incluir".

    O sistema apresenta a tela de incluso da rotina.

  • 5/21/2018 Workflow_P10.pdf

    25/53

    25Todos os direitos reservados. Workflow

    Cadastro de Status

    Agrupamento Campos Descrio

    Cd Processo Cdigo do processo.

    Cd StatusCdigo do status de processo. Esse cdigo deve ser um valornumrico acima de 999. A faixa de valores entre 0 e 999 estreservada ao Workflow.

    Codificao

    Descrio Descrio doStatus do processo.

    Informativo Tempo mdioTempo mdio de execuo deste status . Este tempo calculadopelo sistema.

    Confira os dados e confirme a incluso.

  • 5/21/2018 Workflow_P10.pdf

    26/53

    26 Todos os direitos reservados.Workflow

    Exerccios

    Ainda no configurador, selecione a opo de menu Ambiente > Workflow > Status Workflowe cadastre alguns status para o processo mencionado, conforme o contedo dos camposapresentados abaixo:

    Cd Processo Cd Status DescrioATUAPV 100100 INICIANDOATUAPV 100200 GERANDO PROCESSO PARA ENVIOATUAPV 100300 ENVIANDO MENSAGEMATUAPV 100400 AGUARDANDO RETORNOATUAPV 100500 ATUALIZANDO PRECO DE VENDAATUAPV 100600 TIMEOUTATUAPV 100700 REENVIANDO A MENSAGEMATUAPV 100800 FINALIZANDOATUAPV 100900 ERRO DE EXECUO

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    27/53

    27Todos os direitos reservados. Workflow

    E-mails substitutos

    O cadastro de e-mails substitutos um recurso disponvel no Workflow que tem por finalidade delegarpara um outro endereo eletrnico todas as mensagens dirigidas a um determinado participante por umperodo de tempo estipulado. Esse recurso importante quando se tratar de eventuais problemas em queum dos participantes do fluxo do processo permanea ausente por motivos diversos (frias, afastamento

    etc.).

    Para cadastrar e-mails substitutos:

    EmAmbiente > Workflow > E-mails Substitutos, clique na opo "Incluir".

    O sistema apresenta a janela de incluso e Confirme.

    Cadastro de e-mails substitutos

    Agrupamento Campos Descrio

    Do e-mailEndereo eletrnico do participante que permanecer ausentepor um perodo de tempo.

    Endereo eletrnico

    Para o e-mailEndereo eletrnico do participante que ficar responsvel porreceber as mensagens.

    Data incio Data inicial em que passar a vigorar a substituio dos e- mails.

    Data final Data final do perodo.Perodo

    Dias Clculo de dias entre a data inicial e final.

  • 5/21/2018 Workflow_P10.pdf

    28/53

    28 Todos os direitos reservados.Workflow

    Exerccios

    Cadastre um E-mail Substituto, seguindo as informaes abaixo:

    Do e-mail: [email protected]

    Para o e-mail: [email protected]

    Data Inicial:01/10/2007

    At: 31/10/2007

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    29/53

    29Todos os direitos reservados. Workflow

    SCHEDULERO Scheduler (agenda) uma ferramenta responsvel pela execuo das funes de usurios ou funespadronizadas do sistema (chamaremos de Jobs), em determinados horrios especcos entre um intervalode tempo, sem que haja a interveno do usurio. Para que essa ferramenta esteja habilitada a realizarexecues dos jobs, necessrio que ela esteja ativada no servidor do Protheus.

    Ativao

    Para que os jobs sejam executados nos horrios pr-determinados, importante que aps a carga doservidor do Protheus, o Scheduler seja executado. Dessa forma, ele poder vericar a cada minuto se h

    jobs a serem executados.

    Essa ativao ocorre a partir do recurso disponvel na seo [OnStart] contido no arquivo TOTVSAppServer.INI. Exemplo a ser adicionado ao arquivo TOTVSAppServer.INI:

    [ONSTART] Jobs=Scheduler

    [Scheduler] Main=WFONSTART Environment=EnvTOPA funo WFOnStart responsvel pela carga inicial do Scheduler e requer informaes contidas noarquivo auxiliar chamado Scheduler.wf, localizado no diretrio system do Protheus. O contedo desse

    arquivo servir para obter a lista de parmetros necessria para executar o Scheduler.

    Caso o arquivo no exista, ser criado automaticamente com o seguinte contedo padro:99,01,ENVTOP,T,MOD.

    1. 99 cdigo da empresa.

    2. 01 cdigo da filial.

    3. ENVTOP ambiente no qual ser executado o Scheduler.

    4. T Valor lgico (True ou False). True, Indicar que realizar reativao dos processos nas tabelas doWorkflow.

    5. MOD Nome do ambiente do qual o Workflow obter licenas.

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    30/53

    30 Todos os direitos reservados.Workflow

    O Protheus, aceita os parmetros passados atravs da prpria seo sem a necessidade de utilizar oarquivo auxiliar Scheduler.wf, apenas acrescentando as seguintes linhas:Exemplo:

    [Scheduler]

    Main=WFOnStartEnvironment=ENVTOPnParams=5Parm1=99Parm2=01Parm3=ENVTOPParm4=TParm5=TMK

    Agendando

    Atravs do configurador, possvel acessar a janela de cadastro de jobs a serem executados peloScheduler.

    Para congurar a rotina de Schedule:

    Selecione as opes Ambiente > Schedule > ScheduleSelecione: Processos Especiais.

  • 5/21/2018 Workflow_P10.pdf

    31/53

    31Todos os direitos reservados. Workflow

    Pressione o boto Incluir

    Janela de cadastro de jobs

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    32/53

    32 Todos os direitos reservados.Workflow

    Scheduler Processos Especiais

    Agrupamento Campos Descrio

    Cdigo C digo nico identificador do job.

    Nome Nome simplificado.Identificao

    Descrio Descrio do job.

    DiriaExecuta diariamente entre os horrios inicial e final a

    cada intervalo de tempo.

    Semanal

    Executa nos dias selecionados da semana (domingo,

    segunda, tera, quarta, quinta, sexta e sbado), entre

    os horrios inicial e final a cada intervalo de tempo. Freqncia

    MensalExecuta nos meses selecionados do ano (janeiro adezembro), entre os horrios inicial e final a cada

    intervalo de tempo.

    Data Incio Data inicial que passar a vigorar a execuo.

    Perodo Inicial

    Hora Incio Horrio inicial de execuo.

    Data final Dia limite de execuo.

    Perodo Final

    Hora final Horrio limite de execuo.

    Perodo IntervaloIntervalo de tempo a cada execuo entre o horrio

    inicial e final.

    Job Ao

    Funo de us urio ou funo interna do Protheus a

    ser executado. Os parmetros passados para esta

    funo devero ser sempre tratados como um array.

    Environment Ambiente Ambiente em que o job ser executado.

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    33/53

    33Todos os direitos reservados. Workflow

    Agendar recebimento de mensagens do Workflow

    Para que o Workflow possa receber as mensagens e executar os retornos de processos, necessriocadastrar no Scheduler a funo WFReturn(Cdigo_Empresa, Cdigo_Filial).

    A funo WFReturn responsvel por:

    baixar (download) todas as mensagens contidas na caixa postal de mensagens do correio eletrnico doWorkow e gravar na pasta Inbox (veja acima estrutura de diretrios para melhor esclarecimento);

    separar as mensagens reconhecidas (retornos de aprovao etc.) pelo Workow e mover para a pastaProcess;

    separar as mensagens no reconhecidas (spam etc.) pelo Workow e mover para a pasta Archive.Em seguida, notificar lista de e-mails de administradores informados no cadastro de parmetros doWorkflow;

    executar cada um dos retornos de processos.

    Exemplo:

    WFReturn( 99, 01 )

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    34/53

    34 Todos os direitos reservados.Workflow

    AGENDAR ENVIO DE MENSAGENS DO WORKFLOW

    Apesar de ter a opo Enviar Automaticamente disponvel no cadastro de parmetros do Workflow, importante saber que nem sempre possvel enviar as mensagens em um determinado momento.Podero ocorrer alguns problemas que podem acarretar fila de espera e, com isso, crescer o nmerode processos parados. Entre os problemas mais comuns est a perda da comunicao com o servidor dee-mail.

    Para evitar tais problemas, interessante agendar a funo WFSendMail (Cdigo_Empresa, Cdigo_Filial) da mesma forma que a funo WFReturn. Assim, haver a garantia de que a qualquer momento asmensagens que, eventualmente, tenham cado na la de espera sero enviadas.

    A funo WFSendMail responsvel por:

    enviar cada uma das mensagens contidas na pasta Outbox (caixa de sada);

    mover para a pasta Sent (itens enviados) as mensagens que foram enviadas com sucesso;

    mover para a pasta Outbox\Error as mensagens que tiveram problemas durante o envio. Caso queirareenvi-las, basta mov-las para a pasta Outbox (caixa de sada).

    Exemplo:

    WFSendMail( 99, 01 )Requisitos para desenvolvimento

    Para construir um processo de Workflow que automatize de forma correta, so necessrios quatrorequisitos fundamentais:

    conhecer o sistema de ERP como um todo, inclusive tecnicamente. Isso corresponde a conhecertodos os recursos de congurao e programao do Protheus, bem como suas tabelas e respectivosrelacionamentos;

    saber programar em linguagem ADVPL, nvel avanado, com conhecimento em objetos e classes;

    conhecimento em linguagem HTML, para construo de pginas, alm de saber programar em JavaScript, para refinamento e validao das pginas;

    software e hardware necessrios.

  • 5/21/2018 Workflow_P10.pdf

    35/53

    35Todos os direitos reservados. Workflow

    HTML MODELO WORKFLOWO Workow faz uso de formulrios html para realizar interaes entre o(s) participante(s) e o sistema ERP.Alm de inform-los, possvel responder determinadas requisies atravs do recurso Post messageoferecido pelos navegadores internet. Os formulrios desenhados e utilizados para interagir com osparticipantes, so denominados modelos (templates) e devero estar disponveis em algum diretrioabaixo do rootpath do Protheus. Ao ser utilizado algum desses modelos nos processos de Workow,apenas a cpia do modelo ser modicado. necessrio bons conhecimentos de programao HTML eJava Script para a construo de pginas no Workflow.

    Post message

    O recurso Post message, nas pginas html a partir dos navegadores internet, permite que as respostassejam enviadas ao Workow via correio eletrnico (e-mail) ou servio http. Para que isso seja possvel necessrio incluir o tag nos formulrios html.

    Aprovao de Pedido de Compra ...

  • 5/21/2018 Workflow_P10.pdf

    36/53

    36 Todos os direitos reservados.Workflow

    Macro substituio

    Esta rotina consiste na substituio de todas as palavras encontradas nos formulrios html que estiverementre % ou !. Essa palavra-chave ter seu contedo modicado por outra informao durante a execuodo processo.

    Observe um formulrio modelo de aprovao de pedido de compras com suas respectivas palavras-chaves (macros):

    %macro% -Toda palavra encontrada entre este sinal (%), alm da substituio do contedo por outrainformao, tambm haver a necessidade de incluir no formulrio (cpia do modelo) as linhas de tags para cada palavra-chave (macro) encontrada.

    Exemplo:

    importante saber que o uso desse smbolo necessrio somente para campos editveis que esperammodificaes de seus contedos e que sero tratados no retorno das mensagens. Use este smbolo nos

    controles do tipo TextField, TextArea, Radio Button, Combo Box e Check Box.

  • 5/21/2018 Workflow_P10.pdf

    37/53

    37Todos os direitos reservados. Workflow

    TextField:

    TextArea:

    %observacao%

    Radio Button:

    Sim.
    No.

    Combo Box:

    %itens%

    Check Box:

    Item 1

    !macro! Toda palavra encontrada entre este sinal (!) ter somente seu contedo substitudo. No serincludo no html para essas palavras-chaves. Utilize-o em texto xo.Exemplo: ttulos, mensagens, cabealhos e rodaps.

    Tabelas

    As tabelas so identicadas pelo Workow atravs do nome que precede o ponto (.) nas palavras-chaves.Contudo, essas palavras-chaves devem realmente pertencer a uma tabela (tag ...) doformulrio html.

    Veja em itens do html da aprovao do pedido de compras que h algumas palavras-chaves com o nomeprecedido da palavra produto.. Neste caso, o Workflow ir referir-se a essa tabela pelo nome de produto(sem o ponto). Poder conter vrias tabelas em um html que o Workow saber identicar atravs donome.

  • 5/21/2018 Workflow_P10.pdf

    38/53

    38 Todos os direitos reservados.Workflow

    Exerccios

    Crie um html modelo, chamado ATUAPV.HTM, no diretrio \WORKFLOW (abaixo do rootpath)

    que ser utilizado no e-mail para que o destinatrio altere o valor do preo de venda do produtoe envie a resposta atravs do boto Enviar.

    Cdigo fonte:

    Atualizao preco de venda

    Atualizao do Preo de Venda

    Cdigo:Descrio:Preo de venda R$:

    !B1_COD!!B1_DESC!

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    39/53

    39Todos os direitos reservados. Workflow

    Tela Pronta:

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    40/53

    40 Todos os direitos reservados.Workflow

    CRIANDO UM PROCESSO EM ADVPL - FUNESNo existem processos de Workow nativos dentro do Protheus, sendo necessria a construo de acordocom a necessidade.

    Um processo de Workflow poder ser iniciado a partir de uma destas opes:

    pontos de entrada; item de menu de qualquer ambiente; job agendado atravs do Scheduler; manualmente atravs do remote.

    A opo mais utilizada o ponto de entrada. Se for realizado um pedido de compras, por exemplo,automaticamente gerada uma aprovao para os itens do pedido e enviado para um aprovador.Qualquer ponto de entrada do sistema pode ser utilizado.

    Para ser iniciado o processo em qualquer das opes escolhidas, ser necessrio fazer uso do cdigofonte Advpl para determinar a forma como ir proceder a execuo do fluxo do processo.

    Na maior parte, o Workflow baseia-se, no uso de classes referenciadas aos objetos, que se tornam a pontede acesso para uso de seus mtodos e propriedades. A principal classe do Workflow a TWFProcess, oque veremos a seguir ( necessrio conhecimento de programao orientada a objetos).

    Classe TWFProcess

    A classe TWFProcess responsvel pela criao e gerenciamento do processo. Como toda classe, aTWFProcess dividida em mtodos e propriedades. Veremos alguns dos principais mtodos e propriedadesque iremos usar para criao de um processo.

    Mtodos

    :New(,,)O mtodo New() responsvel pela criao e inicializao da classe WFProcess.

    Parmetros:

    1. cCodProc: este parmetro recebe o cdigo do processo usado em Cadastro de Processos.

    2. cDescr: este parmetro recebe a descrio do processo que est sendo criado no momento. Se nofor informado, ser usada a descrio contida no cadastro de processo, localizada atravs do parmetroanterior cCodProc.

    3. cProcID: este parmetro recebe o ID do processo criado anteriormente. Normalmente, utilizado parareconstruir um processo anterior, dando seqncia a ele.

  • 5/21/2018 Workflow_P10.pdf

    41/53

    41Todos os direitos reservados. Workflow

    Exemplo:

    oP := TWFProcess():New("PEDCOM","Aprovacao do Pedido de Compras")

    :NewTask(,,)Este mtodo responsvel por criar a seqncia de tarefas a serem executadas e identicar qual html

    ser utilizado pelo processo.

    Parmetros:

    1. cDescr: este parmetro recebe a descrio da tarefa.

    2. cArqHtml: recebe o caminho e o nome do arquivo html que far uso no processo.

    3. Copiar: este parmetro, do tipo lgico, responsvel por copiar todos os campos utilizados em umatarefa anterior, ou seja, para a tarefa que est sendo criada no momento.

    Exemplo:

    oP:NewTask("Criando Aprovacao", "\Workow\WFW120p.htm" )

    :AttachFile()

    Este mtodo responsvel pela incluso de arquivos anexos mensagem. Esses arquivos devero estarabaixo do root path do Protheus.

    Parmetros:

    cArquivo: caminho e nome do arquivo a ser anexo mensagem.

    Exemplo:

    oP:AttachFile(\Workow\teste.txt):Start() -> cProcessKey

    Este mtodo responsvel por construir todo o processo, gravar os registros nas tabelas do Workflowe enviar a mensagem para os destinatrios. O valor de retorno uma chave composta pela codicaoProcessID + TaskID e nmeros aleatrios, no total de 17 algarismos em hexadecimal.

    Parmetros:

    1. cHtmlCopiarPara: Caminho em que o Workow dever realizar uma cpia do html nal.

    Exemplo:

    cID := oP:Start(\Workow\copia)if le( \Workow\copia\ + cID) conout(Arquivo copiado com sucesso.)endif

    :Finish()

  • 5/21/2018 Workflow_P10.pdf

    42/53

    42 Todos os direitos reservados.Workflow

    Este mtodo responsvel por finalizar o processo. Aps a finalizao, ele no estar mais disponvel paraexecues do tipo retorno e timeout.

    Exemplo:

    oP:Finish()

    :Track(,,)Este mtodo responsvel por incluir as descries dos passos seguidos pelo fluxo do processo eapresent-los na consulta da rastreabilidade.

    Parmetros:

    1. cCodStatus: cdigo do status do processo.

    2. cDescr: descrio do passo ocorrido.

    3. cUsuario: nome do usurio a que se destinou a tarefa.

    Exemplo:

    oP:Track(100200, Enviando o pedido para aprovacao, AprovadorA)

    Propriedades

    :cTo, :cCC e :cBCC

    Estas propriedades definem o endereo dos destinatrios. Poder ser informado mais que um destinatrioao mesmo tempo. Basta incluir um ponto-e-vrgula ; entre eles. Se for informada uma palavra qualquerque no seja um endereo de e-mail vlido, o Workflow ir considerar que se trata de um diretrio em queo html gerado dever ser gravado. Pode-se mesclar os tipos.

    Exemplo:

    oP:cTo := [email protected];[email protected]:cCC := [email protected];AlunooP:cBCC := [email protected]

    :cSubject

    Esta propriedade define o assunto da mensagem.

    Exemplo:

    oP:cSubject := Aprovado do pedido de compras no. 1028

    :cBody

    Esta propriedade armazenar um texto que permanecer no corpo da mensagem. Caso seja utilizado, ohtml ir como anexo da mensagem.

  • 5/21/2018 Workflow_P10.pdf

    43/53

    43Todos os direitos reservados. Workflow

    Exemplo:

    oP:cBody := Testando...:bReturn

    Esta propriedade contm o nome da funo que ser executada no momento em que o Workflow recebera mensagem de resposta de um dos destinatrios via e-mail ou servio http.

    Exemplo:

    oP:bReturn := U_Retorno

    :bTimeOut

    Esta propriedade recebe um array de timeouts contendo nomes das funes e tempo de espera. Casoo tempo seja alcanado, sero executadas as funes mencionadas no 1 item do array. Podero ser

    especificados mais do que um array de timeouts.

    { { , , , }, { ... } }

    Exemplo:

    oP:bTimeOut := { { TimeOut1, 0, 5, 30 } }ouoP:bTimeOut := { { TimeOut1, 0, 5, 30 }, { TimeOut2, 1, 10, 0 } }

    :fProcessID

    Esta propriedade fornece o nmero ID do processo.

    Exemplo:

    cProcID := oP:fProcessID

    :fTaskID

    Esta propriedade fornece o nmero ID da tarefa criada para um determinado processo, atravs do mtodo

    :NewTask().

    Exemplo:

    oP:NewTask( "100100", "\Workow\WFW120p.htm" )cTaskID := oP:fTaskID

    :oHTML

    Esta propriedade responsvel pelo tratamento das palavras-chaves no html mencionado no mtodo:NewTask(). Esse objeto uma referncia da classe TWFHtml() e disponibiliza dois dos mtodos maisimportantes :RetByName() e ValByName().

    :oHTML:RetByName( )

  • 5/21/2018 Workflow_P10.pdf

    44/53

    44 Todos os direitos reservados.Workflow

    Esta propriedade tem como objetivo obter o contedo da macro quando as respostas retornarem parao Workflow. O mtodo somente dever ser usado na funo de retorno.

    Exemplo:

    cNome := oP:oHtml:RetByName( Nome )

    Em uma tabela:

    aCodigo := oP:oHtml:RetByName( produto.Codigo )

    :oHTML:ValByName(,)

    Este mtodo tem como objetivo atribuir ou obter um valor a uma macro existente no html. Dever serusado somente no momento em que estiver assinalando valores ao html ou na funo de timeouts, emque o uso necessrio por motivo de no haver recebido resposta.

    Parmetros:

    cMacro: nome da macro (palavra-chave) encontrada no html e identicada entre os smbolos % e !.uConteudo: valor a ser atribudo macro.

    Exemplo:

    Assinalando um valor:

    oP:oHtml:ValByName( Nome, Aluno1 )

    Usando na funo de timeout:

    cNome := oP:oHtml:ValByName( Nome )

    Atribuindo um valor a uma tabela:

    AAdd( oP:oHtml:ValByName( produto.codigo ), SB1->SB1_COD )

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    45/53

    45Todos os direitos reservados. Workflow

    Exerccios

    Criar processo de Workflow a partir do ponto de entrada

    No TotvsDevStudio, geraremos um arquivo de programa chamado ATUAPV.PRW onde sercriada a funo representativa do ponto de entrada MT010INC, em que descreveremos o fluxodo processo com o uso das classes e funes do Workflow. Essa funo (ponto de entrada) serexecutada a partir do momento em que for pressionado o boto OK, na confirmao da inclusodos dados do produto na tabela SB1.

    ATUAPV.PRW

    #INCLUDE PROTHEUS.CH

    /*// MT010INC - Corresponde ao ponto de entrada do sistema que somente// ser executado na incluso de novos produtos.*/User Function MT010INC(nOpcao,oProcess)

    // Inicialmente, os parmetros nOpcao e oProcess estaro com valores iguais a NIL.// se nOpcao for NIL, ter o seu valor inicial igual a 0 (zero).default nOpcao := 0do case

    case nOpcao == 0 U_APVInicio()case nOpcao == 1 U_APVRetorno(oProcess)case nOpcao == 2 U_APVTimeOut(oProcess)endcaseReturn

    /*// APVInicio - Esta funo responsvel por iniciar a criao do processo e por// enviar a mensagem para o destinatrio.*/User Function APVInicio(oProcess)Local nDias := 0, nHoras := 0, nMinutos := 10Local cCodProcesso, cCodStatus, cHtmlModeloLocal cUsuarioProtheus, cCodProduto, cTexto, cAssunto

    cCodProduto := SB1->B1_COD

    // Cdigo extrado do cadastro de processos.cCodProcesso := "ATUAPV"

  • 5/21/2018 Workflow_P10.pdf

    46/53

    46 Todos os direitos reservados.Workflow

    // Arquivo html template utilizado para montagem da aprovaocHtmlModelo := "\Workow\atuapv.htm"

    // Assunto da mensagemcAssunto := "Atualizao do preo de venda"

    // Registre o nome do usurio corrente que est criando o processo:cUsuarioProtheus:= SubStr(cUsuario,7,15)

    // Inicialize a classe TWFProcess e assinale a varivel objeto oProcess:oProcess := TWFProcess():New(cCodProcesso, cAssunto)

    // Crie uma tarefa.oProcess:NewTask(cTitulo, cHtmlModelo)

    // Crie um texto que identifique as etapas do processo que foi realizado// para futuras consultas na janela de rastreabilidade.cTexto := "Iniciando a solicitao de " + cAssunto + " do produto: " + cCodProduto

    // Informe o cdigo de status correspondente a essa etapa.cCodStatus := "100100" // Cdigo do cadastro de status de processo.

    // Repasse as informaes para o mtodo responsvel pela rastreabilidade.oProcess:Track(cCodStatus, cTexto, cUsuarioProtheus) // Rastreabilidade

    // Adicione informaces a serem includas na rastreabilidade.

    cTexto := "Gerando solicitao para envio..."cCodStatus := "100200"oProcess:Track(cCodStatus, cTexto, cUsuarioProtheus)

    // Assinale novos valores s macros existentes no html:oProcess:oHtml:ValByName("B1_COD", cCodProduto)oProcess:oHtml:ValByName("B1_DESC", SB1->B1_DESC)oProcess:oHtml:ValByName("B1_PRV1", SB1->B1_PRV1)

    // Repasse o texto do assunto criado para a propriedade especfica do processo.

    oProcess:cSubject := cAssunto

    // Informe o endereo eletrnico do destinatrio.oProcess:cTo := "[email protected]"

    // Utilize a funcao WFCodUser para obter o cdigo do usurio Protheus.oProcess:UserSiga := WFCodUser("BI")

    // Antes de assinalar o ID do processo no campo, verificado se realmente o// campo existe na tabela SB1.If SB1->(FieldPos("B1_WFID")) > 0

    If RecLock("SB1",.f.)

  • 5/21/2018 Workflow_P10.pdf

    47/53

    47Todos os direitos reservados. Workflow

    SB1->B1_WFID := oProcess:fProcessID MsUnLock()EndIfEndIf

    // Informe o nome da funo de retorno a ser executada quando a mensagem de// respostas retornar ao Workflow:oProcess:bReturn := "U_MT010INC(1)"

    // Informe o nome da funo do tipo timeout que ser executada se houver um timeout// ocorrido para esse processo. Neste exemplo, ela ser executada cinco minutos aps o envio// do e-mail para o destinatrio. Caso queira-se aumentar ou diminuir o tempo, altere// os valores das variveis: nDias, nHoras e nMinutos.oProcess:bTimeOut := {"U_MT010INC(2)", nDias, nHoras, nMinutos}

    // Adicione as informaces a serem includas na rastreabilidadecTexto := "Enviando solicitao..."cCodStatus := "100300"oProcess:Track(cCodStatus, cTexto , cUsuarioProtheus)

    // Aps ter repassado todas as informaces necessrias para o Workflow,// execute o mtodo Start() para gerar todo o processo e enviar a mensagem// ao destinatrio.oProcess:Start()

    // Adicione as informaces a serem includas na rastreabilidade

    cTexto := "Aguarde retorno..."cCodStatus := "100400"oProcess:Track(cCodStatus, cTexto , cUsuarioProtheus) // RastreabilidadeReturn

    /*// APVRetorno - Esta funo executada no retorno da mensagem enviada// pelo destinatrio. O Workflow recria o processo em que// parou anteriormente na funo APVInicio e repassa a// varivel objeto oProcess por parmetro.*/User Function APVRetorno(oProcess)Local nPrecoVendaLocal cCodProduto, cCodStatus, cTexto

    // Obtenha o cdigo do produto a partir do htmlcCodProduto := oProcess:oHtml:RetByName("B1_COD")

    // Obtenha o novo preo de venda informado pelo destinatrio:nPrecoVenda := Val(oProcess:oHtml:RetByName("B1_PRV1"))

    dbSelectArea("SB1")SB1->(dbSetOrder(1))

  • 5/21/2018 Workflow_P10.pdf

    48/53

    48 Todos os direitos reservados.Workflow

    // Localize o produto cadastrado na tabela SB1If SB1->(dbSeek(xFilial("SB1") + cCodProduto))// Adicione as informaces a serem includas na rastreabilidade.cTexto := "Atualizando o preo de venda..."cCodStatus := "100500"

    // Atravs do atributo :cRetFrom da classe twfprocess, possvel obter o endereo// eletrnico de quem respondeu a mensagem. Obtenha-o para adicion-lo rastreabilidade.oProcess:Track(cCodStatus, cTexto, oProcess:cRetFrom)

    // Atualize o preo de venda:If RecLock( "SB1", .f. ) SB1->B1_PRV1 := nPrecoVenda MsUnLock()EndIfElse

    // Adicione as informaces a serem includas na rastreabilidade.cTexto := "No foi possvel encontrar o produto: " + cCodProdutocCodStatus := "100900"oProcess:Track(cCodStatus, cTexto, oProcess:cRetFrom)EndIf

    // Adicione as informaces a serem includas na rastreabilidade.cTexto := "Finalizando o processo..."cCodStatus := "100800" // Cdigo do cadastro de status de processooProcess:Track(cCodStatus, cTexto, oProcess:cRetFrom) // Rastreabilidade

    Return

    /*// APTimeOut - Esta funo ser executada a partir do Scheduler no tempo// estipulado pela propriedade :bTimeout da classe TWFProcess.// Caso o processo tenha sido respondido em tempo hbil, essa// execuo ser descartada automaticamente.*/User Function APTimeOut(oProcess)Local nDias := 0, nHoras := 0, nMinutos := 10Local cCodStatus, cHtmlModelo

    Local cCodProduto, cTexto, cTitulo

    cHtmlModelo := "\Workow\atuapv.htm"cTitulo := "Atualizao do preo de venda"

    // Adicione as informaces a serem includas na rastreabilidade.cTexto := "Executando TIMEOUT..."cCodStatus := "100600"// A funo APTimeOut executada, automaticamente, pelo sistema.// Devido no haver usurio associado execuo, ser omitido o parmetro// correspondente.oProcess:Track(cCodStatus, cTexto) // Rastreabilidade

  • 5/21/2018 Workflow_P10.pdf

    49/53

    49Todos os direitos reservados. Workflow

    // Na execuo da funo de timeout, no se caracteriza retorno de mensagem.// Neste caso, deve usar o mtodo :ValByName() no lugar do mtodo :RetByName()// para obter os valores contidos no html.cCodProduto := oProcess:oHtml:ValByName("B1_COD")

    // Finalize a tarefa anterior para no ficar pendente.oProcess:Finish()

    dbSelectArea("SB1")SB1->(dbSetOrder(1))

    // Localize o produto na tabela SB1:If SB1->(dbSeek(xFilial("SB1") + cCodProduto))

    // Crie uma nova tarefa, aproveitando o contedo do html preenchido anteriormente

    // com o uso do terceiro parmetro com o valor lgico igual a .T. (verdadeiro)oProcess:NewTask(cTitulo, cHtmlModelo, .T.)

    // Antes de assinalar o ID do processo no campo, verifique se realmente o campo// existe na tabela SB1:If SB1->(FieldPos("B1_WFID")) > 0If RecLock("SB1",.f.)SB1->B1_WFID := oProcess:fProcessIDMsUnLock()EndIfEndIf

    // Acrescente a palavra "(REENVIO)" no incio do assunto da mensagem para// reforar que houve um timeout executado.If (Left(oProcess:cSubject,9) != "(REENVIO)")oProcess:cSubject := "(REENVIO)" + oProcess:cSubjectEndIf

    oProcess:cTo := "[email protected]"

    // Utilize a funo WFCodUser para obter o cdigo do usurio Protheus.oProcess:UserSiga := WFCodUser("BI")

    // Redefina a funo de retorno a ser executada.oProcess:bReturn := "U_MT010INC(1)"

    // Redefina a funo de timeout a ser executada.oProcess:bTimeOut := {"U_MT010INC(2)", nDias, nHoras, nMinutos}

    // Adicione as informes a serem includas na rastreabilidadecTexto := "Reenviando a solicitao..."cCodStatus := "100700"

    oProcess:Track(cCodStatus, cTexto)

  • 5/21/2018 Workflow_P10.pdf

    50/53

    50 Todos os direitos reservados.Workflow

    // Inicie o processooProcess:Start()Else// Adicione as informaces a serem includas na rastreabilidade.cTexto := "No foi possvel encontrar o produto: " + cCodProduto

    cCodStatus := "100900" // Cdigo do cadastro de status de processooProcess:Track(cCodStatus, cTexto) // RastreabilidadeEndIf

    Return

    Exerccio 2

    Compilar e executar o ambiente COMPRAS.

    Aps compilar o programa ATUAPV.PRW, execute o ambiente de compras, selecione a opo demenu Atualizaes | Cadastros | Produtos e inclua um novo produto. Ao confirmar a gravaopressionando o boto Ok, ser enviado um e-mail ao destinatrio contendo, no corpo o html, osdados do produto e o campo do valor do preo de venda a ser alterado.

    Ao receber o e-mail no cliente de e-mail, coloque o valor no campo Preo de Venda R$ e cliqueem Enviar.

    Garanta que o Scheduler esteja ativo e a funo de recebimento de mensagens do Workow estejaagendada (faa o agendamento de 1 em 1 minuto para que a resposta seja quase prontamenteprocessada). Passados alguns segundos, consulte o cadastro do produto recm-includo e veja

    que o preo de venda foi atualizado com o valor informado no e-mail.

    Exerccio 3

    Consultas (Rastreabilidade de processo)

    A qualquer momento, podero ser realizadas consultas na janela de rastreabilidade para saber emque situao est um determinado processo. A partir da opo de menu Miscelnea | Workflow| Rastreabilidade no prprio ambiente de compras (ou qualquer outro), possvel realizar taisconsultas.

    No campo Pesq Padro:, selecione a pesquisa padro WFSB1 e, no campo Processo:, pressioneF3 para realizar a pesquisa da tabela SB1 (produtos). Ao selecionar o produto, voc ter algumasinformaes inerentes ao processo gerado para o produto escolhido. Observe que todos os textosque inclumos atravs do mtodo oprocess:track(...) sero vistos nesta janela.

    Exerccio 4

    Consultas (Processo por usurios)

    A qualquer momento, o usurio do sistema poder realizar consultas sobre pendncias geradas

    pelo Workflow, simplesmente selecionando a opo de menu Miscelnea | Workflow | ProcessosUsuarios disponvel nos ambientes.

  • 5/21/2018 Workflow_P10.pdf

    51/53

    51Todos os direitos reservados. Workflow

    Se o usurio atual for administrador, ele poder ver as pendncias geradas para qualquer outrousurio cadastrado no sistema. Caso contrrio, somente visualizar as pendncias relacionadas a eleprprio.

    Anotaes

  • 5/21/2018 Workflow_P10.pdf

    52/53

    52 Todos os direitos reservados.Workflow

    Autenticao SMTP: validao de usurio e senha no servidor de e-mail para envio demensagens.

    Browser internet:programa que permite navegar nas pginas disponveis na internet. O InternetExplorer um exemplo de browser.

    Caixa de correio: nome dado a um diretrio em que sero armazenadas todas as mensagensrecebidas, a enviar, enviadas etc. Em agrupamento de pastas nomeadas inbox, outbox, sent etc.pertencentes a uma determinada conta de e-mail.

    Cliente de e-mail: sofware de controle de e-mails pelo usurio final. Exemplos: OutLook Express eOutLook XP.

    Conta de e-mail: endereo de e-mail existente em um servidor de e-mail.

    Cookies:arquivos gravados na estao do usurio, pelos diversos sites, para leitura de informaesdaquela estao.

    Html (Hyper Text Mark-up Language): um arquivo no formato texto que contm diversos tiposde comando que controlam a apresentao visual no browser internet.

    Java Script: linguagem contida nos HTMLs, permitindo validaes e aes diversas.

    Messenger do Protheus: recurso disponvel no Protheus que serve para avisar aos usurios dealgum processo ou mensagem de Workflow que esteja disponvel no aguardo de uma ao a sertomada.

    Processo: conjunto de tarefas a serem executadas, baseadas em uma regra de negcio quedetermina um ou mais caminhos a serem seguidos denominados uxo.

    Protocolo POP3 ou IMAP: recurso disponvel pelos servidores de e-mails para permitir o acesso caixa de correio (leitura).Protocolo SMTP: recurso disponvel pelos servidores de e-mails para o envio de mensagensatravs de uma conta de e-mail.

    Rastreabilidade: recurso necessrio para localizar e identificar as propriedades (status, descrio,data, participante etc.) de um determinado processo de Workflow.

    Retorno:conjunto de respostas obtidas por e-mail ou pela postagem de um html via browserinternet, atravs do servio http que sero usados para realizar atualizaes na base de dados doProtheus.

    Servio http:servio utilizado pelos servidores internet que disponibiliza aos usurios o acesso internet.

    G

    lossrio

  • 5/21/2018 Workflow_P10.pdf

    53/53

    53Todos os direitos reservados. Workflow

    Servidor de e-mail:software de controle de envios e recebimento de e-mails. Exemplos: Exchangee Domino.

    Timeout: tempo fora do prazo limite (tempo excedido). Procedimento a ser executado aps otempo limite esperado por uma ao a ser tomada por um participante na trajetria de um fluxo

    de processo.

    Workflow: automao do fluxo de processo.

    Nmero de registro:

    P10200907


Recommended