Pular para o conteúdo
Início » SAP Workflow

SAP Workflow

SAP-Workflow

O que é SAP Workflow

SAP Workflow é uma ferramenta utilizada para integrar as funcionalidades e complementar o entendimento dos processos do sistema SAP. Isso é concebido através da junção de processos com os usuários envolvidos em conjunto com as informações referentes ao processo. A utilização do workflow facilita o gerenciamento de processos eletrônicos, pois, abrange um série de atividades que geralmente ocorrem de forma idêntica, envolvendo várias pessoas ou departamentos, onde é necessário um alto grau de coordenação.

Os usuários são beneficiados com o acesso mais simples e rápido das informações, menos esforço com atividades administrativas e também devido à facilidade com aprendizado e entendimento dos processos. Do ponto de vista gerencial, existe um ganho no controle das informações, prazos, níveis de serviços e custos do processo, devido ao controle que a ferramenta possibilita, monitorando processos que anteriormente necessitavam de um controle fora do sistema SAP.

O SAP Workflow pode ser utilizado para auxiliar no andamento de processos, devido a possibilidade de combinar atividades de diferentes aplicações dentro de um mesmo processo, onde todas as informações necessárias são encaminhadas diretamente para o usuário final facilitando a execução de suas tarefas.

A seguir serão apresentados os principais elementos utilizados no desenvolvimento e na manutenção de processos de SAP Workflow:

Business Objects (Objeto): Cada processo dentro do SAP, possui um elemento central que por sua vez, tem suas características. Dentro do workflow, estes elementos são representados através 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 são compostos de várias atividades a serem executadas em uma determinada ordem. Estas atividades são interpretadas como tarefas dentro de um processo de workflow. Estas tarefas podem ser utilizadas para acessar uma transação, executar um programa em background, obter informações a serem utilizadas durante o processo e outras funcionalidades.

Métodos: Este é um dos elementos dos que compõe os objetos, cada objeto possui seus próprios métodos. O método é composto de um código ABAP que é acionado através das tarefas dos workflow. Todas as tarefas necessitam de um método para que seja identificado o código de programa ABAP a ser executado, ou seja, o método identifica a ação a ser tomada em uma determinada tarefa, como por exemplo, a liberação de um pedido de compra.

Atributos: Este é mais um dos elementos que compõe os objetos e como os métodos, cada objeto possui seus atributos. Os atributos são características dos objetos, que podem ser acessadas pelo workflow em tempo de execução 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 usuários, é necessário identificar os possíveis agentes para a tarefa. Estes possíveis agentes podem ser separados por organização, centro, departamento de acordo com a necessidade do processo. Esta separação é efetuada através da utilização de estruturas organizacionais, onde podemos separar os grupos de usuários, e assim utilizar estes grupos em conjunto com as tarefas.

Containers: Desde o início até o termino do processamento de um workflow, as informações utilizadas pelas tarefas do workflow ficam armazenadas em áreas de memória denominadas containers. Estas áreas são necessárias para que seja possível efetuar troca de informações entre as tarefas e também para armazenar o resultado de processamentos efetuados em background.

SAP Business Workplace

O SAP Business Workplace é a ferramenta de comunicação utilizada dentro do sistema R/3 para enviar e visualizar mensagens ou executar tarefas de SAP workflow. Esta ferramenta pode ser acessada através da transação SBWP e possui características muito parecidas com programas de correio eletrônico

A “Caixa de Entrada” é onde encontram-se todos os documentos e tarefas de SAP workflow. Existem sub pastas que permitem dividir os itens entre documentos (mensagens não executáveis) e SAP workflow (mensagens executáveis). Dentro da pasta de SAP workflow existem outras pastas que são utilizadas para separar as mensagens de workflow, onde podem ser facilmente identificadas as mensagens agrupadas por tarefa, mensagens que estão com sua execução atrasada e demais pastas.

Configurações Básicas SAP Workflow

Transação SWU3

Para que o SAP workflow possa ser utilizado corretamente, é necessário executar o customizing do workflow para que sejam configuradas as interfaces de comunicação e algumas características referentes à novos SAP workflows criados e jobs utilizados. Este customizing é efetuado através da transação SWU3 e deve ser feito para todos os clients que necessitarem da utilização do workflow.

Quando a transação é acessada pela primeira vez, muito provavelmente todos os itens referentes ao “Sistema Tempo Execução SAP Workflow” e “Ambiente Desenvolvimento SAP Workflow” não estarão customizados. Para agilizar o processo, pode ser utilizado o botão “Customizing Automático”, assim 80% da customização necessária é efetuada automaticamente, restando apenas alguns itens a serem customizados. Caso ocorram problemas com o customizing automático será exibido um log com as mensagens de erro encontradas durante a customização.

Para verificar se o workflow já pode ser utilizado, executar um primeiro teste, através do botão “Testar Destino RFC”

Business Objects (Objetos)

Transação SWO1

O principal elemento dentro de um SAP workflow é o Business object (objetos), pois, através dele podemos obter informações sobre o principal elemento tratado dentro de um processo. Objetos são compostos de informações que podem ser acessadas através de uma chave única que identifica sua instância. As características dos objetos são preenchidas em tempo de execução a partir do momento que elas recebem a instância a ser tratada, ou seja, é informada a identificação do objeto para que as informações possam ser acessadas. Os objetos são visualizados e editados através da transação SWO1

Os objetos podem ser pesquisados (F4) de acordo com sua descrição ou também de acordo com a aplicação, pressionando o botão “Aplicações SAP”, onde poderá ser selecionado o módulo desejado e assim localizar o objeto desejado

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, Métodos e Eventos

Podemos identificar que o campo chave do objeto exibido é o número do material e abaixo encontram-se seus atributos. Com um clique duplo sobre o campo chave ou atributo, podemos exibir a sua definição (figuras abaixo), e com isso pode-se observar que é feita uma referencia ao dicionário de dados para identificar a origem das informações. O mesmo ocorre com os atributos, pois eles estão relacionados com o campo chave e também são associados ao dicionário de dados.

Os métodos contém as funcionalidades necessárias para executar as tarefas do SAP workflow durante o processo. Selecionando um dos métodos e clicando no botão será exibido o código ABAP que será executado ao utilizar o método em uma tarefa. Todo objeto possui um programa onde estão definidos seus métodos. Os métodos são declarados através dos comandos BEGIN_METHOD e END_METHOD, sendo assim, é comum quando estamos visualizando ou editando um método que sejam encontradas as declarações de outros métodos.

Os eventos são declarações de avisos que o sistema envia de acordo com alterações 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 são utilizados como “gatilhos” para acionar o workflow e com isso executar uma seqüência de tarefas sempre que um evento ocorrer no sistema. Eventos podem ser utilizados também para encerrar um workflow, pois uma determinada ação no sistema pode significar o cancelamento de um processo, como por exemplo, a eliminação de um pedido de compras que está em processo de aprovação através do workflow. No caso do objeto exibido no exemplo anterior, podemos observar o evento Created que é disparado pelo sistema sempre que um material é criado.

Para detectar os eventos ocorridos no sistema e saber qual evento deverá ser utilizado para acionar um workflow, existem transações que permitem rastrear os eventos ocorridos ao executar uma determinada transação. Antes de tentar detectar o evento, deve ser identificada a transação onde deseja-se iniciar o workflow e então inicia-se o rastreamento. Segue abaixo o procedimento para verificar eventos no sistema R/3.

  1. Através da transação SWELS ativa-se o rastreamento de eventos.
  2. Entrar na transação MM01 (por exemplo) e executa-la até o fim, da mesma forma que o usuário faria trabalhando normalmente no sistema.
  3. Após finalizada a transação MM01 (por exemplo) deve ser desativado o rastreamento de eventos através da transação SWELS.
  4. Para verificar os eventos ocorridos no sistema utilizar a transação SWEL. Se algum evento ocorreu durante a execução da transação MM01 (por exemplo) será exibida uma lista

Estrutura Organizacional SAP Workflow

Estruturas organizacionais SAP Workflow são utilizadas para auxiliar no gerenciamento de cargos e responsabilidades atribuídas à todos usuários da empresa ou para um grupo de usuários de uma determinada área da empresa. Em conjunto com o workflow, as estruturas organizacionais são fundamentais para a distribuição de tarefas de acordo com cargos atribuídos aos usuários, 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 são divididas em:

Unidades Organizacionais e Sub-Unidades Organizacionais

Unidades Organizacionais são utilizadas no nível mais alto dentro de uma estrutura organizacional. Geralmente é atribuída a uma unidade organizacional algo que identifique o nível mais alto, seja a empresa ou o nome do processo que utilizará a estrutura. Sub unidades são utilizadas para definir departamentos dentro das unidades organizacionais, ou seja, uma sub divisão para grandes estruturas organizacionais.

Posições

Posições são utilizadas para criar divisões dentro das unidades organizacionais, e às posições são associados os usuários respectivamente de acordo com suas responsabilidades. Por exemplo, dentro da unidade organizacional de vendas, podemos criar várias posições, para cada regional de vendas, e a cada posição associar os usuários.

Cargos

Cargos são utilizados como uma característica atribuída às posições, ou seja, conforme citado no exemplo de posições, podemos ter uma posição para a regional de vendas de SP, uma posição para a regional de vendas de SC e uma posição para a regional de vendas do PR. Apesar de serem posições distintas, onde cada uma tem seus usuários responsáveis atribuídos, podemos atribuir a todas elas o cargo Vendedores. Havendo a necessidade de encaminhar alguma mensagem para uma regional específica, devemos informar no workflow para qual posição deve ser encaminhada a mensagem. Com isso o SAP workflow irá encaminhar a mensagem para a caixa de entrada de todos os usuários que estiverem associados à posição indicada. Se for preciso encaminhar uma mensagem para todas as regionais de vendas, devemos indicar no workflow o cargo Vendedores como destinatário da mensagem, ou seja, a mensagem será encaminhada para todas as posições que tiverem como atributo o cargo Vendedores e com isso a mensagem será encaminhada para todos os usuários associados às posições selecionadas de acordo com o seu cargo.

Usuários

Usuários são utilizados para definir as pessoas que integram o quadro de responsáveis atribuídos às posições da estrutura organizacional. Um usuário pode ser atribuído a uma ou mais posições dentro da estrutura organizacional.

Workflow e Tarefas

Tarefas são o ponto principal na definição de um SAP workflow, pois é através delas que as informações são acessadas e disponibilizadas para o usuário, possibilitando sua interação com o processo. É através das tarefas que definimos o que será feito, quando e quem executará uma determinada ação dentro dos processos de workflow. O que deve ser executado pela tarefa é definido através da associação de métodos existentes nos objetos. Quem executará as tarefas é determinado através da associação de agentes possíveis para sua execução. Quando será feito é determinado com a associação de eventos dos objetos com a definição do workflow, pois um evento significa uma alteração de status de um determinado objeto e esta alteração de status do objeto pode ser definida como uma condição de inicio para o workflow.

No workflow existem dois tipos de tarefas, as tarefas single-step (único passo) e as tarefas multi-step (workflow) compostas por várias tarefas single-step. A definição de um workflow é considerada como uma tarefa porque na definição de um workflow é possível efetuar a chamada de outro workflow como uma tarefa a ser executada durante o processo. As tarefas single-step são classificadas como tarefa standard (TS) e o workflow é classificado como modelo de workflow (WS).

A definição do workflow é composta por vários passos, onde estes passos podem conter uma tarefa a ser executada ou simplesmente ser um passo de decisão ou outros tipos de passos que não necessitam de uma tarefa a ser executada, como por exemplo um passo de condição (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 são tarefas que devem ser executadas por um usuário, ou seja, é enviada uma tarefa para o usuário onde é necessário o acionamento manual para sua execução. Tarefas background são tarefas que não necessitam do acionamento de um usuário, ou seja, são executadas em background e ao final de sua execução podem ou não retornar dados para o workflow.

Para criação ou alteração de um modelo de workflow ou de uma tarefa deve ser acessada a transação 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 vários exemplos de aplicacoes standard para os vários módulos do sistema R/3, porque dependendo da necessidade pode ser utilizado um workflow standard ou se o standard não atender a necessidade por completo, podemos utilizar um workflow standard (copia) como base de definição de um novo workflow.

Desta forma é possível verificar modelos de workflow e tarefas pré-definidas de acordo com a aplicação. Para os desenvolvimentos de workflow costuma-se verificar o processo junto ao usuário, identificando as transações utilizadas, eventos acionadores e possíveis eventos
terminadores para depois pesquisar os modelos de workflow standard e encontrar um que possa atender as necessidades do processo. Caso não seja encontrado nenhum modelo de workflow standard que atenda as necessidades do processo, é possível também 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 definição do workflow, onde este objeto e seus elementos deverão ser utilizados em todos os passos do workflow.

Na definição de um modelo de workflow, existem algumas informações obrigatórias que devem ser informadas antes de iniciar o editor gráfico. É necessário preencher os campos de abreviação e denominação (ver figura abaixo) na pasta de Dados Básicos. Existe também a pasta de Descrição onde pode ser inserido um texto mais detalhado sobre o workflow, descrevendo os principais pontos abordados no processo.

Atividade

Este tipo de passo é utilizado para efetuar processamentos através da chamada de métodos do objeto utilizado pelo workflow. Este é o único tipo de passo do workflow onde é obrigatório informar uma tarefa, pois é através da tarefa que será executado o método onde está associado o código ABAP utilizado para extrair informações ou efetuar a chamada a transações que devem ser executadas pelo usuário.

Condição

Este tipo de passo funciona como um IF e utiliza elementos do container do workflow para montar a condição lógica que determinará o próximo passo a ser executado.

Condição Múltipla

Este tipo de passo funciona como um CASE e utiliza elementos do container do workflow para montar as condições lógicas que determinarão o próximo passo a ser executado.

Gerador de Evento

Este tipo de passo é utilizado para gerar eventos a partir de um workflow, ou seja, é possível startar outro workflow através 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 Seção Paralela para aguardar por eventos de encerramento.

Operação de Container

Este tipo de passo é utilizado para manipular o conteúdo de elementos do container do workflow.

Decisão do Usuário

Com este tipo de passo é possível encaminhar uma tarefa com condições para o usuário decidir o que deverá ser feito dentro do processo. De acordo com a resposta do usuário, é possível determinar caminhos diferentes a serem percorridos dentro do workflow.

Loop (until) – Loop (while)

Estes tipos de passos são utilizados para criar laços de repetição dentro do workflow, onde são utilizados elementos do container para criar as condições de repetição, e dentro do laço de repetição são inseridos os passos a serem executados.

Seção Paralela

Este tipo de passo é utilizado para criar seções de processamento em paralelo, onde é informado o número de seções em paralelo e em cada uma das seções criadas é possível inserir passos a serem executados simultaneamente.

Enviar Correio Eletrônico

Com este tipo de passo é possível encaminhar mensagens para o SAP Business Workplace ou para um endereço de e-mail da Internet.

Containers

Containers são áreas de memória utilizadas para troca de informações durante o processamento de um workflow. Estas áreas de memória são formadas por elementos definidos de acordo com referências feitas à campos do dicionário de dados ou objetos. Esta troca de informações é necessária para a execução das tarefas e outros passos definidos no workflow. Existem cinco tipos de containers que podem ser utilizados, são eles:

Container de Workflow

É o principal container utilizado em um processo de workflow, pois as informações permanecem armazenadas nele do início ao fim do processo, podendo assim distribuir informações para todos os passos contidos na definição do workflow.

Container de Tarefa

É utilizado para efetuar a troca de informações com o container do workflow e o container do método. Através do container de tarefa é possível receber e enviar informações para o container do workflow, pois é através dele que as informações são enviadas para o método e após o processamento do método o resultado do processamento pode ser retornado para o container do workflow. Os elementos deste container são inicializados toda vez que a tarefa é encerrada, desta forma a área de memória utilizada pela tarefa está sempre pronta para um novo processamento dentro do workflow.

Container de Evento

É utilizado para enviar informações do evento acionado para o workflow, com isso é possível enviar informações para o workflow sobre o objeto que está sendo processado naquele instante.

Container de Método

É utilizado para trocar informações com o container de tarefa, pois é através dele que as informações são recebidas e enviadas para o container da tarefa após o processamento do código ABAP contido no método do objeto.

Container de Role (regras)

É utilizado para receber informações do container do workflow, pois é através dele que a regra de definição de responsáveis receberá as informações necessárias para definir quais agentes serão os responsáveis pela execução da tarefa.

Programação de Objetos

Neste tópico serão apresentados os principais comandos utilizados na programação dos métodos utilizados pelas tarefas do workflow. Estes comandos são utilizados no código ABAP juntamente com comandos já utilizados normalmente em relatórios e interfaces, onde a principal diferença é que estes comandos são utilizados para acessar o conteúdo do container do método e atributos do objeto utilizado. Para verificar o programa executado pelo método, devemos acessar o objeto através da transação SWO1 e selecionar o método desejado. Após selecionado o item, clicar no botão Programa. Segue abaixo uma relação dos principais comandos e sua sintaxe:

SWC_GET_ELEMENT CONTAINER ‘Elemento’ v_Variavel

Este comando é utilizado para obter informações contidas no container do método. Sempre que uma tarefa é executada, as informações que a tarefa recebeu do container do workflow, são passadas do container da tarefa para o container do método. Através deste comando é possível acessar as informações do container do método de acordo com o nome do elemento informado. O nome do elemento do container deve ser colocado entre aspas simples e a variável deve ser criada com o mesmo tipo do elemento do container para que não sejam perdidas informações.

SWC_SET_ELEMENT CONTAINER ‘Elemento’ v_Variavel.

Este comando é utilizado para enviar informações para o container do método. Após a execução do método as informações contidas em seu container podem ser retornadas para o container da tarefa. Através deste comando é possível modificar o conteúdo de um elemento do container do método de acordo com o nome do elemento informado. O nome do elemento do container deve ser colocado entre aspas simples e a variável deve ser criada com o mesmo tipo do elemento do container para que não sejam perdidas informações.

SWC_GET_TABLE CONTAINER ‘Elemento’ t_TabelaInterna

Este comando é utilizado para obter informa
ções contidas no container do método, mas com uma diferença em relação aos comandos apresentados anteriormente, é utilizado somente para elementos do container que tem em suas características a armazenagem de múltiplas linhas de informação (característica de várias linhas deve estar marcada). Através deste comando é possível acessar as informações do container do método 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 não sejam perdidas informações.

SWC_SET_TABLE CONTAINER ‘Elemento’ t_TabelaInterna.

Este comando é utilizado para enviar informações para o container do método, mas com uma diferença em relação aos comandos apresentados anteriormente, é utilizado somente para elementos do container que tem em suas características a armazenagem de múltiplas linhas de informação (característica de várias linhas deve estar marcada). Através deste comando é possível modificar o conteúdo de um elemento do container do método 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 não sejam perdidas informações.

SWC_GET_PROPERTY SELF ‘Atributo’ v_variavel (ou) t_TabelaInterna.

Este comando é utilizado para obter informações referentes ao objeto onde o método está sendo processado, ou seja, sempre que um método é executado através de uma tarefa do workflow, significa que o objeto já possui uma instância válida e que seus atributos estão preenchidos com suas respectivas informações. Um exemplo é o objeto BUS1001006, que é o objeto utilizado para materiais, onde sua instância é o código do material (campo chave). Uma vez que este objeto está instanciado, é possível acessar seus atributos dentro do método utilizado o comando acima. O nome do atributo deve estar entre aspas simples e utilizando uma variável ou uma tabela interna para receber as informações de acordo com o atributo desejado. Para a utilização de uma variável ou tabela interna, devemos cria-las com a mesma referência que o atributo do objeto foi criado para que não sejam perdidas informações.

Roles: Regras para Definição de Responsáveis

Os responsáveis pela execução de uma tarefa podem ser obtidos através dos elementos de uma estrutura organizacional ou através de uma regra. Utilizamos regras para definir os responsáveis pela execução de uma tarefa em casos onde não é possível 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 definição dos responsáveis.

A regra para definição de responsáveis é atribuída com as características do passo de atividade do workflow e deve ser inserida na área de responsáveis pelo processamento, selecionando o tipo de responsável como Função e informando a função standard a ser utilizada (ver figura abaixo). Existem algumas funções standard prontas para utilização, onde deve ser verificada a regra aplicada para seleção de responsáveis e identificar se alguma delas atende as necessidades da tarefa.

Monitoramento de Prazos

Dentro do workflow é possível estipular e monitorar prazos para a execução de suas tarefas. Através do monitoramento de prazos o sistema de workflow automaticamente pode enviar notificações ou executar ações programadas, assim que é excedido o prazo para execução de uma tarefa. Este monitoramento de prazos é configurado dentro das características do passo do tipo Atividade do workflow. 

Monitoramento de Workflow (Log)

Sempre que um workflow é executado, suas informações permanecem armazenadas em tabelas dentro do sistema de workflow. As informações de cada processo executado no workflow é identificada nestas tabelas através de uma chave de identificação chamada Work Item. Cada passo de um workflow recebe uma identificação (work item) gerando assim um histórico de todos os passos executados no processo.

Através destas tabelas é possível acessar as informações de cada workflow executado e com isso identificar possíveis falhas na troca de dados entre as tarefas e o workflow ou verificar quais ações foram tomadas durante o processo e quem executou as tarefas necessárias.

Para acessar essas informações devemos utilizar a transação SWI2_FREQ, onde podemos selecionar o período a ser analisado, o tipo de tarefa a ser pesquisada e podemos também especificar qual tarefa será selecionada

Existem outras ferramentas para analisar o processamento de um workflow, entre elas estão as transações:

SWI2_DEAD – Log de Work Itens com prazos excedidos

SWI2_DURA – Work Itens segundo duração de processamento

Faça a inscrição para a prova de certificação. Estude com os simulados Bynem

Veja também em Web Store: SAP Workflow

Veja também: