Pular para o conteúdo principal

Workflow... o que é isto?

Olá pessoal,

Já nasceu nosso primeiro GO LIVE, e agora rumo ao segundo, vim correndo publicar aqui no blog, sobre workflow, esse processo que muitas vezes já me deixou na dúvida, rs*

Boa leitura!!!

Um fluxo workflow é um conjunto de regras de negócios com a capacidade de mapear e rotear processos e informações de toda a empresa.
Considere como exemplos:
- a geração de uma nota fiscal a partir de um evento de venda
- a aprovação de documentos para qualquer tipo de decisão
- a estruturação de um código contábil a partir de uma transação

O módulo Oracle Workflow pode ser usado tanto em uma instalação Stand Alone ou incorporada ao ERP.
Podemos subdividí-lo em partes conforme o quadro abaixo:




Analisando o quadro da direita para a esquerda, na subdivisão “Cliente de Desenvolvimento do Workflow”, temos:

1. Workflow Builder: ferramenta onde são desenhados e compilados os fluxos.
2. Arquivos de Definição Workflow: arquivos que contêm a especificação dos fluxos desenhados na ferramenta acima.
3. Workflow Definitions Loader: script para leitura do arquivo de especificação descrito acima e gravação das informações na base de dados.

Na subdivisão “Servidor Oracle” temos:

1. Workflow Engine: É ele quem controla a execução de cada atividade do fluxo.
2. Notification System: É quem controla as notificações de um fluxo Workflow.
3. Serviços de Diretório: Conjunto de tabelas utilizadas pelo Notification System para controle das notificações.

No subdivisão “Servidor de Aplicativos” temos:

1. Servidor HTTP Oracle: Servidor de aplicativos (ERP) que interage com a base e consequentemente com toda a estrutura WF.
2. Notification Mailer: É quem faz a interface entre o aplicativo de E-mail e o Notification System, para envio/recepção de notificações via e-mail.


E por último, na subdivisão “Cliente do Usuário Final” temos:

1. Workflow Monitor: Ferramenta WEB disponível na versão 11i para visualização de notificações (WEB Notifications List) e de processos (WEB Process List).
2. Aplicativos de E-mail: Outlook, Lotus Notes, etc..

Um fluxo Workflow é composto de atividades que podem ser classificadas da seguinte forma:

Todo processo (subfluxo) é composto de apenas uma função de Start e uma ou mais funções End, conforme desenho abaixo:

Uma função é uma representação gráfica de um programa (procedure ou function) PLSQL.
As funçôes Start, End entre outras são programas prontos pertencentes a biblioteca (ou conjunto de fluxos) Standard, e código fonte dos mesmos estão na package WF_STANDARD.

Uma função pode ainda ter resultados que desviam o fluxo.
Como exemplo considere o subfluxo abaixo:

E todo o processo pode ter resultados. Considere como exemplo uma alternativa do desenho acima:

Os resultados de uma função, notificação ou processo devem obedecer a um domínio que chamamos de Lookup Type. A cada opção do domínio chamamos de Lookup Code.
Como exemplo considere:


No nosso processo de exemplo, a função “Doc. Aprovado?” resulta no Lookup Type T_SIM_NÃO e o processo como um todo resulta no Lookup Type T_STATUS_COMPRA.
Quando uma atividade resultar em um Lookup Type, todos os Lookup Codes deste devem ser mapeados, ou como alternativa, a opção DEFAULT deve ser mapeada.



Os Lookup Codes PAPELARIA, VESTIARIO e COMESTIVEIS estão mapeados através da opção DEFAULT.
Existe ainda a opção ANY que obriga o fluxo a executar as atividades por ela conectadas ainda que todos os Lookup Codes estejam mapeados.

Um processo pode ainda ter “rendevous“ através das funções “And” e “Or”, conforme abaixo:


A função “Efetuar Compra” só será executada quando as funções “Gerente Analisou Pedido” e “Depto Planej. Foi Informado” resultarem SIM, se encontrando na função “And”.



A função “Efetuar Compra” será executada assim que uma das funções “Loja A foi Contactada?” ou “Loja B foi Contactada?” resultar SIM.

Uma notificação é um tipo de atividade de um processo e, assim como as funções, podem ser simplesmente informativas ou podem requerer resultados:


No desenho acima a notificação “Solicita Aprovação Gerente” resulta no Item Type T_SIM_NÃO.
Já as notificações “Informa Pedido Aprovado” e “Informa Pedido Rejeitado” são apenas informativas.
Uma notificação pode ainda ter um tempo máximo de execução/resposta, o qual chamamos de “Time Out”. Neste caso o resultado “Time Out” também deve ser mapeado.

Uma função pode ter, além de resultados, parâmetros de entrada.
Estes parâmetros devem ser mapeados em variáveis que, no Workflow, chamamos de Atributos.
Os atributos são lidos e atualizados em diversos pontos do fluxo.

No próximo post, vou publicar como os componentes acima ficam listados no Workflow Builder.

Postagens mais visitadas deste blog

Configurando o Oracle com Dataload

Para que Serve o Dataload? Dataload é um programa que copia linhas de uma origem que pode ser uma planilha do excel, para outras planilhas ou formulários. Como ele faz este processo? Ele usa comandos que, quando inseridos em certas posições entre as celulas ou linhas fazem com que as mesmas sejam copiadas na ordem desejada para o arquivo de destino. Tenho que utilizar sempre uma planilha para carregar o Dataload? Não, os dados podem ser inseridos e formatados na propria planilha do Dataload, mas por segurança é indicada a elaboração do processo em uma planilha independente para posterior utilização, sem o risco de perda dos dados pelo Dataload.

Impostos e Mensagens Legais

Olá pessoal! Analisando algumas coisas, procurando umas documentações antigas, encontrei meu setup de mensagem legal, que elaborei para um key-user replicar. Ainda não tinha configurado mensagem legal, quando o fiz, e é sempre bom, um procedimentozinho arquivado para futuras gerações, não é? Momento nostalgia Mensagens legais são mensagens fiscais sobre NFFs que explicam o motivo pelo qual uma taxa de imposto inferior é aplicada a uma linha de NFF para várias exceções. Por exemplo, se um cliente for isento de um determinado imposto que normalmente é aplicado à transação, a autoridade fiscal brasileira exigirá que seja impressa uma nota para a NFF para explicar o motivo da exceção. Da mesma forma, um item que pertence a uma classificação fiscal pode ser cobrado a uma taxa inferior, e essa transação também requer de uma explicação impressa. Você aplica códigos de exceção da mensagem legal às linhas de NFF para descrever a exceção. É possível criar quantas mensagens legais quiser para c...

Siglas da Oracle

Olá pessoal!!! Resolvi publicar algumas siglas da Oracle, que aliás são muuuuuuitas e acabam nos deixando perdidos! Muito bom quando precisamos, rs* hoje estava quase louca procurando algo sobre Ativo Fixo, daí achei a sigla OFA -> Oracle Fixed Assets, ufa.... 9i 9iAS - Oracle9i Application Server 9iDB - Oracle9i Database 9iDS - Oracle9i Developer Suite A A&B - Architecture & Blueprint ABC - Activity Based Costing ABM - Activity Based Management ADI - Application Desktop Integrater ADS - Application Demonstration Services ADS - Application Data Store AIM - Application Implementation Method AIM FF - Application Implementation Method FastForward AOL - Applications Object Library AP - Accounts Payable APAC - Asia Pacific API - Applicatioin Program Interface Apps - Applications APS - Advanced Planning System AQ - Advanced Queuing AR - Accounts Receivables ARU - Automated Release Updates ASCP - Advanced Supply Chain Planning ASIAPA...