Você está na página 1de 48

SAP Business Workflow

Curso WorkFlow - Vagner Gomes

Pg. 1

ndice
Introduo SAP Business Workplace Configuraes bsicas Business objects Estrutura organizacional Workflow e Tarefas Containers Programao de objetos Ampliao / Delegao de objetos Roles: Regras para definio de responsveis Monitoramento de prazos Monitoramento de workflow (log) Ferramentas teis para trabalhar com WorkFlow Dicas e prticas facilitadoras na interao WorkFlow / ABAP 02 05 06 08 13 17 25 28 31 34 37 38 42 46

Curso WorkFlow - Vagner Gomes

Pg. 2

Introduo
SAP Business Workflow uma ferramenta utilizada para integrar as funcionalidades e complementar o entendimento dos processos do sistema R/3. Isso concebido atravs da juno de processos com os usurios envolvidos em conjunto com as informaes referentes ao processo. A utilizao do workflow facilita o gerenciamento de processos eletrnicos, pois, abrange um srie de atividades que geralmente ocorrem de forma idntica, envolvendo vrias pessoas ou departamentos, onde necessrio um alto grau de coordenao. Os usurios so beneficiados com o acesso mais simples e rpido das informaes, menos esforo com atividades administrativas e tambm devido facilidade com aprendizado e entendimento dos processos. Do ponto de vista gerencial, existe um ganho no controle das informaes, prazos, nveis de servios e custos do processo, devido ao controle que a ferramenta possibilita, monitorando processos que anteriormente necessitavam de um controle fora do sistema R/3. O workflow pode ser utilizado para auxiliar no andamento de processos, devido a possibilidade de combinar atividades de diferentes aplicaes dentro de um mesmo processo, onde todas as informaes necessrias so encaminhadas diretamente para o usurio final facilitando a execuo de suas tarefas. A seguir sero apresentados os principais elementos utilizados no desenvolvimento e na manuteno de processos de workflow: Business Objects (Objeto): Cada processo dentro do R/3, possui um elemento central que por sua vez, tem suas caractersticas. Dentro do workflow, estes elementos so representados atravs de objetos, onde os objetos podem representar um material, um pedido de compra, uma fatura ou outros elementos chave dentro de um processo. Tarefas: Geralmente os processos so compostos de vrias atividades a serem executadas em uma determinada ordem. Estas atividades so interpretadas como tarefas dentro de um processo de workflow. Estas tarefas podem ser utilizadas para acessar uma transao, executar um programa em background, obter informaes a serem utilizadas durante o processo e outras funcionalidades. Mtodos: Este um dos elementos dos que compe os objetos, cada objeto possui seus prprios mtodos. O mtodo composto de um cdigo ABAP que acionado atravs das tarefas dos workflow. Todas as tarefas necessitam de um mtodo para que seja identificado o cdigo de programa ABAP a ser executado, ou seja, o mtodo identifica a ao a ser tomada em uma determinada tarefa, como por exemplo, a liberao de um pedido de compra.

Curso WorkFlow - Vagner Gomes

Pg. 3

Atributos: Este mais um dos elementos que compe os objetos e como os mtodos, cada objeto possui seus atributos. Os atributos so caractersticas dos objetos, que podem ser acessadas pelo workflow em tempo de execuo para obter, por exemplo, a unidade de medida de um material ou os centros de custo de um pedido. Estrutura Organizacional: Para que as tarefas sejam encaminhadas para os usurios, necessrio identificar os possveis agentes para a tarefa. Estes possveis agentes podem ser separados por organizao, centro, departamento de acordo com a necessidade do processo. Esta separao efetuada atravs da utilizao de estruturas organizacionais, onde podemos separar os grupos de usurios, e assim utilizar estes grupos em conjunto com as tarefas. Containers: Desde o incio at o termino do processamento de um workflow, as informaes utilizadas pelas tarefas do workflow ficam armazenadas em reas de memria denominadas containers. Estas reas so necessrias para que seja possvel efetuar troca de informaes entre as tarefas e tambm para armazenar o resultado de processamentos efetuados em background.

Curso WorkFlow - Vagner Gomes

Pg. 4

SAP Business Workplace


O SAP Business Workplace a ferramenta de comunicao utilizada dentro do sistema R/3 para enviar e visualizar mensagens ou executar tarefas de workflow. Esta ferramenta pode ser acessada atravs da transao SBWP e possui caractersticas muito parecidas com programas de correio eletrnico conforme pode se observar na figura abaixo:

A Caixa de Entrada onde se encontram todos os documentos e tarefas de workflow. Existem sub-pastas que permitem dividir os itens entre documentos (mensagens no executveis) e workflow (mensagens executveis). Dentro da pasta de workflow existem outras pastas que so utilizadas para separar as mensagens de workflow, onde podem ser facilmente identificadas as mensagens agrupadas por tarefa, mensagens que esto com sua execuo atrasada e demais pastas. Para visualizar uma mensagem, basta seleciona-la e suas informaes aparecero no quadro direito inferior. Para os documentos recebidos, estes podem ser eliminados da caixa de entrada, onde aps selecionar o documento, basta clicar no boto de lixeira. Para as mensagens de workflow, estas somente sero eliminadas da caixa de entrada aps a sua execuo. Estas mensagens podem ser executadas atravs de um duplo clique, ou selecionado a mensagem desejada pressionando o boto executar.

Curso WorkFlow - Vagner Gomes

Pg. 5

Configuraes Bsicas
Para que o workflow possa ser utilizado corretamente, necessrio executar o customizing do workflow para que sejam configuradas as interfaces de comunicao e algumas caractersticas referentes novos workflows criados e jobs utilizados. Este customizing efetuado atravs da transao SWU3 e deve ser feito para todos os clients que necessitarem da utilizao do workflow. Segue abaixo a tela da transao de customizing do workflow:

Curso WorkFlow - Vagner Gomes

Pg. 6

Curso WorkFlow - Vagner Gomes

Pg. 7

Quando a transao acessada pela primeira vez, muito provavelmente todos os itens referentes ao Sistema Tempo Execuo Workflow e Ambiente Desenvolvimento Workflow no estaro customizados. Para agilizar o processo, pode ser utilizado o boto Customizing Automtico, assim 80% da customizao necessria efetuada automaticamente, restando apenas alguns itens a serem customizados. Caso ocorram problemas com o customizing automtico ser exibido um log com as mensagens de erro encontradas durante a customizao.

Para verificar se o workflow j pode ser utilizado, executar um primeiro teste, atravs do boto Testar Destino RFC. Ao executar este teste, dever aparecer a seguinte mensagem:

Curso WorkFlow - Vagner Gomes

Pg. 8

Caso seja apresentada a mensagem acima, poder ser efetuado outro teste atravs do boto Executar Workflow Verificao, onde ser encaminhada uma mensagem para a caixa de entrada do seu SAP Business Workplace. Aps a clicar no boto, aparecer uma tela informando que est disponvel na caixa de entrada uma tarefa de deciso do usurio e algumas informaes sobre o resultado do teste e como proceder para finaliza-lo. Basta clicar no smbolo para que seja acessada a sua caixa de entrada no SAP Business Workplace. Se os testes efetuados no apresentarem problemas, o ambiente j estar pronto para executar workflows e encaminhar suas tarefas para os responsveis envolvidos no processo. Caso contrrio, verifique as mensagens do customizing automtico e verifique quais itens no tiveram sucesso, tentando assim configurar separadamente os itens que apresentaram problemas.

Curso WorkFlow - Vagner Gomes

Pg. 9

Business Objects (Objetos)


O principal elemento dentro de um workflow o Business object (objetos), pois, atravs dele podemos obter informaes sobre o principal elemento tratado dentro de um processo. Objetos so compostos de informaes que podem ser acessadas atravs de uma chave nica que identifica sua instncia. As caractersticas dos objetos so preenchidas em tempo de execuo a partir do momento que elas recebem a instncia a ser tratada, ou seja, informada a identificao do objeto para que as informaes possam ser acessadas. Os objetos so visualizados e editados atravs da transao SWO1, conforme tela abaixo:

Os objetos podem ser pesquisados (F4) de acordo com sua descrio ou tambm de acordo com a aplicao, pressionando o boto Aplicaes SAP, onde poder ser selecionado o mdulo desejado e assim localizar o objeto desejado conforme a figura a seguir.

Curso WorkFlow - Vagner Gomes

Pg. 10

Encontrado o objeto desejado, basta exibi-lo para que possam ser visualizados os seus elementos. Dentro de cada objeto encontramos os seguintes elementos: Interfaces, Campos-Chave, Atributos, Mtodos e Eventos, conforme figura abaixo.

Curso WorkFlow - Vagner Gomes

Pg. 11

Observando a figura anterior, podemos identificar que o campo chave do objeto exibido o nmero do material e abaixo encontram-se seus atributos. Com um clique duplo sobre o campo chave ou atributo, podemos exibir a sua definio (figuras abaixo), e com isso pode-se observar que feita uma referencia ao dicionrio de dados para identificar a origem das informaes. O mesmo ocorre com os atributos, pois eles esto relacionados com o campo chave e tambm so associados ao dicionrio de dados.

Os mtodos contm as funcionalidades necessrias para executar as tarefas do workflow durante o processo. Selecionando um dos mtodos e clicando no boto ser exibido o cdigo ABAP que ser executado ao utilizar o mtodo em uma tarefa. Todo objeto possui um programa onde esto definidos seus mtodos. Os mtodos so declarados atravs dos comandos BEGIN_METHOD e END_METHOD, sendo assim, comum quando estamos visualizando ou editando um mtodo que sejam encontradas as declaraes de outros mtodos. Os eventos so declaraes de avisos que o sistema envia de acordo com alteraes no status do objeto, ou seja, um evento pode avisar que um material foi modificado ou que um pedido de compra foi liberado. Os eventos so utilizados como gatilhos para acionar o workflow e com isso executar uma seqncia de tarefas sempre que um evento ocorrer no sistema. Eventos podem ser utilizados tambm para encerrar um workflow, pois uma determinada ao no sistema pode significar o cancelamento de um processo, como por exemplo, a eliminao de um pedido de compras que est em processo de aprovao atravs do workflow. No caso do objeto exibido no exemplo anterior, podemos observar o evento Created que disparado pelo sistema sempre que um material criado.

Curso WorkFlow - Vagner Gomes

Pg. 12

Para detectar os eventos ocorridos no sistema e saber qual evento dever ser utilizado para acionar um workflow, existem transaes que permitem rastrear os eventos ocorridos ao executar uma determinada transao. Antes de tentar detectar o evento, deve ser identificada a transao onde deseja-se iniciar o workflow e ento inicia-se o rastreamento. Segue abaixo o procedimento para verificar eventos no sistema R/3. 1- Atravs da transao SWELS ativa-se o rastreamento de eventos. 2- Entrar na transao MM01 (por exemplo) e executa-la at o fim, da mesma forma que o usurio faria trabalhando normalmente no sistema. 3- Aps finalizada a transao MM01 (por exemplo) deve ser desativado o rastreamento de eventos atravs da transao SWELS. 4- Para verificar os eventos ocorridos no sistema utilizar a transao SWEL. Se algum evento ocorreu durante a execuo da transao MM01 (por exemplo) ser exibida uma lista conforme tela abaixo:

Na tela acima pode-se observar que durante a criao do material foram disparados dois eventos, ViewCreated e Created. Juntamente com o evento, podemos observar tambm o objeto BUS1001006 que dever ser utilizado na definio do workflow.

Curso WorkFlow - Vagner Gomes

Pg. 13

Os objetos podem ser testados para que sejam verificados seus mtodos e atributos, assim evitando erros posteriores no momento de sua utilizao em conjunto com o workflow. Para testar um objeto, necessrio informar o seu cdigo e clicar no boto Testar. Ser exibida uma tela com alguns mtodos e atributos que podem estar disponveis mesmo que o objeto no esteja instanciado, mas para efetuarmos testes mais completos, preciso informar a instncia do objeto clicando no boto Instncia e informando os dados para o campo chave do objeto. Assim que informada uma instncia vlida para o objeto, seus atributos so preenchidos e os mtodos passam a estar disponveis para execuo, conforme exibido na tela abaixo.

Para testar os mtodos existentes em um objeto, necessrio entrar no cdigo ABAP e colocar um break-point no incio do mtodo para possam ser passadas informaes que so fornecidas pelo workflow e ento em modo de debug, o mtodo poder ser depurado e assim identificar possveis erros.

Curso WorkFlow - Vagner Gomes

Pg. 14

Estrutura Organizacional
Estruturas organizacionais so utilizadas para auxiliar no gerenciamento de cargos e responsabilidades atribudas todos usurios da empresa ou para um grupo de usurios de uma determinada rea da empresa. Em conjunto com o workflow, as estruturas organizacionais so fundamentais para a distribuio de tarefas de acordo com cargos atribudos aos usurios, onde pode ser utilizada uma estrutura organizacional j definida pelo departamento de RH ou utilizam-se estruturas criadas especificamente para atender aos processos do workflow. Estruturas organizacionais so divididas em: Unidades Organizacionais e Sub-Unidades Organizacionais Unidades Organizacionais so utilizadas no nvel mais alto dentro de uma estrutura organizacional. Geralmente atribuda a uma unidade organizacional algo que identifique o nvel mais alto, seja a empresa ou o nome do processo que utilizar a estrutura. Subunidades so utilizadas para definir departamentos dentro das unidades organizacionais, ou seja, uma sub diviso para grandes estruturas organizacionais.

Posies Posies so utilizadas para criar divises dentro das unidades organizacionais, e s posies so associados os usurios respectivamente de acordo com suas responsabilidades. Por exemplo, dentro da unidade organizacional de vendas, podemos criar vrias posies, para cada regional de vendas, e a cada posio associar os usurios. Cargos Cargos so utilizados como uma caracterstica atribuda s posies, ou seja, conforme citado no exemplo de posies, podemos ter uma posio para a regional de vendas de SP, uma posio para a regional de vendas de SC e uma posio para a regional de vendas do PR. Apesar de serem posies distintas, onde cada uma tem seus usurios responsveis atribudos, podemos atribuir a todas elas o cargo Vendedores. Havendo a necessidade de encaminhar alguma mensagem para uma regional especfica, devemos informar no workflow para qual posio deve ser encaminhada a mensagem. Com isso o workflow ir encaminhar a mensagem para a caixa de entrada de todos os usurios que estiverem associados posio indicada. Se for preciso encaminhar uma mensagem para todas as regionais de vendas, devemos indicar no workflow o cargo Vendedores como destinatrio da mensagem, ou seja, a mensagem ser encaminhada para todas as posies que tiverem como atributo o cargo Vendedores e com isso a mensagem ser encaminhada para todos os usurios associados s posies selecionadas de acordo com o seu cargo.

Usurios Usurios so utilizados para definir as pessoas que integram o quadro de responsveis atribudos s posies da estrutura organizacional. Um usurio pode ser atribudo a uma ou mais posies dentro da estrutura organizacional.

Curso WorkFlow - Vagner Gomes

Pg. 15

Na figura abaixo, podemos observar o exemplo de uma estrutura organizacional e a utilizao dos elementos citados anteriormente. Observe que existe uma unidade organizacional principal que representa a empresa e foram criadas duas sub-unidades organizacionais que representam o departamento de vendas e o departamento de compras. Dentro de cada subunidade, foram criadas posies para que sejam identificadas as divises de cada departamento, como pode ser observado na sub-unidade organizacional de vendas onde existe uma posio para cada regional de vendas. No caso das posies de vendas foi atribudo a elas o cargo de Vendedores e para cada uma das posies est associado um usurio.

Para criar estruturas organizacionais utiliza-se a transao PPOCE. Depois que a estrutura foi criada, possvel modifica-la atravs da transao PPOME. Ao acessar a transao para criar estruturas organizacionais, a primeira coisa que deve ser feita informar os dados bsicos para criao da unidade organizacional, ou seja, informar uma abreviao e sua descrio.

Curso WorkFlow - Vagner Gomes

Pg. 16

Para criar sub-unidades organizacionais ou posies, clicar com o boto direito sobre a unidade organizacional e selecionar a opo Criar. Ento selecione a opo Unidade Organizacional ou Posio (ver figura abaixo) e informe os dados bsicos da sub-unidade organizacional ou posio a ser criada.

Para a criao da posio devem ser informados seus dados bsicos, ou seja, abreviao e descrio (ver figura abaixo). O cargo no obrigatrio e pode ser atribudo no momento da criao da posio, ou posteriormente em uma modificao. O mesmo aplica-se para o atributo Chefe da prpria unidade organizacional , pois isto indicar se a posio reservada para coordenadores, supervisores da unidade organizacional. A utilizao deste atributo possibilita a identificao rpida dos principais usurios dentro de uma unidades organizacional atravs de regras utilizadas pelos workflow para definio de responsveis. Para um melhor entendimento veja o captulo que aborda as regras para definio de responsveis.

Para criar cargos, deve ser acessado o menu Processar -> Criar Cargos. Ser exibida uma tela para informar a abreviao e descrio do cargo (ver figura abaixo). Os cargos devem ser criados antes das posies para que no momento da criao da posio j seja associado o cargo, mas tambm pode ser criado depois e ento modificar a posio para associar o cargo criado.

Curso WorkFlow - Vagner Gomes

Pg. 17

Para inserir usurios nas posies criadas, clicar com o boto direito sobre a posio desejada, e selecionar a opo Atribuir. Ser exibida uma tela (figura abaixo) para selecionar o tipo de atribuio, onde dever ser selecionado Titular do tipo Usurio.

Ao selecionar a atribuo de um Titular do tipo Usurio, ser exibida uma tela para pesquisa de usurios do R/3 onde podero ser selecionados um ou mais usurios para a posio. Para eliminar qualquer atribuilo, clicar sobre o elemento desejado, clicar com o boto direito do mouse e selecionar as opes Eliminar -> Atribuio. Dependendo do objeto selecionado, possvel desfazer a atribuio eliminando o elemento selecionado, atravs das opes Eliminar -> Objeto.

Curso WorkFlow - Vagner Gomes

Pg. 18

Workflow e Tarefas
Tarefas so o ponto principal na definio de um workflow, pois atravs delas que as informaes so acessadas e disponibilizadas para o usurio, possibilitando sua interao com o processo. atravs das tarefas que definimos o que ser feito, quando e quem executar uma determinada ao dentro dos processos de workflow. O que deve ser executado pela tarefa definido atravs da associao de mtodos existentes nos objetos. Quem executar as tarefas determinado atravs da associao de agentes possveis para sua execuo. Quando ser feito determinado com a associao de eventos dos objetos com a definio do workflow, pois um evento significa uma alterao de status de um determinado objeto e esta alterao de status do objeto pode ser definida como uma condio de inicio para o workflow. A figura abaixo ilustra as associaes necessrias para o funcionamento das tarefas e do workflow. Definio do Workflow
Quando ? Inicio Estrutura Organizacional Unidade Organizacional Cargo Mtodo O que ? Tarefa 1 Posio User ID Tarefa 2 Quem ? Regra

Objeto Eventos

Fim

No workflow existem dois tipos de tarefas, as tarefas single-step (nico passo) e as tarefas multi-step (workflow) compostas por vrias tarefas single-step. A definio de um workflow considerada como uma tarefa porque na definio de um workflow possvel efetuar a chamada de outro workflow como uma tarefa a ser executada durante o processo. As tarefas single-step so classificadas como tarefa standard (TS) e o workflow classificado como modelo de workflow (WS). A definio do workflow composta por vrios passos, onde estes passos podem conter uma tarefa a ser executada ou simplesmente ser um passo de deciso ou outros tipos de passos que no necessitam de uma tarefa a ser executada, como por exemplo um passo de condio (IF). Para associar uma tarefa a um passo do workflow, existem dois tipos de tarefas que podem ser utilizadas: tarefas de dialogo ou tarefas background. Tarefas de dialogo so tarefas que devem ser executadas por um usurio, ou seja, enviada uma tarefa para o usurio onde necessrio o acionamento manual para sua execuo. Tarefas background so tarefas que no necessitam do acionamento de um usurio, ou seja, so executadas em background e ao final de sua execuo podem ou no retornar dados para o workflow.

Curso WorkFlow - Vagner Gomes

Pg. 19

Para criao ou alterao de um modelo de workflow ou de uma tarefa deve ser acessada a transao PFTC. Para workflow seleciona-se o tipo de tarefa Modelo Workflow e para tarefas utiliza-se Tarefa Standard. Para tarefas e para modelos de workflow j existem vrios exemplos de aplicacoes standard para os vrios mdulos do sistema R/3, porque dependendo da necessidade pode ser utilizado um workflow standard ou se o standard no atender a necessidade por completo, podemos utilizar um workflow standard (copia) como base de definio de um novo workflow. Para consultar os fluxos standard podemos utilizar a pesquisa pelo nome do processo ou atravs da pesquisa pela estrutura de aplicaes, conforme figura abaixo.

Desta forma possvel verificar modelos de workflow e tarefas pr-definidas de acordo com a aplicao. Para os desenvolvimentos de workflow costuma-se verificar o processo junto ao usurio, identificando as transaes utilizadas, eventos acionadores e possveis eventos terminadores para depois pesquisar os modelos de workflow standard e encontrar um que possa atender as necessidades do processo. Caso no seja encontrado nenhum modelo de workflow standard que atenda as necessidades do processo, possvel tambm criar um novo workflow. O elemento principal para iniciar o desenvolvimento de um novo workflow o objeto e seu evento acionador. Uma vez identificado o objeto (ver em Business Objects) devemos utilizar este objeto do inicio at o fim da definio do workflow, onde este objeto e seus elementos devero ser utilizados em todos os passos do workflow.

Curso WorkFlow - Vagner Gomes

Pg. 20

Na definio de um modelo de workflow, existem algumas informaes obrigatrias que devem ser informadas antes de iniciar o editor grfico. necessrio preencher os campos de abreviao e denominao (ver figura abaixo) na pasta de Dados Bsicos. Existe tambm a pasta de Descrio onde pode ser inserido um texto mais detalhado sobre o workflow, descrevendo os principais pontos abordados no processo.

Na pasta de eventos acionadores, devemos informar qual ser o evento que dar inicio ao workflow (ver figura abaixo) de acordo com o objeto utilizado, onde podem ser definidos um ou mais eventos para o acionamento do workflow.

Curso WorkFlow - Vagner Gomes

Pg. 21

Para visualizar a definio grfica do workflow, basta acionar o workflow builder que a ferramenta utilizada para visualizar e editar a definio dos passos utilizados durante o processo de workflow. Ao clicar no boto Worklfow Builder ser exibido o desenho grfico do processo (figura abaixo). direita so exibidos todos os passos existentes no grfico do workflow na parte superior e os elementos do container do workflow na parte inferior. Ao centro aparece o grfico do workflow com os passos organizados e ligados logicamente de acordo com o processo e neste local onde realmente editamos o workflow. esquerda possvel observar uma viso macro de todo o fluxo. Com o editor grfico do workflow possvel copiar, recortar, colar e tambm criar novos passos dentro do fluxo. Em certos casos possvel criar tarefas a partir da criao de um passo do tipo Atividade, onde obrigatrio informar uma tarefa. Como em um programa ABAP possvel efetuar uma verificao da consistncia dos dados e o workflow tambm deve ser ativado antes de sua utilizao.

No grfico so exibidos os eventos acionadores como passos iniciais do workflow e tambm a execuo do workflow como inicio do processo. Isto ocorre porque em certos casos no so encontrados eventos disparados automaticamente pelo sistema e desta forma podemos executar diretamente o workflow sem a utilizao de eventos, utilizando a funo SWW_WI_START_SIMPLE em user exits. Nestes casos tambm podem ser utilizados eventos, mas da mesma forma necessrio utilizar a funo SWE_EVENT_CREATE em user exits, disparando o evento definido no workflow como evento acionador.

Curso WorkFlow - Vagner Gomes

Pg. 22

Na definio dos passos do workflow podem ser inseridos vrios tipos de passos, onde possvel utilizar atributos do objeto em passos condies (IF) ou em passos repetio (loop). Segue abaixo uma relao com os principais tipos de passos utilizados na definio de um workflow. Atividade Este tipo de passo utilizado para efetuar processamentos atravs da chamada de mtodos do objeto utilizado pelo workflow. Este o nico tipo de passo do workflow onde obrigatrio informar uma tarefa, pois atravs da tarefa que ser executado o mtodo onde est associado o cdigo ABAP utilizado para extrair informaes ou efetuar a chamada a transaes que devem ser executadas pelo usurio. Este tipo de passo funciona como um IF e utiliza elementos do container do workflow para montar a condio lgica que determinar o prximo passo a ser executado. Este tipo de passo funciona como um CASE e utiliza elementos do container do workflow para montar as condies lgicas que determinaro o prximo passo a ser executado.

Condio

Condio Mltipla

Gerador de Evento Este tipo de passo utilizado para gerar eventos a partir de um workflow, ou seja, possvel startar outro workflow atravs da chamada de um evento. Espera por Evento Este tipo de passo utilizado para aguardar eventos do sistema. Geralmente utilizado em conjunto com um passo de Seo Paralela para aguardar por eventos de encerramento. Operao de Container Este tipo de passo utilizado para manipular o contedo de elementos do container do workflow. Com este tipo de passo possvel encaminhar uma tarefa com condies para o usurio decidir o que dever ser feito dentro do processo. De acordo com a resposta do usurio, possvel determinar caminhos diferentes a serem percorridos dentro do workflow. Estes tipos de passos so utilizados para criar laos de repetio dentro do workflow, onde so utilizados elementos do container para criar as condies de repetio, e dentro do lao de repetio so inseridos os passos a serem executados.

Deciso do Usurio

Loop (until)

Loop (while)

Seo Paralela Este tipo de passo utilizado para criar sees de processamento em paralelo, onde informado o nmero de sees em paralelo e em cada uma das sees criadas possvel inserir passos a serem executados simultaneamente. Enviar Correio Eletrnico Com este tipo de passo possvel encaminhar mensagens para o SAP Business Workplace ou para um endereo de e-mail da Internet.

Curso WorkFlow - Vagner Gomes

Pg. 23

Para visualizar as caractersticas de qualquer passo do grfico do workflow, basta clicar duas vezes sobre o passo desejado e ento suas informaes sero exibidas. No exemplo abaixo, esto sendo exibidas as caractersticas de um passo do tipo Atividade onde na pasta de Controle podemos observar que existe uma tarefa (TS00008319) associada ao passo do workflow que ter a funo de Processar a Nota de QM. Para cada tipo de passo necessrio informar a sua denominao e sempre que possvel, preencher tambm a denominao de sada para que fique mais fcil a visualizao e entendimento do desenho do workflow.

Pode-se observar que o responsvel pelo processamento atribudo atravs de uma funo. Esta funo conhecida como regra (role), pois atravs dos parmetros passados para a funo, sero determinados os usurios responsveis pela tarefa a ser executada. Para definir os responsveis pelo processamentos de uma tarefa, podemos utilizar uma unidade organizacional, posio, cargo ou em ltimo caso informar diretamente o login do usurio. No conveniente utilizar a associao direta com um usurio como responsvel pela tarefa, pois havendo a necessidade de alterar o responsvel, ser necessrio modificar a definio do workflow. A melhor forma utilizar os elementos de uma estrutura organizacional como por exemplo indicar uma posio. Quando atribuda uma posio no campo de responsvel pelo processamento, todos os usurios que pertencem posio so determinados como possveis agentes para executar a tarefa e recebero a tarefa em sua caixa de entrada. O mesmo ocorre quando utilizamos uma unidade organizacional onde todos os usurios atribudos s posies associadas unidade organizacional indicada sero possveis agentes responsveis pela execuo da tarefa. Ao utilizar um cargo, todas as posies que tem como caracterstica o cargo indicado tero seus usurios selecionados como possveis agentes responsveis pela execuo da tarefa.

Curso WorkFlow - Vagner Gomes

Pg. 24

Para criar uma tarefa existem algumas informaes obrigatrias que devemos preencher, tais como abreviao, denominao e mtodo utilizado pela tarefa (ver figura abaixo). Existe tambm o campo Texto de Work Item que o texto referente ao ttulo da mensagem exibida para o usurio no SAP Business Workplace.

Na pasta Descrio inserido o texto descritivo da tarefa, exibido no corpo da mensagem no SAP Business Workplace. Tanto no titulo quanto no corpo da mensagem possvel inserir variveis que sero substituidas em tempo de execuo de acordo com os atributos do objeto ou de acordo com elementos do container da tarefa. Um exemplo de variveis utilizadas pode ser o cdigo e a descrio do material, pois para cada mensagem pode ser atribuido um material diferente. A utilizao destas variveis so importantes para que a tarefa fique mais objetiva e fcil de entender, pois desta forma conseguimos passar o mximo de informaes sobre o processo, com isso facilitando a tomada de decises no momento da execuo das tarefas do workfllow. Na definio de um modelo de workflow tambm exite o campo Texto de Work Item, onde tambm possvel utilizar variveis que sero substituidas em tempo de execuo. Na definio do workflow importante utilizar variveis no texto de work item para que fique mais fcil a identificao do processo quando houver a necessidade de verificar os logs de workflow, pois um mesmo workflow pode ser executado inmeras vezes durante o dia e se no houver algo que possa diferenciar cada processo executado fica muito dificil localizar itens especficos que possam ter apresentado problemas durante sua execuo.

Curso WorkFlow - Vagner Gomes

Pg. 25

Para que as tarefas de dilogo sejam encaminhadas para seus respectivos responsveis, existem duas formas de fazer a associao dos possveis agentes. Ao editar a tarefa, acessar as opes do menu Dados Adicionais -> Atribuio de Responsveis -> Atualizar. Neste momento ser exibida uma tela (fig. abaixo) para as atribuies dos possveis agentes responsveis pela execuo da tarefa.

Para fazer associaes diretas com a tarefa, devem ser utilizados os botes utilizados para a criao e eliminao de atribuies de responsveis pelo processamento. A partir daqui possvel informar um dos elementos utilizados nas estruturas organizacionais para definir os responsveis pela tarefa. Para utilizar a associao de elementos de estruturas organizacionais nas caractersticas da tarefa dentro da definio do workflow, necessrio modificar a caracterstica da tarefa, clicando no boto e selecionando a opo de Tarefa Geral, conforme tela abaixo. A partir deste momento, as associaes de responsveis pelo processamento da tarefa podem ser efetuadas dentro da definio do workflow.

Curso WorkFlow - Vagner Gomes

Pg. 26

Containers
Containers so reas de memria utilizadas para troca de informaes durante o processamento de um workflow. Estas reas de memria so formadas por elementos definidos de acordo com referncias feitas campos do dicionrio de dados ou objetos. Esta troca de informaes necessria para a execuo das tarefas e outros passos definidos no workflow. Existem cinco tipos de containers que podem ser utilizados, so eles: Container de Workflow o principal container utilizado em um processo de workflow, pois as informaes permanecem armazenadas nele do incio ao fim do processo, podendo assim distribuir informaes para todos os passos contidos na definio do workflow. Container de Tarefa utilizado para efetuar a troca de informaes com o container do workflow e o container do mtodo. Atravs do container de tarefa possvel receber e enviar informaes para o container do workflow, pois atravs dele que as informaes so enviadas para o mtodo e aps o processamento do mtodo o resultado do processamento pode ser retornado para o container do workflow. Os elementos deste container so inicializados toda vez que a tarefa encerrada, desta forma a rea de memria utilizada pela tarefa est sempre pronta para um novo processamento dentro do workflow. Container de Evento utilizado para enviar informaes do evento acionado para o workflow, com isso possvel enviar informaes para o workflow sobre o objeto que est sendo processado naquele instante. Container de Mtodo utilizado para trocar informaes com o container de tarefa, pois atravs dele que as informaes so recebidas e enviadas para o container da tarefa aps o processamento do cdigo ABAP contido no mtodo do objeto. Container de Role (regras) utilizado para receber informaes do container do workflow, pois atravs dele que a regra de definio de responsveis receber as informaes necessrias para definir quais agentes sero os responsveis pela execuo da tarefa.

Curso WorkFlow - Vagner Gomes

Pg. 27

Para criar elementos dentro dos containers citados anteriormente, clicar no boto Container para que sejam exibidos os elementos do container. Ao acessar os elementos do container de workflow ou tarefas, podemos observar que existem alguns elementos Standard j criados automaticamente, pois estes elementos so utilizados internamente pelo workflow e podem tambm ser utilizados por ns, dependendo da necessidade. Estes elementos standard podem ser identificados facilmente, pois todos eles contm o caracter _ no inicio do nome do elemento, como por exemplo o elemento do container do workflow _WF_Initiator criado para armazenar o user id da pessoa que estava utilizando a transao que acionou o workflow. Para criar um novo elemento dentro de um container, clicar no boto Criar e informar os dados do elemento (ver figura abaixo), ou seja, o nome do elemento, caractersticas e referncia de categoria de dados.

Alm do nome e descrio, devemos informar nas caractersticas se o elemento vai receber informaes (Importao), se o elemento vai enviar dados para outro container (Exportao), se este elemento obrigatrio e por fim se um elemento de vrias linhas (tabela). Como referncia de categoria de dados podemos definir um elemento do dicionrio de dados ou a uma categoria de objeto. Esta definio serve somente para determinar o tamanho da informao que ser armazenada no elemento do container, como por exemplo caso seja necessrio armazenar uma informao com 40 caracteres, podemos informar como referncia a tabela MAKT e o campo MAKTX. Apesar do campo ser destinado a armazenar a descrio de um material, dentro do workflow podemos armazenar qualquer coisa dentro deste elemento, e no obrigatriamente a descrio de um material, pois a tabela e o campo informado s um referencial para o tamanho e tipo de informao que ser armazenada.

Curso WorkFlow - Vagner Gomes

Pg. 28

A troca de informaes existente dentro de um workflow chamada de Binding e para cada tipo de container existem direes de binding realizadas durante o processamento (fig. Abaixo). Esta troca de informaes s permitida entre elementos que tenham a mesma referncia de categoria de dados.

Container Container Workflow Workflow

Container Container Tarefa Tarefa

Container Evento

Container Role

Container Mtodo

O binding entre o container do workflow e o container da tarefa pode ser observado clicando no boto Fluxo de Dados que est na pasta de controle das caractersticas do passo, onde ser exibida uma tela (figura abaixo) com os elementos de cada container envolvido e a direo da troca de informaes. Na parte superior exibido o fluxo de informaes do container do workflow para o container da tarefa e na parte inferior exibido o fluxo de informaes do container da tarefa para o container do workflow.

Sempre que uma atividade inserida ao workflow, gerada uma proposta de binding, ou seja, o editor do workflow verifica as informaes que a tarefa necessita e as informaes retornadas pela tarefa, e gera uma proposta com o fluxo de informaes. Esta proposta pode ser gerada tambm atravs do boto de Definio Automtica Fluxo de Dados encontrado nas caractersticas do passo.

Curso WorkFlow - Vagner Gomes

Pg. 29

Programao de Objetos
Neste tpico sero apresentados os principais comandos utilizados na programao dos mtodos utilizados pelas tarefas do workflow. Estes comandos so utilizados no cdigo ABAP juntamente com comandos j utilizados normalmente em relatrios e interfaces, onde a principal diferena que estes comandos so utilizados para acessar o contedo do container do mtodo e atributos do objeto utilizado. Para verificar o programa executado pelo mtodo, devemos acessar o objeto atravs da transao SWO1 e selecionar o mtodo desejado. Aps selecionado o item, clicar no boto Programa. Segue abaixo uma relao dos principais comandos e sua sintaxe: SWC_GET_ELEMENT CONTAINER Elemento v_Variavel. Este comando utilizado para obter informaes contidas no container do mtodo. Sempre que uma tarefa executada, as informaes que a tarefa recebeu do container do workflow, so passadas do container da tarefa para o container do mtodo. Atravs deste comando possvel acessar as informaes do container do mtodo de acordo com o nome do elemento informado. O nome do elemento do container deve ser colocado entre aspas simples e a varivel deve ser criada com o mesmo tipo do elemento do container para que no sejam perdidas informaes. SWC_SET_ELEMENT CONTAINER Elemento v_Variavel. Este comando utilizado para enviar informaes para o container do mtodo. Aps a execuo do mtodo as informaes contidas em seu container podem ser retornadas para o container da tarefa. Atravs deste comando possvel modificar o contedo de um elemento do container do mtodo de acordo com o nome do elemento informado. O nome do elemento do container deve ser colocado entre aspas simples e a varivel deve ser criada com o mesmo tipo do elemento do container para que no sejam perdidas informaes. SWC_GET_TABLE CONTAINER Elemento t_TabelaInterna. Este comando utilizado para obter informaes contidas no container do mtodo, mas com uma diferena em relao aos comandos apresentados anteriormente, utilizado somente para elementos do container que tem em suas caractersticas a armazenagem de mltiplas linhas de informao (caracterstica de vrias linhas deve estar marcada). Atravs deste comando possvel acessar as informaes do container do mtodo de acordo com o nome do elemento informado e armazena-lo em uma tabela interna. O nome do elemento do container deve ser colocado entre aspas simples e a tabela interna deve ser criada com a mesma estrutura do elemento do container para que no sejam perdidas informaes. SWC_SET_TABLE CONTAINER Elemento t_TabelaInterna. Este comando utilizado para enviar informaes para o container do mtodo, mas com uma diferena em relao aos comandos apresentados anteriormente, utilizado somente para elementos do container que tem em suas caractersticas a armazenagem de mltiplas linhas de informao (caracterstica de vrias linhas deve estar marcada). Atravs deste comando possvel modificar o contedo de um elemento do container do mtodo de acordo com o nome do elemento informado. O nome do elemento do container deve ser colocado entre aspas simples e a tabela interna deve ser criada com a mesma estrutura do elemento do container para que no sejam perdidas informaes.

Curso WorkFlow - Vagner Gomes

Pg. 30

SWC_GET_PROPERTY SELF Atributo v_variavel (ou) t_TabelaInterna. Este comando utilizado para obter informaes referentes ao objeto onde o mtodo est sendo processado, ou seja, sempre que um mtodo executado atravs de uma tarefa do workflow, significa que o objeto j possui uma instncia vlida e que seus atributos esto preenchidos com suas respectivas informaes. Um exemplo o objeto BUS1001006, que o objeto utilizado para materiais, onde sua instncia o cdigo do material (campo chave). Uma vez que este objeto est instanciado, possvel acessar seus atributos dentro do mtodo utilizado o comando acima. O nome do atributo deve estar entre aspas simples e utilizando uma varivel ou uma tabela interna para receber as informaes de acordo com o atributo desejado. Para a utilizao de uma varivel ou tabela interna, devemos crialas com a mesma referncia que o atributo do objeto foi criado para que no sejam perdidas informaes. Segue abaixo um exemplo prtico da utilizao destes comandos, onde as informaes so obtidas atravs do container do mtodo e do atributo do objeto, e ao final as informaes selecionadas so enviadas para o container do mtodo. Este exemplo poderia ser aplicado na utilizao de uma tarefa background que utiliza o objeto BUS1001006 para obter a descrio do material. BEGIN_METHOD exemplo CHANGING CONTAINER. DATA: v_texto(60) v_matnr v_maktx v_meins TYPE c, LIKE mara-matnr, LIKE matk-maktx, LIKE mara-meins. Texto para retornar ao container Cdigo do Material Descrio do Material Unidade de Medida do Material

* Obtm o cdigo do material atravs do container do mtodo SWC_GET_ELEMENT CONTAINER Material v_matnr. * Seleciona a descrio do material SELECT SINGLE maktx INTO v_maktx FROM maktx WHERE matnr EQ v_matnr AND spras EQ PT. * Obtm a unidade de medida do material atravs do atributo do objeto SWC_GET_PROPERTY SELF BaseUnitOfMeasure v_meins. * Monta o texto a ser enviado CONCATENATE Material: v_maktx comercializado em v_meins INTO v_texto SEPARATED BY SPACE. * Envia texto para o container do mtodo SWC_SET_ELEMENT CONTAINER Texto v_texto. END_METHOD.

Curso WorkFlow - Vagner Gomes

Pg. 31

Para mtodos utilizados em tarefas de dilogo, ou seja, a tarefa encaminhada para um usurio executa-la, podemos utilizar a chamada de uma transao, um relatrio, BAPI ou outro tipo de processamento que necessite da interao do usurio. Da mesma forma que os comandos foram apresentados no exemplo anterior, so utilizados tambm para obter informaes utilizadas na chamada de uma transao e podem ser utilizados para retornar o resultado do processamento efetuado. Quando utilizamos, por exemplo a chamada de uma transao em uma tarefa de dilogo, ao executar o workflow o cdigo ABAP executado em background at a chamada da transao. No momento que a transao executada, usurio responsvel pela tarefa deve executar as aes necessrias, onde ele ter controle do processamento at que a transao seja encerrada. No momento que a transao encerrada, o processamento do mtodo continua a ser efetuado em background pelo workflow e somente quando o mtodo encerrado a tarefa do workflow considerada como concluda. Um exemplo que pode ser observado para verificarmos um mtodo que utiliza a chamada de uma transao o mtodo Create do objeto BUS2078, onde executada a transao QM01.

Curso WorkFlow - Vagner Gomes

Pg. 32

Ampliao / Delegao de Objetos


Como podemos observar nos tpicos abordados anteriormente, mtodos, atributos e eventos esto diretamente relacionados com o workflow e suas tarefas. Quando estamos desenvolvendo um novo workflow ou uma nova tarefa utilizamos as caractersticas de um objeto standard, porm sempre surge a necessidade de acrescentar mais informaes ao workflow (novos atributos) ou executar uma transao que no estava prevista na definio de um objeto standard (novos mtodos). Podemos criar nossos prprios atributos, mtodos e eventos dentro de um objeto, mas no podemos fazer isso no objeto standard, pois os objetos standard funcionam como os programas e so alterados somente em caso de correes (aplicao de nota). Nestes casos devemos fazer uma cpia do objeto standard e ento criar os itens necessrios para completar a funcionalidade do objeto de acordo com a nossa necessidade. Para fazer esta cpia, utilizamos a transao SWO1 onde informamos o objeto que utilizaremos e ento criamos uma cpia clicando no boto Subinfotipo. Neste momento ser criado um novo objeto que ter exatamente as mesmas caractersticas do objeto standard informado na transao. Preencha os campos necessrios (ver fig. Abaixo) para que seja feita a criao do novo objeto.

Ao confirmar, ser criado o novo objeto onde podemos criar as novas caracteristicas necessrias para completar o desenvolvimento do workfllow e suas tarefas. Este objeto poder ser acessado atravs da transao SWO1, informando o seu nome e selecionando o modo de exibio ou modificao. Sempre que criamos um novo objeto ou uma nova caracteristica dentro do objeto aparece o smbolo ao lado do objeto ou do novo item criado. Este smbolo representa que o item em questo est com status de Modelado, o que significa que ele ainda est em desenvolvimento. Uma vez que seu desenvolvimento est finalizado, antes de utiliza-lo devemos modificar seu status para Liberado, pois somente com o status de liberado ser possvel utiliza-lo. Para modificar o status do objeto, devemos selecionar as opes do menu Processar -> Modif. Status Libera. -> Categoria do Objeto -> Implementado. Neste momento o smbolo que aparece ao lado do objeto desaparecer e ento ele estar pronto para ser liberado atravs das opes do menu Processar -> Modif. Status Libera. -> Categoria do Objeto -> Liberado. Ao liberar o objeto aparecer o smbolo indicando que o objeto est pronto para utilizao. Para criar novos elementos em um objeto, deve ser selecionado qual o tipo de elemento a ser criado, posicionando o cursor sobre Atributos, Mtodos ou Eventos e em seguida clicando no boto Criar.

Curso WorkFlow - Vagner Gomes

Pg. 33

Ao criar um novo atributo, devemos informar se o atributo ser criado com base de campos do dicionrio de dados. Caso seja confirmada a criao atravs de campos do dicionrio de dados, aparecer uma tela para informar qual a tabela ser usada como referncia e ento deve ser selecionado o campo desejado. Se no utilizar a criao do atributo atravs de campos do dicionrio de dados, ser exibida uma tela (figura abaixo) para que sejam informadas as caractersticas do atributo.

Ao criar um novo mtodo, devemos informar se o mtodo ser criado baseado em um mdulo de funo com modelo. Caso seja selecionada a criao do mtodo a partir de uma funo devem ser seguidos os passos de criao do mtodo onde sero exibidos os parmetros necessrios para chamada da funo dentro do mtodo e com isso ser gerado o cdigo do mtodo com a chamada da funo. Se o mtodo no for criado com base em um modelo de funo (recomendado) ser exibida uma tela (Fig. abaixo) para que sejam preenchidas as caractersticas do mtodo, tais como nome do mtodo, denominao e descrio breve. Neste momento definimos tambm se o mtodo ser utilizado em tarefas background ou de dilogo, marcando ou desmarcando o flag Dilogo.

Curso WorkFlow - Vagner Gomes

Pg. 34

Ao criar um novo ebento, devemos preencher uma tela (Fig. abaixo) com as caractersticas do evento, tais como nome do evento, denominao e descrio breve. Aps criado o mtodo, a nica coisa que deve ser feita a sua liberao para utilizao. Este mtodo deve ser acionado atravs do cdigo ABAP de um programa ou atravs de um workflow com a utilizao do passo do tipo Gerador de Eventos.

Para utilizao de qualquer elemento criado em um objeto necessrio modificar seu status para liberado, pois todos os elementos so criados com status de modelado. Para modificar o status de um elemento do objeto devem ser selecionadas as opes do menu Processar -> Modif. Status Libera. -> Componente da Categoria Objeto -> Implementado. Neste momento o smbolo que aparece ao lado do elemento do objeto desaparecer e ento ele estar pronto para ser liberado atravs das opes do menu Processar -> Modif. Status Libera. -> Componente da Categoria Objeto -> Liberado. Ao liberar o elemento do objeto aparecer o smbolo indicando que o objeto est pronto para utilizao. Sempre que uma modificao for efetuada em um objeto, este objeto deve ser gerado para que a sua nova verso esteja disponvel para utilizao. Esta gerao do objeto deve ser feita atravs do boto Gerar que est na barra de ferramentas da transao SWO1. Na definio de um workflow e suas tarefas devemos utilizar sempre o mesmo objeto do incio ao fim. Desta forma, devemos utilizar sempre o objeto standard, pois nele j esto incorporados todos os elementos standard e tambm possvel visualizar os elementos criados em um objeto criado atravs de um subinfotipo. A visualizao dos novos elementos criados na cpia do objeto possvel atravs da delegao feita entre o objeto standard e seu subinfotipo. Esta delegao feita atravs da primeira tela da transao SWO1 acessando as opes do menu Opes -> Delegao -> Em Todo Sistema. Ser exibida a tabela onde so cadastradas todas as delegaes entre objetos do sistema e dever ser includo um novo registro referente delegao do objeto criado, onde sero preenchidos os campos com o nome dos objetos envolvidos e o responsvel pela delegao. Veja exemplo abaixo.

Uma vez que a delegao entre os objetos foi gravada, conforme exemplo acima, todos os elementos que forem criados e estiverem com status de liberado no objeto ZBUS2078 podero ser utilizados atravs do objeto BUS2078, com isso facilitando a utilizao dos objetos e seus elementos.

Curso WorkFlow - Vagner Gomes

Pg. 35

Roles: Regras para Definio de Responsveis


Conforme mencionado nos tpicos anteriores, os responsveis pela execuo de uma tarefa podem ser obtidos atravs dos elementos de uma estrutura organizacional ou atravs de uma regra. Utilizamos regras para definir os responsveis pela execuo de uma tarefa em casos onde no possvel especificar um elemento da estrutura organizacional, pois em certos casos os aprovadores podem variar de acordo com centros de custo, montante do documento a ser aprovado ou grupo de mercadorias entre outros exemplos onde aplica-se uma regra para definio dos responsveis. A regra para definio de responsveis atribuda com as caractersticas do passo de atividade do workflow e deve ser inserida na rea de responsveis pelo processamento, selecionando o tipo de responsvel como Funo e informando a funo standard a ser utilizada (ver figura abaixo). Existem algumas funes standard prontas para utilizao, onde deve ser verificada a regra aplicada para seleo de responsveis e identificar se alguma delas atende as necessidades da tarefa.

Para as regras de definio de responsveis tambm utilizada a troca de informaes entre o container do workflow e o container da funo, da mesma forma que as informaes so enviadas para o container da tarefa. Atravs do boto Fluxo de Dados esta troca de informaes pode ser definida ou modificada para a regra utilizada pela tarefa.

Curso WorkFlow - Vagner Gomes

Pg. 36

Podemos tambm desenvolver nossas prprias regras atravs da transao PFAC (Funes Standard) onde podemos criar uma nova funo. Ao criar uma nova funo, devemos informar seus dados bsicos, tais como abreviao, denominao e descrio sobre a regra criada (figura abaixo). Na funo devem ser criados os elementos do container de acordo com as informaes necessrias para a seleo dos responsveis e tambm deve ser associado um mdulo de funo onde realmente feito o processamento para a seleo dos responsveis. Este mdulo de funo pode ser criado atravs da transao SE37 e deve ter em sua definio as tabelas AC_CONTAINER do tipo SWCONT e ACTOR_TAB do tipo SWHACTOR. A tabela AC_CONTAINER armazenar os dados referentes ao container da regra e na tabela ACTOR_TAB so inseridos os responsveis selecionados pela funo.

Este mdulo de funo contm o cdigo ABAP executado para efetuar a leitura de tabelas onde podem ser acessadas as informaes utilizadas para selecionar os responsveis pela tarefa. Dentro deste mdulo de funo utilizamos o comando abaixo para obter as informaes do container da regra e tambm podem ser utilizados os comandos ABAP normalmente utilizados em um mdulo de funo. Este comando funciona da mesma forma que o comando utilizado dentro dos mtodos para ler as informaes do container do mtodo. SWC_GET_ELEMENT AC_CONTAINER 'Elemento' v_varivel.

Curso WorkFlow - Vagner Gomes

Pg. 37

Para que os dados retornem para o workflow deve ser preenchida a tabela ACTOR_TAB, onde podem ser inseridos registros referentes uma unidade organizacional, posio ou preenche-la com uma relao de usurios. No campo OTYPE da tabela informamos o tipo de elemento que est sendo utilizado, onde podemos usar US para usurios, S para posies e O para unidades organizacionais. O campo OBJID preenchido com a identificao de acordo com o tipo de elemento utilizado, ou seja para usurios utilizamos o UserId, para posies ou unidades organizacionais devemos utilizar seu ID (OBJID) que pode ser obtido atravs da leitura da tabela HRP1000 onde esto as informaes das estruturas organizacionais. Uma vez preenchida a tabela ACTORS_TAB automaticamente seus registros so transferidos para a tarefa do workflow e ento os responsveis so atribudos tarefa de acordo com seu contedo.

Curso WorkFlow - Vagner Gomes

Pg. 38

Monitoramento de Prazos
Dentro do workflow possvel estipular e monitorar prazos para a execuo de suas tarefas. Atravs do monitoramento de prazos o sistema de workflow automaticamente pode enviar notificaes ou executar aes programadas, assim que excedido o prazo para execuo de uma tarefa. Este monitoramento de prazos configurado dentro das caractersticas do passo do tipo Atividade do workflow. Ao acessar as caractersticas da tarefa (dois cliques sobre a tarefa no grfico do workflow), selecione a pasta Prazo onde so inseridas as informaes para monitoramento (figura abaixo).

Para definir o prazo para execuo de uma tarefa podemos estipular a quantidade em minutos, horas, dias, semanas, meses e anos que devem ser contados a partir da data/hora de referncia. Para data/hora de referncia existem trs opes para defini-la: Gerao do Work Item, Gerao do Workflow ou Impresso. Ao definir que a referncia ser baseada na gerao do work item, significa que ser utilizada a data que a tarefa foi encaminhada para o responsvel. Se referncia for baseada na gerao do workflow, significa que ser utilizada a data que o workflow foi iniciado, ou seja o prazo comea a contar a partir do inicio do processo. A opo Impresso significa que a data/hora de referncia ser informada atravs de elementos do container do workflow. Para isso devemos criar elementos no workflow que sejam utilizados exclusivamente para a definio da data de referncia para o controle de prazos e antes que a tarefa seja encaminhada, necessrio definir os valores para estes elementos do container. Uma vez definida a data/hora de referncia e o tempo para execuo da tarefa, devemos definir o que ser feito, caso o prazo seja alcanado. Existem duas opes para as aes possveis em caso de vencimento do prazo. Podemos encaminhar uma notificao ou disparar outras tarefas (background ou dilogo). Para encaminhar a notificao, na pasta Exibir Texto informe qual ser o destinatrio da mensagem e o texto da mensagem. Para o destinatrio da mensagem utilizamos os mesmos elementos atribudos ao campo de responsvel pela execuo de uma tarefa, ou seja, pode ser atribudo uma unidade organizacional, posio, usurio ou uma regra. Para criar o texto, existe um link em azul que levar automaticamente para a tela onde deve ser inserido o texto exibido quando for alcanado o prazo da tarefa.

Curso WorkFlow - Vagner Gomes

Pg. 39

Sempre que encaminhada uma notificao referente ao prazo da tarefa, o usurio que est com a sua tarefa em atraso, observar que as tarefas em atraso aparecem tambm na sub pasta do workflow de Entradas em Atraso. A tarefa continua disponvel para execuo na pasta de workflow, mas selecionando a pasta de entradas em atraso o usurio consegue visualizar somente as tarefas que esto com seu prazo de execuo esgotado. Para que sejam executadas outras tarefas caso o prazo seja alcanado, devemos informar a Denominao de Sada na pasta Modelado. Uma vez informada a denominao de sada, ser criada mais uma ramificao abaixo da tarefa que indica o lugar onde o fluxo seguir caso seja esgotado o prazo da tarefa (figura abaixo). Neste caso a tarefa ser exibida tambm na sub pasta do workflow de Entradas em Atraso. Conforme a figura abaixo, podemos observar que em determinado ponto do workflow foi criada a tarefa Exibir Material onde foi criada uma sada caso o prazo de execuo da tarefa seja alcanado. Caso a tarefa seja executada dentro do prazo, o fluxo seguir normalmente atravs da sada indicada como Material Exibido. Na ramificao a direita (Prazo Alcanado) devem ser inseridos os passos a serem executados caso o prazo seja alcanado e aps a execuo destes passos o fluxo retornar para a tarefa em atraso.

Curso WorkFlow - Vagner Gomes

Pg. 40

Monitoramento de Workflow (Log)


Sempre que um workflow executado, suas informaes permanecem armazenadas em tabelas dentro do sistema de workflow. As informaes de cada processo executado no workflow identificada nestas tabelas atravs de uma chave de identificao chamada Work Item. Cada passo de um workflow recebe uma identificao (work item) gerando assim um histrico de todos os passos executados no processo. Atravs destas tabelas possvel acessar as informaes de cada workflow executado e com isso identificar possveis falhas na troca de dados entre as tarefas e o workflow ou verificar quais aes foram tomadas durante o processo e quem executou as tarefas necessrias. Para acessar essas informaes devemos utilizar a transao SWI2_FREQ, onde podemos selecionar o perodo a ser analisado, o tipo de tarefa a ser pesquisada e podemos tambm especificar qual tarefa ser selecionada (figura abaixo).

Curso WorkFlow - Vagner Gomes

Pg. 41

Aps executar a transao ser exibida uma tela com todos as tarefas executadas de acordo com os dados da tela inicial (figura abaixo). As tarefas que tem o prefixo TS so tarefas standard e as tarefas com o prefixo WS so modelos de workflow. A ltima coluna direita indica a quantidade de vezes que a tarefa foi executada. Para visualizar as execues de cada tarefa, basta clicar duas vezes sobre a linha desejada.

Selecionando uma das linhas para visualizar as ocorrncias da tarefa, possvel identificar o que foi processado cada vez que a tarefa executada. Esta identificao feita atravs do texto da tarefa (titulo work item), que definida nas caractersticas da tarefa. No exemplo abaixo, podemos verificar que entre as seis execues da tarefa, uma foi referente ao material XCAPAZ e as outras cinco referentes ao material P100. Neste momento, pode ser visualizado o responsvel pelo processamento, data de gerao e status da tarefa.

Para visualizao de um log um pouco mais detalhado, devemos selecionar uma das linhas na tabela apresentada e clicar no boto de Log do Workflow. Neste momento sero exibidas todas as tarefas executadas ou prontas para execuo relacionadas ao processo de workflow da tarefa selecionada. Na tela de log do workflow (figura abaixo) so exibidas as tarefas de acordo com sua ordem de execuo e atravs desta tela podemos acessar as informaes enviadas aos usurio, tais como textos das tarefas e caractersticas das tarefas executadas, clicando sobre as tarefas apresentadas.

Curso WorkFlow - Vagner Gomes

Pg. 42

A partir da tela de log do workflow possvel acessar informaes mais detalhadas pressionando o boto de Lista de Detalhes Tcnicos onde podemos visualizar as informaes de cada passo do workflow. Na lista de detalhes tcnicos (figura abaixo) podemos identificar o usurio que executou as tarefas, data e hora de execuo, dados do container das tarefas em cada passo entre outras informaes.

A lista de detalhes tcnicos uma lista dinmina que apresenta uma srie de links onde podemos acessar as informaes de acordo com o local onde clicamos com o mouse. Atravs do smbolo podemos acessar as informaes do container de cada tarefa. Atravs do smbolo podemos verificar os usurios responsveis pela execuo de uma tarefa que ainda no foi encerrada. Existem outras ferramentas para analisar o processamento de um workflow, entre elas esto as transaes: SWI2_DEAD Log de Work Itens com prazos excedidos SWI2_DURA Work Itens segundo durao de processamento

Curso WorkFlow - Vagner Gomes

Pg. 43

Ferramentas teis para trabalhar com WorkFlow

TRANSAES
SWLD SBWP SWU3 SWUS SWEL SWELS SWWL SW12_FREQ SWO1 PFTC SOST SCOT SWB_COND SWE2 SM50

DESCRIO
SAP BUSINESS WORKFLOW Business WorkPlace Configurao de WorkFlow (BASIS) Testar WorkFlow Rastreador de Eventos Ativar/Desativar Rastreador de Eventos Eliminar Log de Execuo de WorkFlow Log de WorkFlow Categorias de Objetos Desenvolvimento de WorkFlow SAPconeect Ordens de envio SAPconeect Administraco Condio de Inicio do WorkFlow Acoplamento de Tipos de Eventos Sntese de Processos

Curso WorkFlow - Vagner Gomes

Pg. 44

SE38 : Executar RSWUWFML2

Curso WorkFlow - Vagner Gomes

Pg. 45

TRANSAO SOST

Curso WorkFlow - Vagner Gomes

Pg. 46

TRANSAO SCOT / SE38 => RSCONN07

Curso WorkFlow - Vagner Gomes

Pg. 47

Dicas e prticas facilitadoras na interao WorkFlow / ABAP

Atravs da SWUS (Teste de WF) possvel criar pontos para debugar ativando o Debug pela SM50, desta forma facilita encrontrar o erro na pesquisa ou na alimentao de algum Container. Utilizar na criao de um WF sempre o Objeto de Negcio standard e o Objeto de Negcio criado ( Z ) delegado ao standard. Sempre quando utilizar um mtodo para buscar um aprovador, verificar se o mesmo no se encontra vazio, caso ocorra e no previsto erro, ser enviado Work Item para todos os usurios. Segue exemplo abaixo de como evitar este problema: IF t_zfapd[] IS INITIAL. N_MENS = 100. EXIT_RETURN N_MENS SPACE SPACE SPACE SPACE. ENDIF.

Segue abaixo um exemplo de como disparar um workflow, quando no possuir o Objeto de Negcios.

DATA: it_container LIKE swcont OCCURS 0 WITH HEADER LINE, lc_event LIKE swetypecou-event, lc_objkey LIKE sweinstcou-objkey, lc_creator LIKE swhactor .

lc_creator-otype = 'US'. lc_creator-objid = sy-uname. APPEND lc_creator. lc_objkey = zazcot002-zform. lc_event = 'CREATED'. CALL FUNCTION 'SWE_EVENT_CREATE' EXPORTING objtype = 'YBUS2075_F' objkey = lc_objkey event = lc_event creator = lc_creator start_recfb_synchron = 'X' TABLES event_container = it_container.

SWELS ATIVAR RASTREAMENTO APS EXECUTAR UMA TRANSAO DETERMINADA SWEL - VERIFICA O RASTREAMENTO DA TRANSAAO EXECUTADA SE37 - Z_HR_WRITE_INFOTYPE_9006 ( exemplo de chamada de WF por RFC )

Curso WorkFlow - Vagner Gomes

Pg. 48