UNIVERSIDADE DE LISBOA

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DE LISBOA"

Transcrição

1 UNIVERSIDADE DE LISBOA Faculdade de Ciências Departamento de Informática DESENVOLVIMENTO EM TECNOLOGIA OUTSYSTEMS DE PLATAFORMA DE COLABORAÇÃO ENTRE ORGANIZAÇÕES E OS SEUS FORNECEDORES Ana Cristina Pereira Leal MESTRADO EM ENGENHARIA INFORMÁTICA Sistemas de Informação 2010

2

3 UNIVERSIDADE DE LISBOA Faculdade de Ciências Departamento de Informática DESENVOLVIMENTO EM TECNOLOGIA OUTSYSTEMS DE PLATAFORMA DE COLABORAÇÃO ENTRE ORGANIZAÇÕES E OS SEUS FORNECEDORES Ana Cristina Pereira Leal ESTÁGIO Trabalho orientado pelo Prof. Doutor Carlos Eduardo Ramos dos Santos Lourenço e coorientado por Gonçalo Maria Granja Cardoso Menezes de Matos MESTRADO EM ENGENHARIA INFORMÁTICA Sistemas de Informação 2010

4

5 Agradecimentos Quero agradecer a todas as pessoas que directa ou indirectamente, contribuíram para a minha aprendizagem e formação desde o inicio até agora. À Truewind, quero agradecer no âmbito do mestrado, pela forma como me receberam e integraram nos projectos, todo o apoio que me deram, por todos os recursos que me disponibilizaram. Deram-me espaço que me permitiu evoluir tanto em termos profissionais como intelectuais. Em especial ao Gonçalo Matos, pelo tempo que dedicou ao meu trabalho, por me ter guiado durante todo o processo de desenvolvimento e escrita do relatório, por isso um grande Muito Obrigado. Gostaria ainda de agradecer ao meu orientador Prof. Carlos Lourenço, pela prontidão e disponibilidade durante todo o estágio, compreendo as dificuldades da realização deste tipo de projectos com a actividade profissional, mas apesar disso a sua resposta foi sempre rápida e esclarecedora. A todos os amigos de faculdade e colegas de noitadas nos laboratórios, durante a licenciatura e o primeiro ano de mestrado, um obrigado pelas discussões, pelas motivações e esclarecimentos. À Sara, pelos últimos anos deste percurso e por estares sempre, um Muito Obrigado. E por fim, mas não com menos importância, quero agradecer à minha família que sempre me apoiou incondicionalmente. À minha irmã, pelas deslocações que teve de fazer até à faculdade, para me ir buscar depois das noitadas nos laboratórios. Aos meus pais pela ajuda e compreensão em todos os aspectos. E ao meu namorado, pelo apoio e motivação em tempos mais difíceis.

6

7 Aos meus pais, irmã, sobrinho e namorado.

8

9 Resumo Actualmente colaboradores da área de compras gastam em média mais de metade do seu tempo na interacção com fornecedores, para conseguir responder a inúmeras questões relacionadas com a gestão destes. Uma boa gestão dos fornecedores resulta numa maior eficiência quer operacional quer financeira, pois a maior parte das operações de cada organização necessita destes para funcionar. Muitas organizações necessitam de melhorias nos processos de gestão dos fornecedores. Para endereçar este tipo de problemas a OutSystems criou uma solução web, o Supplier Self Service, que suporta os processos de compras de uma organização, nomeadamente na gestão de operações diárias de interacção com um largo número de fornecedores. Esta solução pode ser facilmente integrada com o ERP SAP do cliente. Pretende-se com este estágio efectuar a adaptação da solução actual, disponível para SAP, para que possa comunicar com outro ERP, neste caso o Oracle E-Business Suite. Desta forma, as empresas que dispõem do ERP Oracle para controlar as suas operações poderão também usufruir dos benefícios da solução Supplier Self Service e assim gerir mais eficientemente as suas relações com os seus fornecedores. Para além desta aplicação pretende-se com o estágio o apoio na implementação de aplicações OutSystems, com o objectivo de uma melhor e mais rápida aprendizagem na plataforma. Estas aplicações necessitam de integração com Oracle E-Business Suite, mais especificamente na área financeira no que diz respeito a fornecedores, clientes, pagamentos e recebimentos, logo é necessária a importação de lógica de negócio do ERP para que estas integrações se realizem com sucesso. Com isto pretende-se adquirir competências em Oracle E-Business Suite, nos módulos financeiros, e na plataforma OutSystems. Este estágio foi realizado no âmbito da disciplina de Projecto em Engenharia Informática do Mestrado em Engenharia Informática Sistemas de Informação, da Faculdade de Ciências da Universidade de Lisboa e desenvolvido na Truewind Tecnologias de Informação, S.A.. Palavras-chave: OutSystems, Oracle, Scrum, E-Business Suite, Supplier Self Service i

10 ii

11 Abstract In most companies, business area collaborators spend half their time dealing with a multitude of question related to the supplier s own management issues. A good supplier management can thus result in increased operational and financial efficiency, since most operations in any organization rely on suppliers to function. Many organizations are in need of enhanced supplier management processes. To address this issue, OutSystems has developed a web-based solution, the Supplier Self Service, which supports the management of acquisitions for a given organization, namely by managing daily operations with a large number of suppliers. This solution can be easily integrated with the ERP SAP of the customer. The aim of this training course is to adaptat the current solution, available for SAP, to allow its communication with another ERP, in this case Oracle E-Business Suite. In this way, companies that already have the ERP Oracle controlling their operations may also benefit from the Supplier Self Service solutions and thus manage their relationships with their suppliers more effectively. Besides the development of the above described application, the trainee will also offer support to the organization in the implementation of OutSystems applications, to allow a better and faster learning of this platform. These applications will require integration with the Oracle E-Business Suite, particularly in the financial area regarding suppliers, clients, payables and receivables. A successful integration will involve the import of the ERP business logic. This will allow the trainee to acquire skills in Oracle E-Business Suite, particularly in its financial modules and the OutSystems platform. This training course was developed for Projecto em Engenharia Informática do Mestrado em Engenharia Informática Sistemas de Informação from Faculdade de Ciências da Universidade de Lisboa, and carried out at Truewind Tecnologias de Informação, S.A.. Keywords: OutSystems, Oracle, Scrum, E-Business Suite, Supplier Self Service iii

12 iv

13 Conteúdo Capítulo 1 Introdução Motivação e apresentação do problema Objectivos do estágio Estrutura do documento Instituição de acolhimento Truewind Integração profissional... 5 Capítulo 2 Contexto Tecnológico ERP Enterprise Resource Planning Oracle E-Business Suite SAP Business Suite e SAP ERP Plataforma de Desenvolvimento OutSystems Plataforma OutSystems OutSystems Network Agile Procurement Solutions - Supplier Self Service Agile Solutions for SAP Transparency Services for SAP Tecnologias Base Plataforma.Net PL/SQL Capítulo 3 Metodologia e Planeamento Metodologia de trabalho Plano de Trabalhos Plano de Trabalhos Inicial Plano de Trabalhos Final Comparação entre os planos de trabalhos Capítulo 4 Trabalho Realizado v

14 4.1 Implementação da camada Serviços de Transparência para Oracle E- Business Suite Arquitectura do Supplier Self Service Análise do Supplier Self Service Módulo de Conectividade Módulo de Lookups Módulo Financeiro Integração SICGesT - Q Migração Q1 para Q Integração sentido Q2 para SICGesT Integração sentido SICGesT para Q Correcção de Propostas ECR Caixa Registadora Gestão de Entidades Gestão de Frotas SicG_Singap SicG_Authentication Capítulo 5 Competências Adquiridas Capítulo 6 Conclusões e Trabalho Futuro Conclusões Trabalho Futuro Acrónimos Referências Apêndices A. Sprints Backlogs B. Product Backlog Final C. Módulo de Conectividade C1. Entidades e seus atributos C2. Acções do módulo de conectividade vi

15 D. Módulo Lookups: D1. Entidades e seus atributos D2. Acções do módulo Lookups E. Módulo financeiro: E1. Acções do módulo financeiro F. Módulo de vendas e distribuição G. Módulo gestão de materiais vii

16 viii

17 Lista de Figuras Ilustração 1. Aplicações de negócio do Oracle E-Business Suite [13] Ilustração 2. Visão geral do SAP Business Suite [17] Ilustração 3. Plataforma OutSystems [19] Ilustração 4. Descrição da plataforma ágil [20] Ilustração 5. Fluxo da OutSystems Agile Network [22] Ilustração 6. Visão geral do processo do Supplier Self Service [24] Ilustração 7. Visão geral da solução Transparency Services for SAP [25] Ilustração 8. Ciclo do Scrum [29] Ilustração 9. Gráfico com o planeamento para os 9 meses do projecto Ilustração 10. Sprint backlog Ilustração 11. Gráfico de esforço nos vários projectos Ilustração 12. Arquitectura global do sistema Ilustração 13. Serviços de transparência para Oracle E-Business Suite Ilustração 14. Página inicial do Supplier Self Service Ilustração 15. Dependências entre os módulos Ilustração 16. Entidades dos módulos e suas dependências Ilustração 17. Modelo de dados do módulo de conectividade Ilustração 18. Código da acção DoBootstrap Ilustração 19. Modelo de dados do módulo de Lookups Ilustração 20. Acção Country_SynchronizeAll Ilustração 21. Modelo de dados do módulo financeiro Ilustração 22. Acção de sincronização de fornecedores Ilustração 23. Modelo de dados da migração Ilustração 24. Modelo de dados da integração no sentido Q2 para SICGesT Ilustração 25. Fluxo de integração Q2 para SICGesT Ilustração 26. Ecrã que lista documentos em espera Ilustração 27. Ecrã onde é classificada a factura Ilustração 28. Modelo de dados da integração SICGesT para Q Ilustração 29. Fluxo de integração SICGesT para Q Ilustração 30. Ecrã de efectuar pagamento ix

18 Ilustração 31. Ecrã dos Documentos Ilustração 32. Modelo de dados da Gestão de Entidades Ilustração 33. Fluxo da Gestão de Entidades Ilustração 34. Ecrã de pesquisa e criação de entidades Ilustração 35. Modelo de dados da Gestão de Frotas Ilustração 36. Modelo de dados so SicG_Authentication Ilustração 37. Ecrã de listagem e criação de acessos aos web services Ilustração 38. Sprint backlog Ilustração 39. Sprint backlog Ilustração 40. Sprint backlog Ilustração 41. Sprint backlog Ilustração 42. Sprint backlog Ilustração 43. Sprint backlog Ilustração 44. Sprint backlog Ilustração 45. Sprint backlog Ilustração 46. Sprint backlog Ilustração 47. Sprint backlog Ilustração 48. Sprint backlog Ilustração 49. Product backlog final. Parte 1 de Ilustração 50. Product backlog final. Parte 2 de Ilustração 51. Product backlog final. Parte 3 de Ilustração 52. Product backlog final. Parte 4 de Ilustração 53. Product backlog final. Parte 5 de Ilustração 54. Modelo de dados do módulo de vendas e distribuição Ilustração 55. Modelo de dados do módulo de gestão de materiais x

19 Lista de Tabelas Tabela 1. Níveis de certificação Developer em OutSystems [23] Tabela 2. Distribuição dos sprints pelo tempo Tabela 3. Product Backlog inicial Tabela 4. Tarefas do product backlog inicial realizadas Tabela 5. Tarefas do product backlog inicial que se encontram pendentes Tabela 6. Componentes que deixaram de pertencer ao backlog Tabela 7. Entidades EBS_Lookups e tabelas de OEBS Tabela 8. Lista de BAPIs do módulo Lookups Tabela 9. Entidades EBS_FI, a tabela em OEBS e as acções onde são invocadas.62 Tabela 10. Lista de BAPIs do módulo financeiro Tabela 11. Atributos e tipos da tabela MGF_HISTORICO_ Tabela 12. Acrónimos Tabela 13. Entidade Class_Table com os seus atributos e os tipos de dados Tabela 14. Entidade Entity_Table com os seus atributos e os tipos de dados Tabela 15. Entidade EntitySync com os seus atributos e os tipos de dados Tabela 16. Entidade Transparency_Module com os seus atributos e os tipos de dados Tabela 17. Entidade USER_MASTER_EXTENSION com os seus atributos e os tipos de dados Tabela 18. Entidade USER_MASTER_SAP com os seus atributos e os tipos de dados Tabela 19. Entidade Account_Group com os seus atributos e os tipos de dados 119 Tabela 20. Entidade Accounting_ObjectType com os seus atributos e os tipos de dados Tabela 21. Entidade Country com os seus atributos e os tipos de dados Tabela 22. Entidade Currency com os seus atributos e os tipos de dados Tabela 23. Entidade Language com os seus atributos e os tipos de dados Tabela 24. Entidade MeasurementUnit com os seus atributos e os tipos de dados xi

20 Tabela 25. Entidade PaymentMethods com os seus atributos e os tipos de dados Tabela 26. Entidade PaymentTerms com os seus atributos e os tipos de dados. 121 Tabela 27. Entidade Product_Hierarchy com os seus atributos e os tipos de dados Tabela 28. Entidade Region com os seus atributos e os tipos de dados Tabela 29. Entidade Status_Value com os seus atributos e os tipos de dados Tabela 30. Entidade Title com os seus atributos e os tipos de dados Tabela 31. Acções do módulo de Lookps Tabela 32. Acções do módulo financeiro Tabela 33. Acções do módulo de vendas e distribuição Tabela 34. Lista de BAPIs do espace SAP_SD Tabela 35. Acções do módulo de gestão de materiais Tabela 36. Lista de BAPIs que existem no espace EBS_MM xii

21 Capítulo 1 Introdução Este relatório introduz o estágio desenvolvido na disciplina Projecto de Engenharia Informática de 2º ano de Mestrado em Engenharia Informática. Este estágio foi desenvolvido ao longo do ano (9 meses) sendo uma enorme oportunidade para solidificação de conhecimentos e adquirir competências numa plataforma ágil de nome OutSystems [1] para construção de aplicações web. Este estágio consistiu na implementação de uma aplicação em tecnologia OutSystems que permite a colaboração entre organizações e seus fornecedores, que descreverei posteriormente mais pormenorizadamente, bem como na participação em projectos OutSystems, onde tive oportunidade de desenvolver mais rapidamente as minhas competências técnicas e integrar projectos de maior dimensão, em condições reais do meio empresarial. 1.1 Motivação e apresentação do problema A operação de uma organização depende em grande medida dos seus fornecedores, pelo que, uma gestão eficaz destas entidades resultará numa maior eficiência, quer operacional quer financeira. Muitas organizações necessitam ainda de introduzir melhorias nos processos de gestão dos seus fornecedores. Estudos realizados comprovam que os colaboradores da área de compras gastam em média mais de 50% do seu tempo na interacção com fornecedores [2], para responder a questões relacionadas com encomendas, estado de facturas, criação de produtos no ERP (Enterprise Resource Planning) [3], ou outras tarefas puramente administrativas. 1

22 Os processos manuais produzem informação não estruturada, cuja análise se revela complexa e demorada colocando dificuldades à obtenção de dados relevantes para a gestão de fornecedores. Hoje em dia, para operar e planear a organização de uma média ou grande empresa, através de aplicações empresariais, são utilizadas suites horizontais ERP, como SAP (Systems, Applications and Products in Data Processing) [4], Oracle E-Business Suite [5], Navision entre outras. Estas têm como principais desvantagens a sua complexidade e o seu custo elevado, mas por outro lado, as vantagens que provêm da múltipla integração entre as áreas de operação (contabilidade e serviços) e o próprio negócio, justificam a sua existência e elevam a sua importância. Há pois, espaço para optimizar os processos de negócio. Não se trata de ocupar ou sobrepor a funcionalidade proporcionada pelo ERP, mas sim estender e melhorar, através da simplificação e da reunião de funcionalidades, conforme as necessidades específicas de cada organização. Dada a especificidade própria de cada organização, pretende-se que o desenvolvimento de novas interfaces às funções, disponibilizadas pelos ERP tenha um baixo custo e seja rápida. A adopção de metodologias tradicionais não é a adequada para este tipo de desenvolvimento. A utilização de metodologias ágeis e plataformas que promovam a rápida codificação de desenvolvimento de aplicações podem suprimir esta lacuna. Para endereçar alguns destes problemas a OutSystems criou o Supplier Self Service [6], uma solução web que suporta os processos de compras de uma organização, nomeadamente na gestão das operações diárias de interacção com um largo número de fornecedores. Esta solução está implementada para comunicar com SAP (um ERP) através de uma camada intermédia denominada Transparency Services for SAP [7]. A solução Transparency Services for SAP da OutSystems foi criada com a finalidade de proporcionar um nível superior de abstracção no topo dos sistemas SAP. Utilizando esta solução podemos construir rapidamente novas aplicações e serviços utilizando recursos do SAP. O Supplier Self Service consegue proporcionar as suas funcionalidades aos fornecedores com instalações a SAP, mas empresas que não possuam este ERP deparam-se com o problema de não conseguirem usufruir desta solução. Uma 2

23 componente deste estágio vem então endereçar esta problemática, fazendo com que as empresas que utilizam como ERP o Oracle E-Business Suite possam usufruir de forma rápida da aplicação de gestão de fornecedores. 1.2 Objectivos do estágio A plataforma de desenvolvimento OutSystems, com geração automática de código em Microsoft.Net [8] ou Java apresenta-se hoje como uma plataforma de desenvolvimento rápido de aplicações periféricas aos grandes repositórios de informação das organizações. Este estágio teve como objectivo, para além de uma formação base forte no desenvolvimento de aplicações com a plataforma OutSystems, a construção de uma aplicação de gestão da relação de organizações com fornecedores em tecnologia OutSystems. Esta baseia o seu modelo de dados na estrutura centralizada de um ERP, permitindo de forma optimizada gerir os processos de aprovisionamento [9], logísticos, contabilísticos, e financeiros do Oracle E-Business Suite que medeiam entre a pesquisa de um produto ou serviço e selecção de um fornecedor até ao seu pagamento. Esta aplicação permite que a interacção entre os fornecedores e a sua organização seja efectuada de forma simples e prática. O estágio teve como principais objectivos: Análise do módulo aplicacional do ERP Oracle E-Business Suite (Compras, Logística e Aprovisionamento) para a extracção do modelo de dados e métodos que permitam a execução de funcionalidades do ERP; Definição de estruturas de dados complementares e codificação de módulos desenhados em tecnologia OutSystems, para a invocação das funcionalidades do ERP, privilegiando a prototipagem rápida indispensável à garantia da viabilidade da solução; Validação e avaliação do funcionamento das aplicações desenvolvidas por oposição às funcionalidades standard do ERP. 1.3 Estrutura do documento Depois do enquadramento do estágio realizado neste capítulo, seguem-se os seguintes: 3

24 Capítulo 2 Contexto Tecnológico. Neste capítulo é apresentado o contexto tecnológico das várias soluções e técnicas que foram necessárias para a realização do estágio. Capítulo 3 Metodologia e Planeamento, onde são apresentadas as metodologias de trabalho e técnicas utilizadas, fases de execução do estágio com o plano previsto e o realizado. Capítulo 4 Trabalho Realizado. Neste capítulo é descrito o trabalho efectuado na camada de Serviços de transparência para Oracle E-Business Suite. Bem como a minha contribuição para outros projectos de maior dimensão. Capitulo 5 Conclusões. Neste capítulo são apresentadas as conclusões do estágio e o trabalho futuro. 1.4 Instituição de acolhimento Truewind A Truewind, criada em 2008, é uma empresa de consultoria focada na rápida criação de valores para os clientes através da utilização de soluções ágeis. Esta dedicase à prestação de serviços na área de TI (Tecnologias de Informação) geridos por contrato. A Truewind foca a sua actividade no fornecimento de serviços de referência na área das tecnologias de informação, nomeadamente no cumprimento de níveis de serviço contratados para eliminar indisponibilidade não programada dos sistemas de informação. Partir do desenvolvimento das aplicações informáticas até ao contrato de manutenção orientado ao paradigma do nível de serviço requer uma postura distinta perante estes problemas. Com um profundo conhecimento de informação da tecnologia, um completo knowhow sobre o negócio do cliente e uma equipa de consultores altamente motivados, a Truewind garante a maximização do desempenho operacional das organizações para alavancar a sua competitividade num mercado cada vez mais exigente e complexo. 4

25 A missão desta empresa é proporcionar qualidade consistente e previsível de serviços TI, criando valor tanto para clientes como para accionistas, oferecendo uma economia assente no conhecimento, desafiadora e um gratificante lugar para trabalhar. A empresa tem como objectivos ganhar conhecimento como fornecedor de gestão de serviços TI, abordando os mais altos desafios nos mercados mais competitivos, estabelecer fortes relações de longo prazo com os clientes, construídas sobre o reforço de confiança mútua, construir uma equipa de pessoas altamente motivadas, contratadas a partir de um conjunto de profissionais bem treinados, criar um ambiente de trabalho gratificante, onde as ideias florescem e a empresa é procurada por profissionais qualificados, estimular a inovação e a criatividade e fornecer retorno financeiro aos accionistas. A equipa Truewind destaca-se pelo seu forte espírito empresarial, a cooperação e o compromisso com o sucesso da empresa e seus clientes. A Truewind conta com uma equipa experiente, que compreende as necessidades na gestão dos sistemas de informação. Esta equipa conta com recursos especializados em várias tecnologias, tais como Oracle, OutSystems, Microsoft e Java Integração profissional No dia 1 de Setembro de 2009, iniciei o meu estágio na empresa Truewind. Os primeiros dias na Truewind, tiveram como objectivo o conhecimento da estrutura da empresa, as suas competências, organização, métodos de trabalho, normas, políticas de qualidade e as suas áreas de negócio. Após esta fase de integração teve início a fase de formação e certificação em OutSystems. Comecei por realizar tutoriais [10] disponibilizados no site da OutSystems, como preparação para a certificação. Após a conclusão dos tutoriais, dei início à certificação com vista à obtenção do grau de Trainee Developer. Para atingir este nível, foi necessário assistir a seminários e realizar o curso Developer Course I, com vários exames. Após a fase de integração fui colocada na equipa de desenvolvimento OutSystems. 5

26 6

27 Capítulo 2 Contexto Tecnológico Este capítulo apresenta os sistemas e tecnologias envolvidas no desenvolvimento do estágio. 2.1 ERP Enterprise Resource Planning O ERP é um sistema aplicacional integrado, constituído por um conjunto de aplicações integradas, destinadas à gestão de negócios dos mais variados sectores empresariais. Este é uma das principais famílias destes sistemas. Este sistema de gestão de informação integra e automatiza as práticas de negócio associadas às operações de uma empresa. Num único sistema, a informação é armazenada, processada e organizada de forma a poder ser agregada e relacionada entre todas as áreas de uma organização. Os sistemas ERP são compostos por uma base de dados única e por módulos integrados que suportam as diversas actividades da empresa. O acesso à informação bem como a sua actualização pode ser realizado em qualquer instante, através de qualquer um dos módulos de negócio integrados do sistema, possibilitando desta forma acelerar os processos de negócio. Os principais benefícios [11] da implementação deste tipo de sistemas são a integração do sistema, que permite o controlo da empresa como um todo, a actualização tecnológica, a redução de custos informática e a disponibilização de informação de qualidade em tempo real. A principal desvantagem dos sistemas ERP é a grande dificuldade na sua implementação, que muitas vezes ocorre através de processos demorados que podem levar até anos para serem concluídos. Estas dificuldades ocorrem devido à necessidade 7

28 de introduzir grandes mudanças organizacionais, pois as empresas que normalmente possuem uma estrutura orientada por hierarquias e departamentos são obrigadas a adaptar-se a uma estrutura orientada a processos. 2.2 Oracle E-Business Suite O Oracle E-Business Suite é uma solução comercial de sistemas aplicacionais integrados. A implementação destes sistemas requer conhecimento técnico e tecnológico, que normalmente é efectuado por empresas especializadas. A implementação destes sistemas inclui uma fase de parametrização e personalização dos módulos necessários, de forma a conseguir responder às necessidades da organização. Esta fase de parametrização consiste na definição de um conjunto de passos que devem constar na documentação que acompanha o sistema, esta deve conter regras de funcionamento e lógica de negócio. A empresa Oracle Corporation [12] é especializada em desenvolvimento e comercialização de produtos de software empresarial, em particular sistemas de gestão de base de dados (Oracle Database), sendo também responsável pelo conjunto de aplicações de gestão de negócio empresarial (Oracle E-Business Suite). O Oracle E-Business Suite é um conjunto abrangente de aplicações de negócio [13] que nos permitem gerir de forma eficiente integrações com os clientes, entregar serviços, produtos, encomendas, pagamentos a processar e muito mais, tudo isto a partir de um sistema construído numa arquitectura denominada Oracle Information Architecture [14]. A ilustração 1 apresenta as aplicações de negócio do Oracle E- Business Suite. Ilustração 1. Aplicações de negócio do Oracle E-Business Suite [13]. 8

29 Esta arquitectura permite aos clientes da Oracle a oportunidade de gerir os seus próprios negócios numa plataforma integrada. Ela permite uma definição consistente de clientes, fornecedores, parceiros, funcionários, e todas as entidades de negócio da empresa. Além disso, consolida os dados entre Oracle e aplicações não Oracle. O Oracle E-Business Suite é composto por cerca de 150 aplicações totalmente integradas que operam através da internet e são suportadas por uma base de dados Oracle, destinada a servir de repositório de dados único e central. Estas aplicações devem conseguir suportar os processos de negócio existentes numa organização. O Oracle E-Business Suite abrange as áreas funcionais, financeira, conhecimento, produção, aprovisionamento, projectos, serviços, gestão de manutenção, recursos humanos, logística, marketing, gestão de ordens de compra, vendas, planeamento de cadeia de fornecimento e gestão do ciclo de vida do produto. Cada uma destas áreas de negócio é composta por vários módulos. A área funcional aprovisionamento [9] é um produto completo que automatiza todas as compras para produção ou não, de MRO (Manutenção, Reparo e Operações), de capital, serviços e administrativas. Esta solução permite aos profissionais de compras a análise de performance do fornecedor, a identificação de oportunidades de economia e a criação e manutenção do relacionamento com os fornecedores mais importantes. Esta solução permite também a substituição dos típicos processos de compras manuais em processos de compras electrónicas reduzindo assim os seus custos. Esta solução é habilitada por uma infra-estrutura totalmente baseada em internet e por comércio electrónico orientado por fluxos, que utiliza regras de negócio padrão e atinge todos os fornecedores. 2.3 SAP Business Suite e SAP ERP SAP Business Suite [15] consiste num conjunto de aplicações de negócio que proporcionam a integração das informações e processos, a colaboração, a indústria de funcionalidades específicas e escalabilidade. O SAP Business Suite é construído sobre uma arquitectura aberta e orientada a serviços (SOA - Service-oriented architecture) e baseado na plataforma tecnológica SAP NetWeaver [16]. A empresa que desenvolve e comercializa este pacote de soluções para gestão empresarial é alemã e denomina-se SAP AG [4]. 9

30 Com este software a empresa pode coordenar, de forma efectiva e em simultâneo, as estratégias de negócio e de TI. O suporte completo ao processo de negócio, com especificações do sector de actividade, ajudam a empresa a executar estratégias que reduzem os custos operacionais ou estimulam a produtividade, sem a complexidade de gerir ou manter múltiplas plataformas tecnológicas. A implementação deste software modular pode ser realizada sem gastar muito em substituições ou actualizações. Assim é possível escalar rapidamente as operações e responder sem interferências às novas condições de negócio. O SAP Business Suite proporciona uma maior transparência em todas as organizações, melhora a eficácia operacional e aumenta a flexibilidade para se adaptar aos desafios do actual mundo dos negócios. Ilustração 2. Visão geral do SAP Business Suite [17]. Uma visão geral do SAP Business Suite é apresentada na ilustração 2, este é constituído pelas aplicações fundamentais SAP ERP (Enterprise Resource Planning), SAP Customer Relationship Management, SAP Product Lifecycle Management, SAP Supply Chain Management e SAP Supplier Relationship Management. O SAP Business Suite permite aos executivos optimizarem e colocarem em prática as suas estratégias empresariais e de TI, nas áreas de Vendas, Finanças, Recursos Humanos, Tecnologias de informação e em outras visões executivas. 10

31 Este fornece software que apoia os essenciais processos de negócio, incluindo a Gestão das Relações com os clientes (CRM), Planeamento de Recursos Empresariais (ERP), Gestão do Ciclo de Vida dos Produtos (PLM), Gestão da Cadeia Logística (SCM) e Gestão das Relações com Fornecedores (SRM). O SAP ERP (Systems, Applications and Products in Data Processing - Enterprise Resource Planning) é o sucessor do SAP/3 e é considerado o principal produto da SAP. Com o ERP da SAP temos a capacidade necessária para nos adaptarmos rapidamente, e com eficiência de custos, às novas necessidades do mundo de negócios, do mercado e do próprio sector de actividade. Este inclui soluções com o SAP ERP Financials (Gestão Financeira), o SAP ERP Human Capital Management (Gestão do Capital Humano), o SAP ERP Operations esta solução contribui para um excelente desempenho no apoio a processos operacionais end-to-end 1 e o SAP ERP Corporate Services. (Com esta solução a empresa pode gerir bens activos da empresa, portfolios de projectos, saúde e segurança, qualidade e serviços de comércio globais mais eficazes). Este software é desenvolvido sobre a plataforma SAP NetWeaver, reduz a complexidade de TI e suporta ao mesmo tempo a escalabilidade e o crescimento, através de uma plataforma abrangente de integrações e aplicações. O software é fortemente integrado, optimiza as interacções dos processos de forma multifuncional e possibilita uma estreita colaboração dentro e fora dos limites das organizações. 2.4 Plataforma de Desenvolvimento OutSystems Nesta secção descreverei a plataforma de desenvolvimento OutSystems, algumas soluções providenciadas por esta e outros conceitos relacionados Plataforma OutSystems A plataforma de desenvolvimento de software ágil denominada OutSystems é comercializada por uma empresa portuguesa, a OutSystems [1]. Esta plataforma [18] permite integrar, desenvolver, implementar, gerir e alterar aplicações de negócio web, utilizando metodologias ágeis. 1 Este princípio estabelece que, sempre que possível, as operações do protocolo de comunicação devem ser definidas para ocorreram no final de um ponto da comunicação. 11

32 A plataforma ágil proporciona às organizações de TI de todas as indústrias uma resposta rápida e ágil às mudanças dos seus processos de negócio, permitindo que os seus sistemas informáticos acompanhem eficientemente a evolução dos mesmos. Combinando esta plataforma com a metodologia ágil da OutSystems, conseguimos ter um desenvolvimento focado nas funcionalidades mais importantes que o cliente necessita e, à medida que várias versões da aplicação vão sendo construídas em curtos períodos de tempo (sprints de duas semanas), o cliente vai retornando informação importante e relevante para o desenvolvimento das versões seguintes, obtendo-se na última versão o produto final exactamente à medida do cliente. Este método permite à OutSystems oferecer às empresas com diversos sistemas proprietários, e de difícil integração, uma forma fácil, rápida e de baixo custo para os expandirem. Esta plataforma fornece todas as ferramentas e funcionalidades necessárias para suportar e automatizar a entrega e manutenção de aplicações de negócio web. As aplicações são entregues dentro do prazo e do orçamento, totalmente integradas com os sistemas existentes e construídas para a mudança contínua. Esta disponibiliza interfaces de utilizador que se encontram acessíveis na internet através de computadores ou dispositivos móveis. Ilustração 3. Plataforma OutSystems [19]. 12

33 A ilustração 3 representa a relação entre os componentes base com o Hub Server (servidor aplicacional). A plataforma OutSystems é constituída por três componentes base que suportam toda a criação, alteração e manutenção de aplicações web. Estes componentes são: Service Studio: É o ambiente de desenvolvimento gráfico das aplicações web denominadas espaces 2. Este ambiente permite o desenvolvimento de interfaces de utilizador, lógica de negócio, modelos de dados, integração com componentes, web services, regras de segurança e agendamento de actividades. É neste ambiente que são desenhadas, modificadas e testadas as aplicações, com um elevado nível de abstracção. Através de um mecanismo patenteado pela OutSystems, o 1-Click Publish, é possível disponibilizar aplicações para os utilizadores em apenas 1 click. Este procedimento é composto por 5 fases, executadas sequencialmente e de forma automática: o Verificação do espace, é a operação que verifica se existem erros de sintaxe no espace; o Gravação no disco, nesta fase o espace é gravado na pasta especificada; o Upload para o hub server, realiza a transferência do espace para o hub server, no qual estamos conectados; o Compilação, esta fase é executada no hub server e envolve a transformação do ficheiro oml 3 construído no Service Studio num conjunto de ficheiros.net ou Java e a sua posterior compilação; o Deployment, esta é a última etapa do 1-Click Publish na qual a aplicação gerada é colocada no servidor web, ficando assim disponível para os utilizadores. O Service Studio é um ambiente de desenvolvimento, tecnologicamente independente da infra-estrutura que aloja as aplicações, que pode ser baseada em.net ou Java. A extensão dos ficheiros construídos pelo Service Studio é.oml ; 2 Uma aplicação ou parte de aplicação que implementa um conjunto de serviços reunidos num único projecto. 3 OutSystems Markup Language 13

34 Integration Studio: É o ambiente que permite criar componentes personalizados (extensões) para integrar em aplicações. As extensões desenvolvidas no Integration Studio não são aplicações por si só, e sozinhas não têm utilidade. Estas extensões disponibilizam métodos, codificados em C# ou Java, e acesso a bases de dados externas (bases de dados que não a do Hub Server) que podem ser reutilizados pelos espaces. Uma vez criadas, podem ser disponibilizadas em qualquer Hub Server e podem ser consumidas por qualquer espace. A extensão dos ficheiros produzidos pelo Integration Studio é o.xif 4 ; Service Center: É uma consola web que permite a gestão operacional e a administração da plataforma ágil. Oferece acesso centralizado a informação relativa a todos os recursos da plataforma, tais como versões de aplicações, auditorias, monitorização e criação de relatórios em tempo de execução. Com estas funcionalidades torna-se mais fácil o acompanhamento e o controlo da execução das aplicações, permitindo uma maior percepção na detecção e isolamento de problemas de desempenho e qualidade. Por fim, o Hub Server, é o ambiente onde são coordenadas todas as acções de publicação, operação e gestão de aplicações. Aqui os espaces são traduzidos para código.net ou Java, compilados e disponibilizados ao utilizador final. Este ambiente pode alojar várias aplicações relativas a vários serviços, disponibilizando múltiplas interfaces a utilizadores finais com diferentes perfis e integrando aplicações com sistemas externos ou internos. As empresas ou prestadores de serviços operam centralmente sobre o Hub Server para suportar o desenvolvimento colaborativo de aplicações empresariais. 4 Extension and Integration Framework 14

35 Ilustração 4. Descrição da plataforma ágil [20]. A ilustração 4 apresenta o percurso efectuado pelas aplicações e extensões até ao repositório de dados para depois serem disponibilizadas. Os espaces são criados no Service Studio e as extensões no Integration Studio. Existe ainda um mecanismo de colaboração, o Embedded Change Technology (ECT), que incentiva os utilizadores de negócio a enviarem comentários directamente da aplicação web em execução. O ECT permite que os utilizadores, reportem um problema logo que o detectem, enviando para a equipa de desenvolvimento uma cópia do ecrã que estão a visualizar, com um comentário, podendo mesmo indicar qual a zona do ecrã afectada pelo problema. O ECT regista os comentários dos utilizadores, podendo estes serem directamente transformados em itens de trabalho no backlog. Tem uma simples configuração de back-office, aumenta a comunicação entre a equipa e o cliente e simplifica a gestão de mudanças OutSystems Network A OutSystems Agile Network oferece aos clientes e aos parceiros, um abrangente conjunto de serviços que apoiam o processo de gestão do ciclo de vida das aplicações. Com componentes fáceis de utilizar e completamente disponíveis online, os clientes e 15

36 parceiros podem facilmente interagir com a comunidade OutSystems e usufruir dos seus serviços. A Agile Network é composta por 4 componentes que podemos visualizar na ilustração 5: Agile Sizings: Permite dimensionar projectos ágeis e negociar as suas características; Agile Projects: Permite gerir e controlar projectos usando a metodologia ágil da OutSystems; Agile Academy: Permite realizar treino e certificação online e é onde fica registado o nosso curriculum; TechCenter: Contém os fóruns técnicos relativos a questões de desenvolvimento bem como os Downloads relacionados com a plataforma. Para acedermos a estes componentes temos de realizar um login na página da OutSystems Network [21]. Ilustração 5. Fluxo da OutSystems Agile Network [22]. Na secção Agile Academy temos acesso a várias certificações, entre as quais, a de Developer. A certificação de Developer [23] é indicada para quem pretenda desenvolver aplicações de negócio web na tecnologia OutSystems. É também a certificação mais indicada para iniciar o percurso de aprendizagem pela tecnologia. Esta é composta pelos níveis de certificação apresentados na tabela 1. Nível Definição Requisitos Trainee Developer Começar com a OutSystems, compreender os conceitos básicos da plataforma e métodos ágeis. Grau de Developer Course 1 16

37 Nível Definição Requisitos Apprentice Developer Necessita de ajuda regular e não é autónomo. Desenvolve modelos de aplicações baseadas em métodos como criar, editar, mostrar listas em ecrãs. Deve ser supervisionado por um programador profissional. Grau de Trainee Developer + Uma recomendação num BootCamp ou por um programador de grau Associate Delivery Manager 5 ou superior Associate Developer Aprendiz que evolui rapidamente e proporciona um trabalho de qualidade. Desenvolve aplicações front-end usando modelos. Faz um bom uso de funcionalidades AJAX da plataforma. Bastante autónomo em relação a questões que requerem mais desenvolvimento e aprende rápido. Deve ser supervisionado por um programador profissional. Grau de Trainee Developer + Uma recomendação positiva num BootCamp ou por um programador de grau Associate Delivery Manager ou superior Professional Developer Expert Developer Necessita de ser uma pessoa de confiança, programador sénior com uma experiência limitada em alguns tópicos avançados. Pessoa de confiança, programador sénior que desenvolve tudo. Programador experiente, com capacidade para projectar soluções de qualidade e de forma autónoma Grau de Associate Developer + Grau de Developer Course + 2 Duas recomendações positivas de um programador com grau Associate Delivery Manager ou superior + Instrutor de exames Outsystems Grau de Professional Developer + Duas recomendações positivas de um programador com grau de Professional Delivery Manager 6 ou superior + Instrutor de exames Outsystems Tabela 1. Níveis de certificação Developer em OutSystems [23]. 5 Associate Delivery Manager, lidera projectos de complexidade simples. 6 Professional Delivery Manager, lidera projectos de complexidade média. 17

38 2.4.3 Agile Procurement Solutions - Supplier Self Service No capítulo 1 foi introduzida a motivação sobre a solução OutSystems Supplier Self Service. Esta tem como principal objectivo facilitar a comunicação entre fornecedores e cliente, que normalmente se mostra muito morosa, seja devido a falhas na comunicação seja devido ao tempo que se perde com negociações. Esta solução está totalmente integrada com o ERP e disponibiliza uma interface self-service que pode ser utilizada em tempo real e de forma colaborativa com a organização. A solução obtém do ERP toda a informação necessária relativa a encomendas, entregas, facturas e pagamentos e disponibiliza-as online aos respectivos fornecedores, simplificando assim a validação e rectificação dos dados, caso necessário. Os fornecedores podem introduzir automaticamente o seu catálogo de produtos e serviços, bem como gerir a sua actualização. Podem ainda acompanhar a sua aprovação para inclusão no catálogo de compras do ERP. A solução disponibiliza s automáticos de notificação, fluxos de aprovação online e partilha de documentos. Ao centralizar todos os dados sobre as interacções com os fornecedores, o Supplier Self Service disponibiliza às organizações visibilidade sem precedentes sobre análise de custos e performance de fornecedores. Ilustração 6. Visão geral do processo do Supplier Self Service [24]. A ilustração 6 mostra o fluxo do Supplier Self Service. 18

39 As principais funcionalidades do Supplier Self Service são as seguintes: Registo autónomo de fornecedores: registo autónomo de fornecedores com questionários online de recolha de dados, gestão actualizada de dados pelo fornecedor, agregação e visualização de todos os fornecedores com funcionalidades de pesquisa detalhada da informação; Gestão de produtos e serviços: catálogo online de produtos e serviços, detalhes dos produtos (incluindo dados logísticos e preços) e submissão online de catálogos com fluxos de aprovação; Encomendas e entregas: gestão online de ordens de encomenda aprovadas com fluxos de notificação, com a possibilidade de obter notificações de entrega; Facturas e pagamentos: permite consultar o estado de facturas por fornecedor, unidade de negócio ou centro de custo, e permite consulta de pagamentos para créditos e débitos por unidade de negócio ou centro de custo; Análise de custos de fornecedores: análise de custos detalhada, consulta e listagem de performance de fornecedores; Colaboração em tempo real: serviços de gestão documental e notificações automáticas para operações em documentos; Funcionalidades adicionais: capacidade de registo de auditoria automática de todas as acções ou pré-certificações da integração com SAP, com agendamento configurável. Apenas foram mencionadas algumas das funcionalidades do Supplier Self Service. Como se pode ver, estas trazem melhorias a nível de negócio, permitem um time-tomarket 7 mais rápido e uma maior flexibilidade, esta é conseguida através da integração com outros sistemas para além do ERP. 7 Time-To-Market, tempo que um produto demora a chegar ao mercado, ou seja desde que começa a ser produzido até ser posto à venda. 19

40 2.4.4 Agile Solutions for SAP Transparency Services for SAP As empresas necessitam de soluções de negócios disponíveis rapidamente, adaptar os seus processos específicos a estas, que estas se consigam integrar-se com sistemas existentes e que sejam continuamente adaptáveis a novos requisitos de negócio. Esta solução traz às empresas uma mais-valia a nível de competitividade, integrando rapidamente aplicações de negócio com o sistema SAP. Esta fornece grande flexibilidade através da sua adaptação à lógica de negócio especificada no Supplier Self Service, através da mudança da aplicação para que esta consiga lidar com novos requisitos e através da disponibilização de novas funcionalidades sem ter que personalizar o SAP. Consegue ainda integrar várias versões e módulos SAP bem como outros sistemas. Ilustração 7. Visão geral da solução Transparency Services for SAP [25]. Na ilustração 7 podemos visualizar o método actual para efectuar a ligação entre aplicações desenvolvidas em OutSystems e a plataforma SAP. A plataforma OutSystems assenta sobre o SAP, através de um módulo do Integration Studio, expondo assim os conceitos de baixo nível específicos do SAP. Estes conceitos de baixo nível do SAP são transformados em conceitos de alto nível pela camada denominada Transparency Services. Os conceitos de alto nível são independentes da tecnologia ou ERP que têm por baixo e são disponibilizados às aplicações da camada superior Composite 20

41 Applications 8, para serem incorporados nos processos de negócio, sendo nesta camada que se encontra a solução Supplier Self Service, a aplicação disponível para os utilizadores finais. No âmbito do meu estágio, modificarei a camada Transparency Services para conseguir transformar os conceitos de baixo nível do ERP da Oracle, nos mesmos conceitos de alto nível conhecidos actualmente como saída desta camada, passando esta a denominar-se Serviços de Transparência para Oracle E-Business Suite. OutSystems Transparency Services for SAP inclui duas camadas especificas destinadas a simplificar e acelerar a entrega e manutenção de novas aplicações de negócio: Data Services Layer tem como objectivo encapsular as interfaces com sistemas SAP e sistemas não-sap, disponibilizando serviços à camada Compositive Application de forma transparente e independente da versão SAP; Application Services Layer é o módulo que fornece funcionalidades de auditoria, gestão de utilizadores, análise e comunicação de modo a acelerar a entrega de novas aplicações de negócio. A solução oferece uma abordagem livre de riscos relativamente à criação, ampliação e modificação dos seus processos de negócio que operam por cima do sistema SAP. As suas principais características são o agendamento de sincronização, o armazenamento de entidades de vários módulos SAP e os registos automatizados de todas as mudanças no sistema com um completo controlo e capacidades de auditoria para apoiar a conformidade regular, a gestão de utilizadores e regras e a colaboração em tempo real. É ainda possível a criação de inquéritos personalizados por utilizadores chave que ficam disponíveis automaticamente para qualquer aplicação. Análise e relatórios (que podem ser avançados) também fazem parte das principais características. Estes são definidos numa infra-estrutura e podem incluir gráficos com informação de negócio, são dinâmicos, facilmente configurados e exibidos em ecrãs ou através de relatórios personalizados, criados por utilizadores finais. 8 Camada composta pelas aplicações periféricas desenvolvidas. 21

42 2.5 Tecnologias Base Plataforma.Net A plataforma.net [8] é uma plataforma da Microsoft para criar aplicações que possuem experiências do utilizador visualmente impressionantes, uma comunicação directa e segura e a capacidade de modular um conjunto de processos de negócio [8]. Esta é executada sobre uma Common Language Runtime CLR (Ambiente de execução independente da linguagem). A CLR fornece a aparência de uma aplicação de máquina virtual para que os programadores não necessitem de considerar as capacidades do processador que irá executar o programa. O CLR também oferece outros serviços importantes, como segurança, gestão de memória, manipulação de excepções e interage com um conjunto de bibliotecas unificadas. Esta CLR é capaz de executar mais de 20 linguagens de programação diferentes, interagindo entre si como se fossem uma única linguagem. Os seus principais benefícios são a capacidade de interagir e comunicar com outros sistemas (Interoperabilidade). A CLR é independente da linguagem, Base Class Library (biblioteca com funcionalidades específicas para todas as linguagens que utilizam a plataforma), tem um desenvolvimento simples e permite segurança PL/SQL PL/SQL [26] significa Procedural Language extensions to SQL. Como o nome indica é uma extensão da linguagem padrão SQL para o SGBD Oracle da Oracle Corporation. Este fornece uma sintaxe específica com a finalidade de tratamento uniforme de comandos SQL e suporta exactamente os mesmos tipos de dados que o SQL. Do lado do servidor, o PL/SQL é compilado e armazenado na base de dados Oracle e funciona dentro do executável Oracle. Herda automaticamente a robustez, segurança e portabilidade de uma base de dados Oracle [27]. A unidade básica do PL/SQL é o bloco. Todos os programas em PL/SQL são constituídos por blocos, que podem estar localizados uns dentro dos outros. Geralmente, cada bloco efectua uma acção lógica no programa. 22

43 Capítulo 3 Metodologia e Planeamento 3.1 Metodologia de trabalho Neste estágio foi utilizada uma metodologia ágil e uma plataforma que promove a rápida codificação e desenvolvimento de aplicações, com vista em facilitar o cumprimento dos objectivos propostos. As metodologias ágeis têm como foco satisfazer o cliente através de entregas regulares de versões funcionais do produto, permitindo ao cliente ter acesso o mais cedo possível aos requisitos de maior prioridade e de maior valor. Nestas metodologias, o cliente e os responsáveis pelo desenvolvimento do produto trabalham em constante sincronização. Eles trocam informação através de conversas directas e, devido à entrega de versões funcionais do produto em curtos espaços temporais, é possível obter feedback útil e discutir futuros requisitos com base nessas versões, mantendo assim o alinhamento de expectativas em relação ao que é pretendido. A metodologia utilizada foi o Scrum [28]. Esta consiste num processo interactivo e incremental para o desenvolvimento de produtos e para a gestão de tarefas. A agilidade que suporta esta metodologia de gestão e planeamento, traz uma nova dimensão de capacidade de resposta, adequabilidade, eficácia e eficiência na gestão actual dos processos. Para que se possa compreender o ciclo de desenvolvimento do Scrum, é primeiro necessário conhecer os papéis, artefactos, e actividades envolvidas. Os papéis do Scrum [28] são: Product Owner: É o responsável pelo produto. Tem como tarefas definir, priorizar e estimar todas as suas funcionalidades, através do preenchimento do product backlog. Este é também responsável por 23

44 comunicar à equipa os interesses do cliente, efectuar as reuniões de planeamento e demonstrar as entregas efectuadas; Scrum Master: Não é o responsável por gerir a equipa mas sim por garantir que não existem impedimentos para que esta consiga alcançar os objectivos do sprint. Caso existam várias equipas, este é ainda responsável por garantir os interesses da sua equipa nas reuniões com os restantes scrum masters. Representa a equipa e os seus interesses perante o product owner; Team Member: Este tem a responsabilidade de desenvolver e entregar funcionalidades do produto. As pessoas da equipa organizam-se entre elas para conseguirem da melhor maneira alcançar os objectivos do sprint. Os artefactos do Scrum são compostos por: Product Backlog: Enumera as funcionalidades do produto a desenvolver, ordenadas por prioridade. Este poderá conter para além das funcionalidades, defeitos, oportunidades de melhoria ou pré-requisitos (trabalhos preparatórios necessários à realização de funcionalidades); Sprint Backlog: Este é criado em cada scrum planning meeting, e lista as tarefas a serem realizadas para que as funcionalidades sejam concretizadas; Burndown Chart: Gráfico gerado a partir de estimativas do sprint backlog, que tem como objectivo guiar a equipa e verificar o progresso. Finalmente, as actividades do Scrum são: Scrum Planning Meeting: Reunião realizada no inicio de cada sprint; Sprint, período em que um conjunto de funcionalidades do product backlog são desenvolvidas; Scrum Daily Meeting: Reunião diária onde cada um dos elementos fala sobre o progresso do seu trabalho. Este progresso é reportado através da resposta a três perguntas: o que fiz desde a última scrum meeting, o que vou fazer até à próxima scrum meeting e quais os impedimentos que prevejo até à próxima scrum meeting; Scrum Sprint Retrospective: Reflexão efectuada no final de cada sprint sobre a forma como este correu, identificando possíveis melhorias à forma de trabalhar; 24

45 Demo Meeting: Apresentação no final de cada sprint, de maneira a demonstrar o trabalho desenvolvido. Na ilustração 8 pode-se ver o ciclo do Scrum. Do product backlog são seleccionadas as funcionalidades a implementar no sprint, dando origem ao sprint backlog. Este sprint backlog é processado por um período de tempo, tipicamente de 2 a 4 semanas, dando origem a uma nova versão do produto com funcionalidades acrescidas. Durante o sprint, é efectuada diariamente a scrum meeting, onde os elementos da equipa se alinham e entre ajudam. Ilustração 8. Ciclo do Scrum [29]. 3.2 Plano de Trabalhos Plano de Trabalhos Inicial O plano de trabalhos inicial prevê o desenvolvimento e implementação da camada Serviços de Transparência para Oracle E-Business Suite. Este plano é constituído por um gráfico temporal, onde se pode ver a distribuição dos sprints pelo tempo e um product backlog inicial, com as tarefas inicialmente previstas. Estas tarefas inicialmente previstas estão também provisoriamente distribuídas pelos sprints, reflectindo assim a expectativa inicial do caminho a percorrer. 25

46 A tabela 2 mostra a distribuição dos sprints pelo tempo do estágio, com a sua respectiva duração, data de inicio e data de fim, sendo a mesma informação mostrada de forma gráfica na ilustração 9. Nome da tarefa Duração Inicio Fim Integração na Empresa 4 Dias Formação e Certificação na tecnologia Outsystems e complementares em.net e escrita do relatório preliminar Desenvolvimento de aplicação usando metodologias ágeis Outsystems 48 Dias Dias Sprint 1 15 Dias Sprint 2 10 Dias Sprint 3 14 Dias Sprint 4 10 Dias Sprint 5 10 Dias Sprint 6 10 Dias Sprint 7 10 Dias Sprint 8 10 Dias Sprint 9 13 Dias Testes Finais à aplicação 22 Dias Recolha dos Resultados e Redacção do relatório 21 Dias Tabela 2. Distribuição dos sprints pelo tempo Ilustração 9. Gráfico com o planeamento para os 9 meses do projecto. 26

47 Como já referido anteriormente, os requisitos da aplicação são apresentados numa lista, denominada por product backlog. Esta lista apresenta o conjunto de funcionalidades a implementar, mas ainda sem muito detalhe sobre as mesmas. Este detalhe é posteriormente obtido em cada sprint, no momento da realização do scrum planning meeting, onde uma análise mais detalhada sobre as funcionalidades a implementar nesse sprint, e a forma de como realizá-las, é efectuada. No início do estágio, construí o product backlog inicial, que contém os componentes e tarefas inicias apresentadas na tabela 3. Componente Tarefa Sprint Análise do módulo aplicacional do ERP EBS Compras Extracção do modelo de dados do módulo aplicacional do ERP Extracção de métodos que permitam a execução de funcionalidades do ERP Análise do módulo aplicacional do ERP EBS Logística Extracção do modelo de dados do módulo aplicacional do ERP Extracção de métodos que permitam a execução de funcionalidades do ERP Análise do módulo aplicacional do ERP EBS Aprovisionamento Extracção do modelo de dados do módulo aplicacional do ERP Extracção de métodos que permitam a execução de funcionalidades do ERP Codificação dos módulos desenhados em tecnologia OutSystems para invocação de funcionalidades ERP (privilegiando a prototipagem rápida indispensável à garantia da viabilidade da solução) Validação e avaliação do funcionamento das aplicações desenvolvidas por oposição às funcionalidades standard do ERP Análise da solução Outsystems Supplier Self Service Análise geral da solução Transparency Services for SAP, extraindo funcionalidades 27

48 Componente Tarefa Sprint para posteriormente serem adaptadas para OEBS Análise detalhada da solução Transparency Services for SAP Scheduling Módulo Data Caching Módulo Auditing & Logging Módulo User & Role Management Módulo Real-Time Collaboration Módulo Surveying Módulo Analytics & Reporting Módulo Portal Infrastructure Desenvolvimento do módulo de Scheduling Desenvolvimento do módulo de Data Caching Desenvolvimento do módulo de Auditing & Logging Desenvolvimento do módulo de User & Role Management Desenvolvimento do módulo de Real- Time Collaboration Desenvolvimento do módulo de Surveying Desenvolvimento do módulo de Analytics & Reporting Desenvolvimento do módulo de Portal Infrastructure Análise do Connector Oracle Identificação das API's do EBS para serem incluídas no Connector Oracle 28

49 Componente Tarefa Sprint Redacção do relatório preliminar 1 Redacção do relatório 2 Redacção do relatório 3 Redacção do relatório 4 Redacção do relatório 5 Redacção do relatório 6 Redacção do relatório 7 Redacção do relatório 8 Redacção do relatório 9 Tabela 3. Product Backlog inicial Este planeamento é a previsão inicial, tendo em conta a análise ainda prematura das funcionalidades que os Serviços de Transparência para Oracle E-Business Suite deverão implementar. Este product backlog prevê a análise e o desenvolvimento dos diversos módulos, bem como a redacção do relatório final. Apenas com o decorrer do estágio é que se perceberá quais destas funcionalidades deverão ser implementadas, sendo esta uma das mais-valias das metodologias ágeis: evitar consumir esforço em análise detalhada de funcionalidades que poderão parecer interessantes numa fase inicial, mas que com o amadurecimento do produto se percebe que não são Plano de Trabalhos Final O plano de trabalhos final apresenta os 9 meses de estágio e é composto por 12 sprints backlogs, estes são apresentados no apêndice A. A ilustração 10 mostra a título de exemplo o sprint backlog 7. Este, bem como todos os outros realizados, têm a duração de 14 dias, sendo que cada dia tem 8 horas de trabalho. No sprint backlog podemos ver: As tarefas a realizar no sprint; A prioridade da tarefa; O tipo de tarefa (reunião, requisito, pré-requisito,..); O módulo da tarefa; 29

50 Quem vai realizar a tarefa; O estado da tarefa (pendente, em progresso, completa, cancelada); O tempo estimado inicialmente; O tempo consumido na tarefa (diariamente); O tempo restante da tarefa (diariamente). 30

51 Ilustração 10. Sprint backlog 7. 31

52 3.2.3 Comparação entre os planos de trabalhos A alteração mais significativa que foi efectuada ao plano de trabalhos inicial foi a participação em outros projectos, de maior dimensão. Os projectos onde tive a oportunidade de participar permitiram-me desenvolver mais rapidamente as minhas competências técnicas, enriqueceram a minha formação, além de me proporcionarem uma participação em projectos de maior dimensão, e em condições reais do meio empresarial. Estas condições, bastante diferentes das universitárias, despertam uma nova sensibilidade para a eficiência e foco do trabalho em questão, pois a falha no cumprimento dos prazos de entrega está normalmente associada a uma elevação de custos para a empresa. Este desvio face ao inicialmente planeado, apesar de surgir naturalmente devido às necessidades da empresa, foi cuidadosamente ponderado por ambas as partes. Os benefícios eram claros para ambos, visto o contexto tecnológico dos projectos ser exactamente o mesmo: Integração entre a plataforma OutSystems e Oracle E-Business Suite. Este contexto ajudou-me a obter uma formação mais forte para a realização dos objectivos inicialmente propostos. Além disso, a metodologia ágil que faz parte do espírito da empresa, e que melhor se adapta às circunstâncias da actualidade empresarial, prevê estas alterações de contexto em função das prioridades. Ilustração 11. Gráfico de esforço nos vários projectos. 32

53 Neste cenário, a ilustração 11 mostra a distribuição de esforço pelas várias tarefas do estágio. Como se pode ver, sensivelmente metade do tempo foi gasto em tarefas inicialmente planeadas, sendo o restante utilizado em tarefas para outros projectos. Do inicialmente esperado, e definido no product backlog inicial, foram realizadas as tarefas apresentadas na tabela 4. Component Análise do módulo aplicacional do ERP EBS Compras Análise da solução Outsystems Supplier Self Service Feature Extracção do modelo de dados do módulo aplicacional do ERP Breve análise das suas funcionalidades Análise geral da solução Transparency Services for SAP, extraindo funcionalidades para posteriormente serem adaptadas para OEBS Análise detalhada da solução Transparency Services for SAP Scheduling Desenvolvimento do módulo de Scheduling Análise detalhada da solução Transparency Services for SAP Data Caching (Módulo Financeiro) Desenvolvimento do módulo de Data Caching (Módulo Financeiro) Análise detalhada da solução Transparency Services for SAP Data Caching (Módulo Lookups) Desenvolvimento do módulo de Data Caching (Módulo Lookups) Redacção do relatório preliminar Redacção do relatório Tabela 4. Tarefas do product backlog inicial realizadas. Devido à minha participação em outros projectos, as tarefas definidas no product backlog inicial, e apresentadas na tabela 5 desceram de prioridade pelo que não foi possível a sua realização em tempo útil. Component Análise do módulo aplicacional do ERP EBS Logística Análise do módulo aplicacional do ERP EBS Aprovisionamento Feature Extracção do modelo de dados do módulo aplicacional do ERP Extracção do modelo de dados do módulo aplicacional do ERP 33

54 Component Feature Validar/Avaliar o funcionamento das aplicações desenvolvidas por oposição às funcionalidades standard do Transparency Services for SAP Análise detalhada da solução Transparency Services for SAP Data Caching (Módulo de gestão de materiais e módulo de vendas e distribuição) Desenvolvimento do módulo de Data Caching (Módulo de gestão de materiais e módulo de vendas e distribuição) Tabela 5. Tarefas do product backlog inicial que se encontram pendentes. Na tabela 6 podem-se ver as funcionalidades que deixaram de fazer parte do backlog do produto, pois após uma análise mais detalhada, verificou-se que estes itens não fazem parte dos serviços específicos do SAP, então não será necessária a sua adaptação. Component Análise detalhada da solução Transparency Services for SAP Análise detalhada da solução Transparency Services for SAP Análise detalhada da solução Transparency Services for SAP Análise detalhada da solução Transparency Services for SAP Análise detalhada da solução Transparency Services for SAP Análise detalhada da solução Transparency Services for SAP Feature Auditing & Logging User & Role Management Real-Time Collaboration Surveying Analytics & Reporting Portal Infrastructure Desenvolvimento do módulo de Auditing & Logging Desenvolvimento do módulo de User & Role Management Desenvolvimento do módulo de Real-Time Collaboration Desenvolvimento do módulo de Surveying Desenvolvimento do módulo de Analytics & Reporting Desenvolvimento do módulo de Portal Infrastructure Tabela 6. Componentes que deixaram de pertencer ao backlog. O product backlog final, composto pelas tarefas realizadas, pendentes e canceladas é apresentado no apêndice B, devido à sua extensão. 34

55 Capítulo 4 Trabalho Realizado Este capítulo descreve o trabalho realizado para a concretização do estágio. Este trabalho consistiu no desenvolvimento da camada Serviços de Transparência para Oracle E-Business Suite, cujo objectivo é poder fazer uso da solução Supplier Self Service em ambientes Oracle, e também na participação em outros projectos OutSystems, contribuindo assim para uma melhor, e mais rápida, aprendizagem na tecnologia. Neste capítulo será também descrita a arquitectura do Supplier Self Service, enquadrado o trabalho realizado com os sistemas que interage. 4.1 Implementação da camada Serviços de Transparência para Oracle E-Business Suite Neste sub-capítulo é descrita a implementação da camada de transparência entre o Oracle E-Business Suite e o Supplier Self Service, as dificuldades encontradas na sua implementação, bem como as respectivas decisões tomadas para resolução do problema. Para começar a implementação do projecto foi necessário realizar uma análise, apresentada neste sub-capítulo com o objectivo de identificar os espaces por onde começar. A camada Serviços de Transparência para Oracle E-Business Suite é constituída pelos seguintes espaces: EBS_Connectivity, ver secção 4.1.3; EBS _Lookups, ver secção 4.1.4; EBS _FI, ver secção 4.1.5; 35

56 EBS _SD, ver secção 6.2; EBS _MM, ver secção 6.2. e pelas seguintes extensões: EBS_ConnectivityCfg, ver secção 4.1.3; EBS_FI_Entities, ver secção 4.1.5; EBS_Lookups_Entities, ver secção 4.1.4; EBS _MM_Entities, ver secção 6.2; EBS _SD_Entities, ver secção Arquitectura do Supplier Self Service Neste sub-capítulo descrevo a arquitectura do sistema, realçando os Serviços de Transparência para Oracle E-Business Suite, que representa a camada de serviços necessários à comunicação entre as aplicações OutSystems e Oracle E-Business Suite. A arquitectura global do sistema é composta por 4 níveis distintos que compõem as múltiplas camadas de uma instância da plataforma Outsystems assentes sobre Oracle E- Business Suite. As camadas são as aplicações web de negócio (Supplier Self Service), Serviços de Transparência para Oracle E-Business Suite, Plataforma OutSystems e os sistemas base. A ilustração 12 realça a arquitectura global do sistema, composta pelas camadas enunciadas em cima e que serão descritas a seguir. 36

57 Ilustração 12. Arquitectura global do sistema. A camada do Oracle EBS, ou outros sistemas, mostra os sistemas base que podem ser utilizados para interagir com a OutSystems. Neste estágio o sistema a ser utilizado é um ERP, o Oracle E-Business Suite. Sendo assim, é possível ter acesso a toda a informação e lógica de negócio do ERP, permitindo executar e explorar estruturas de suporte do Oracle E-Business Suite. Nesta camada os outros sistemas podem ser por exemplo SAP R/3 ou SAP ERP 6.0. Este último é o ERP do SAP, que oferece capacidades de finanças avançadas, gestão de capital humano, vendas, compras e outras funções chave de uma empresa. A camada superior à do Oracle EBS é a camada da plataforma OutSystems, que oferece um conjunto de mecanismos necessários para suportar e automatizar a entrega e manutenção das aplicações de negócio web. Para proporcionar estas funcionalidades, recorre a um conjunto de componentes que envolvem base de dados (onde são armazenados e geridos os objectos relacionais da aplicação e outras entidades necessárias à plataforma), código compilado C#.NET e um servidor aplicacional IIS - Internet Information Services (que interpreta e executa o código que foi preparado para as aplicações dando o contexto aplicacional necessário em.net). 37

58 Grande parte do projecto incide na realização da camada Serviços de Transparência para Oracle E-Business Suite, pois é através desta que a aplicação Supplier Self Service irá comunicar com os sistemas base. A funcionalidade desta camada é disponibilizar um conjunto de serviços de dados e acções aplicacionais às soluções a desenvolver, representadas na camada superior como web business applications. Esta camada de transparência é composta por um conjunto de espaces que permitem realizar a sincronização dos dados entre o SQL Server, onde assenta a plataforma e o Oracle E-Business Suite, funcionalidade de scheduling e data caching fazendo assim com que a aplicação possua a informação necessária para funcionar. A sincronização dos dados é feita através de queries à base de dados Oracle e depois preenchendo as entidades em SQL Server. A ilustração 13 apresenta uma visão geral da camada Serviços de Transparência para Oracle E-Business Suite, esta é composta por serviços específicos do Oracle E- Business Suite e por serviços aplicacionais. Ilustração 13. Serviços de transparência para Oracle E-Business Suite. Por fim, a camada de web business applications engloba todas as aplicações que fazem uso da plataforma, usufruindo ou não da camada Serviços de Transparência para Oracle E-Business Suite. Esta contém toda a lógica de negócio que suporta um conjunto de funcionalidades disponíveis para os utilizadores finais. A aplicação desta camada em estudo neste estágio é o Supplier Self Service. 38

59 Estas aplicações são criadas e modificadas através da ferramenta Service Studio. Podemos visualizar um exemplo de uma aplicação, na ilustração 14, que mostra a página inicial do Supplier Self Service. Ilustração 14. Página inicial do Supplier Self Service Análise do Supplier Self Service No inicio do estágio realizei uma análise superficial da solução Supplier Self Service, com o objectivo de compreender o que era pretendido e de ter uma visão geral da solução. Posteriormente tive de analisar mais detalhadamente a solução, e essa análise teve como principal finalidade identificar as funcionalidades, dependências, integrações e complexidade dos módulos SAP da solução. A solução Supplier Self Service disponibiliza um conjunto de funcionalidades directamente associadas aos processos de negócio que permitem às empresas optimizar e reduzir custos nas interacções com a base de fornecedores. É de seguida apresentada uma descrição detalhada das funcionalidades disponíveis para cada um desses processos. Registo automático de fornecedores e gestão de dados mestre 9 : este processo visa automatizar e optimizar a identificação, recolha e avaliação 9 São a fonte central de informações para uma empresa. 39

60 de toda a informação de novos fornecedores, bem como possibilitar a manutenção dos dados mestres pelos próprios fornecedores. o Registo electrónico de fornecedores; o Gestão de dados mestre; o Directório de fornecedores; o Detalhes do fornecedor; o Fluxo de aprovação; o Histórico de alterações. Gestão de catálogo de produtos: este processo permite aos fornecedores a criação e manutenção do seu catálogo de produtos e serviços, e simultaneamente terem a visibilidade sobre os produtos já registados em SAP. Em simultâneo, a organização obtém um registo centralizado, uniforme e actualizado de todos os produtos registados no SAP que podem ser adquiridos, bem como de todos os produtos disponíveis nos catálogos dos seus fornecedores e aptos a serem registados em SAP. o Submissão e manutenção do catálogo; o Catálogo de produtos e serviços; o Detalhes do produto; o Fluxo de aprovação. Gestão de ordens de compras e entregas: pretende-se com esta solução optimizar o processo de compras, desde que a ordem de compra é criada em SAP até à confirmação de recepção dos itens pela organização. o Lista de ordens de compra; o Detalhes das ordens de compra; o Fluxo de confirmação; o Notificação de bens expedidos, após a aceitação da encomenda o fornecedor deve registar a expedição dos produtos; o Confirmação de bens recebidos. 40

61 Gestão de facturas e pagamentos: a solução disponibiliza em tempo real e de forma automática, informação de todas as facturas lançadas pela organização, associadas a uma encomenda e respectiva expedição. Por sua vez, os fornecedores podem aceder à sua conta corrente, tendo informação relativa ao estado das suas facturas, pagamentos efectuados bem como a todos os detalhes das suas facturas, reduzindo custos em chamadas e pedidos de esclarecimento. o Lista de facturas lançadas; o Visibilidade dos pagamentos; o Validação de encomendas, entregas e facturas; o Submissão de facturas online. Análise de despesa e performance dos fornecedores: tendo em vista a identificação de fornecedores estratégicos bem como a avaliação da base de fornecedores, esta solução disponibiliza um engenho de análise usado para cálculo em tempo real de indicadores de performance fundamentais no suporte à decisão. o Análise de despesa; o Performance de fornecedores; o Relatórios dinâmicos. Contratos, a solução colecta informação relacionada com contratos SAP, disponibilizando informação para os fornecedores e internamente à organização. o Gestão de contratos. Para além destas funcionalidades directamente relacionadas com compras, o Supplier Self Service disponibiliza funcionalidades colaborativas, essenciais para processos colaborativos e ferramentas de auditoria, gestão de utilizadores entre outras. o Auditoria; o Gestão de documentos; 41

62 o Mecanismo de notificações; o Gestão de utilizadores; o Área de trabalho; o Ajuda online; o Pesquisa global; o Inquéritos a fornecedores; o Termos e condições. A funcionalidade relacionada com a integração SAP é um mecanismo de escalonamento e sincronização de dados dos módulos SAP. É nesta sincronização que eu vou incidir, abandonando o SAP e invocando o Oracle E-Business Suite através de queries a tabelas que contêm a informação semelhante aos dados armazenados em SAP. Após a análise de funcionalidades, foi necessário analisar as dependências entre os módulos SAP, sendo assim possível determinar através destas, qual será o primeiro a ser desenvolvido. A ilustração 15 apresenta os módulos e as suas dependências. Ilustração 15. Dependências entre os módulos. Como podemos verificar na ilustração 15, o módulo menos dependente é o Connectivity. Neste encontramos implementadas as questões gerais de connectividade com SAP, como por exemplo, os horários de sincronização das entidades a sincronizar. 42

63 O módulo seguinte é o Lookups, que tem como objectivo sincronizar as tabelas lookup do SAP. Este contém um conjunto de ecrãs de administração que listam essas lookups e um conjunto de acções de sincronização e de obtenção de dados das entidades. A ligação deste com os módulos FI, SD e MM é realizada através de acções que obtêm dados lookups necessários à sincronização dos dados destes três módulos. O módulo FI (Financial Accounting ou compras) tem como objectivo responder às necessidades financeiras de uma organização, tais como recebimentos, pagamentos, gestão de bens, gestão de contas bancárias, gestão de fundos, consolidação entre outros. Podemos considerá-las como sub-módulos de FI. O módulo MM (Materials Management ou aprovisionamento) fornece suporte a todas as fases de gestão de materiais, como planeamento e controlo de necessidades, compras, entrada de mercadorias, gestão de stock e verificação de facturas. Por fim no módulo SD (Sales and Distribution ou logística) são executados processos de negócio utilizados em vendas, distribuição e facturação de produtos e serviços. Cada módulo possui as suas entidades ou objectos de negócio. O facto de os módulos necessitarem de objectos de negócio de outros módulos faz com que existam dependências entre eles. Na ilustração 16 podemos visualizar estas dependências entre eles. Ilustração 16. Entidades dos módulos e suas dependências. 43

64 4.1.3 Módulo de Conectividade Posto a análise inicial, concluí que o módulo de conectividade (implementado pelo espace SAP_Connectivity) seria o mais apropriado para começar a implementação, pois este não dependia de nenhum dos outros módulos. Para implementar este módulo foi necessário realizar uma análise profunda do espace SAP_Connectivity. Através desta análise, consegui perceber a forma como os mecanismos de agendamento de sincronização (scheduling) e sincronização de dados (data caching) dos objectos de negócio, ou entidades funcionam. Estes mecanismos estão implementados de forma modular, para que possam ser acrescentados novos módulos sem haver a necessidade de efectuar alterações ao módulo de conectividade, sendo que o módulo de conectividade é o responsável pelo mecanismo de agendamento de sincronização. Cada módulo da camada de serviços de transparência para SAP é implementado por um espace. Todos estes espaces implementam uma interface comum de web services, de forma a padronizar o seu processo de inicialização e o processo de agendamento de sincronização (scheduling). Para tal, cada módulo disponibiliza dois web services denominados ConfigurationData e SAP_Transparency. O processo de inicialização é realizado pelo web service ConfigurationData, o qual é evocado pelo Enterprise Manager. O Enterprise Manager é um portal de backoffice 10 que centraliza todas as tarefas comuns de administração, como a gestão de utilizadores, a gestão de permissões, a inicialização de aplicações e outros back-offices específicos das aplicações existentes. Ao integrar todos os utilizadores, privilégios e back-offices das aplicações existentes no servidor, o administrador desfruta de uma gestão centralizada num único ponto de entrada para administrar qualquer aplicação. O Enterprise Manager sabe que os módulos têm este serviço implementado e evoca-o quando é dada ordem de inicialização de um módulo. Este web service disponibiliza duas acções: GetConfigurationData: 10 Conjunto de partes do sistema às quais o utilizador final não tem acesso, normalmente relativas a processos internos à empresa. 44

65 o A função desta acção é registar o nome do módulo no Enterprise Manager, bem como informa-lo sobre a sua lista de pontos de entrada de back-office e de privilégios; o Retorna uma lista com o conjunto de pontos de entrada que serão listados no Enterprise Manager e uma lista de privilégios a criar e gerir no Enterprise Manager. DoBootstrap: o Esta acção contém o código a ser executado no processo de inicialização do módulo; o Não tem parâmetros de entrada ou saída. No processo de inicialização de um módulo, durante a execução da acção DoBootstrap, o novo módulo regista-se no módulo de conectividade. Isto é feito através de uma chamada à acção Register_Module, disponibilizada pelo módulo de conectividade, onde é registado o seu nome e localização dos seus serviços. Após, são registados todos os seus objectos de negócio através de chamadas à acção Register_BusinessEntity, também do módulo de conectividade. Isto conclui o processo de registo de um novo módulo. O módulo de conectividade implementa a acção GetConfigurationData com a seguinte lista de pontos de entrada de back-office, não existindo privilégios a importar: Definições de conectividade ao servidor SAP; Gestão de utilizadores SAP; Gestão de agendamentos; Gestão de tabelas do SAP; Gestão de licenciamento; Gestão de objectos de negócio (entidades). O processo de agendamento de sincronização é realizado pelo web service SAP_Transparency. O módulo de conectividade sabe que os módulos têm este serviço implementado e evoca-o sempre que seja necessário efectuar operações relacionadas com a sincronização de objectos de negócio. As acções disponibilizadas por este web service são: 45

66 Schedule_Get: o A função desta acção é obter o agendamento de uma entidade; o Recebe como parâmetro o código da entidade a obter o agendamento; o Retorna como parâmetros de saída a lista de agendamentos da entidade, a última vez que a entidade foi sincronizada e a próxima vez que a entidade será sincronizada. Schedule_Set: o A função desta acção é definir o agendamento de uma entidade; o Recebe como parâmetro de entrada o código da entidade a definir o agendamento e a nova lista de agendamentos da entidade. Synchronize o A função desta acção é dar início ao processo de sincronização de uma entidade; o Recebe como parâmetro de entrada o código da entidade a sincronizar. O módulo de conectividade implementa estas acções apenas com uma evocação à acção Audit. Esta é uma acção de debug 11, que pertence ao conjunto de acções disponibilizadas pela plataforma (Built-in Actions). Podemos utilizá-la sempre que necessitarmos de registar informação que queremos examinar mais tarde, em tempo de execução. Esta informação, juntamente com o momento do registo, é armazenada no log geral do espace, para que mais tarde possa ser analisado no Service Center. A razão pela qual estas acções apenas fazem um registo no log do espace, sem realizar qualquer actividade útil, é porque como este espace não é responsável pela sincronização de nenhum objecto de negócio (data caching), não tem nenhuma informação sobre o agendamento dos seus objectos de negócio para partilhar. Este espace depende da extensão SAP_ConnectivityCfg que contém as seguintes três acções: 11 Processo para encontrar e reduzir o número de erros ou defeitos, num programa de computador. 46

67 Schedule_Get; Schedule_Set; Synchronize. É através destas acções que se evocam as respectivas acções dos vários web services SAP_Transparency (cada módulo disponibiliza um). As interfaces destas acções são idênticas às explicadas anteriormente, com a excepção que todas têm mais um parâmetro de entrada que indica qual o módulo a evocar. Este parâmetro é um URL que contém a localização do web service, sendo que cada módulo tem um web service numa localização diferente. As restantes acções deste módulo também foram analisadas, com o objectivo de adaptar a lógica de negócio ao Oracle E-Business Suite, e encontram-se no apêndice C. Foi necessária também uma análise às entidades do módulo, bem como aos seus dados, para ter uma melhor percepção das suas funcionalidades. Ilustração 17. Modelo de dados do módulo de conectividade. A ilustração 17 apresenta o modelo de dados, através da sua representação gráfica, mostrando as entidades deste módulo, bem como as suas relações. Aqui podem-se ver as seguintes entidades: EntitySync: Armazena os dados necessários para a sincronização de entidades; Entity_Table: Armazena a relação entre uma entidade e o nome da sua tabela em SAP; 47

68 Transparency_Module: Armazena os módulos de transparência e o respectivo url de serviço (url do web service); Class_Table: Armazena as relações entre as tabelas SAP e as classes do SAP; User_Master_Extension: Armazena a relação entre os utilizadores registados no Enterprise Manager com os do SAP; User_Master_SAP: Armazena os utilizadores registados no SAP. Mais detalhe sobre estas entidades, como por exemplo a sua lista de atributos, pode ser encontrado no apêndice C. Após a análise do módulo de conectividade, criei o espace EBS_Connectivity com as mesmas funcionalidades e lógica do anterior. Em OutSystems isto é conseguido através da funcionalidade de clonagem 12 de espaces. Esta consiste em criar outro espace igual, mas com nome e identificadores diferentes, passando assim a serem geridos de forma independente pela plataforma. Foi também necessário criar uma extensão denominada EBS_ConnectivityCfg, com acções e funcionalidades idênticas à SAP_ConnectivityCfg. Esta extensão foi criada no Integration Studio, onde criei as suas acções e defini as suas interfaces. Após o desenvolvimento da extensão, foi necessário adaptá-la ao novo espace. Para isto, removi todas as referências à extensão SAP_ConnectivityCfg, através da opção Add/Remove References Window no Service Studio, e no mesmo local inclui as referências para a nova extensão. Apenas mais tarde, após o desenvolvimento do módulo de Lookups, me deparei com um problema relacionado com esta extensão. As suas acções não procediam como era esperado, pois não conseguia invocar o web service SAP_Transparency do módulo Lookups. Depois de analisar o problema, concluí que estas não estavam implementadas, ou seja, não continham o código C# necessário para invocar os web services. Para resolver este problema, abri a extensão no Integration Studio e cliquei na opção Edit Source Code. O código da extensão foi visualizado através do Visual Studio e copiei o código da extensão antiga para a nova, de forma a conseguir ter a mesma funcionalidade implementada. De seguida, fiz 1- Click Publish da extensão para que esta fosse compilada e publicada no servidor, 12 No Service Studio: In the File menu, click Clone. 48

69 ficando assim disponível uma nova versão. Como eu já referenciava a extensão no espace, foi apenas necessário republicar o espace para que as alterações ao código da extensão tomassem efeito e pudesse ser novamente testado. Para testar a extensão, invoquei novamente o web service do módulo Lookups e verifiquei que conseguia aceder às suas funcionalidades Módulo de Lookups O módulo Lookups foi o segundo a ser desenvolvido, pois apenas dependia do módulo de conectividade que já tinha sido implementado. Este espace tem como principal objectivo gerir as tabelas lookup, disponíveis em Oracle E-Business Suite, que serão utilizadas pelos restantes módulos que deste dependam. À semelhança do módulo anterior, a primeira tarefa realizada foi a clonagem do espace SAP_Lookups. Após, procedi à actualização das suas referências, de forma a ligar este novo espace ao módulo previamente implementado. Para tal, foi removida a referência ao espace SAP_Connectivity, sendo esta substituída pela referência ao espace EBS_Connectivity. Após ter estes dois módulos correctamente ligados, procedi a uma análise detalhada das funcionalidades e entidades do módulo Lookups. Como já referido anteriormente, este módulo implementa os web services ConfigurationData e SAP_Transparency, sendo que este último foi renomeado em todos os módulos para EBS_Transparency. O web service ConfigurationData deste módulo é implementado com as seguintes funcionalidades: GetConfigurationData: Efectua o registo dos seguintes pontos de entrada de back-office: gestão de países (countries), gestão de unidades monetárias (currencies), gestão de línguas (languages), gestão de unidades de medida (measurement units), gestão de títulos (titles), gestão de regiões (regions), gestão de condições de pagamento (payment terms), gestão de métodos de pagamento (payment methods) e gestão de tipos de objectos financeiros (accounting object types); DoBootstrap: Efectua o registo do nome do módulo e da localização dos seus serviços no módulo de conectividade, através da acção Register_Module. Posteriormente regista todas as suas entidades no mesmo 49

70 módulo: AccountGroup, Accounting_ObjectType, Country, Currency, Language, MeasureUnit, PaymentMethods, PaymentTerms, ProductHierarchy, Region, StatusValue e Title, utilizando para tal a acção Register_BusinessEntity. Na ilustração 18 pode-se visualizar o seu código. O web service EBS_Transparency deste módulo é implementado com as seguintes funcionalidades: Ilustração 18. Código da acção DoBootstrap. Schedule_Get: Devolve a lista de agendamentos e as datas da última e da próxima sincronização da entidade definida no parâmetro de entrada; Schedule_Set: Define a lista de agendamentos da entidade definida no parâmetro de entrada; Synchronize: Efectua a sincronização da entidade definida no parâmetro de entrada. De seguida passei à análise detalhada das entidades. A ilustração 19 permite-nos visualizar o modelo de dados do módulo. Neste podemos ver as entidades incluídas no módulo Lookups e as suas relações. Aqui podem-se ver as seguintes entidades: 50

71 AccountGroup: Armazena as descrições dos grupos de contas. Exemplos são contas de balaço ou contas de lucros; Accounting_ObjectType: Armazena os tipos de documentos. Exemplos são contratos ou transacção de bens; Country: Armazena uma lista de países. Exemplos são Portugal ou Espanha; Ilustração 19. Modelo de dados do módulo de Lookups. Currency: Armazena uma lista de unidades monetárias. Exemplos euro ou dólar; Language: Armazena uma lista de línguas. Exemplos são português ou espanhol; MeasureUnit: Armazena uma lista de unidades de medida. Exemplos são metros ou segundos; PaymentMethods: Armazena uma lista de métodos de pagamento. Exemplos são débito directo em conta ou cheque; 51

72 PaymentTerms: Armazena uma lista de condições de pagamento. Exemplos são pagamento a 30 ou 60 dias; ProductHierarchy: armazena os produtos do SAP e as suas hierarquias, estas são definidas através de níveis. Exemplos são veículos com nível 1 e carros com nível 2; Region: Armazena uma lista de regiões. Exemplos são Lisboa ou Coimbra identificados por um código; StatusValue: Armazena o valor do estado do documento consoante os tipos de estado. Exemplos são inactivo ou estado global; Title: Armazena uma lista de títulos. Exemplos são Sr ou Eng. Mais detalhe sobre estas entidades, como por exemplo a sua lista de atributos, pode ser encontrado no apêndice D. A análise das entidades foi o primeiro passo para realizar a tarefa Desenvolvimento do módulo de Data Caching (Módulo Lookups) presente no backlog. Esta tarefa consistiu em fazer o mapeamento do modelo de dados actual para o modelo de dados do Oracle E-Business Suite. Isto implicou também uma análise ao ERP da Oracle, de forma a perceber quais as tabelas necessárias do ERP das quais podia extrair a informação necessária. A entidade country armazena os dados relativos a países. Para encontrar tabelas que armazenem esses dados em Oracle E-Business Suite, utilizei a seguinte query: SELECT 'select ''' table_name ''' tabela, count(1) FROM ' owner '.' table_name ' union' FROM dba_tables WHERE Lower(table_name) LIKE Lower('%TERRITORIES%') Encontrei a tabela FND_TERRITORIES_TL que contém os países do Oracle E- Business Suite. Para ser possível fazer queries a esta tabela a partir do espace, tive necessidade de recorrer novamente ao Integration Studio. Para isso criei uma extensão denominada EBS_Lookups_Entities onde, através da funcionalidade de introspecção de bases de dados externas, conseguir importar a tabela FND_TERRITORIES_TL para a extensão. Esta extensão foi utilizada para importar todas as tabelas necessárias ao 52

73 funcionamento do módulo Lookups. Após publicar a extensão no servidor, consegui referenciar a tabela no espace, e assim realizar queries sobre ela. Tendo já acesso à tabela necessária para obter a lista de países do Oracle E- Business Suite, foi necessário identificar no espace as acções responsáveis pelo processo de sincronização de países. Neste conjunto de acções identifiquei o ponto de contacto com o ERP da SAP, ou seja, o local onde a lista de países é obtida, com vista em comutar esse ponto de contacto para o ERP da Oracle. A acção que contém esse ponto de contacto, e que necessitei alterar, foi a Country_SynchronizeAll. A ilustração 20 mostra esta acção, salientando este ponto de contacto. Esta utilizava uma BAPI (Business Application Programming Interface 13 ) para obter a lista de países, que foi substituída por uma query à tabela FND_TERRITORIES_TL, passando assim a obter os dados do ERP da Oracle. Se os dados forem retornados com sucesso, é iniciado o processo de sincronização e são registados os países na entidade country. Ilustração 20. Acção Country_SynchronizeAll. 13 É um conjunto de interfaces para métodos de programação orientado a objectos que permite a um programador integrar software de terceiros para o proprietário do R/3 (produto da SAP). [30] 53

74 Tendo terminado com sucesso a sincronização da primeira entidade, defini o seguinte processo para sincronizar as restantes: 1. Identificar tabela do Oracle E-Business Suite que corresponde à entidade a sincronizar; 2. Importar a entidade no Integration Studio; 3. Identificar o local de extracção dos dados do ERP da SAP; e 4. Substituir a BAPI pela query à tabela do Oracle E-Business Suite. Na tabela 7 é mostrado o mapeamento entre as entidades do módulo Lookups e as tabelas do Oracle E-Business Suite, bem como as acções onde estas são sincronizadas. Entidade EBS_Lookups Tabela do OEBS Acções Account_Group Accounting_ObjectType AccountGroup_SynchronizeAll Accounting_ObjectType_SynchronizeAll Country FND_TERRITORIES_TL Country_SynchronizeAll Currency FND_CURRENCIES Currency_SynchronizeAll Language FND_LANGUAGES Language_SynchronizeAll MeasurementUnit MTL_UNITS_OF_MEASURE_TL MeasureUnit_SynchronizeAll PaymentMethods FND_LOOKUP_VALUES PaymentMethods_Synchronize e PaymentMethods_SynchronizeAll PaymentTerms AP_TERMS_TL PaymentTerms_SynchronizeAll Product_Hierarchy ProductHierarchy_SynchronizeAll Region AP_INCOME_TAX_REGIONS Region_SynchronizeAll Status_Value StatusValue_SynchronizeAll Title HZ_PARTIES Title_SynchronizeAll Tabela 7. Entidades EBS_Lookups e tabelas de OEBS. Como se pode ver na tabela, nem todas as entidades foram sincronizadas. Esta decisão foi tomada no sentido de optimizar o tempo disponível. Estando a prova de conceito realizada com sucesso, foi dado prioridade a prosseguir com a implementação de novos módulos, sendo que se alguma das entidades em falta fosse necessária para o módulo a ser desenvolvido, a prioridade da sua implementação subia, sendo então implementada a sua sincronização. 54

75 Os módulos de Oracle E-Business Suite, utilizados no desenvolvimento deste módulo denominam-se, Accounts Payable (AP), Inventory Management (INV) e tabelas pertencentes ao esquema APPLSYS, estas têm o prefixo de FND, são de configuração e contêm dados de parametrização da Oracle E-Business Suite. Quando estava a desenvolver a sincronização de entidades deparei-me com alguns problemas relativos aos tamanhos de alguns atributos. Por exemplo: 1. Na entidade language, o atributo code tinha o tamanho de 1 carácter. Este tamanho teve de ser alterado para 3 caracteres, pois este é o tamanho do código na tabela do Oracle E-Business Suite. A mesma situação se passou com o atributo name que tinha tamanho 16 e passou a ter tamanho Na entidade country, o atributo fullname tinha tamanho 50 e passou a ter 225. O tamanho dos atributos name, nationality e fullnationality também foi alterado de 50 para 65 caracteres. 3. Na entidade currency, o tamanho do atributo isocode foi alterado de 3 para 4 caracteres. 4. Na entidade measurementunit, o tamanho do atributo code foi alterado de 4 para 5 caracteres. Na tabela 8 pode-se ver a listagem das BAPIs que eram utilizadas por este módulo na ligação ao ERP da SAP e que foram retiradas quando foi efectuada a ligação ao ERP da Oracle. BAPI Utilizada em Descrição Bapi_Currency_Getlist Currency_SynchronizeAll Lista de unidades monetárias. Fi_Paymentmeth_Getlist PaymentMethods_Synchronize Lista de métodos de pagamento Isa_Getpmnttrms_Help PaymentTerms_SynchronizeAll Determina as condições de pagamento dependendo do idioma. Rfc_Read_Table Language_SynchronizeAll, Region_SynchronizeAll, Accounting_ObjectType_SynchronizeA ll, AccountGroup_SynchronizeAll, ProductHierarchy_SynchronizeAll e StatusValue_SynchronizeAll 55 Permite ler remotamente uma tabela SAP.

76 BAPI Utilizada em Descrição Sapnea_Smapi_Country_Ge tlist Country_SynchronizeAll e PaymentMethods_SynchronizeAll Lista de países. Sapnea_Smapi_Title_Getlist Title_SynchronizeAll Lista de títulos. Sapnea_Smapi_Unit_Getlist MeasureUnit_SynchronizeAll Lista de unidades de medida. Tabela 8. Lista de BAPIs do módulo Lookups. Encontra-se em apêndice D uma listagem das acções deste módulo e as suas descrições Módulo Financeiro O módulo financeiro foi o terceiro a ser implementado. Este módulo foi implementado após ter participado em outros projectos relacionados com o ERP da Oracle, onde adquiri competências de negócio relacionadas com fornecedores e clientes que me apoiaram no seu desenvolvimento. Este módulo disponibiliza um conjunto de acções de sincronização de dados financeiros, relacionados com o módulo Financial Accounting (FI) do SAP. Para a implementação deste módulo, à semelhança dos outros módulos, foi necessário proceder à clonagem do espace SAP_FI e actualizar as suas referências de forma a utilizar os módulos previamente implementados (conectividade e Lookups). De seguida prossegui para a análise detalhada do módulo. O web service ConfigurationData deste módulo é implementado com as seguintes funcionalidades: GetConfigurationData: Efectua apenas o registo do nome do módulo no Enterprise Manager; DoBootstrap: Efectua o registo do módulo e das suas entidades no módulo de conectividade. As entidades registadas são: AccountingDocument, BusinessArea, Company, CompanyCode, Customer, CustomerAccount, FunctionalArea, PartnerFunctions, Vendor e VendorAccount. Na ilustração 21 pode-se ver o modelo de dados deste módulo, resultante da análise efectuada às entidades e suas relações. As entidades são as seguintes: 56

77 AccountingDocument: Armazena uma lista de documentos de contabilidade, para cada empresa. Exemplos são, para a empresa itrade AG existem documentos do tipo AA (asset accounting), ou seja documentos de contabilidade de bens; Accounting_Document_Item: Linhas ou detalhe, dos documentos financeiros; Address: Armazena uma lista de endereços compostos por, cidade, distrito, rua, entre outros. Exemplos são Hamburgo ou Paris; Ilustração 21. Modelo de dados do módulo financeiro. BusinessArea: Contém uma relação de áreas de negócio. Exemplos de áreas de negócio são farmacêutica ou electrónica; Company: Armazena uma lista de empresas. Exemplos são IDES Portugal ou IDES France; CompanyAddress: Armazena uma lista de moradas de empresas. Exemplos são Rua da Santos Torre 20 ou Carrer de la Marina 16 / Planta 11º; 57

78 CompanyCode: Armazena uma lista de códigos de empresas. Exemplos são 2100 para a empresa itrade Portugal ou 2200 para a empresa itrade France; Customer: Armazena uma lista de clientes. Exemplos são André Almeida ou Alice Marques; CustomerAccount: Armazena uma lista de contas de clientes. Exemplos são ou ; Customer_SalesArea: Armazena uma lista de relações entre o cliente e a área de vendas a que este pertence; FunctionalArea: Contém uma relação de áreas funcionais. Exemplos de áreas de funcionais são vendas ou investigação e desenvolvimento; IBAN: Armazena uma lista de contas bancárias. Exemplos são DE ou w12; PartnerFunctions: Indica qual é a função de um parceiro de negócio. Exemplos são distribuidor ou representante; Vendor: Armazena uma lista de fornecedores. Exemplos são Electronic Components Distributor ou IKEA; VendorAccount: Armazena uma lista de empresas de fornecedores. Exemplos são o fornecedor Tartan tem a empresa itrade SAP A.G. e a itrade AG; Vendor_BankAccount: Armazena uma lista de contas de fornecedores. Exemplos são ou ; Vendor_PurchaisingOrganization: Relaciona um fornecedor com uma organização de compra. Como se pode ver, nem todas as entidades presentes no módulo são registadas no módulo de conectividade. Isto acontece porque no módulo de conectividade apenas são registadas as entidades das quais se pode despoletar directamente uma acção de sincronização. As restantes entidades são sincronizadas indirectamente, ou seja, por intermédio de outra entidade. 58

79 AccountingDocument: Despoleta a sincronização de Accounting_Document_Item; Customer: Despoleta a sincronização de Address, CompanyAddress e Customer_SalesArea; Vendor: Despoleta a sincronização de IBAN, Vendor_BankAccount e Vendor_PurchaisingOrganization. Na ilustração 22 pode-se ver um exemplo desta sincronização indirecta, onde se pode ver a parte da acção Vendor_Synchronize onde são sincronizadas indirectamente as entidades Vendor_BankAccount e Vendor_PurchaisingOrganization. Ilustração 22. Acção de sincronização de fornecedores. 59

80 Seguindo o mesmo método descrito no módulo de Lookups, foram substituídos os pontos de contacto ao SAP por ligações ao Oracle E-Business Suite. Para tal, foi necessária uma análise mais profunda de forma a identificar as tabelas do OEBS que continham os dados necessários para o preenchimento das entidades referidas em cima. As tabelas que continham os dados pretendidos foram importadas para o módulo financeiro, à semelhança do módulo de Lookups, através de uma extensão denominada EBS_FI_Entities. A maior parte das tabelas necessárias contém dados financeiros, logo pertencem aos módulos de Accounts Payables (AP) e Accounts Receivables (AR). Estes dizem respeito a pagamentos e recebimentos respectivamente. Iniciei a minha pesquisa por tabelas que já conhecia devido à ajuda na implementação de outras aplicações, que são as tabelas com os dados dos clientes e dos fornecedores. A tabela 9 contém as entidades do espace EBS_FI e a sua(s) respectiva(s) tabela(s) em OEBS que contém os dados necessários para a sincronização. Entidade EBS_FI Tabela do OEBS Acções Accounting_Document Accounting_Document_Ite m Address BusinessArea Company CompanyAddress HR_LOCATIONS_ALL e HR_ALL_ORGANIZATION_UNI TS 60 Accounting_Document_Synchronize e Accounting_Document_Get Accounting_Document_Synchronize Customer_Synchronize e GetCustomerChangeStruct_Compan y BusinessArea_Synchronize e BusinessArea_Get Customer_Synchronize, CompanyCode_Synchronize e Company_Synchronize CompanyCode_Synchronize, CustomerAccount_Synchronize, CompanyCode_Get, VendorAccount_Get, VendorAccount_Synchronize, Accounting_Document_Synchronize, Accounting_Document_Get e CustomerAccount_Get

81 Entidade EBS_FI Tabela do OEBS Acções CompanyCode Customer CustomerAccount Customer_SalesArea FunctionalArea IBAN PartnerFunctions Vendor VendorAccount HR_ALL_ORGANIZATION_UNI TS e HR_LOCATIONS_ALL HZ_PARTIES, HZ_PARTY_SITES, HZ_LOCATIONS e HZ_CUST_ACCOUNTS HZ_PARTY_SITES, HZ_CUST_ACCT_SITES_ALL, HZ_CUST_ACCOUNTS e HZ_PARTIES PO_VENDORS e PO_VENDOR_SITES_ALL CompanyCode_Synchronize, CustomerAccount_Synchronize, CompanyCode_Get, VendorAccount_Get, VendorAccount_Synchronize, Accounting_Document_Synchronize, Accounting_Document_Get e CustomerAccount_Get CustomerSalesArea_Synchronize, Customer_Synchronize, Customer_Submit, CustomerAccount_Synchronize, Customer_Update, GetCustomerChangeStruct_Compan y, Customer_Get e CustomerAccount_Get CustomerAccount_Synchronize e CustomerAccount_Get CustomerSalesArea_Synchronize e Customer_Submit FunctionalArea_SynchronizeAll, FunctionalArea_Get e FunctionalArea_Synchronize IBAN_Create PartnerFunctions_SynchronizeAll Vendor_Synchronize, Vendor_Get, VendorAccount_Get, IBAN_Create, VendorAccount_Synchronize e PartnerFunctions_SynchronizeAll VendorAccount_Get, VendorAccount_Synchronize e VendorAccount_GetItem 61

82 Entidade EBS_FI Tabela do OEBS Acções Vendor_BankAccount Vendor_Synchronize e IBAN_Create Vendor_PurchasingOrgani Vendor_Synchronize zation Tabela 9. Entidades EBS_FI, a tabela em OEBS e as acções onde são invocadas. Tal como no módulo anterior, nem todas as entidades foram sincronizadas devido a restrições no prazo do projecto. No entanto, a prova de conceito foi novamente realizada com sucesso. Na tabela 10 podem-se ver as BAPIs retiradas (substituídas por queries às tabelas do Oracle E-Business Suite), bem como a sua utilização e uma breve descrição da sua funcionalidade. Nome da BAPI Utilizada em Descrição Bapi_Businessarea_Ge tdetail Bapi_Businessarea_Ge tlist Bapi_Company_Getdet ail Bapi_Company_Getlist Bapi_Companycode_G etdetail Bapi_Customer_Chang efromdata1 BusinessArea_Synchroni ze BusinessArea_Synchroni zeall Company_Synchronize Company_SynchronizeAl l CompanyCode_Synchro nize Customer_Submit Permite ao utilizador aceder a mais informação sobre uma área de negócio. São retornados um código e detalhes determinados pelo sistema. Proporciona ao utilizador uma lista de áreas de negócio disponíveis e a sua descrição. Permite ao utilizador aceder a mais informação sobre uma empresa. São retornados dados detalhados da empresa determinados pelo sistema. São retornados eventuais problemas sob a forma de código de mensagem. Providencia uma lista de empresas. O sistema retorna os identificadores e os nomes das empresas que existem no sistema. São retornados eventuais problemas sob a forma de código de mensagem. Permite ao utilizador aceder a mais informação para um código da empresa. O sistema retorna dados detalhados e os dados do endereço da empresa. São retornados eventuais problemas sob a forma de código de mensagem. Verifica os dados pessoais de um cliente. 62

83 Nome da BAPI Utilizada em Descrição Bapi_Customer_Create fromdata1 Bapi_Customer_Getdet ail2 Bapi_Customer_Getsal esareas Bapi_Func_Area_Getd etail Bapi_Func_Area_Getli st Bapi_Iban_Getdetail Bapi_Vendor_Getdetai l Bbp_Vendor_Get_Data 2 Fi_Document_Read Customer_Create Customer_Synchronize e CustomerAccount_Synch ronize CustomerSalesArea_Syn chronize FunctionalArea_Synchro nize FunctionalArea_Synchro nizeall IBAN_Create Vendor_ExistsOnSAP Vendor_Synchronize Accounting_Document_ Synchronize Cria um cliente. Informação detalhada do cliente. Cria uma lista de áreas de vendas para o cliente. Fornece informações detalhadas sobre uma área funcional. São retornados os detalhes determinados pelo sistema. Lista de áreas funcionais. Este método permite ao utilizador listar dados detalhados de uma ordem de compra. Informação detalhada do fornecedor. São retornados dados gerais, uma tabela com dados de conta e dados de código específicos da empresa. Replicação de fornecedores mestre para negócio. Ele dá a lista de todos os registos de linha para esse documento. Iside_Ce_Vendor_Rea d VendorAccount_Synchro Ler dados do fornecedor mestre. nize Tabela 10. Lista de BAPIs do módulo financeiro. Encontra-se no apêndice E uma listagem das acções do módulo financeiro e as suas descrições. 4.2 Integração SICGesT - Q2 A minha participação neste projecto permitiu-me uma melhor e mais rápida aprendizagem na plataforma OutSystems e em Oracle E-Business Suite. Este projecto consistiu na integração de um sistema de gestão documental com o sistema de gestão de 63

84 contabilidade (SICGesT) de um cliente da Truewind. Esta integração dividiu-se em três partes, que descrevo de seguida Migração Q1 para Q2 Existiam cerca de 40 mil de documentos em Q1 (Gestão Documental versão 1) dos quais o SICGesT armazenava os respectivos urls das digitalizações. Com a nova aplicação de gestão documental (Q2, Gestão Documental versão 2) colocou-se a questão de o que fazer para que os dados guardados em Q1 fossem reflectidos em Q2. Estes dados não podiam simplesmente ser migrados para a base de dados pois ficariam desactualizados. Para superar este problema o Q2 disponibilizou um web service que contém uma acção de conversão, esta recebe como parâmetro de entrada o identificador do documento em Q1, e retorna o identificador do documento em Q2 e o novo url em Q2. Com base nesses dados, actualizámos os dados em SICGesT, guardando também os dados do Q1 (identificador e o url) para questões de despiste. Os dados da migração são guardados numa tabela, a C_PRX_GEDOC, que existia antes da migração e faz parte do fluxo financeiro do SICGesT. Foi necessária a alteração desta, acrescentando colunas que permitissem o armazenamento dos dados novos. Estas colunas novas guardam o identificador antigo do Q1 (OLD_QUA_ID), o url da digitalização antiga do Q1 (OLD_QUA_URL), o novo url do Q2 (URL_Q2), o identificador do Q2 (GUID_Q2) e o nome do documento (STATUS_QUADRANTE). É necessário obter o identificador do Q1 para este ser enviado ao web service do Q2. Sendo assim é necessário fazer uma query à tabela C_PRX_GEDOC, onde obtemos todos os documentos que têm digitalizações associadas, ou seja, todos os registos que na coluna URLDOC contêm a palavra quadrante. Depois de obtidos os resultados da query, percorremos todos os registos e para cada um é invocada a acção do web service, passando como parâmetro de entrada, a chave primária da tabela e o GedocId (identificador do Q1). Os parâmetros de saída, o novo identificador e o novo url, são armazenados no registo corrente, nas colunas descritas em cima. A ilustração 23 apresenta o modelo de dados construído para guardar o histórico da migração dos dados Q1 para Q2. 64

85 Ilustração 23. Modelo de dados da migração. A vantagem desta aproximação por web service é que se trata de um processo automático (mitigando erros humanos) que pode ser testado antes da entrada em produção. A alternativa seria enviarmos um ficheiro Excel com a informação toda a ser actualizada no Q2 (processo manual a ser executado no dia da entrada em produção) Integração sentido Q2 para SICGesT A integração no sentido Q2 para SICGesT consistiu em dar entrada no SICGesT de documentos do tipo financeiro provenientes do sistema Q2. O fluxo definido com o Q2 é o seguinte: os documentos começam por ser digitalizados por um operador, recorrendo ao Q2. Depois são classificados pelo operador e enviados ao SICGesT individualmente via web service, sendo que para tal, o Q2 invoca um web service disponibilizado pelo SICGesT, numa lógica de push, em que envia: Q2_Guid: o identificador do documento; Q2_RegNum: o número que identifica o documento; Q2_Screen_Url: o url do documento no Q2; Q2_Img_Url: o url da digitalização do documento no Q2; Q2_Book: o livro a que pertence o documento; Bue_Entidty_Id: identificador da entidade na Base Única de Entidades, denominda ENTITAS (ver secção 4.4 ); Q2_Entity: o NIF: o NIF da entidade associada ao documento; 65

86 o Name: o nome da entidade; o Address: a morada da entidade; o PostalCode: o código postal da entidade; o Locality: a localidade da entidade; o Country: o país da entidade; o Guid: o identificador da entidade em Q2; Username, o nome do utilizador para a autenticação no web service; Password, a senha para a autenticação no web service. Quando invocado o web service, é necessário registar os dados enviados para este. A ilustração 24 apresenta o modelo de dados definido para a integração no sentido Q2 para SICGesT. Ilustração 24. Modelo de dados da integração no sentido Q2 para SICGesT. Quando o operador do SICGesT, na fase de classificação do documento, detecta que foram introduzidos dados incorrectos aquando da 1ª fase de qualificação no Q2, tem a possibilidade de os corrigir, alterando-os no próprio ecrã de classificação. Para que esses dados sejam actualizados no Q2 é invocado um web service. No caso em que tudo corre bem e não há nada a actualizar é enviado o identificador SICGesT do documento, finalizando este processo. Os dados de entrada no web service que a aplicação não tem possibilidade de validar são os seguintes: Q2_DocId; Q2_RegNum; 66

87 Q2_Screen_Url; Q2_Img_Url; BUE_EntidadeId. Os dados de entrada que a aplicação valida se vêm preenchidos e se contêm informação correcta: Q2_Book: tipo de documento; Q2_Entity: o Q2_NIF; o Q2_Nome; o Q2_Morada; o Q2_CodPostal; o Q2_País. Estes dados são validados na aplicação. Estas validações dizem respeito a campos obrigatórios, NIFs inválidos, entre outras. Caso estas falhem é retornada uma mensagem de erro dependente da validação. O ecrã do Q2 fica bloqueado à espera que o operador introduza os dados correctos. Quando isto acontecer, o web service retorna uma mensagem de sucesso. 67

88 Ilustração 25. Fluxo de integração Q2 para SICGesT. A ilustração 25 apresenta o fluxo desta integração, para uma melhor percepção. Foi criado um ecrã de listagem de facturas (documentos em Q2) a registar no SICGesT. Este ecrã pode inicialmente filtrar os registos por nome do fornecedor e estado da factura. Os valores dos filtros são os seguintes: Todos: mostra todos os registos; Por Classificar: mostra apenas os registos que estão por classificar; Livro Não Financeiro: mostra os registos que inicialmente foram classificados como documentos financeiros e que depois foram alterados para outro livro. Estes estão disponíveis apenas para consulta; Requalificar a entidade: mostra os documentos em que foi necessário alterar a entidade, porque tinha sido mal atribuída em Q2; Classificado: mostra todos os documentos que já estão classificados. Estes estão disponíveis apenas para consulta; 68

89 Cancelado: mostra todos os documentos que por alguma razão foram cancelados. Estes também estão disponíveis apenas para consulta. É ainda possível filtrar os documentos por NIF do fornecedor, livro a que pertence (esta lista de valores contém o tipo de documento a que pertence o registo. Os tipos de documentos são DOCFIN Documento Financeiro ou Documentos Financeiros das Escolas de Hotelaria) e por data de modificação. A ilustração 26 apresenta o ecrã de listagem descrito em cima. Ilustração 26. Ecrã que lista documentos em espera. Quando o utilizador pretende classificar uma factura, acede ao ecrã apresentado na ilustração 26, faz a sua pesquisa e depois carrega no botão Registar. De seguida é direccionado para o ecrã de classificação de facturas, que permite ao utilizador introduzir valores para a classificação da factura e visualizar a digitalização dela. No ecrã de classificação de facturas é apresentada a informação relativa à factura e os campos necessários para a sua classificação. Estes são os seguintes: GUID: o identificador do documento no Q2; Tipo de documento: corresponde ao livro em que a factura está inserida; Dados da entidade: o NIF; o Nome; o Morada, 69

90 o Código Postal; o Localidade; o País. Dados para classificar a factura: estes aparecem ao utilizador como listas de valores. O utilizador só pode escolher uma das opções disponibilizadas, facilitando assim a classificação destas: o Tipo de Documento; o Número da factura; o Data da factura; o Data de vencimento da factura; o Termos de pagamento; o Descrição: esta é preenchida com o assunto do documento em Q2, informação que obtemos através de um web service do Q2; o Valor da factura; o Unidade monetária; o Código do IVA; o Tipo de terceiro; o Retenção na fonte; o Unidade; o Contrato; 70

91 o Proposta. Ilustração 27. Ecrã onde é classificada a factura. A ilustração 27 apresenta o ecrã de classificação de facturas, neste são solicitados ao utilizador os dados descritos em cima. Se os dados da entidade não estiverem correctos, é permitida a sua alteração carregando no botão Alterar Entidade. De seguida, o utilizador introduz o NIF da entidade pretendida e a aplicação vai carregar os dados da base de dados, caso existam. Caso não existam, é dado ao utilizador a possibilidade de criar uma nova entidade. No final das alterações à entidade, o utilizador necessita de carregar no botão Guardar Alterações, para que estas alterações possam ser reflectidas na base de dados. Depois de o utilizador inserir os dados no ecrã, basta carregar no botão de Guardar para inserir a factura classificada. Se forem detectados erros nas validações, como por exemplo, campos obrigatórios, validações financeiras, entre outras, é indicado ao utilizador que necessita de preencher o campo, ou corrigir a situação em questão. Quando o operador carrega no botão Guardar é invocado um método de um package PL/SQL, que tem como objectivo inserir a classificação da factura com todos os seus 71

92 dados numa tabela em Oracle. A partir deste ponto a factura segue o fluxo financeiro de facturas do SICGesT. Este package faz as validações necessárias para que não sejam introduzidos dados incorrectos. Estas são realizadas a nível de campos obrigatórios que são deixados em branco, de campos que necessitam de ter valores positivos e recebem um valor negativo ou vice-versa, de já se encontrar registado o nº da factura para aquele fornecedor ou simplesmente um erro não especificado em que o utilizador o reporta ao suporte da aplicação Integração sentido SICGesT para Q2 A integração no sentido SICGesT para Q2 consistiu em passar para Q2 os documentos do tipo propostas realizados no SICGesT. Esta integração é contínua, ou seja, sempre que uma proposta é criada em SICGesT também é criada uma em Q2. Para que a integração se processe com sucesso é necessário armazenar identificadores, que possibilitam a ligação SICGesT com o Q2. Estes são apresentados no modelo de dados representado na ilustração 28. Ilustração 28. Modelo de dados da integração SICGesT para Q2. Nesta fase de integração o que acontece é que o operador quando pretende criar uma proposta financeira, necessita de criar um registo em Q2. Depois da criação do registo, o utilizador deverá ir ao tabulador denominado Proposta Financeira, que é um ecrã SICGesT, para criar a sua proposta financeira. 72

93 A integração a partir desta fase é realizada através de invocações de métodos de web services do Q2. A ilustração 29 apresenta o fluxo de integração no sentido SICGesT para Q2. Ilustração 29. Fluxo de integração SICGesT para Q Correcção de Propostas Foi necessário corrigir algumas propostas financeiras que ficaram com alguns campos desactualizados na base de dados, pois tinham sido criadas antes de ser terminada a integração sentido SICGesT para Q2. Estes valores a actualizar são campos que contêm identificadores do Q2. É com base nestes que a ligação entre Q2 e SICGesT é processada. Na maior parte das situações o fluxo a seguir é abrir o documento no Q2, depois ir à distribuição financeira (proposta no documento Q2) e observar se as etapas desta se encontram correctas. Caso estejam, retiro dois identificadores (um da distribuição e o outro da etapa) do url e depois faço um UPDATE ao registo da proposta na base de dados. Caso a etapa não se encontre correcta, é necessário corrigi-la, adicionando uma etapa para a pessoa que se segue, consoante o fluxo da proposta financeira SICGesT. Se as etapas da distribuição estiverem todas, ou grande parte delas, incorrectas, é 73

94 necessário remove-la e recria-la através de um ecrã que me foi disponibilizado para criação de distribuições financeiras no Q2. Este ecrã cria a distribuição com as etapas correctas, com base nos dados da proposta SICGesT armazenada na base de dados. Os scripts que utilizei para actualização de identificadores e selecção de dados da base de dados são os seguintes: SELECT * FROM hubadmin.q2_proposta WHERE regnum LIKE '%ENT/2010/8471' SELECT header_id, q2_guid_distr, q2_guid_etapa, status_quadrante, estado, numero, ser_id FROM custom.c_prx_sgdf_prop_headers WHERE status_quadrante LIKE 'ENT/2010/8471' UPDATE custom.c_prx_sgdf_prop_headers SET q2_guid_distr = '8114dc6e-a2a8-48c5-847b-9d7300a96de2', q2_guid_etapa = '48d6a1d a3-afb6-9d c9' WHERE status_quadrante = 'INT/2010/1422' UPDATE hubadmin.q2_proposta SET distribution_guid = '8114dc6e-a2a8-48c5-847b-9d7300a96de2' WHERE regnum LIKE '%INT/2010/1422' UPDATE hubadmin.q2_proposta SET get_hash_repeat = 'N' WHERE regnum LIKE '%INT/2010/1422' UPDATE custom.c_prx_sgdf_prop_headers SET q2_fix = trunc(sysdate) WHERE status_quadrante = 'INT/2010/1422' 74

95 4.3 ECR Caixa Registadora A aplicação ECR (Electronic Cash Register) tem como objectivo efectuar compras, através de vários meios de pagamento e a integração com sistemas que necessitem desta funcionalidade. Entre os meios de pagamento, estão incluídos o pagamento através de referências multibanco e através de um TPA Terminal de pagamento automático. Nesta aplicação o principal objectivo foi a construção de um web service. Este denomina-se Ecr e tem como objectivo, disponibilizar acções que criam transacções e pagamentos no SICGesT. Esta é a interface que permite a integração com aplicações externas, clientes da Caixa Registadora do SICGesT. A aplicação contém para além do web service, um ecrã que permite efectuar pagamentos de transacções. Este é disponibilizado a uma aplicação externa (de outra empresa) que gera as escolas de hotelaria de um cliente da Truewind. A ilustração 30 apresenta o ecrã. Ilustração 30. Ecrã de efectuar pagamento. 75

96 A minha participação neste projecto foi a nível de testes de integração com a aplicação de gestão escolar e correcções de erros que aparecessem com os testes. De seguida apresento os testes efectuados. Para a acção do web service, CreateTransaction foi necessário efectuar os seguintes testes: Criar transacções com produtos que possam ser pagos em várias prestações; Criar transacções com produtos que não podem ser pagos em prestações; Criar transacções a prestações, com produtos que devem ser pagos a prestações; Criar transacções com os dois tipos de formação Formação Inicial e Formação Contínua ; Criar transacções com os produtos Candidaturas e Matrículas de 1º ano, pois estes têm propriedades diferentes nos outros anos; Criar transacções com os produtos Certificados, Diplomas e Exames, porque estes foram definidos como produtos que podem ser comprados a crédito. Para a acção MakePayment do web service: Criar vários recibos para a mesma transacção, isto para transacções que possam ser pagas a prestações; Para a acção GenerateMBReference do web service: Gerar referências multibanco para diversas transacções. Para a acção CreateCreditMemo do web service: Criar várias notas de crédito para uma transacção a prestações; Gerar notas de crédito para diferentes transacções. Para a acção GetTransactionInfo do web service: Verificar se os dados do ecrã de teste estão correctos; Para a acção GetDocuments do web service: 76

97 Obter os documentos para diversas transacções (a prestações e a pronto pagamento). Para o ecrã de listagem de transacções, denominado Documentos: Verificar se os dados das colunas e os documentos existentes para a transacção criada estão correctos; Validar se as facturas e recibos estão com valores correctos; Para pagamentos de várias prestações, validar se a lista de recibos contém os valores correctos. Para o ecrã de efectuar pagamento: Testar o pagamento de várias prestações de uma transacção; Testar as várias formas de pagamento. Para os testes do efectuar pagamento, foi criado um ecrã que lista todas as transacções existentes. Se estas não estiverem pagas é dada a possibilidade de efectuar o seu pagamento, abrindo o ecrã de Efectuar Pagamento a partir deste. Ilustração 31. Ecrã dos Documentos. A ilustração 31 exibe o ecrã de listagem de documentos. 77

98 Foi ainda necessário realizar correcções ao design do ecrã, onde é apresentada a factura para que esta fosse impressa numa impressora matricial. O ecrã inicial estava adaptado para a impressão de facturas em folhas A4. Para uma melhor percepção do funcionamento da caixa registadora escrevi o manual de utilizador, onde descrevo o fluxo de um pagamento, com as respectivas imagens e descrições das etapas. 4.4 Gestão de Entidades Num cliente da Truewind, foi criado um repositório central de entidades, a ENTITAS, que tem como objectivo armazenar todas as entidades (fornecedores e clientes). Com isto, foi necessário sincronizar todas entidades utilizadas em SICGesT (aplicação de gestão financeira do cliente), com a base única de entidades. Foi então criado o projecto Gestão de Entidades. O pretendido era que toda a informação de fornecedores e clientes estivesse na ENTITAS, dado que já estava no SICGesT. Para solucionar este problema, foi realizada uma análise onde se definiu o fluxo a seguir para a implementação da aplicação. Com base na análise realizada construi o modelo de dados apresentado na ilustração 32. Ilustração 32. Modelo de dados da Gestão de Entidades. As tabelas PO_VENDORS e PO_VENDOR_SITES_ALL contêm dados relativos a fornecedores, a FND_TERRITORIES_TL contém os possíveis países em Oracle E- Business Suite e por fim a HZ_PARTIES contém os dados relativos a clientes. O fluxo adoptado pode ser visualizado na ilustração 33 e consiste no seguinte: Efectuar uma pesquisa na ENTITAS: 78

99 o Se a entidade existir na ENTITAS: É feita uma actualização nas tabelas SICGesT, com os dados da ENTITAS; o Se não existir na ENTITAS: E existir nas entidades SICGesT, é criada uma entidade na ENTITAS com os dados do SICGesT; o Se não existir em ambos os lados é criada uma entidade, em ambos os lados. Ilustração 33. Fluxo da Gestão de Entidades. As actualizações e criações de entidades no SICGesT são realizadas através de invocações de lógicas de negócio, que estão em packages 14 PL/SQL na base de dados do cliente. 14 Um package é um conjunto de procedimentos, funções, variáveis e declarações SQL criado como uma única entidade. 79

100 Se a pesquisa não retornar dados, é necessário o utilizador inserir informação relativa à entidade. Essa informação consiste no NIF, no nome, na morada, no código postal, na localidade e no país. Após a introdução destes dados a entidade é criada na ENTITAS e no SICGesT. A ilustração 34 apresenta o ecrã de criação de entidades, sendo que a única opção disponível para pesquisa é o NIF. Se a entidade existir, os dados são apresentados, mas sem permissão para serem alterados. Se a entidade não existir, é retornada uma mensagem ao utilizador, informando-o que esta não existe e que ele pode criar uma entidade nova. Os campos onde o utilizador insere os dados, são disponibilizados, apenas se uma entidade não existir, permitindo assim a criação de uma nova entidade. Este processo é finalizado quando utilizador carrega no botão Ok e não são devolvidos erros. Os erros podem ser relativos a NIFs inválidos, preenchimento de campos obrigatórios (NIF e nome) ou erros de Oracle E-Business Suite, retornados na invocação do package. Ilustração 34. Ecrã de pesquisa e criação de entidades. 4.5 Gestão de Frotas Esta aplicação tem como principal objectivo a gestão das frotas de um cliente da Truewind. A Gestão de Frotas contém as seguintes funcionalidades: Registo de requisições de viaturas para colaboradores; Atribuição de motorista; 80

101 Registo de devoluções (recibos de combustível, registo de acidentes, furos, km actuais da viatura); O gestor de frotas pode ainda, e sempre que necessário, colocar as viaturas em estado de manutenção ou avaria, e atribuir viaturas e motoristas às requisições. Sempre que é realizada uma requisição o director do departamento recebe uma notificação por correio electrónico para aprovar a requisição. Depois de esta ser aprovada, o gestor de frota é notificado por correio electrónico que tem uma requisição para atribuir uma viatura e um motorista, este último é opcional. A devolução de viaturas é realizada como as requisições, e nesta devem ser indicados os quilómetros finais, bem como observações de furos e abastecimentos se ocorrerem. O processo de devolução também tem de ser aprovado. Quando a viatura é devolvida o gestor de frota recebe uma notificação por correio electrónico indicando que esta deve ser aprovada. A aplicação gere ainda conflitos provenientes de requisições para a mesma viatura ou motorista indicando indisponibilidade para aquela data. Com estas notificações por correio electrónico, começaram a surgir alguns problemas. Estes eram relativos a utilizadores que recebiam notificações quando a requisição já tinha sido cancelada, ou recebiam uma notificação de atraso quando a viatura ainda estava dentro da data limite de entrega. Não era possível explicar o porquê de estas situações acontecerem, porque a tabela onde são armazenados os s a enviar é apagada quando estes são enviados, não sendo possível despistar este problema. Para solucionar este problema foi necessário criar uma tabela de histórico designada MGF_HISTORICO_ . Os seus atributos e tipos são apresentados na tabela 11. Atributo ID ID_Requisicao Estado_Req ID_ Tipo NUMBER(10) NUMBER(10) VARCHAR2(255 Byte) NUMBER(10) 81

102 Atributo TO CC Subject Body URL Tipo VARCHAR2(512 Byte) VARCHAR2(512 Byte) VARCHAR2(512 Byte) CLOB VARCHAR2(512 Byte) Accao VARCHAR2(255 Byte) Tabela 11. Atributos e tipos da tabela MGF_HISTORICO_ . Esta tabela passou então a registar as notificações, que eram enviadas por correio electrónico, para posteriormente auxiliarem na percepção de possíveis problemas. A ilustração 35 apresenta o modelo de dados após esta alteração à aplicação. Ilustração 35. Modelo de dados da Gestão de Frotas. Com esta alteração, passou então a ser possível despistar os possíveis problemas que possam aparecer relativamente às mensagens de correio electrónico. 82

103 4.6 SicG_Singap O Singap é um projecto de gestão de processamento de salários e outros processos de recursos humanos de um cliente da Truewind. Sendo que, há uma necessidade dessa informação ser disponibilizada ao director financeiro, foi construída uma aplicação, o SicG_Singap, que permitisse essa funcionalidade. Para a implementação da aplicação, foi necessário que o Singap disponibilizasse um web service que devolvesse a informação pretendida. Este contém duas acções, RegistosContabilidade, método para listar registos das afectações de um mês de processamento, com limite por data e a RegistosContabilidadeGlobal, método para listar registos das afectações de um mês de processamento, sem limite de data. Foi implementado nesta aplicação, um web service denominado InfoSicGest, que disponibiliza acções de consulta no SICGesT, com informação relativa a acções, centros de responsabilidade (departamentos da empresa), classificações económicas, contas POC (Plano oficial de contabilidade), fontes de financiamento e produtos. O director financeiro pode assim, todos os meses ir à aplicação e importar os dados do Singap para o OEBS e consultá-los quando pretender. A minha participação nesta aplicação, consistiu em melhorar o aspecto e a facilidade de navegação no ecrã que disponibiliza a informação do web service InfoSicGest. Este permite ainda a importação e a eliminação dos registos Singap. A listagem dos registos era realizada de uma só vez, o que tornava difícil a sua percepção e gerava confusão, então implementei através de uma funcionalidade da plataforma a navegação nos registos, passando a ser apresentados de 50 em 50. Foi ainda necessário corrigir o esquema de permissões de acesso à aplicação, para isso criei duas áreas de permissão (Permission Area). Uma área de permissão tem como objectivo a representação de um grupo de elementos que partilham os mesmos privilégios, esta pode ser pré-definida ou criada pelo programador. Denominei-as Singap_Consultar e Singap_Importar, estas têm como objectivo respectivamente a possibilidade de consultar registos e a possibilidade de importar registos do Singap. Sendo que, a única pessoa que fica com a possibilidade de importar registos é o director financeiro. 83

104 4.7 SicG_Authentication Este projecto tem como objectivo gerir utilizadores e permissões do SICGesT, através de ecrãs implementados em tecnologia OutSystems com junção a Oracle E- Business Suite. Existe um fluxo de gestão de utilizadores onde é possível criar, listar e editar utilizadores do Enterprise Manager e do SICGesT. É ainda possível comparar informações destes e enviar mensagens de correio electrónico notificando problemas com utilizadores. Para gerir os web services existem dois ecrãs, um de listagem e um de edição. Estes tinham problemas em acções finais, como armazenar alterações e registar novos utilizadores de web services. Para a resolução destes, foi necessária uma análise das suas funcionalidades e armazenamento de dados. A ilustração 36 apresenta o modelo de dados da aplicação. Após a sua análise, conclui que as tabelas que necessitava para resolver o problema, seriam as que dizem respeito a autenticação de clientes nos web services, estão são a Auth_ClientAPP e a Auth_ClientApp_Permission. Ilustração 36. Modelo de dados so SicG_Authentication. 84

105 Foi necessário alterar algumas acções da aplicação, para a resolução do problema. A acção de guardar as alterações foi alterada, passando a enviar os dados correctos para a criação de acessos dos utilizadores, aos web services. Passou a ser possível a criação de um acesso a um web service, directamente no ecrã de listagem. Nos campos não flexíveis e obrigatórios na criação de um acesso é apresentada uma lista de valores, com os possíveis dados para aquele campo. Depois de criado o acesso, a página refresca automaticamente. A imagem do ecrã de listagem de acessos é apresentada na ilustração 37, para uma melhor percepção da funcionalidade implementada. Ilustração 37. Ecrã de listagem e criação de acessos aos web services. 85

106 86

107 Capítulo 5 Competências Adquiridas Neste capítulo apresento as competências adquiridas ao longo dos 9 meses de estágio na Truewind, falando na minha passagem por um cliente da empresa. Quando ingressei na empresa, em Setembro do ano passado, comecei por realizar uma certificação em OutSystems com o objectivo de adquirir o grau de Trainee Developer. Este grau era composto na altura por dois módulos, sendo que neste momento foi actualizado com um terceiro, que aborda as novas funcionalidades da plataforma OutSystems 5.0 (a versão actual da plataforma). No primeiro módulo adquiri conhecimentos sobre os conceitos da plataforma ágil, criação de tabelas de listas de dados, actualização e remoção de dados, relações entre tabelas, modelação de dados, validações de espaces, trabalhar com ficheiros Excel através da plataforma, fazer debug de espaces, procurar e filtrar dados, validação de ecrãs, reutilização de ecrãs e lógica, gestão de aplicações, reutilização de blocos de lógica desenvolvidos pela comunidade OutSystems, interfaces AJAX, listas em AJAX e paginação. No segundo módulo são abordados conceitos relativos a extensões, autenticação e segurança, lógica assíncrona, web services, utilização de um conjunto de normas de design (Style Guide, solução da OutSystems) e conceitos e utilização do Enterprise Manager. Adquiri conhecimentos na metodologia ágil, o SCRUM, através das reuniões diárias, Scrum Daily Meeting que tínhamos, onde cada um dos elementos do projecto fala sobre o progresso do seu trabalho, problemas a ultrapassar e qual a próxima tarefa a realizar. 87

108 A minha participação no desenvolvimento de várias aplicações OutSystems possibilitou-me uma rápida aprendizagem, beneficiando da ajuda dos meus colegas de trabalho, que sempre se demonstraram muito disponíveis. Dada a sua experiência na área, transmitiram-me os conceitos mais utilizados, as técnicas de boa programação e as regras que empregam, como por exemplo a utilização do Style Guide. As minhas tarefas iniciais obrigaram-me a visualizar o código já efectuado por programadores experientes, e assim identificar padrões de boas práticas de desenvolvimento. Com o objectivo de me proporcionarem uma melhor percepção da implementação de funcionalidades, por exemplo quando fazia testes a funcionalidades, aconselhavam-me a usar o modo de depuração do Service Studio, conseguindo assim perceber a implementação da funcionalidade desenvolvida. A integração entre OutSystems e Oracle E-Business Suite foi também um dos conhecimentos adquiridos, através de importação de dados e de lógica de negócio. Por exemplo, a aplicação ECR necessita de lógica de Oracle E-Business Suite para as suas acções funcionarem como esperado. Para gerar uma nota de crédito é necessário invocar um método de um package, que por sua vez invoca lógica do EBS. O mesmo acontece nas acções que geram os recibos e facturas. Com esta aplicação adquiri conhecimentos em EBS sobre como gerar notas de crédito, recibos e facturas, efectuar pagamentos e criar transacções. As competências adquiridas em Oracle E-Business Suite com a aplicação Gestão de Entidades estão relacionadas com a criação e actualização de fornecedores e clientes. Também nesta aplicação é invocado um método de um package que invoca a lógica do EBS. É necessário ter atenção a algumas regras na criação de novas entidades. Segundo a lógica do Oracle E-Business Suite, por exemplo na criação de um fornecedor ou cliente, os campos NIF e nome são obrigatórios. Quando se pretende alterar a morada de um cliente, e este também é fornecedor, a morada tem de corresponder com a que está definida no fornecedor. Quando queremos criar um fornecedor com um NIF de um cliente, então este registo tem de ser igual ao definido no cliente, pois não é possível existirem duas entidades com o mesmo NIF, em que os registos contenham campos diferentes. Como estes exemplos, muitas mais regras de validação existem. Na aplicação Integração SICGesT Q2 também foram adquiridas competências em Oracle E-Business Suite, no que diz respeito a classificação de facturas. Aprendi que para classificar uma factura é necessário o número, o valor, a data, a descrição, o tipo da 88

109 factura, o tipo de terceiro (tipo do fornecedor), o código do IVA, a retenção na fonte (se possuir), a unidade monetária em que a factura foi emitida, a unidade (o departamento), o contrato e a proposta a que diz respeito. Também neste processo é necessário ter em atenção algumas regras. Por exemplo, se a factura for do tipo nota de crédito ou reposição abatida ao pagamento (RAP), o seu valor tem de ser negativo. Existem também algumas dependências que necessitam de ser validadas, como por exemplo, o tipo de terceiro depende do identificador do fornecedor, o contrato depende do tipo de terceiro e da data da factura e, por fim, a proposta depende da unidade em que a factura está inserida. No desenvolvimento dos Serviços de Transparência para Oracle E-Business Suite, foi necessária uma análise do ERP. Foram adquiridas competências nos módulos Accounts Receivable (AR), Accounts Payable (AP), Human Resources (HR), Inventory Management (INV) e tabelas pertencentes ao esquema APPLSYS. Estas têm o prefixo de FND, são de configuração e contêm dados de parametrização da Oracle E-Business Suite. As tabelas com prefixo FND foram utilizadas no módulo de Lookups. Um dos módulos mais relevantes na realização das aplicações do estágio é o Accounts Payable (AP), este tem como objectivo gerir o processo de pagamentos de contas, fornecedores, facturas, recibos, pagamentos, relatórios de despesa, períodos contabilísticos, entre outras coisas. Foi neste módulo, onde adquiri mais competências em Oracle E-Business Suite. 89

110 90

111 Capítulo 6 Conclusões e Trabalho Futuro 6.1 Conclusões No inicio do estágio realizado na disciplina de Projecto em Engenharia Informática foram definidos os objectivos apresentados no capitulo 1. Inicialmente foi prevista a realização de um projecto que permitiria a colaboração entre organizações e os seus fornecedores, desenvolvido em tecnologia OutSystems. Devido a necessidades da empresa este planeamento inicial teve de ser alterado, pois surgiram outras aplicações que necessitavam de apoio na sua implementação. Estas assentavam no mesmo contexto tecnológico, logo esta mudança não foi vista como um problema, mas sim uma mais-valia para mim, porque consegui rapidamente desenvolver competências técnicas em OutSystems e em Oracle E-Business Suite, cumprindo assim um dos objectivos do estágio, o de formação base no desenvolvimento de aplicações com a plataforma OutSystems. Um dos objectivos definido foi a análise do módulo aplicacional do ERP Oracle E- Business Suite (Compras, Logística e Aprovisionamento) para a extracção do modelo de dados e métodos que permitam a execução de funcionalidades do ERP. Esta análise foi breve a nível do modelo de dados do módulo de Logística e Aprovisionamento, sendo mais aprofundada no módulo de compras para o desenvolvimento da camada Serviços de Transparência para Oracle E-Business Suite. Nos outros projectos em que participei esta análise não necessitou de ser muito aprofundada, pois as pessoas com quem trabalhei têm conhecimentos sobre esta e fazem-me chegar a informação sobre os módulos relevantes na realização da aplicação. Outro dos objectivos que foi cumprido diz respeito à codificação dos módulos desenhados em tecnologia OutSystems para invocação das funcionalidades do ERP 91

112 privilegiando a prototipagem rápida indispensável à garantia da viabilidade da solução. Este foi atingido no projecto Integração SICGesT Q2, por exemplo quando é necessário classificar uma factura, no projecto ECR quando é necessário efectuar um pagamento ou no projecto Gestão de Entidades quando queremos criar uma entidade. Por fim, o último objectivo pretendido era validar e avaliar o funcionamento das aplicações desenvolvidas por oposição às funcionalidades standard do ERP, e este foi atingido nas aplicações em que tive uma maior participação. Na aplicação Integração SICGesT para Q2 a avaliação é muito boa, pois grande parte das funcionalidades desta, quando realizadas no módulo de accounts payables do Oracle E-Business Suite, são muito morosas e com excesso de campos a preencher. Na aplicação ECR Caixa Registadora este objectivo também foi cumprido com sucesso, porque para as mesmas operações, consegue-se uma execução mais rápida e simples na aplicação OutSystems em comparação com a utilização do módulo de accounts payables e accounts receivables do Oracle E-Business Suite. Estas operações dizem respeito a criar transacções, pagamentos, aceder a recebimentos e visualizar as listas de pagamentos e recebimentos. Por fim, na aplicação Gestão de Entidades a avaliação foi muito boa, pois o utilizador não necessita de ir aos módulos de accounts payables ou accounts receivables do Oracle E-Business Suite quando necessita de criar uma entidade, bastando para isso indicar os dados mais importantes na aplicação web. Pode também na mesma aplicação obter dados de entidades, enquanto no Oracle E-Business Suite teria de navegar de módulo para módulo. 6.2 Trabalho Futuro Tendo em conta a minha alocação de 50% no projecto Supplier Self Service e dada a sua dimensão é necessário a realização de trabalho futuro para a conclusão deste. Para a conclusão da sincronização de dados da camada Serviços de Transparência para Oracle E-Business Suite são necessários desenvolvimentos no módulo financeiro, gestão de materiais e nas vendas e distribuição. No módulo financeiro é necessário implementar as seguintes funcionalidades: Invocação de lógica em Oracle E-Business Suite, que permita: o Criação de clientes, esta lógica tem de ser implementada na acção Customer_Create, deste módulo; 92

113 o Alteração de dados de clientes, esta lógica tem de ser implementada na acção Customer_Submit e na GetCustomerChangeStruct_Company deste módulo; o Sincronização das entidades Accounting_Document, Accounting_Document_Item, BusinessArea, Customer_SalesArea, FunctionalArea, Partner_Functions e Vendor_PurchasingOrganization. Actualizar as referências dos módulos de vendas e distribuição e as de gestão de materiais, depois de estes estarem implementados com ligação a Oracle E-Business Suite. Efectuei uma análise inicial ao módulo de vendas e distribuição (SD - Sales and Distribution). Desta análise resultou uma lista de acções a implementar e uma lista de BAPIs a retirar. Esta informação e o seu modelo de dados encontra-se no apêndice F. No módulo de vendas e distribuição é necessário implementar as seguintes funcionalidades: À semelhança dos módulos anteriores, é necessário clonar o espace SAP_SD; Actualizar as referências do módulo de conectividade, lookups, financeiro e gestão de materiais; Criar a extensão EBS_SD_Entities, para onde serão importadas as tabelas de Oracle; Implementar os web services ConfigurationData e EBS_Transparency; Implementar as acções indicadas no apêndice F, através de: o Análise detalhada do ERP, para identificar as tabelas e lógica necessária no desenvolvimento das acções; o Remoção das BAPIs apresentadas no apêndice F; o Sincronização das entidades BillingDocument, BillingDocument_Item, BusinessPartnerFunctions, CustomerMaterialInfo, SalesArea e SalesOrganization. 93

114 Também realizei para o módulo de gestão de materiais (MM - Materials Management) uma análise inicial da qual resultaram as funcionalidades a implementar, indicadas a seguir. O seu modelo de dados, a lista de acções a implementar e a lista das BAPIs a retirar encontra-se no apêndice G. No módulo de gestão de materiais é necessário implementar as seguintes funcionalidades: À semelhança dos módulos anteriores, é necessário clonar o espace SAP_MM; Actualizar as referências do módulo de conectividade, lookups e financeiro; Criar a extensão EBS_MM_Entities, para onde serão importadas as tabelas de Oracle; Implementar os web services ConfigurationData e EBS_Transparency; Implementar as acções indicadas no apêndice G, através de: o Análise detalhada do ERP, para identificar as tabelas e lógica necessária no desenvolvimento das acções; o Remoção das BAPIs apresentadas no apêndice G; o Sincronização das entidades Goods_Mvt, Goods_Mvt_Item, Invoice, Invoice_Item, Invoice_Item_Account, Invoice_Tax, Invoice_VendorSplit, Material, Material_Group, Material_Industry, Material_Plant, Material_Type, Plant, Plant_PurchaseOrganization, PurchaseOrder, PurchaseOrder_Item, PurchaseOrder_Item_Account, PurchaseOrder_Item_History, PurchaseOrder_Item_Schedule, Purchasing_Group, Purchasing_Info, Purchasing_Info_Organizational, Purchasing_Organization, Purchasing_Type e Special_Procurement. 94

115 Acrónimos Acrónimo AJAX AP BAPI CLR DLL EBS ECT ERP IIS OEBS PL/SQL SAP Significado Asynchronous Javascript And XML Accounts Payable Business Application Programming Interface Common Language Runtime Dynamic-Link Library E-Business Suite Embedded Change Technology Enterprise Resource Planning Internet Information Services Oracle E-Business Suite Procedural Language extensions to SQL Alemão: Systeme, Anwendungen und Produkte in der Datenverarbeitung Inglês: Systems, Applications and Products in Data Processing Português: Sistemas, Aplicativos e Produtos para Processamento de Dados SAP -ERP SGBD Oracle SOA SQL TI Systems, Applications and Products in Data Processing - Enterprise Resource Planning Sistema Gestor de Base de Dados Oracle Service-oriented architecture Structured Query Language Tecnologias de Informação Tabela 12. Acrónimos 95

116 Referências [1]. OutSystems (acedido em Outubro 2009) [2]. OutSystems Supplier Self Service, Problemas resolvidos BusinessSolutions/SupplierSelfService&SelectedTab=Problems+Solved (acedido em Outubro 2009) [3]. Definições ERP (acedido em Novembro 2009) [4]. SAP (acedido em Novembro 2009) [5]. Oracle E-Business Suite (acedido em Maio 2010) [6]. OutSystems Supplier Self Service, Visão geral (acedido em Maio 2010) [7]. Transparency Services for SAP (acedido em Outubro 2009) [8]. Microsoft.Net (acedido em Novembro 2009) [9]. Oracle Procurement Applications 96

117 (acedido em Novembro 2009) [10]. Tutoriais OutSystems (acedido em Setembro 2009) [11]. Tese sobre características de ERP (acedido em Novembro 2009) [12]. Oracle Corporation [13]. Oracle E-Business Suite Applications (acedido em Novembro 2009) [14]. Oracle Information Architecture may/images/o34cover_feature.pdf (acedido em Maio 2010) [15]. SAP Business Suite (acedido em Novembro 2009) [16]. SAP NetWeaver (acedido em Maio 2010) [17]. Plataforma SAP Business Suite -for-innovation-2.html (acedido em Novembro 2009) [18]. OutSystems Agile Platform (acedido em Setembro 2009) [19]. Arquitectura OutSystems (acedido em Outubro 2009) [20]. Visão Geral da OutSystems Agile Platform 97

118 4692&ContentId=5784 (acedido em Setembro 2009) [21]. OutSystems Network (acedido em Setembro 2009) [22]. OutSystems Agile Network (acedido em Setembro 2009) [23]. Certificação OutSystems (acedido em Setembro 2009) [24]. OutSystems Supplier Self Service BusinessSolutions/SupplierSelfService&SelectedTab=Overview (acedido em Outubro 2009) [25]. Transparency Services for SAP (acedido em Outubro 2009) [26]. Scott Urman. Oracle 8 Programação em PL/SQL: McGraw-Hill Companies, ISBN: [27]. Oracle PL/SQL (acedido em Novembro 2009) [28]. Metodologia SCRUM (acedido em Novembro 2009) [29]. A plataforma SCRUM (acedido em Junho 2009) [30]. BAPI - SAP em Fevereiro 2010) (acedido 98

119 Apêndices A. Sprints Backlogs Ilustração 38. Sprint backlog 1. 99

120 Ilustração 39. Sprint backlog

121 Ilustração 40. Sprint backlog

122 Ilustração 41. Sprint backlog

123 Ilustração 42. Sprint backlog

124 Ilustração 43. Sprint backlog

125 Ilustração 44. Sprint backlog

126 Ilustração 45. Sprint backlog

127 Ilustração 46. Sprint backlog

128 Ilustração 47. Sprint backlog

129 Ilustração 48. Sprint backlog

130 B. Product Backlog Final Ilustração 49. Product backlog final. Parte 1 de

131 Ilustração 50. Product backlog final. Parte 2 de

132 Ilustração 51. Product backlog final. Parte 3 de

133 Ilustração 52. Product backlog final. Parte 4 de

134 Ilustração 53. Product backlog final. Parte 5 de

135 C. Módulo de Conectividade C1. Entidades e seus atributos Class_Table: A entidade que armazena as relações entre as tabelas do OEBS e as classes. Atributo Id Class_Name Table_Name Tipo Integer Text Text IsPrimary Boolean Tabela 13. Entidade Class_Table com os seus atributos e os tipos de dados Entity_Table: A entidade atribui a uma tabela do OEBS a uma entidade registada. Atributo Id EntitySyncId Tipo Integer EntitySync Identifier Table_Name Text Tabela 14. Entidade Entity_Table com os seus atributos e os tipos de dados EntitySync: A entidade que armazena uma marca utilizada para a sincronização. Atributo Id Code Name Stamp Iterator ExtraIterator Schedulable MaxItems LastUpdated Running Tipo Integer Text Text Integer Integer Integer Boolean Integer Date Time Boolean 115

136 Atributo IsFullSync SyncBy TransparencyModuleId FullSync_MaxSize PartialSync_MaxSize FullSync_StartDate PartialSync_StartDate PartialSync_NextRun Silent_Stop Timer_Name Tipo Boolean USER_MASTER Identifier TransparencyModule Identifier Integer Integer Date Time Date Time Date Time Boolean Text PartialSync_Support Boolean Tabela 15. Entidade EntitySync com os seus atributos e os tipos de dados Transparency_Module: A entidade que armazena o auto-registo de módulos de transparência. Atributo Id Code Services_Url Tipo Integer Text Text espaceid Espace Identifier Tabela 16. Entidade Transparency_Module com os seus atributos e os tipos de dados USER_MASTER_EXTENSION: A entidade que armazena as relações entre o Enterprise Manager e os utilizadores. Atributo Id UserMasterId Tipo Integer USER_MASTER Identifier UserMasterSapId USER_MASTER_SAP Identifier Tabela 17. Entidade USER_MASTER_EXTENSION com os seus atributos e os tipos de dados USER_MASTER_SAP: A entidade que armazena os utilizadores. 116

137 Atributo Id Username Password Tipo Integer Text Text MaxUsers Integer Tabela 18. Entidade USER_MASTER_SAP com os seus atributos e os tipos de dados C2. Acções do módulo de conectividade Acção Boot_DeltaSync Build_Details Build_Header Class_HasSingleRegisteredTable Entity_HasPrimaryTable espace_getidfromname FullSync_GetMaxSize FullSync_GetStartDate Get_TransparencyURL GetAvailableSapUsers GetMachineName GetSAP_Credentials GetSapLogon_Utils GetSchedule Item_Add Items_GetChanged PartialSync_GetStartDate ReadSapTable Register_BusinessEntity Descrição Recarrega as classes e as tabelas SAP. Actualiza os campos e opções de uma chamada RFC. Actualiza os campos e opções de uma chamada RFC. Função que verifica se a classe tem mais do que uma tabela registada. Verifica se uma entidade está definida como tabela primária. Retorna um identificador de espace dado um número. Retorna o tamanho da janela para uma sincronização completa. Retorna o inicio do timestamp para a sincronização completa. Retorna o url externo dada uma entidade de negócio. Retorna uma lista de utilizadores disponíveis do SAP. Retorna o hostname. Retorna as propriedades na conexão SAP. Retorna uma estrutura do tipo SAP logon. Retorna a string de agendamento dos relógios. Adiciona um item à lista. Retorna uma lista de itens alterados do SAP. Retorna o inicio do timestamp para a sincronização parcial. Lê uma tabela SAP dado um conjunto de campos. Regista uma entidade de negócio. 117

138 Acção Register_Module Register_Table SapLogon_GetDefault Sync_Finish Sync_GetDefautUser Sync_GetExtraIterator Sync_GetIterator Sync_GetStamp Sync_GetStatus Sync_GetUser Sync_IncExtraIterator Sync_IncIterator Sync_IncPlusExtraIterator Sync_IncPlusIterator Sync_IsFullSync Sync_IsRunning Sync_Partial Sync_ResetExtraIterator Sync_SetUser Sync_Start Sync_Stop Table_GetPrimary Table_IsRegistered Table_IsSupported Timer_WatchDog Descrição Regista um módulo. Regista uma tabela em SAP atribuída a uma entidade de sincronização. Retorna uma estrutura do tipo SAP logon para um utilizador padrão de sincronização. Incrementa o stamp code. Retorna o identificador do utilizador no Enterprise Manager atribuída a operações de sincronização. Retorna o iterador extra. Retorna o iterador. Retorna o stamp code currente. Retorna o estado de uma entidade. Retorna o identificador do utilizador associado a uma entidade de sincronização. Incrementa o iterador extra. Incrementa o primeiro iterador. Incrementa o iterador extra com um valor. Incrementa o primeiro iterador. Indica se a sincronização é total. Indica se o processo de sincronização está a decorrer. Retorna uma lista de itens alterador do SAP. Reinicia o iterador extra. Actualiza o identificador do utilizador no Enterprise Manager. Inicializa o stamp code da entidade. Para a sincronização da entidade. Retorna a tabela primária dada uma classe. Verifica se a tabela existe na lista de tabelas. Verifica se a tabela suporta o mecanismo de sincronização parcial. Acorda o relógio com tempo limite. 118

139 Acção Transparency_GetName Utils_ParseSapDate Descrição Retorna o nome do espace. Converte uma data de formato interno do SAP em data OS. Utils_SplitString Divide a string e retorna uma lista de palavras. Tabela 19. Lista de acções do módulo de conectividade. D. Módulo Lookups: D1. Entidades e seus atributos Account_Group: armazena a descrição das contas de grupo. Atributo Id Code Language Description Tipo Integer Text Language Identifier Text StampCode Integer Tabela 20. Entidade Account_Group com os seus atributos e os tipos de dados Accounting_ObjectType: armazena os nomes dos tipos de objectos de conta do OEBS. Atributo Code LanguageId Name Tipo Text Language Identifier Text StampCode Integer Tabela 21. Entidade Accounting_ObjectType com os seus atributos e os tipos de dados Country: armazena os países do OEBS. Atributo Code Name FullName Tipo Text Text Text 119

140 Atributo LanguageId Nationality FullNationality StampCode Tipo Language Identifier Text Text Integer IsDefault Boolean Tabela 22. Entidade Country com os seus atributos e os tipos de dados Currency: armazena as moedas do OEBS. Atributo Code IsoCode Alternative ValidationDate Description StampCode Tipo Text Text Text Date Text Integer IsDefault Boolean Tabela 23. Entidade Currency com os seus atributos e os tipos de dados Language: armazena as linguagens do OEBS. Atributo IsoCode Code Name StampCode Tipo Text Text Text Integer IsDefault Boolean Tabela 24. Entidade Language com os seus atributos e os tipos de dados MeasurementUnit: armazena as unidades de medida do OEBS. Atributo Code Name Tipo Text Text 120

141 Atributo Tipo StampCode Integer Tabela 25. Entidade MeasurementUnit com os seus atributos e os tipos de dados PaymentMethods: armazena os métodos de pagamento do OEBS. Atributo Id CountryCode PaymentMethod Description Tipo Integer Country Identifier Text Text StampCode Integer Tabela 26. Entidade PaymentMethods com os seus atributos e os tipos de dados PaymentTerms: armazena os termos de pagamento do OEBS. Atributo Code Description Tipo Text Text StampCode Integer Tabela 27. Entidade PaymentTerms com os seus atributos e os tipos de dados Product_Hierarchy: armazena as hierarquias dos produtos. Atributo ProductHierarchy Level Description LanguageKey ParentId Tipo Text Integer Text Language Identifier Product_Hierarchy Identifier StampCode Integer Tabela 28. Entidade Product_Hierarchy com os seus atributos e os tipos de dados Region: armazena as regiões do OEBS. 121

142 Atributo Code CountryId Tipo Text Country Identifier StampCode Integer Tabela 29. Entidade Region com os seus atributos e os tipos de dados Status_Value: armazena o valor do status do OEBS. Atributo Id LanguageId Status_Number Status_Actions Description Tipo Integer Language Identifier Text Text Text StampCode Integer Tabela 30. Entidade Status_Value com os seus atributos e os tipos de dados Title: armazena os títulos da entidade. Atributo Code LanguageId Name Tipo Text Language Identifier Text StampCode Integer Tabela 31. Entidade Title com os seus atributos e os tipos de dados D2. Acções do módulo Lookups Acção AccountGroup_Get AccountGroup_SynchronizeAll Accounting_ObjectType_Get Accounting_ObjectType_SynchronizeAll Descrição Retorna um grupo de conta dado um código. Sincroniza todos os grupos de contas. Retorna um identificador tipo de objecto de conta dado um código. Sincroniza todos os tipos de objectos de conta. 122

143 Acção Bootstrap_Transparency Country_Get Country_GetOrDefault Country_HasDefault Country_SynchronizeAll Currency_Get Currency_GetOrDefault Currency_HasDefault Currency_SynchronizeAll GetSapLogon Language_Get Language_GetDefault Language_GetDefaultSapCode Language_GetOrDefault Language_HasDefault Language_SynchronizeAll MeasurementUnit_Get MeasureUnit_SynchronizeAll PaymentMethod_Get PaymentMethods_Synchronize PaymentMethods_SynchronizeAll PaymentTerms_Get PaymentTerms_SynchronizeAll ProductHierarchy_Get Descrição Regista um módulo e entidades de negócio. Retorna um identificador de um país dado um código. Coloca um país como default. Indica se um país é default. Sincroniza todos os países. Retorna um identificador de moeda dado um código. Coloca uma moeda como default. Indica se uma moeda é default. Sincroniza todas as moedas. Retorna uma estrutura do tipo SAP logon. Retorna um identificador de uma linguagem dado um código. Obtém a linguagem default. Obtém o código da linguagem default em SAP. Coloca uma linguagem como default. Indica se uma linguagem é default. Sincroniza todas as linguagens. Retorna um identificador de uma unidade de medida dado um código. Sincroniza todas as unidades de medida. Retorna um identificador de um método de pagamento dado um código e um país. Sincroniza um método de pagamento. Sincroniza todos os métodos de pagamento. Retorna um identificador de um termo de pagamento dado um código. Sincroniza todos os termos de pagamento. Retorna um identificador de uma hierarquia de produto dado um código. 123

144 Acção ProductHierarchy_GetParent ProductHierarchy_SynchronizeAll Region_Get Region_SynchronizeAll StatusValue_Get StatusValue_SynchronizeAll Synchronize_AccountGroup Synchronize_Accounting_ObjectType Synchronize_Country Synchronize_Currency Synchronize_Language Synchronize_MeasureUnit Synchronize_PaymentMethods Synchronize_PaymentTerms Synchronize_ProductHierarchy Synchronize_Region Synchronize_StatusValue Synchronize_Title Title_SynchronizeAll Descrição Obtém os parentes de um produto dado um código. Sincroniza todas as hierarquias de produtos. Retorna um identificador de uma região dado um código. Sincroniza todas as regiões. Retorna um identificador de um valor do estado dado um código. Sincroniza todos os valores de estado. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. Sincroniza todos os títulos. Utils_GetSapLogon Retorna uma estrutura SAP logon. Tabela 32. Acções do módulo de Lookps. E. Módulo financeiro: E1. Acções do módulo financeiro Acção Usada em Descrição Accounting_Document_ N/A A função retorna o identificador do 124

145 Acção Usada em Descrição Get Accounting_Document_ GetCleanedItems Accounting_Document_ GetCleanedItemsByType Accounting_Document_ GetCleanedItNumbers Accounting_Document_ GetNewItems Accounting_Document_ GetNumbers Accounting_Document_ GetOpenedItems Accounting_Document_ GetOpenedItemsByType Accounting_Document_ GetOpItNumbers Accounting_Document_ SupportedTypes Accounting_Document_ Synchronize Accounting_Document_Synchro nizepartial Accounting_Document_GetClea neditems Accounting_Document_GetClea neditemsbytype Accounting_Document_Synchro nizepartial Accounting_Document_Synchro nizeall e Accounting_Document_GetNew Items Accounting_Document_Synchro nizeall Accounting_Document_GetOpe neditems Accounting_Document_GetOpe neditemsbytype Accounting_Document_Synchro nize, Accounting_Document_GetOpe neditems e Accounting_Document_GetClea neditems Accounting_Document_Synchro nizeall, Accounting_Document_Synchro nizepartial, 125 documento de contabilidade para uma determinada chave A acção reúne todos os documentos limpos para os fornecedores, contas e clientes. A acção recolhe todos os documentos limpos para um determinado tipo. A acção que obtém a chave dos documentos de contabilidade limpos do SAP. A acção reúne os documentos em falta, com base no novo timestamp de sincronização parcial. A acção que obtém a chave dos documentos de contabilidade do SAP. A acção reúne todos os documentos abertos para os fornecedores, contas e clientes. A acção reúne todos os documentos abertos para um determinado tipo. A acção que obtém as chaves dos documentos de contabilidade do SAP. A acção verifica quais os tipos de documentos estão activos. A acção sincroniza os documentos contabilísticos para uma conta do fornecedor.

146 Acção Usada em Descrição Accounting_Document_GetNew Items, Accounting_Document_GetOpe neditemsbytype e Accounting_Document_GetClea neditemsbytype Accounting_Document_ SynchronizeAll Accounting_Document_ SynchronizePartial Bootstrap_SapTables Bootstrap_Transparency Synchronize_AccountingDocum ent Synchronize_AccountingDocum ent ConfigurationData/ DoBootstrap ConfigurationData/ DoBootstrap A acção sincroniza todos os documentos contabilísticos. A acção sincroniza os documentos contabilísticos parcialmente. A acção que regista as tabelas do SAP que suportam sincronização parcial. A acção que regista o módulo e as entidades de negócio. BusinessArea_Get N/A A função que retorna um identificador de uma entidade de negócio dado um código. Se não existir é criada uma nova área de negócio. BusinessArea_Synchroni ze BusinessArea_Synchroni zeall BusinessArea_SynchronizeAll Synchronize_BusinessArea A acção que sincroniza a área de negócio. A acção que sincroniza todas as áreas de negócio. Company_Synchronize Company_SynchronizeAll A acção que sincroniza uma empresa. Company_SynchronizeA ll CompanyCode_Get Synchronize_Company CustomerAccount_Synchronize, VendorAccount_Get, VendorAccount_Synchronize, Accounting_Document_Synchro nize, Accounting_Document_Get e CustomerAccount_Get A acção que sincroniza todas as empresas. A função que retorna o identificador do código da empresa dado um número. Se não existir cria uma empresa. CompanyCode_GetNum CompanyCode_SynchronizeAll A acção que obtém os códigos das 126

147 Acção Usada em Descrição bers CompanyCode_Synchro nize CompanyCode_Synchro nizeall CompanyCode_SynchronizeAll Synchronize_CompanyCode empresas do SAP. A acção que sincroniza uma empresa. A acção que sincroniza todas as empresas. Customer_Create N/A A acção que cria um cliente. Customer_Get CustomerSalesArea_Synchroniz e, CustomerAccount_Synchronize e CustomerAccount_Get Função que retorna o identificador de um cliente dado um número. Se não existir é criado um novo cliente. Customer_GetNumbers Customer_SynchronizeAll A acção que obtém o número de um cliente do SAP. Customer_Submit Customer_Update A acção que altera um cliente. Customer_Synchronize Customer_SynchronizeA ll Customer_SynchronizeP artial Customer_SynchronizeAll, Customer_Update, Customer_Get e Customer_SynchronizePartial Synchronize_Customer Synchronize_Customer A acção que sincroniza um cliente. A acção que sincroniza todos os clientes. A acção que sincroniza os clientes parcialmente. Customer_Update N/A A acção que actualiza um cliente SAP. CustomerAccount_Get N/A A função retorna um identificador de uma conta de cliente dado um determinado número de cliente e o código da empresa. Se não existir, é criado uma nova conta de cliente. CustomerAccount_GetN umbers CustomerAccount_Synch ronize CustomerAccount_Synchronize All CustomerAccount_Synchronize All e CustomerAccount_Synchronize Partial 127 A acção que obtém a chave da conta do cliente do SAP. A acção que sincroniza a conta do cliente.

148 Acção Usada em Descrição CustomerAccount_Synch ronizeall CustomerAccount_Synch ronizepartial CustomerSalesArea_Syn chronize Synchronize_CustomerAccount Synchronize_CustomerAccount Customer_SynchronizeAll e Customer_SynchronizePartial A acção que sincroniza todas as contas de cliente. A acção que sincroniza as contas de clientes parcialmente. A acção que sincroniza a área de vendas de um cliente. FunctionalArea_Get N/A Função que retorna o identificador de uma área funcional dado um código. Se não existir, cria uma nova área funcional. FunctionalArea_Synchr onize FunctionalArea_Synchr onizeall FunctionalArea_Synchr onizepartial GetCustomerChangeStr uct_company FunctionalArea_SynchronizePa rtial Synchronize_FunctionalArea Synchronize_FunctionalArea Customer_Submit A acção que sincroniza uma área funcional. A acção que sincroniza todas as áreas funcionais. A acção que sincroniza as áreas funcionais parcialmente. A acção que mapeia a entidade cliente dentro da estrutura SAP utilizada para operações de alterações de cliente. GetSapLogon N/A A acção que retorna uma estrutura SAP logon. IBAN_Create Vendor_Synchronize A acção que cria ou actualize um IBAN. PartnerFunctions_Synch ronizeall RegisterEvent_AccDocIt em_change RegisterEvent_AccDocIt em_sync RegisterEvent_Vendor_ Change Synchronize_PartnerFunctions N/A N/A N/A A acção que sincroniza todas as funções de parceiros. A acção que regista um URL do web service atribuído às operações dos documentos contabilísticos alterados. A acção que regista um URL do web service atribuído às operações dos documentos contabilísticos. A acção que regista um URL do web service atribuído às operações de fornecedores alterados. 128

149 Acção Usada em Descrição RegisterEvent_Vendor_S ync N/A A acção que regista um URL do web service atribuído às operações de fornecedores. Rfc_AddField VendorAccount_GetItem A acção que adiciona um novo campo a uma lista. Synchronize_Accounting Document Synchronize_BusinessAr ea Relógio: Sync_AccountingDocument Relógio: Sync_BusinessArea A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. Synchronize_Company Relógio: Sync_Company A acção dispara o relógio para sincronizar a entidade. Synchronize_CompanyC ode Relógio: Sync_CompanyCode A acção dispara o relógio para sincronizar a entidade. Synchronize_Customer Relógio: Sync_Customer A acção dispara o relógio para sincronizar a entidade. Synchronize_CustomerA ccount Synchronize_Functional Area Synchronize_PartnerFu nctions Relógio: Sync_CustomerAccount Relógio: Sync_FunctionalArea Relógio: Sync_PartnerFunctions A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. A acção dispara o relógio para sincronizar a entidade. Synchronize_Vendor Relógio: Sync_Vendor A acção dispara o relógio para sincronizar a entidade. Synchronize_VendorAcc ount Relógio: Sync_VendorAccount A acção dispara o relógio para sincronizar a entidade. Utils_GetSapLogon N/A A acção que retorna uma estrutura SAP logon. Vendor_BankAccount_G etstatusdescription N/A A função que obtém a descrição do estado da conta do fornecedor. Vendor_ExistsOnSAP N/A A função que verifica se existe um fornecedor no SAP. Vendor_Get Vendor_Synchronize, Acção que retorna o identificador do 129

150 Acção Usada em Descrição VendorAccount_Get, VendorAccount_Synchronize e PartnerFunctions_Synchronize All fornecedor dado um número. Se não existir é criado um novo fornecedor. Vendor_GetNumbers Vendor_SynchronizeAll A acção que retorna os números de fornecedores do SAP. Vendor_Synchronize Vendor_SynchronizePartial e Vendor_SynchronizeAll A acção que sincroniza um fornecedor. Vendor_SynchronizeAll Synchronize_Vendor A acção que sincroniza todos os fornecedores. Vendor_SynchronizePar tial Synchronize_Vendor A acção que sincroniza os fornecedores parcialmente. VendorAccount_Get N/A Função que retorna o identificador da conta do fornecedor dado um número de fornecedor e o código da empresa. Se não existir cria a conta do fornecedor. VendorAccount_GetItem VendorAccount_Synchronize A acção que obtém a conta do fornecedor do SAP. VendorAccount_GetNum bers VendorAccount_Synchro nize VendorAccount_Synchro nizeall VendorAccount_SynchronizeAll VendorAccount_SynchronizeAll e VendorAccount_SynchronizePa rtial Synchronize_VendorAccount A acção que obtém o número de conta do fornecedor do SAP. A acção que sincroniza a conta do fornecedor. A acção que sincroniza todas as contas dos fornecedores. VendorAccount_Synchro nizepartial Synchronize_VendorAccount A acção que sincroniza as contas dos fornecedores parcialmente. Tabela 33. Acções do módulo financeiro. F. Módulo de vendas e distribuição Na análise inicial listei as acções do espace SAP_MM com as suas descrições e as suas utilizações que apresento na tabela

151 Acção Utilizada em Descrição BillingDocument_Synchronize BillingDocument_Synchronize All BillingDocument_SynchronizeAll Synchronize_BillingDocument Bootstrap_Transparency ConfigurationData/ DoBootstrap Acção que regista o modulo e entidades de negócio. BusinessPartnerFunction_Get Synchronize_BusinessPartnerFunctions Acção que sincroniza todas as áreas de negócio. BusinessPartnerFunctionsDes criptions_synchronize CustomerMaterialInfo_Synch ronizeall BusinessPartnerFunctions_SynchronizeA ll Synchronize_CustomerMaterialInfo Acção que sincroniza todas as áreas de negócio. Acção que sincroniza todas as informações materiais de clientes. SalesArea_Get N/A Função que obtém o identificador da área de venda dado um código. SalesArea_SynchronizeAll Synchronize_SalesArea Acção que sincroniza todas as áreas de vendas. SalesOrganization_Get SalesOrganization_Synchroni zeall Synchronize_BillingDocument Synchronize_BusinessPartner Functions Synchronize_CustomerMateri alinfo SalesArea_SynchronizeAll e CustomerMaterialInfo_SynchronizeAll Synchronize_SalesArea Relógio: Sync_BillingDocument Relógio: Sync_BusinessPartnerFunctions Relógio: Sync_CustMatInfo Função que obtém o identificador da área de negócio dado um código. Acção que sincroniza todas as áreas de negócio. A acção que dispara o relógio para sincronizar a entidade. A acção que dispara o relógio para sincronizar a entidade. Synchronize_SalesArea Relógio: Sync_SalesArea A acção que dispara o relógio para sincronizar a 131

152 Acção Utilizada em Descrição entidade. Synchronize_SalesOrganizati on Relógio: Sync_SalesOrganization A acção que dispara o relógio para sincronizar a entidade. Utils_GetSapLogon N/A Retorna um login do SAP. Utils_GetSapSdLogon N/A Retorna uma estrutura do tipo login no SAP. Tabela 34. Acções do módulo de vendas e distribuição. A lista de BAPIs utilizadas no espace SAP_SD que irão ser substituídas pela lógica de negócio do Oracle E-Business Suite é apresentada na tabela 35. Nome da BAPI Utilizada em Descrição Bapi_Custmatinfo_Getlist CustomerMaterialInfo_SynchronizeA ll Lista de informação de registo de materiais, de clientes com critérios de selecção. Bapi_Sales_Areas_Get SalesArea_SynchronizeAll Entregas da área de vendas. Isa_Get_Salesorg_List SalesOrganization_SynchronizeAll Lista de organizações de vendas numa linguagem. Tabela 35. Lista de BAPIs do espace SAP_SD. A ilustração 54 apresenta o modelo de dados realizado na análise inicial do módulo de vendas e distribuição. Ilustração 54. Modelo de dados do módulo de vendas e distribuição. 132

153 G. Módulo gestão de materiais Na análise inicial listei as acções deste espace com as suas descrições e as suas utilizações que apresento na tabela 36. Acção Usada em Descrição Bootstrap_SapTables ConfigurationData/ DoBootstrap Regista uma tabela SAP que suporta sincronização parcial. Bootstrap_Transpare ncy ConfigurationData/ DoBootstrap Regista um módulo e entidades de negócio. GetSapLogon N/A Retorna uma estrutura de login no SAP. GoodsMvt_Get N/A Obtém um identificador de um movimento de bens dado um número. GoodsMvt_GetMove mentindicator GoodsMvt_GetNumb ers GoodsMvt_Synchron ize GoodsMvt_Synchron izeall N/A GoodsMvt_SynchronizeAll GoodsMvt_SynchronizeAll Synchronize_GoodsMvts Obtém a descrição do indicador de movimentos dado um código. A acção obtém os números dos movimentos de bens disponíveis no SAP. A acção que sincroniza um movimento. A acção sincroniza todos os movimentos. Invoice_Get N/A Função que obtém um identificador da factura dado um número. Invoice_GetIdFromP aymentmethod N/A Função que obtém o identificador do método de pagamento para uma factura. Invoice_GetNumbers Invoice_SynchronizeAll Acção que obtém os números de facturas disponíveis do SAP. Invoice_GetStatusDe scription N/A Função que obtém a descrição do estado da factura dado um código. Invoice_Item_Get Invoice_Synchronize Função que obtém um identificador de um item de factura dado um número. Invoice_Synchronize Invoice_SynchronizeAll e Invoice_SynchronizePartial Acção que sincroniza uma factura. Invoice_Synchronize Synchronize_Invoices Acção que sincroniza todas as facturas. 133

154 Acção Usada em Descrição All Invoice_Synchronize Partial Synchronize_Invoices Acção que sincroniza parcialmente todas as facturas. Material_Get MaterialPlant_Synchronize Função que obtém um identificador de um material dado um número. Material_GetNumber s Material_Synchroniz e Material_Synchroniz eall Material_Synchroniz epartial Material_SynchronizeAll Material_SynchronizeAll e Material_SynchronizePartial Synchronize_Materials Synchronize_MaterialPlants Acção que obtém o número de materiais disponíveis no SAP. Acção que sincroniza um material. Acção que sincroniza todos os materiais. Acção que sincroniza parcialmente todos os materiais. MaterialGroup_Get N/A Acção que obtém um grupo de materiais dado um código. MaterialGroup_Sync hronize MaterialGroup_Sync hronizeall MaterialGroup_Sync hronizepartial MaterialIndustry_Ge t MaterialIndustry_Sy nchronizeall MaterialPlant_GetK eys MaterialPlant_Synch ronize MaterialPlant_Synch ronizeall MaterialGroup_SynchronizePartial Synchronize_MaterialGroups Synchronize_MaterialGroups N/A Synchronize_MaterialIndustries MaterialPlant_SynchronizeAll MaterialPlant_SynchronizeAll e MaterialPlant_SynchronizePartial Synchronize_MaterialPlants Acção que sincroniza um grupo de materiais. Acção que sincroniza todos os grupos de materiais. Acção que sincroniza parcialmente todos grupos de materiais. Acção que obtém a indústria do material dado um código. Acção que sincroniza todas as indústrias dos materiais. Acção que obtém as chaves das empresas com materiais disponíveis no SAP. Acção que sincroniza as empresas de um material. Acção que sincroniza todos as empresas dos materiais. 134

155 Acção Usada em Descrição MaterialPlant_Synch ronizepartial Synchronize_MaterialPlants Acção que sincroniza parcialmente todas as empresas dos materiais. MaterialType_Get N/A Acção que obtém o tipo de um material dado um código. MaterialType_Synch ronizeall MaterialType_Updat e Plant_Get Synchronize_MaterialTypes MaterialType_SynchronizeAll MaterialPlant_Synchronize, Plant_Update, Plant_Synchronize, SpecialProcurement_Get e SpecialProcurement_SynchronizeAl l Acção que sincroniza todos os tipos de materiais. Acção que actualiza os tipos de materiais com dados em falta. Função que retorna uma empresa dado um código. Se não existir cria. Plant_Synchronize Plant_SynchronizePartial Acção que sincroniza uma empresa. Plant_SynchronizeAl l Plant_SynchronizePa rtial Plant_Update Synchronize_Plants Synchronize_Plants Plant_SynchronizeAll e Plant_Synchronize Acção que sincroniza todas as empresas. Acção que sincroniza parcialmente todas as empresas. Acção que actualiza uma empresa. PurchaseOrder_Get PurchaseOrder_Item_Get Função que obtém o identificador de uma ordem de compra dado um número. PurchaseOrder_Get Numbers PurchaseOrder_Item _Get PurchaseOrder_Sync hronize PurchaseOrder_Sync hronizeall PurchaseOrder_SynchronizeAll N/A PurchaseOrder_SynchronizeAll e PurchaseOrder_SynchronizePartial Synchronize_PurchaseOrders Acção que obtém os números de ordens de compra disponíveis no SAP. Função que obtém o identificador de um item de uma ordem de compra dado um número. Se não existir cria. Acção que sincroniza uma ordem de compra. Acção que sincroniza todas as ordens de compra. PurchaseOrder_Sync Synchronize_PurchaseOrders Acção que sincroniza parcialmente as 135

156 Acção Usada em Descrição hronizepartial PurchasingGroup_G et PurchasingGroup_Sy nchronizeall PurchasingInfo_Get PurchasingInfo_Get Numbers PurchasingInfo_Sync hronize PurchasingInfo_Sync hronizeall PurchasingInfo_Sync hronizepartial PurchasingInfo_Sync hronizesimple PurchasingInfo_Upd ate PurchasingInfoOrg_ Get PurchasingInfoOrg_ Update PurchasingOrganizat ion_get PurchasingOrganizat ion_synchronizeall N/A Synchronize_PurchasingGroups PurchasingInfo_Synchronize e PurchasingInfo_SynchronizeSimple PurchasingInfo_SynchronizeAll PurchasingInfo_SynchronizeAll e PurchasingInfo_SynchronizePartial Synchronize_PurchasingInfo Synchronize_PurchasingInfo PurchasingInfo_SynchronizeAll PurchasingInfo_Synchronize e PurchasingInfo_SynchronizeSimple N/A PurchasingInfo_Synchronize e PurchasingInfo_SynchronizeSimple N/A Synchronize_PurchasingOrgs ordens de compra. Acção que obtém um grupo de compras dado um código. Acção que sincroniza todos os grupos de compras. Acção que obtém a informação de uma compra dado um código. Acção que obtém a informação dos números de compras disponíveis do SAP. Acção que sincroniza a informação de uma compra. Acção que sincroniza todos os registos de informação de compras. Acção que sincroniza parcialmente os registos de informação de compras. Acção que sincroniza a informação de uma compra. Acção que actualiza a informação de um registo de compra. Acção que obtém a informação da compra da organização dado um código. Acção que actualiza uma informação de compra organizacional. Acção que obtém uma organização de compras dado um código. Acção que sincroniza todas as organizações de compra. PurchasingType_Get N/A Acção que obtém todos os tipos de compras dado uma categoria e um tipo. PurchasingType_Syn chronizeall Synchronize_PurchasingTypes Acção que sincroniza todos os tipos de compras. RegisterEvent_Invoic N/A Acção que regista um url do web service 136

157 Acção Usada em Descrição e_change RegisterEvent_Invoic e_sync RegisterEvent_PO_C hange RegisterEvent_PO_S ync SpecialProcurement_ Get SpecialProcurement_ SynchronizeAll Synchronize_Goods Mvts Synchronize_Invoice s Synchronize_Materia lgroups Synchronize_Materia lindustries Synchronize_Materia lplants Synchronize_Materia ls Synchronize_Materia ltypes N/A N/A N/A N/A Synchronize_SpecialProcurement Relógio: Sync_GoodsMvt Relógio: Sync_Invoice Relógio: Sync_MaterialGroup Relógio: Sync_MaterialIndustry Relógio: Sync_MaterialPlant Relógio: Sync_Material Relógio: Sync_MaterialType atribuído às facturas. Acção que regista um url do web service atribuído às facturas. Acção que regista um url do web service atribuído às ordens de compra. Acção que regista um url do web service atribuído às ordens de compra. Acção que obtém contractos especiais dado uma empresa e um tipo. Acção que sincroniza todos os tipos de contratos especiais. A acção que dispara o relógio para sincronizar a entidade. A acção dispara que dispara o relógio para sincronizar a entidade. A acção que dispara o relógio para sincronizar a entidade. A acção dispara que dispara o relógio para sincronizar a entidade. A acção que dispara o relógio para sincronizar a entidade. A acção dispara que dispara o relógio para sincronizar a entidade. A acção que dispara o relógio para sincronizar a entidade. Synchronize_Plants Relógio: Sync_Plant A acção dispara que dispara o relógio para sincronizar a entidade. Synchronize_Purcha seorders Synchronize_Purcha singgroups Relógio: Sync_PurchaseOrder Relógio: Sync_PurchasingGroup A acção que dispara o relógio para sincronizar a entidade. A acção dispara que dispara o relógio para sincronizar a entidade. Synchronize_Purcha Relógio: Sync_PurchasingInfo A acção que dispara o relógio para 137

158 Acção Usada em Descrição singinfo Synchronize_Purcha singorgs Synchronize_Purcha singtypes Synchronize_Special Procurement Relógio: Sync_PurchasingOrg Relógio: Sync_PurchasingType Relógio: Sync_SpecialProcurement sincronizar a entidade. A acção dispara que dispara o relógio para sincronizar a entidade. A acção que dispara o relógio para sincronizar a entidade. A acção dispara que dispara o relógio para sincronizar a entidade. Utils_GetSapLogon N/A Retorna um login do SAP. Tabela 36. Acções do módulo de gestão de materiais. Lista de BAPIs utilizadas no módulo de gestão de materiais que irão ser substituídas pela lógica de negócio do Oracle E-Business Suite é apresentada na tabela 37. Nome da BAPI Utilizada em Descrição Bapi_Goodsmvt_Getdetail GoodsMvt_Synchronize Apresenta detalhes do documento do material. Bapi_Goodsmvt_Getitems N/A Apresenta uma lista detalhada de documentos de material. Bapi_Incominginvoice_Get detail Bapi_Incominginvoice_Get list Invoice_Synchronize N/A Verificação de facturas: Apresenta facturas. Verificação de facturas: Lista facturas. Bapi_Inforecord_Getlist PurchasingInfo_Synchronize Exibe informação sobre registos de compras. Bapi_Material_Get_Detail Material_Synchronize Determinada detalhes para um material. Bapi_Material_Getlist N/A Lista o fornecimento de materiais segundo uma lista de critérios com a descrição. Bapi_Materialgroup_Get_ List MaterialGroup_Synchronize e MaterialGroup_SynchronizeAll Lista os materiais por grupos (Descrições). Bapi_Po_Getdetail PurchaseOrder_Synchronize Apresenta os detalhes do pedido. 138

159 Nome da BAPI Utilizada em Descrição Bapi_Po_Getitems N/A Lista os itens do pedido. C_Pdm_Get_Material_Typ es MaterialType_SynchronizeAll Obtém os tipos de materiais disponíveis e sua descrição. C_Pdm_Get_Plants Plant_SynchronizeAll Obtém as obras existentes e a sua descrição. Isa_Get_Plants_List N/A Canal de Distribuição: Lista de itens a organização de vendas. Material_Read_Plants N/A Determina todas as plantas que justificam um material ser sustentado. Tabela 37. Lista de BAPIs que existem no espace EBS_MM. O modelo de dados do módulo de gestão de materiais, o SAP_MM é apresentado na ilustração

160 Ilustração 55. Modelo de dados do módulo de gestão de materiais. 140

Material de Apoio. Sistema de Informação Gerencial (SIG)

Material de Apoio. Sistema de Informação Gerencial (SIG) Sistema de Informação Gerencial (SIG) Material de Apoio Os Sistemas de Informação Gerencial (SIG) são sistemas ou processos que fornecem as informações necessárias para gerenciar com eficácia as organizações.

Leia mais

Conceito. As empresas como ecossistemas de relações dinâmicas

Conceito. As empresas como ecossistemas de relações dinâmicas Conceito As empresas como ecossistemas de relações dinâmicas PÁG 02 Actualmente, face à crescente necessidade de integração dos processos de negócio, as empresas enfrentam o desafio de inovar e expandir

Leia mais

PHC dteamcontrol Interno

PHC dteamcontrol Interno O módulo PHC dteamcontrol Interno permite acompanhar a gestão de todos os projectos abertos em que um utilizador se encontra envolvido. PHC dteamcontrol Interno A solução via Internet que permite acompanhar

Leia mais

Guia de recomendações para implementação de PLM em PME s

Guia de recomendações para implementação de PLM em PME s 1 Guia de recomendações para implementação de PLM em PME s RESUMO EXECUTIVO Este documento visa informar, de uma forma simples e prática, sobre o que é a gestão do ciclo de vida do Produto (PLM) e quais

Leia mais

PHC dteamcontrol Interno

PHC dteamcontrol Interno PHC dteamcontrol Interno A gestão remota de projectos em aberto A solução via Internet que permite acompanhar os projectos em aberto em que o utilizador se encontra envolvido, gerir eficazmente o seu tempo

Leia mais

Soluções de Gestão Integradas SENDYS ERP. Otimize a Gestão do Seu Negócio!

Soluções de Gestão Integradas SENDYS ERP. Otimize a Gestão do Seu Negócio! Soluções de Gestão Integradas SENDYS ERP Otimize a Gestão do Seu Negócio! Universo da Solução de Gestão SENDYS ERP SENDYS - Copyright 2007 SENDYS é uma marca proprietária da Readsystem, Lda. 2 Universo

Leia mais

Apresentação de Solução

Apresentação de Solução Apresentação de Solução Solução: Gestão de Altas Hospitalares Unidade de negócio da C3im: a) Consultoria e desenvolvimento de de Projectos b) Unidade de Desenvolvimento Área da Saúde Rua dos Arneiros,

Leia mais

Em início de nova fase, forumb2b.com alarga a oferta

Em início de nova fase, forumb2b.com alarga a oferta Em início de nova fase, alarga a oferta Com o objectivo de ajudar as empresas a controlar e reduzir custos relacionados com transacções de bens e serviços, o adicionou à sua oferta um conjunto de aplicações

Leia mais

Serviço a Pedido ( On Demand ) da CA - Termos e Política de Manutenção Em vigor a partir de 1 de Setembro de 2010

Serviço a Pedido ( On Demand ) da CA - Termos e Política de Manutenção Em vigor a partir de 1 de Setembro de 2010 Serviço a Pedido ( On Demand ) da CA - Termos e Política de Manutenção Em vigor a partir de 1 de Setembro de 2010 A Manutenção do Serviço a Pedido ( On Demand ) da CA consiste numa infra-estrutura de disponibilidade

Leia mais

Apresentação da Solução. Divisão Área Saúde. Solução: Gestão de Camas

Apresentação da Solução. Divisão Área Saúde. Solução: Gestão de Camas Apresentação da Solução Solução: Gestão de Camas Unidade de negócio da C3im: a) Consultoria e desenvolvimento de de Projectos b) Unidade de Desenvolvimento Área da Saúde Rua dos Arneiros, 82-A, 1500-060

Leia mais

A ARTSOFT é uma empresa especializada no desenvolvimento e comercialização de soluções tecnológicas de apoio à gestão empresarial.

A ARTSOFT é uma empresa especializada no desenvolvimento e comercialização de soluções tecnológicas de apoio à gestão empresarial. POWERING BUSINESS QUEM SOMOS A ARTSOFT é uma empresa especializada no desenvolvimento e comercialização de soluções tecnológicas de apoio à gestão empresarial. Desde 1987 que desenvolvemos um trabalho

Leia mais

Gestão dos Níveis de Serviço

Gestão dos Níveis de Serviço A Gestão dos Níveis de Serviço (SLM) Os sistemas e tecnologias de informação e comunicação têm nas empresas um papel cada vez mais importante evoluindo, hoje em dia, para níveis mais elevados de funcionamento

Leia mais

FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS

FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS Ivo BRAGA 1 RESUMO Os Serviços de manutenção exigem cada vez mais um elevado nível de complexidade. Mesmo a nível local onde o grau de especialização

Leia mais

PHC dcontroldoc. O acesso a diversos tipos de ficheiros

PHC dcontroldoc. O acesso a diversos tipos de ficheiros PHC dcontroldoc O acesso a diversos tipos de ficheiros A possibilidade de consultar e introduzir documentos, imagens e outro tipo de ficheiros, a partir de um local com acesso à Internet. BUSINESS AT SPEED

Leia mais

SHAREPOINT 2010. Ligação e autonomização das pessoas. Plataforma de colaboração

SHAREPOINT 2010. Ligação e autonomização das pessoas. Plataforma de colaboração prorm Microsoft Projectos SharePoint e Recursos 2010 SHAREPOINT 2010 Plataforma de colaboração O SharePoint 2010 é uma plataforma de colaboração de negócios que lhe permite ligar e autonomizar as pessoas

Leia mais

Soluções de Gestão de Clientes e Impressão Universal

Soluções de Gestão de Clientes e Impressão Universal Soluções de Gestão de Clientes e Impressão Universal Manual do utilizador Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca registada da Microsoft Corporation nos E.U.A. As informações

Leia mais

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO 9000. As Normas da família ISO 9000

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO 9000. As Normas da família ISO 9000 ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário Gestão da Qualidade 2005 1 As Normas da família ISO 9000 ISO 9000 descreve os fundamentos de sistemas de gestão da qualidade e especifica

Leia mais

Mobile Business. Your sales on the move.

Mobile Business. Your sales on the move. Pág/02 O PRIMAVERA é um produto destinado a empresas que utilizem processos de auto-venda e/ou pré-venda com Equipas de Vendas que necessitem de um conjunto de informação e funcionalidades avançadas, disponíveis

Leia mais

A versão básica disponibiliza a informação criada no Microsoft Navision em unidades de informação

A versão básica disponibiliza a informação criada no Microsoft Navision em unidades de informação O Business Analytics for Microsoft Business Solutions Navision ajuda-o a ter maior controlo do seu negócio, tomar rapidamente melhores decisões e equipar os seus funcionários para que estes possam contribuir

Leia mais

PHC Serviços CS. A gestão de processos de prestação de serviços

PHC Serviços CS. A gestão de processos de prestação de serviços PHC Serviços CS A gestão de processos de prestação de serviços A solução que permite controlar diferentes áreas de uma empresa: reclamações e respectivo tratamento; controlo de processos e respectivos

Leia mais

IAPMEI EEN. KMS Knowledge Management Solution

IAPMEI EEN. KMS Knowledge Management Solution IAPMEI EEN KMS Knowledge Management Solution Praia, 1 e 2 de Dezembro de 2011 IAPMEI Instituto de Apoio às Pequenas e Médias Empresas e à Inovação http://www.iapmei.pt/ Principal instrumento das políticas

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite

Leia mais

A SÈTIMA. O nosso principal objectivo

A SÈTIMA. O nosso principal objectivo 03 A SÈTIMA A SÉTIMA produz soluções de software maioritariamente com recurso à WEB, de modo a dar suporte ao crescimento tecnológico que é já a maior realidade do século XXI. Esta aposta deve-se ao facto

Leia mais

Suporte Técnico de Software HP

Suporte Técnico de Software HP Suporte Técnico de Software HP Serviços Tecnológicos HP - Serviços Contratuais Dados técnicos O Suporte Técnico de Software HP fornece serviços completos de suporte de software remoto para produtos de

Leia mais

Programa de Universidades

Programa de Universidades University Program International Univer- sities Certified Universities Programa de Universidades 2013 Infosistema. All rights reserved. www.iflowbpm.com O que é o iflow BPM? Tabela de Conteudos O que é

Leia mais

NP EN ISO 9001:2000 LISTA DE COMPROVAÇÃO

NP EN ISO 9001:2000 LISTA DE COMPROVAÇÃO NP EN ISO 9001:2000 LISTA DE COMPROVAÇÃO NIP: Nº DO RELATÓRIO: DENOMINAÇÃO DA EMPRESA: EQUIPA AUDITORA (EA): DATA DA VISITA PRÉVIA: DATA DA AUDITORIA: AUDITORIA DE: CONCESSÃO SEGUIMENTO ACOMPANHAMENTO

Leia mais

EMPRESAS VIRTUAIS. Autor: Pedro Miguel da Silva Fernandes. PDF processed with CutePDF evaluation edition www.cutepdf.com. Pág.

EMPRESAS VIRTUAIS. Autor: Pedro Miguel da Silva Fernandes. PDF processed with CutePDF evaluation edition www.cutepdf.com. Pág. EMPRESAS VIRTUAIS Autor: Pedro Miguel da Silva Fernandes Pág. 1 (de 5) PDF processed with CutePDF evaluation edition www.cutepdf.com EMPRESAS VIRTUAIS Actualmente, vivemos numa época de grandes mudanças

Leia mais

WePeopleValueYourPeople

WePeopleValueYourPeople WePeopleValueYourPeople e info@peoplevalue.com.pt w www.peoplevalue.com.pt Actualizado em 2010Jan14 quem somos? Somos a consultora sua parceira focada nas Pessoas e na sua valorização. Através da especialização

Leia mais

SPEKTRUM SOLUÇÕES DE GRANDE PORTE PARA PEQUENAS E MÉDIAS EMPRESAS SPEKTRUM SAP Partner 1

SPEKTRUM SOLUÇÕES DE GRANDE PORTE PARA PEQUENAS E MÉDIAS EMPRESAS SPEKTRUM SAP Partner 1 SPEKTRUM SOLUÇÕES DE GRANDE PORTE PARA PEQUENAS E MÉDIAS EMPRESAS SPEKTRUM SAP Partner 1 PROSPERE NA NOVA ECONOMIA A SPEKTRUM SUPORTA A EXECUÇÃO DA SUA ESTRATÉGIA Para as empresas que buscam crescimento

Leia mais

Estudo de Remuneração 2015

Estudo de Remuneração 2015 2015 information TECHNOLOGY Temporary & permanent recruitment www.pagepersonnel.pt Editorial Page Personnel ir ao encontro do talento A Page Personnel recruta para os seus clientes os melhores perfis qualificados,

Leia mais

NOTIFICAÇÃO DE NEGÓCIO

NOTIFICAÇÃO DE NEGÓCIO NOTIFICAÇÃO DE NEGÓCIO O Microsoft Business Solutions for Supply Chain Management Navision Business Notification ajudao a gerir a sua empresa mais facilmente e eficazmente. Pode identificar qualquer problema

Leia mais

Agenda Digital Local Sessão IV Aspectos técnicos

Agenda Digital Local Sessão IV Aspectos técnicos Agenda Digital Local Sessão IV Aspectos técnicos Segurança de dados Penafiel Ricardo Oliveira, rmo@eurotux.com AGENDA - FORMAÇÃO Apresentação ADL Barcelos: Múltiplas plataformas Questões-Chave para a Segurança

Leia mais

Perfil. Nossa estratégia de crescimento reside na excelência operacional, na inovação, no desenvolvimento do produto e no foco no cliente.

Perfil. Nossa estratégia de crescimento reside na excelência operacional, na inovação, no desenvolvimento do produto e no foco no cliente. Institucional Perfil A ARTSOFT SISTEMAS é uma empresa Brasileira, fundada em 1986, especializada no desenvolvimento de soluções em sistemas integrados de gestão empresarial ERP, customizáveis de acordo

Leia mais

One HP Trainee Program FY14 Caraterização de Estágios

One HP Trainee Program FY14 Caraterização de Estágios One HP Trainee Program FY14 Caraterização de Estágios HP Enterprise Services Lda. Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without

Leia mais

Junte-se a uma empresa sólida no nosso mercado, assumindo a função de Programador Web.

Junte-se a uma empresa sólida no nosso mercado, assumindo a função de Programador Web. Programador Web (m/f) Junte-se a uma empresa sólida no nosso mercado, assumindo a função de Programador Web. Integrado na equipa de desenvolvimento será responsável pelo desenvolvimento de aplicações web.

Leia mais

Por existir diferentes níveis em uma organização, existem diferentes tipos de sistemas servindo cada nível organizacional

Por existir diferentes níveis em uma organização, existem diferentes tipos de sistemas servindo cada nível organizacional Por existir diferentes níveis em uma organização, existem diferentes tipos de sistemas servindo cada nível organizacional Fonte: Tipos de Sistemas de Informação (Laudon, 2003). Fonte: Tipos de Sistemas

Leia mais

Base de Dados para Administrações de Condomínios

Base de Dados para Administrações de Condomínios Base de Dados para Administrações de Condomínios José Pedro Gaiolas de Sousa Pinto: ei03069@fe.up.pt Marco António Sousa Nunes Fernandes Silva: ei03121@fe.up.pt Pedro Miguel Rosário Alves: alves.pedro@fe.up.pt

Leia mais

Sistemas de Informação no sector da Construção. João Poças Martins, FEUP/GEQUALTEC, 2011 1

Sistemas de Informação no sector da Construção. João Poças Martins, FEUP/GEQUALTEC, 2011 1 Sistemas de Informação no sector da Construção João Poças Martins, FEUP/GEQUALTEC, 2011 1 Sistemas de Informação no sector da Construção 1. SI na Construção. Introdução 2. ERP 3. BIM 4. Outras aplicações

Leia mais

Business Process Management

Business Process Management 1 Business Process Management O imperativo da eficiência operacional Na constante busca pelo aumento da eficiência operacional e diminuição dos custos, as organizações procuram optimizar os seus processos

Leia mais

PHC dteamcontrol Interno

PHC dteamcontrol Interno PHC dteamcontrol Interno A gestão remota de projetos em aberto A solução via Internet que permite acompanhar os projetos em aberto em que o utilizador se encontra envolvido, gerir eficazmente o seu tempo

Leia mais

Office 2010 e SharePoint 2010: Produtividade Empresarial no Seu Melhor. Folha de Factos

Office 2010 e SharePoint 2010: Produtividade Empresarial no Seu Melhor. Folha de Factos Office 2010 e SharePoint 2010: Produtividade Empresarial no Seu Melhor Folha de Factos A informação contida neste documento representa a visão actual da Microsoft Corporation sobre os assuntos discutidos,

Leia mais

Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada

Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada Insight completo sobre IDG/Oracle Relatório de pesquisa de SOA Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada Alinhamento

Leia mais

Introdução. Confiabilidade. Conformidade. Segurança. Optimização e Disponibilidade

Introdução. Confiabilidade. Conformidade. Segurança. Optimização e Disponibilidade Introdução Desenvolvido segundo um modelo de bases de dados relacionais, podem ser realizadas personalizações à medida de cada empresa, em conformidade com o Sistema de Informação existente e diversas

Leia mais

PHC dteamcontrol Externo

PHC dteamcontrol Externo PHC dteamcontrol Externo A gestão remota de projectos e de informação A solução via Internet que permite aos seus Clientes participarem nos projectos em que estão envolvidos, interagindo na optimização

Leia mais

Enunciados dos Trabalhos de Laboratório. Instituto Superior Técnico - 2005/2006. 1 Introdução. 2 Configuração de Redes

Enunciados dos Trabalhos de Laboratório. Instituto Superior Técnico - 2005/2006. 1 Introdução. 2 Configuração de Redes Enunciados dos Trabalhos de Laboratório Instituto Superior Técnico - 2005/2006 1 Introdução A empresa XPTO vende serviços de telecomunicações. O seu portfólio de serviço inclui: acesso à Internet; serviço

Leia mais

Interatividade aliada a Análise de Negócios

Interatividade aliada a Análise de Negócios Interatividade aliada a Análise de Negócios Na era digital, a quase totalidade das organizações necessita da análise de seus negócios de forma ágil e segura - relatórios interativos, análise de gráficos,

Leia mais

Moçambique. Agenda EVENTOS 2013 NEW!! INSCREVA-SE EM. Também in Company. inscrip@iirportugal.com. VISITE www.iirportugal.com

Moçambique. Agenda EVENTOS 2013 NEW!! INSCREVA-SE EM. Também in Company. inscrip@iirportugal.com. VISITE www.iirportugal.com Moçambique Agenda EVENTOS 2013 NEW!! Também in Company INSCREVA-SE EM inscrip@iirportugal.com VISITE www.iirportugal.com INOVAÇÃO Estimado cliente, Temos o prazer de lhe apresentar em exclusiva o novo

Leia mais

Servidores Virtuais. Um servidor à medida da sua empresa, sem investimento nem custos de manutenção.

Servidores Virtuais. Um servidor à medida da sua empresa, sem investimento nem custos de manutenção. es Virtuais Um servidor à medida da sua empresa, sem investimento nem custos de manutenção. O que são os es Virtuais? Virtual é um produto destinado a empresas que necessitam de um servidor dedicado ligado

Leia mais

Como elaborar um Plano de Negócios de Sucesso

Como elaborar um Plano de Negócios de Sucesso Como elaborar um Plano de Negócios de Sucesso Pedro João 28 de Abril 2011 Fundação António Cupertino de Miranda Introdução ao Plano de Negócios Modelo de Negócio Análise Financeira Estrutura do Plano de

Leia mais

Escola Superior de Tecnologia de Setúbal. Projecto Final

Escola Superior de Tecnologia de Setúbal. Projecto Final Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Projecto Final Computação na Internet Ano Lectivo 2002/2003 Portal de Jogos Executado por:

Leia mais

E-business: Como as Empresas Usam os Sistemas de Informação

E-business: Como as Empresas Usam os Sistemas de Informação Capítulo 2 E-business: Como as Empresas Usam os Sistemas de Informação 2.1 2007 by Prentice Hall OBJETIVOS DE ESTUDO Identificar e descrever as principais características das empresas que são importantes

Leia mais

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Universidade de Trás-os-Montes e Alto Douro Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Agenda A UTAD Virtualização Uma definição Introdução e abrangência

Leia mais

Manual do Sistema de Gestão Integrado MSGI-01

Manual do Sistema de Gestão Integrado MSGI-01 Manual de Acolhimento LogicPulse Technologies, Lda. Índice PROMULGAÇÃO... 3 1. INTRODUÇÃO... 4 2. OBJETIVOS DO MANUAL... 4 3. APRESENTAÇÃO DA LOGICPULSE TECHNOLOGIES... 5 4. ORGANOGRAMA ORGANIZACIONAL...

Leia mais

DESENVOLVER E GERIR COMPETÊNCIAS EM CONTEXTO DE MUDANÇA (Publicado na Revista Hotéis de Portugal Julho/Agosto 2004)

DESENVOLVER E GERIR COMPETÊNCIAS EM CONTEXTO DE MUDANÇA (Publicado na Revista Hotéis de Portugal Julho/Agosto 2004) DESENVOLVER E GERIR COMPETÊNCIAS EM CONTEXTO DE MUDANÇA (Publicado na Revista Hotéis de Portugal Julho/Agosto 2004) por Mónica Montenegro, Coordenadora da área de Recursos Humanos do MBA em Hotelaria e

Leia mais

Certificação da Qualidade dos Serviços Sociais. Procedimentos

Certificação da Qualidade dos Serviços Sociais. Procedimentos Certificação da Qualidade dos Serviços Sociais EQUASS Assurance Procedimentos 2008 - European Quality in Social Services (EQUASS) Reservados todos os direitos. É proibida a reprodução total ou parcial

Leia mais

w w w. y e l l o w s c i r e. p t

w w w. y e l l o w s c i r e. p t consultoria e soluções informáticas w w w. y e l l o w s c i r e. p t A YellowScire iniciou a sua atividade em Janeiro de 2003, é uma empresa de consultoria de gestão e de desenvolvimento em tecnologias

Leia mais

Empresariado Nacional e Tecnologias de Informação e Comunicação: Que Soluções Viáveis para o Desenvolvimento dos Distritos?

Empresariado Nacional e Tecnologias de Informação e Comunicação: Que Soluções Viáveis para o Desenvolvimento dos Distritos? Empresariado Nacional e Tecnologias de Informação e Comunicação: Que Soluções Viáveis para o Desenvolvimento dos Distritos? Carlos Nuno Castel-Branco Professor Auxiliar da Faculdade de Economia da UEM

Leia mais

Aprend.e Sistema integrado de formação e aprendizagem

Aprend.e Sistema integrado de formação e aprendizagem Aprend.e Sistema integrado de formação e aprendizagem Pedro Beça 1, Miguel Oliveira 1 e A. Manuel de Oliveira Duarte 2 1 Escola Aveiro Norte, Universidade de Aveiro 2 Escola Aveiro Norte, Departamento

Leia mais

1 Descrição sumária. Varajão, Trigo e Barroso, O Gestor de Sistemas de Informação nas grandes empresas portuguesas, Computerworld, 2011.

1 Descrição sumária. Varajão, Trigo e Barroso, O Gestor de Sistemas de Informação nas grandes empresas portuguesas, Computerworld, 2011. O Gestor de Sistemas de Informação nas grandes empresas portuguesas João Varajão 1, António Trigo 2, João Barroso 1 1 Escola de Ciências e Tecnologia, Universidade de Trás-os-Montes e Alto Douro 2 Instituto

Leia mais

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Luís Filipe Borges Pinto Resumo: Este projecto consiste na implementação de uma aplicação WEB para monitorização

Leia mais

Sistemas Integrados ASI - II

Sistemas Integrados ASI - II Sistemas Integrados ASI - II SISTEMAS INTEGRADOS Uma organização de grande porte tem muitos tipos diferentes de Sistemas de Informação que apóiam diferentes funções, níveis organizacionais e processos

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

B U S I N E S S I M P R O V E M E N T

B U S I N E S S I M P R O V E M E N T BUSINESS IMPROVEMENT A I N D E V E QUEM É A Indeve é uma empresa especializada em Business Improvement, composta por consultores com uma vasta experiência e com um grande conhecimento do mundo empresarial

Leia mais

A Gestão, os Sistemas de Informação e a Informação nas Organizações

A Gestão, os Sistemas de Informação e a Informação nas Organizações Introdução: Os Sistemas de Informação (SI) enquanto assunto de gestão têm cerca de 30 anos de idade e a sua evolução ao longo destes últimos anos tem sido tão dramática como irregular. A importância dos

Leia mais

Engenharia de Software Sistemas Distribuídos

Engenharia de Software Sistemas Distribuídos Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2007/2008 Requisitos para a 1 a entrega Loja Virtual 1 Introdução O enunciado base do projecto conjunto das disciplinas de Engenharia de Software

Leia mais

UNIVERSIDADE CATÓLICA PORTUGUESA

UNIVERSIDADE CATÓLICA PORTUGUESA UNIVERSIDADE CATÓLICA PORTUGUESA FACULDADE DE PSICOLOGIA E DE EDUCAÇÃO MESTRADO EM CIÊNCIAS DA EDUCAÇÃO ESPECIALIZAÇÃO EM INFORMÁTICA EDUCACIONAL Internet e Educação Ensaio: A Web 2.0 como ferramenta pedagógica

Leia mais

ARTIGO: SOLUÇÕES PARA O SECTOR AUTARQUIAS in IGOV Maio 2010

ARTIGO: SOLUÇÕES PARA O SECTOR AUTARQUIAS in IGOV Maio 2010 CÂMARA MUNICIPAL DE SANTARÉM - R EVOLUÇÃO ADMINISTRATIVA A Autarquia de Santarém, em parceria com a PT Prime, desenvolveu um sistema de soluções integradas e inter-operantes que lhe possibilitaram operacionalizar

Leia mais

Sistemas Integrados de Gestão Empresarial

Sistemas Integrados de Gestão Empresarial Universidade Federal do Vale do São Francisco Curso de Administração Tecnologia e Sistemas de Informação - 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

O aumento da força de vendas da empresa

O aumento da força de vendas da empresa PHC dcrm O aumento da força de vendas da empresa O enfoque total na actividade do cliente, através do acesso remoto à informação comercial, aumentando assim a capacidade de resposta aos potenciais negócios

Leia mais

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:

Leia mais

1 ARQUITECTURA DO PRODUTO - MODULARIZAÇÃO E SISTEMAS DE PLATAFORMAS NA INDUSTRIA FERROVIÁRIA... 20.19.

1 ARQUITECTURA DO PRODUTO - MODULARIZAÇÃO E SISTEMAS DE PLATAFORMAS NA INDUSTRIA FERROVIÁRIA... 20.19. 1 ARQUITECTURA DO PRODUTO - MODULARIZAÇÃO E SISTEMAS DE PLATAFORMAS NA INDUSTRIA FERROVIÁRIA... 20.19. ESTRATÉGIA DE INOVAÇÃO 1 ARQUITECTURA DO PRODUTO - MODULARIZAÇÃO E SISTEMAS DE PLATAFORMAS NA INDUSTRIA

Leia mais

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Informação no contexto administrativo Graduação em Redes de Computadores Prof. Rodrigo W. Fonseca SENAC FACULDADEDETECNOLOGIA PELOTAS >SistemasdeInformação SENAC FACULDADEDETECNOLOGIA

Leia mais

Qpoint Rumo à Excelência Empresarial

Qpoint Rumo à Excelência Empresarial 2 PRIMAVERA BSS Qpoint Rumo à Excelência Empresarial Numa era em que a competitividade entre as organizações é decisiva para o sucesso empresarial, a aposta na qualidade e na melhoria contínua da performance

Leia mais

O SECTOR A SOLUÇÃO Y.make Num mundo cada vez mais exigente, cada vez mais rápido e cada vez mais competitivo, o papel dos sistemas de informação deixa de ser de obrigação para passar a ser de prioridade.

Leia mais

Escritórios de Barcelona: 143 Sobreático 08011 Barcelona - Espanha Telefone +34 937 247 477

Escritórios de Barcelona: 143 Sobreático 08011 Barcelona - Espanha Telefone +34 937 247 477 Perfil Corporativo Configuração, Implementação e Integração de Sistemas Aplicacionais de Negócio: Fundada em 1989 Presença directa em Portugal e Espanha +100 Clientes de média/grande dimensão, em vários

Leia mais

PHC Recursos Humanos CS

PHC Recursos Humanos CS PHC Recursos Humanos CS A gestão total dos Recursos Humanos A solução que permite a optimização da selecção e recrutamento, a correcta descrição de funções, a execução das avaliações de desempenho e a

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

ARQUIVO DIGITAL e Gestão de Documentos

ARQUIVO DIGITAL e Gestão de Documentos ARQUIVO DIGITAL e Gestão de Documentos TECNOLOGIA INOVAÇÃO SOFTWARE SERVIÇOS A MISTER DOC foi constituída com o objectivo de se tornar uma referência no mercado de fornecimento de soluções de gestão de

Leia mais

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,

Leia mais

Tecnologia da Informação. Sistema Integrado de Gestão ERP ERP

Tecnologia da Informação. Sistema Integrado de Gestão ERP ERP Tecnologia da Informação. Sistema Integrado de Gestão ERP Prof: Edson Thizon ethizon@gmail.com O que é TI? TI no mundo dos negócios Sistemas de Informações Gerenciais Informações Operacionais Informações

Leia mais

Sistema Integrado de Gestão ERP. Prof: Edson Thizon ethizon@gmail.com

Sistema Integrado de Gestão ERP. Prof: Edson Thizon ethizon@gmail.com Sistema Integrado de Gestão ERP Prof: Edson Thizon ethizon@gmail.com Tecnologia da Informação. O que é TI? TI no mundo dos negócios Sistemas de Informações Gerenciais Informações Operacionais Informações

Leia mais

PHC dteamcontrol Externo

PHC dteamcontrol Externo PHC dteamcontrol Externo A gestão remota de projetos e de informação A solução via Internet que permite aos seus Clientes participarem nos projetos em que estão envolvidos, interagindo na otimização dos

Leia mais

Prognos SMART OPTIMIZATION

Prognos SMART OPTIMIZATION Prognos SMART OPTIMIZATION A resposta aos seus desafios Menos estimativas e mais controlo na distribuição A ISA desenvolveu um novo software que permite o acesso a dados remotos. Através de informação

Leia mais

Negócios à Sua dimensão

Negócios à Sua dimensão Negócios à Sua dimensão O seu Software de Gestão acompanha-o? O ArtSOFT pode ser a solução de gestão da sua empresa. O ArtSOFT Profissional permite o controlo total sobre a gestão da sua empresa, assegura

Leia mais

BTree, Sistemas de Informação

BTree, Sistemas de Informação Preliminary Letter BTree, Sistemas de Informação Soluções à medida das suas necessidades Preliminary Letter Sedeada em Braga em 2003, a BTree é uma empresa que tem por objectivo o desenvolvimento, comercialização

Leia mais

geas www.sensocomum.pt

geas www.sensocomum.pt geas Como uma aplicação online pode facilitar a gestão da minha associação + fácil fichas de sócio online + rápido consulta de cotas + controlo histórico de alteração dados Com uma ferramenta disponível

Leia mais

Oracle Applications and Technologies

Oracle Applications and Technologies Apresenta Oracle Applications and Technologies Pacotes de Treinamentos Personalizados 1 Índice Introdução... 3 Modalidade dos Treinamentos... 5 Tipos de Treinamentos... 7 Conteúdo e Abordagem dos Treinamentos...

Leia mais

Benefícios Aumento de produtividade; Sincronização directa e sem problemas; Muito fácil de utilizar.

Benefícios Aumento de produtividade; Sincronização directa e sem problemas; Muito fácil de utilizar. Descritivo completo 2007 Se os seus vendedores precisam saber e actualizar as suas visitas e obter informação sobre os clientes e prospects quando estão no terreno, então esta é a solução ideal para si.

Leia mais

A Gestão de Configurações suporte dos Sistemas de Informação

A Gestão de Configurações suporte dos Sistemas de Informação A Gestão de Configurações suporte dos Sistemas de Informação O funcionamento dos sistemas e tecnologias de informação e comunicação têm nas organizações um papel cada vez mais crítico na medida em que

Leia mais

Solução Integrada para Gestão e Operação Empresarial - ERP

Solução Integrada para Gestão e Operação Empresarial - ERP Solução Integrada para Gestão e Operação Empresarial - ERP Mastermaq Softwares Há quase 20 anos no mercado, a Mastermaq está entre as maiores software houses do país e é especialista em soluções para Gestão

Leia mais

Corporativo. Transformar dados em informações claras e objetivas que. Star Soft. www.starsoft.com.br

Corporativo. Transformar dados em informações claras e objetivas que. Star Soft. www.starsoft.com.br Corporativo Transformar dados em informações claras e objetivas que possibilitem às empresas tomarem decisões em direção ao sucesso. Com essa filosofia a Star Soft Indústria de Software e Soluções vem

Leia mais