scieee AI-readable full text Open interactive document viewer

Full de Temps i de despeses en SapUI 5

Vila Gázquez, Jordi

Abstract

El full de temps i de despeses ha estat creat per gestionar de formar informatizada les hores i les despeses dels empleats.

Full text

Títol: Full de temps i de despeses en SapUi5 Autor: Jordi Vila Gázquez Data: 29/10/2015 Director: Jorge Fernandez Gonzalez Departament del director: Enginyeria de serveis i sistemes de informació (ESSI) Centre: Facultat d'Informàtica de Barcelona (FIB) Universitat: Universitat Politècnica de Catalunya (UPC) BarcelonaTech Projecte final de carrera Full de temps i de despeses en SapUI5 2 Projecte final de carrera Full de temps i de despeses en SapUI5 3 Índex 1 Introducció ............................................................................................................................ 6 1.1 Objectius ....................................................................................................................... 7 1.2 Alternatives solució ....................................................................................................... 7 1.2.1 SAP Fiori................................................................................................................. 7 2 Anàlisis de requisits ............................................................................................................... 9 2.1 Requisits funcionals ....................................................................................................... 9 2.1.1 Pantalla per iniciar sessió. ..................................................................................... 9 2.1.2 Introducció de dades ............................................................................................. 9 2.1.3 Aprovació de dades ............................................................................................. 10 2.1.4 Historial de dades ................................................................................................ 11 2.1.5 Tancaments ......................................................................................................... 11 2.2 Requisits no funcionals................................................................................................ 11 2.2.1 Compatibilitat ...................................................................................................... 11 2.2.2 Rendiment ........................................................................................................... 12 2.2.3 Suport .................................................................................................................. 12 2.2.4 Seguretat ............................................................................................................. 12 2.2.5 Idioma .................................................................................................................. 12 3 Especificació ........................................................................................................................ 13 3.1 Actors .......................................................................................................................... 13 3.1.1 Empleat ............................................................................................................... 13 3.1.2 Secretària ............................................................................................................ 13 3.1.3 Responsable ........................................................................................................ 13 3.1.4 Súper usuari......................................................................................................... 13 3.2 Diagrama de classes .................................................................................................... 14 3.3 Diagrama de casos d’ús ............................................................................................... 15 3.4 Descripció dels casos d’ús ........................................................................................... 17 4 Disseny ................................................................................................................................ 28 4.1 Sapui 5 ......................................................................................................................... 28 4.2 SAP R/3 ........................................................................................................................ 29 4.3 RFC (Remote Function Call) ......................................................................................... 30 4.4 Sap Netweaver Gateway ............................................................................................. 30 4.5 oData ........................................................................................................................... 31 4.6 Capa de presentació .................................................................................................... 31 4.6.1 Disseny de les pantalles ...................................................................................... 32 4.6.2 Pàgina per iniciar sessió ...................................................................................... 32 Projecte final de carrera Full de temps i de despeses en SapUI5 4 4.6.3 Pàgina fulla de despeses i temps ........................................................................ 33 4.6.4 Aprovació de despeses ........................................................................................ 40 4.7 Capa de domini............................................................................................................ 41 4.7.1 Iniciar sessió ........................................................................................................ 41 4.7.2 Recordar contrasenya ......................................................................................... 41 4.7.3 Canviar contrasenya ............................................................................................ 42 4.7.4 Guardar dia imputat ............................................................................................ 42 4.7.5 Eliminar dia imputació ......................................................................................... 43 4.7.6 Copiar dia imputació ........................................................................................... 43 4.7.7 Selecciona tipus imputació .................................................................................. 44 4.7.8 Prorratejar despeses ........................................................................................... 44 4.7.9 Llistar dies imputació .......................................................................................... 44 4.7.10 Activar / Desactivar Projecte ............................................................................... 45 4.7.11 Seleccionar Projecte / Eliminar projecte seleccionat .......................................... 45 4.7.12 Modificar despeses / hores ................................................................................. 45 4.7.13 Revisar ................................................................................................................. 46 4.7.14 Canviar Usuari ..................................................................................................... 46 4.7.15 Llistar Partes ........................................................................................................ 47 4.7.16 Aprovar / Revisar Partes ...................................................................................... 47 4.7.17 Filtrar parte ......................................................................................................... 48 4.7.18 Bloquejar despeses ............................................................................................. 48 4.7.19 Crear partes ......................................................................................................... 48 4.7.20 Apunt a finances .................................................................................................. 49 4.7.21 Apunt a controlling .............................................................................................. 49 4.7.22 Traspàs a recursos humans ................................................................................. 49 5 Implementació .................................................................................................................... 50 5.1 Sapui5 .......................................................................................................................... 50 5.2 Sap Gateway ................................................................................................................ 55 5.2.1 Entity Types ......................................................................................................... 55 5.2.2 Configuració serveis ............................................................................................ 56 5.2.3 Gateway Client .................................................................................................... 56 5.3 Sap R3 .......................................................................................................................... 57 5.3.1 Taula Zui5_Approvals .......................................................................................... 57 5.4 RFC ............................................................................................................................... 57 6 Planificació .......................................................................................................................... 62 6.1 Planificació del projecte .............................................................................................. 62 Projecte final de carrera Full de temps i de despeses en SapUI5 5 6.2 Anàlisis de costos ........................................................................................................ 63 7 Pròximes millores ................................................................................................................ 64 7.1 Introducció de despeses i hores .................................................................................. 64 7.1.1 Guardat automàtic .............................................................................................. 64 7.1.2 Bloquejar despeses ............................................................................................. 64 7.1.3 Eliminar camps que no apareixen al llistat .......................................................... 64 7.1.4 Clonar més d'un dia a la vegada. ......................................................................... 65 7.1.5 Polir el cercador de projectes.............................................................................. 65 7.1.6 Màxim nivell de detall en la imputació ............................................................... 65 7.1.7 Calendari més funcional ...................................................................................... 65 7.2 Aprovació fulla de despeses ........................................................................................ 66 7.2.1 Capçalera als llistats ............................................................................................ 66 7.2.2 Partició imputació ............................................................................................... 66 7.3 Valoració dels Gaps ..................................................................................................... 66 8 Proves .................................................................................................................................. 67 8.1 Proves Web ................................................................................................................. 67 8.2 Proves tancament ....................................................................................................... 67 9 Conclusions ......................................................................................................................... 68 10 Bibliografia ...................................................................................................................... 69 Projecte final de carrera Full de temps i de despeses en SapUI5 6 1 Introducció El present document que porta com a títol “Full de Temps i de despeses en SapUI5” correspon al Projecte Final de Carrera en modalitat B, ja que se situa dins el marc de la col·laboració entre una empresa i la Universitat. En aquest treball es presenta una aplicació concreta que va destinada a una empresa anomenada Oca Group, tot i que es pretén que sigui vàlida per a qualsevol altra empresa. A la vegada, en aquest document s’aporta tota la informació necessària per tal d’entendre el funcionament d’aquesta aplicació. Oca Group és un grup empresarial que se centra en les activitats d'Inspecció, Certificació i Formació en diferents àmbits, tant en el de les infraestructures com amb el medi ambient. El seu objectiu és incrementar el valor econòmic dels actius, projectes, productes i sistemes dels seus clients, tot reduint el risc. Oca està formada per més de 700 treballadors al llarg de tot el territori espanyol, juntament amb una àmplia xarxa de partners, oficines i empreses a l'exterior. Actualment, Oca, a l’igual que totes les empreses, estan formades per treballadors que, constantment, han d’introduir les dades de despeses que tenen, ja sigui per motius de comptabilitat o, si més no, per a poder quadrar les tarifes dels seus empleats. Per exemple, des del moment en que un operari realitza una revisió de qualsevol ascensor o un inspector realitza una formació estan obligats a introduir les respectives dades, és a dir, quin ha estat el cost de la revisió o quantes hores a dedicat a la formació. D’aquesta manera, totes les dades quedaran plasmades i guardades en format digital, podent recórrer a elles en qualsevol moment. Arrel d’aquesta evidència, sorgeix la necessitat d’elaborar una aplicació per a que tots els treballadors puguin introduir les seves hores i despeses que han tingut. A la vegada, aquesta aplicació permetrà un millor control als responsables i als coordinadors, ja que donarà l’opció de consultar les dades dels seus respectius empleats. S’ha constatat que hi ha companyies que realitzen aquesta tasca però única i exclusivament en format paper, fent que es converteixi en un procés feixuc i molt poc eficient, ja que apareix una despesa innecessària de paper i una feina extra per a poder comptabilitzar tots els documents. Per aquesta raó, és completament necessari poder proposar una aplicació que se centri en portar a terme aquesta acció. Conseqüentment, el fet que no hi hagi un sistema informatitzat fa que es converteixi en un procés manual i complex. Per tant, es tradueix en un procés costós per a l’empresa ja que comporta que es doni un volum d’errors important. Seguint amb aquesta línia, es evident que el reemborsament de les despeses cap als treballadors és molt lent. La realització d'una nota de despeses mensual no informatitzada suposa la inversió d'un temps important al mes per a un treballador. Això traduït en hores anuals per a l’empresa suposa un cost elevat. Davant d’aquestes perspectives, aquest projecte té com a finalitat crear un sistema automatitzat de la fulla de despeses, per tal de poder facilitar la feina a tots els participants en la introducció de despeses i hores. Projecte final de carrera Full de temps i de despeses en SapUI5 7 1.1 Objectius L’objectiu d’aquest Projecte Final de Carrera és elaborar un portal web a través del qual es puguin introduir les hores i despeses que els empleats tenen en les seves respectives jornades laborals. És important que la pàgina web sigui senzilla d’entendre i el més intuïtiva possible per facilitar l’adaptació dels usuaris a la nova aplicació. Tenint en compte que l’aplicació anirà destinada a molts usuaris, molts dels quals no tenen per que està familiaritzats amb les noves tecnologies. L’aplicació ha de poder facilitar informació detallada als responsables sobre les hores i despeses dels empleats que tinguin assignats en funció de l’organigrama de Sap. Fer el tancament de cada mes, enviant les despeses a recursos humans per poder pagar les nomines dels empleats i a finances per a que puguin fer una provisió de les despeses dels empleats, també s’han d’enviar les hores que han imputat els usuaris a controlling per a que puguin fer el càlcul de les tarifes dels empleats. Cal realitzar una aplicació suficientment genèrica com per que pugui ser reutilitzada per a qualsevol altre empresa que realitzi activitats semblants i així poder reduir costos en una futura nova implantació. 1.2 Alternatives solució En aquest apartat s'estudien les diferents alternatives possibles per tal de realitzar el projecte, és a dir, aquest apartat dóna l’opció de reflexionar sobre les diferents possibilitats que trobem. D’aquesta manera, es podrà valorar quina de totes les alternatives possibles és la més vàlida, correcta i encertada. Totes les possibilitats que trobem estan basades en eines i aplicacions de SAP. Les diferents alternatives vénen determinades per les necessitats plantejades pel Group Oca. La principal condició per a realitzar el projecte és que ha d’estar integrat amb SAP i, el seu cost, ha de ser raonable. En un principi es van plantejar 3 opcions, un portal web Dynpro Java, una aplicació Fiori o una aplicació a mida en Sapui5. La primera, web Dynpro Java, és una tecnologia que està quedant desfasada i que SAP deixarà de donar-hi suport, per tant realitzar una aplicació amb aquesta tecnologia tenint altres alternatives viables queda descartada. Conseqüentment, queden dues alternatives viables, una aplicació SAP Fiori, realitzada en Sapui5, o una aplicació realitzada a mida amb Sapui5. 1.2.1 SAP Fiori SAP Fiori són un conjunt d'aplicacions senzilles de màxim tres pantalles en que l'usuari acostuma a intuir les accions que pot realitzar, aquestes estan fetes en SapUI5 i, pràcticament, només requereixen instal·lar-les. Aquestes aplicacions estan en funcionament des de fa menys d’un any i amb poc temps estan agafant molta importància en el món SAP. A més a més, un gran Projecte final de carrera Full de temps i de despeses en SapUI5 8 avantatge és que ofereixen la possibilitat de poder ampliar-les en cas de requerir d’alguna funcionalitat apart de les estàndards. Imatge 1 Sap Fiori Existeix l’aplicació Fiori “My Travel and Expenses” la qual es podria arribar a adaptar a les necessitats del nostre client. De fet, aquesta hagués estat la millor opció si no fos per dos inconvenients: les aplicacions Fiori funcionen amb un usuari de SAP, i per tant es necessitarien moltes llicencies per tal que tots els usuaris puguin fer-ne ús (les llicencies són molt cares). A més a més, les necessitats del Group Oca són molt especifiques i l’aplicació és bastant senzilla, amb el qual s’hauria d’ampliar notablement, fins a tal punt que podem descartar aquesta opció. Degut aquests dos motius s’ha optat per realitzar l’aplicació a mida amb Sapui5. A dia d’avui, si les necessitats no són molt especifiques com podria ser una aplicació senzilla per aprovar sol·licituds de compra o alguna per l’estil, on una aplicació estàndard de Fiori seria la millor opció. La línia que s’està seguint es desenvolupar aplicacions a mida amb SapUi5. Projecte final de carrera Full de temps i de despeses en SapUI5 9 2 Anàlisis de requisits Arrel de totes les reunions realitzades amb els directius d’Oca Group s’ha considerat oportú realitzar un llistat on constin tots els requisits exposats per l’empresa, així com les peticions que han explicitat els membres de l’empresa. 2.1 Requisits funcionals L'aplicació web haurà de comptar amb les següents funcionalitats:  Pantalla per iniciar sessió.  Introducció de dades.  Aprovació de les dades.  Historial de dades. Tenint en compte que a l’empresa hi ha diferents rols de treballador, s’ha cregut oportú que cada grup tingui accés a una acció o a una altra. Les categories són les següents:  Empleat: accés a introducció de dades.  Secretària: accés a imputació de dades amb l’opció de modificar les despeses dels usuaris que té assignats en funció de l’organigrama.  Responsable: accés a imputació, aprovació i historial dels usuaris que té assignats en funció de l’organigrama.  Súper secretària: accés a imputació de despeses amb l’opció de modificar les despeses dels usuaris que té assignats de tota la seva delegació.  Súper usuari: Accés a imputació, aprovació i historial de despeses de tots els usuaris de la pàgina. 2.1.1 Pantalla per iniciar sessió. Aquest requisit fa referència a la pantalla d’inici que et permet iniciar la sessió. Aquest serà un formulari senzill on es demanarà l’usuari i la contrasenya. A la vegada, es donarà l’opció de recordar la contrasenya, facilitant l’opció a l’usuari en el cas que no la pugui recordar. 2.1.2 Introducció de dades En aquest apartat es fa referència al moment en que ja s’ha iniciat la sessió i apareix un full de despeses a través del qual els usuaris poden introduir i/o modificar la informació de les hores realitzades i de les despeses relatives a cada dia. Projecte final de carrera Full de temps i de despeses en SapUI5 16 Projecte final de carrera Full de temps i de despeses en SapUI5 17 3.4 Descripció dels casos d’ús La descripció dels casos d’ús consisteix en descriure la seqüència d’interaccions que tindran lloc entre el sistema i els diferents actors d’aquest per tal de poder realitzar les diferents funcions que requereix el sistema. A continuació es mostren de forma detallada cadascun dels casos d’ús que conformen el sistema. 3.4.1.1 CU#001 Iniciar sessió Actor principal Empleat Descripció L’usuari introdueix el seu usuari i contrasenya per autenticar-se. Precondició - Flux 1. L’usuari introdueix el nom d’usuari i la contrasenya. 2. El sistema valida les dades introduïdes. 3. El sistema mostra el menú principal de l’aplicació en funció del rol associat a l’usuari. Excepcions - L’usuari no existeix. - La contrasenya introduïda no coincideix amb la de l’usuari. 3.4.1.2 CU#002 tancar sessió Actor principal Empleat Descripció L’usuari vol tancar sessió Precondició L’usuari ha iniciat la sessió. Flux 1. L’usuari indica al sistema que vol tancar la sessió. 2. El sistema tanca la sessió i mostra la pàgina d’iniciar sessió. Excepcions - Projecte final de carrera Full de temps i de despeses en SapUI5 18 3.4.1.3 CU#003 Recordar contrasenya Actor principal Empleat Descripció L’usuari vol recordar la seva contrasenya Precondició - Flux 1. L’usuari indica al sistema que vol recordar la seva contrasenya. 2. El sistema li demana el seu e-mail. 3. L’usuari introdueix l’e-mail. 4. El sistema enviar un e-mail amb la contrasenya de l’usuari Excepcions - L’e-mail introduït no existeix en la base de dades. 3.4.1.4 CU#004 Canviar contrasenya Actor principal Empleat Descripció L’usuari introdueix la nova contrasenya Precondició - L’usuari ha iniciat sessió Flux 1. L’usuari selecciona que vol modificar la contrasenya actual 2. El sistema demana la contrasenya actual, i la nova per duplicat 3. L’usuari introdueix la contrasenya actual, i la nova dos vegades. 4. El sistema valida la contrasenya actual i actualitza la contrasenya. Excepcions - La contrasenya actual no coincideix - La nova contrasenya que s’ha introduït per duplicat no coincideix. 3.4.1.5 CU#005 Guardar dia d’imputació Actor principal Empleat Descripció L’usuari guarda el parte del dia. Precondició L’usuari ha iniciat sessió Flux 1. L’usuari selecciona el dia del parte que vol guardar 2. El sistema mostra tota la informació del dia seleccionat. Projecte final de carrera Full de temps i de despeses en SapUI5 19 3. L’usuari fa les modificacions pertinents. 4. L’usuari selecciona guardar el parte actual. 5. El sistema guarda la informació del dia, introduïda per l’empleat. Excepcions - S’han introduït mes de 12h. 3.4.1.6 CU#006 Eliminar dia d’imputació Actor principal Empleat Descripció L’usuari vol eliminar tota la informació del dia. Precondició L’usuari ha iniciat sessió Flux 1. L’usuari selecciona el dia del parte que vol eliminar 2. El sistema mostra tota la informació del dia seleccionat. 3. L’usuari indica que vol eliminar tota la informació. 4. El sistema elimina tota la informació a la base de dades del dia seleccionat. Excepcions - 3.4.1.7 CU#007 Copiar dia d’imputació Actor principal Empleat Descripció L’usuari vol copiar tota la informació del dia, a un altre dia. Precondició L’usuari ha iniciat sessió Flux 1. L’usuari selecciona el dia que vol copiar. 2. El sistema mostra un calendari. 3. L’usuari selecciona el dia on vol copiar tota la informació del dia seleccionar prèviament. 4. El sistema copia tota la informació al dia seleccionat. Excepcions - Projecte final de carrera Full de temps i de despeses en SapUI5 20 3.4.1.8 CU#008 Llistar dies imputació Actor principal Empleat Descripció L’usuari vol veure tota la informació que ha introduït. Precondició L’usuari ha iniciat sessió Flux 1. L’usuari selecciona que vol veure un llistat de tota la informació introduïda. 2. El sistema li mostra un pop-up amb dos dates per seleccionar l’interval de temps. 3. L’usuari selecciona l’interval de temps des d’on vol veure el llistat. 4. El sistema mostra un PDF amb tota la informació introduïda des de la web entre el interval de temps. Excepcions - 3.4.1.9 CU#009 Seleccionar tipus de dia d’imputació Actor principal Empleat Descripció L’usuari vol seleccionar el tipus de dia d’imputació, per defecte és no festiu. Precondició L’usuari ha iniciat sessió Flux 1. L’usuari selecciona el desplegable de tipus de dia. 2. El sistema mostra els diferents tipus possibles. a. L’usuari selecciona un dia no festiu. i. El sistema desbloqueja la introducció de projectes. b. L’usuari seleccionar un dia diferent a no festiu. i. El sistema bloqueja la introducció de projectes. Excepcions - Projecte final de carrera Full de temps i de despeses en SapUI5 21 3.4.1.10 CU#010 Prorratejar despeses Actor principal Empleat Descripció L’usuari vol dividir les despeses entre els projectes introduïts en el dia actual. Precondició S’ha d’haver seleccionat almenys un projecte. Flux 1. L’usuari selecciona que vol prorratejar les seves despeses. 2. El sistema mostra un pop-up. 3. L’usuari selecciona en els projectes que es volen prorratejar les despeses i introdueix els imports a dividir. Excepcions - 3.4.1.11 CU#011 Activar projecte Actor principal Empleat Descripció L’usuari vol que li aparegui un projecte per defecte en la taula de projectes Precondició El projecte ha de ser de la mateixa societat que l’usuari Flux 1. L’usuari selecciona que vol activar un projecte 2. El sistema mostra un pop-up amb un buscador. 3. L’usuari indica els paràmetres a buscar 4. El sistema mostra els resultats. 5. L’usuari indica el projecte a activar. Excepcions - 3.4.1.12 CU#012 Desactivar projecte Actor principal Empleat Descripció L’usuari vol que no li aparegui un projecte per defecte en la taula de projectes Precondició - Projecte final de carrera Full de temps i de despeses en SapUI5 22 Flux 1. L’usuari selecciona que vol desactivar un projecte 2. El sistema mostra un pop-up amb els projectes actius. 3. L’usuari indica el projecte a activar. Excepcions - 3.4.1.13 CU#013 Seleccionar projecte Actor principal Empleat Descripció L’usuari indica que en el dia seleccionat, ha treballat en el projecte seleccionat Precondició - Flux 1. L’usuari selecciona el projecte. 2. El sistema afegeix el projecte, a la taula de imputació Excepcions - 3.4.1.14 CU#013 Filtrar projecte Actor principal Empleat Descripció L’usuari pot filtrar els projectes. Precondició - Flux 1. L’usuari indica el projecte que vol buscar 2. El sistema filtra per la paraula a buscar i mostra els projectes que compleixen el filtre Excepcions - Projecte final de carrera Full de temps i de despeses en SapUI5 23 3.4.1.15 CU#014 Eliminar projecte seleccionat Actor principal Empleat Descripció L’usuari vol eliminar un projecte de de la taula d’imputació Precondició - S’ha d’haver seleccionat un projecte. Flux 1. L’usuari selecciona el projecte. 2. El sistema elimina el projecte, a la taula de imputació Excepcions - 3.4.1.16 CU#015 Editar informació imputada Actor principal Empleat Descripció L’usuari indica les hores que ha dedicat el projecte, si ha estat des de la oficina o en el client i una breu descripció Precondició - Es selecciona la fila del projecte on es vol introduir la informació Flux 1. L’usuari indica les hores que ha dedicat el projecte, si ha estat des de la oficina o en el client i una breu descripció Excepcions - 3.4.1.17 CU#016 Despeses a un projecte Actor principal Empleat Descripció L’usuari vol introduir despeses a un projecte Precondició - Es selecciona la fila del projecte on es vol introduir la informació Flux 1. L’usuari selecciona el projecte. 2. El sistema indica que s’ha col·locat en el projecte seleccionat 3. L’usuari introdueix les despeses Excepcions - Projecte final de carrera Full de temps i de despeses en SapUI5 24 3.4.1.18 CU#018 Revisar Parte Actor principal Empleat Descripció L’usuari indica al seu responsable que ha revisat el seu parte Precondició - El responsable ha d’haver revisat el parte de l’empleat Flux 1. L’usuari guarda el parte amb les modificacions pertinents. 2. Indica al sistema que ha revisat el parte 3. El sistema modifica l’estat del parte, per a que el responsable l’aprovi. Excepcions 3.4.1.19 CU#019 Canviar d’usuari Actor principal Secretaria Descripció L’usuari vol introduir / modificar les despeses d’un altre usuari. Precondició - Només pot modificar els les despeses dels usuaris que te assignats a l’organigrama. Flux 1. L’usuari indica que es vol canviar d’usuari 2. El sistema mostra un pop-up amb un buscador. 3. L’usuari fa una cerca de l’usuari que vol. 4. El sistema mostra els resultats de la cerca 5. L’usuari indica l’usuari que vol modificar. 6. El sistema mostra el parte del usuari seleccionat. Excepcions - 3.4.1.20 CU#021 Llistar partes Actor principal Responsable Descripció El responsable visualitza tots els partes dels empleats que te assignats Precondició - El super administrador els ha d’haver generat. Projecte final de carrera Full de temps i de despeses en SapUI5 25 Flux 1. L’usuari diu al sistema que vol veure els partes 2. El sistema mostra tots els partes que te assignats. Excepcions - 3.4.1.21 CU#021 Aprovar parte Actor principal Responsable Descripció El responsable aprova un parte d’un usuari pendent d’aprovació Precondició - El super administrador els ha d’haver generat. Flux 1. L’usuari diu al sistema que vol veure els partes 2. El sistema mostra tots els partes que te assignats. 3. L’usuari diu que vol aprovar un parte 4. El sistema li demana confirmació 5. L’usuari confirma l’aprovació 6. El sistema aprova el parte, i desapareix de la llista Excepcions - 3.4.1.22 CU#022 Rebutjar parte Actor principal Responsable Descripció El responsable rebutja un parte d’un usuari pendent d’aprovació Precondició - El super administrador els ha d’haver generat. Flux 1. L’usuari diu al sistema que vol veure els partes 2. El sistema mostra tots els partes que te assignats. 3. L’usuari diu que vol rebutjar un parte 4. El sistema li demana confirmació i un motiu. 5. L’usuari confirma el rebuig 6. El sistema rebutja el parte, envia un e-mail amb el motiu del rebuig i canvia l’estat del parte a Pendent R. Excepcions - Projecte final de carrera Full de temps i de despeses en SapUI5 32 4.6.1 Disseny de les pantalles A continuació es mostren totes les pantalles que formen part del sistema web en funció de l’usuari (empleat, responsable, secretaria, super usuari) . En les següents imatges es mostren les pantalles que es corresponen al nostre sistema. Aquestes pantalles són: 4.6.2 Pàgina per iniciar sessió Pantalla d’inici de la pàgina web, en aquesta es sol·licitarà usuari i contrasenya per iniciar sessió. Imatge 5 Iniciar sessió En cas de no recordar la contrasenya es donarà l’opció de fer clic a "¿Olvidaste tu contraseña?" Que obrirà un pop-up en el qual es demanarà que introduïm un correu electrònic per poder recuperar la contrasenya. Aquesta serà enviada per correu. Imatge 6 Recuperar contrasenya Projecte final de carrera Full de temps i de despeses en SapUI5 33 4.6.3 Pàgina fulla de despeses i temps Un cop iniciada sessió es mostrarà la pàgina fulla de despeses i temps. En aquesta pàgina l'usuari podrà introduir els projectes en què ha treballat juntament amb una descripció. Imatge 7 fulla d'imputació La pàgina d'imputació està dividida per blocs: - Capçalera - Menú - Calendari - Resum general - Projectes de l'usuari - Projectes del dia actual - Imputació de despeses Projecte final de carrera Full de temps i de despeses en SapUI5 34 4.6.3.1 Capçalera La capçalera és la part que serà comú a totes les pàgines i ens permetrà navegar entre elles. Imatge 8 Capçalera En funció del tipus d'usuari hi hauran més o menys pestanyes visibles o no per poder navegar. A la part dreta damunt de la capçalera hi haurà l'opció de canviar contrasenya fent clic en el nostre usuari. Imatge 9 Canviar contrasenya Obrirà un pop-up que demanarà la contrasenya antiga i la nova. Imatge 10 Pop-up canviar contrasenya El botó de la dreta del tot ens permetrà tancar sessió i enviar de nou a la pantalla d'iniciar sessió. Imatge 11 tanca sessió Projecte final de carrera Full de temps i de despeses en SapUI5 35 4.6.3.2 Menú Des de el menú tindrem diferents opcions: Imatge 12 menu imputació temps i despeses  Esborrar dia actual: elimina totes les despeses introduïdes del dia que està seleccionat en el calendari, també elimina els registres de SAP.  Guardar: guarda en SAP totes les despeses introduïdes del dia seleccionat en el calendari  Cancel·la: elimina del full de despeses totes les despeses introduïts fins al moment, però no guarda res en SAP.  Copiar dia actual: obre un calendari on ens permetrà seleccionar una data. Una vegada seleccionada es copiaran les despeses del dia en què estàvem a la data escollida. Imatge 13 Copiar dia actual  Llistes: Obre un pop-up que ens permetrà triar entre dues dates. Un cop seleccionades, es mostrarà un document PDF en una nova finestra amb totes les despeses entre les dues dates. Imatge 14 Pop-up llistats Projecte final de carrera Full de temps i de despeses en SapUI5 36 Imatge 15 Llistat despeses  Actualitzar projectes: si per defecte no apareix un projecte es pot afegir sempre que aquest pertany a la mateixa societat que l’usuari. Imatge 16 Actualitzar projectes En aquest pop-up apareixen dues taules. A la taula de la dreta apareixen els projectes que té activats actualment l'usuari. En la de l'esquerra es mostren els resultats de les cerques. Es pot buscar per centre de benefici, codi de projecte, nom de projecte o client. Un cop trobat el projecte, fent clic a la part esquerra de la fila del projecte s'afegirà el projecte i es mourà a la taula dreta. Si ja no volem que un projecte aparegui més es pot desactivar fent clic a la part esquerra de la fila de la taula dreta.  Prorratejar despeses: Dividir unes despeses entre tots els projectes del dia. Introduïm les despeses i es dividiran equitativament entre totes els projectes seleccionats. Imatge 17 Prorratejar despeses Projecte final de carrera Full de temps i de despeses en SapUI5 37  Revisat: Indica que el responsable no ha aprovat les nostres despeses i hem de revisarles. Un cop revisades i / o modificades s'ha de donar clic ha revisat per a que el responsable les pugui aprovar de nou amb les modificacions que s’hagin fet. 4.6.3.3 Calendari Permet triar el dia en què volem introduir despeses, per defecte mostra el dia actual en què estem. Imatge 18 Calendari 4.6.3.4 Resum general Mostra la informació rellevant: Usuari que ha iniciat sessió, codi d'usuari en SAP, tipus d'usuari (Empleat / Responsable / Secretària / S. Usuari), la data triada en calendari de la il·lustració 14 i les hores introduïdes. Imatge 19 Resum general Conté un desplegable per indicar si és un dia festiu, dia de vacances o baixa per malaltia. Imatge 20 Tipus de dia Projecte final de carrera Full de temps i de despeses en SapUI5 38 4.6.3.5 Projectes actius Fent clic a la part esquerra s'afegirà el projecte a la taula de projectes del dia per així poder-li introduir hores i despeses. Disposa d'un cercador per filtrar els projectes. Imatge 21 Projectes actius 4.6.3.6 Projectes del dia Un cop seleccionats els projectes seleccionats en la taula anterior, s'afegiran els projectes en qüestió a la taula de projectes del dia. Imatge 22 Projectes del dia Cada fila està formada per:  Creu vermella per si volem eliminar el projecte de la taula.  Centre de benefici  Nom del projecte  Nom del client  Situació: client / oficina.  Les hores realitzades en el projecte  Permet afegir una breu descripció del treball realitzat.  Indica si el projecte ha estat introduït des de GTI Projecte final de carrera Full de temps i de despeses en SapUI5 39 4.6.3.7 Imputació de despeses Per introduir les despeses a un projecte cal seleccionar a la part esquerra de la fila de la taula de projectes del dia, il·lustració 13. Un cop seleccionada la fila ens mostrés les despeses que hi ha en aquest projecte i es podran afegir de nous. 4.6.3.8 Secretària Una secretària pot modificar les imputacions dels usuaris que tenen assignats. Imatge 23 Usuaris secretària Fent clic a botó de color blau que es mostra a la il·lustració 14 s'obrirà un pop-up on es podrà buscar a l'usuari del que es vulguin modificar les despeses. Un cop trobat fent clic a part esquerra de la fila seleccionarem l'usuari per modificar les despeses. Projecte final de carrera Full de temps i de despeses en SapUI5 40 4.6.4 Aprovació de despeses Els responsables tindran una pestanya amb aprovació de despeses. En aquesta pàgina es visualitzaran totes les despeses que estiguin pendents de ser aprovades. Per poder aprovar una despesa o rebutjar-hauran de seleccionar la fila fent clic a la part esquerra de les files desitjades i llavors fer clic a aprovar o rebutjar. Imatge 24 Aprovació de despeses Si fem clic a aprovar automàticament les despeses desapareixen de la llista i si fem clic a revisar s'obrirà un pop-up amb un camp observacions per avisar a l'usuari que ha de revisar les seves despeses. Imatge 25 Revisar despeses Quan es faci clic a Revisar s’enviarà un correu electrònic a l'usuari amb les observacions introduïdes pel responsable perquè pugui rectificar les seves despeses. Imatge 26 Revisar L'usuari veurà un nou botó en el full d'imputació per indicar al responsable que ha modificat les seves despeses. Projecte final de carrera Full de temps i de despeses en SapUI5 41 4.7 Capa de domini En base als casos d'ús que hem d’implementar i l'arquitectura del sistema que hem vist, es presenten ara els diagrames de seqüència de cada procés que s'executi en l'aplicació. 4.7.1 Iniciar sessió 4.7.2 Recordar contrasenya Projecte final de carrera Full de temps i de despeses en SapUI5 48 4.7.17 Filtrar parte 4.7.18 Bloquejar despeses 4.7.19 Crear partes Projecte final de carrera Full de temps i de despeses en SapUI5 49 4.7.20 Apunt a finances 4.7.21 Apunt a controlling 4.7.22 Traspàs a recursos humans Projecte final de carrera Full de temps i de despeses en SapUI5 50 5 Implementació En aquest apartat, explicarem com s’ha implementat les parts més interessants de cada un dels apartats del projecte. 5.1 Sapui5 Com ja hem comentat anteriorment Sapui5 utilitza el model vista controlador (MVC). Per implementar aquesta part, s’ha utilitzat eclipse amb les llibres de SapUi5. Quant creem un nou projecte, l’eclipse ens crea un nou projecte amb una estructura similar aquesta: Aquest index.html es generat automàticament al crear el nostre projecte, aquí principalment es definirà, les llibreries estàndards de sapui5 que es volen utilitzar, en el nostre cas: “sap.ui.commons”, “sap.ui.ux3”, “sap.suite.commons. També es definiria l’estil dels controladors, els mes utilitzats són: blue_crystal i goldreflection. En aquest projecte s’ha decidit utilitzar el goldreflection. Codi 1 Llibreries, template Les noves vistes i controladors es declaren dintre de la carpeta “z_rapport_sapui5”. Per declara una nova el vista amb el seu corresponent controlador es fa amb: Codi 2 Definir Vista Finalment afegim la nova vista al body de la nostra pàgina. Codi 3 Insertar vista al content <script src="resources/sap-ui-core.js" id="sap-ui-bootstrap" data-sap-ui-libs="sap.ui.commons, sap.ui.ux3, sap.suite.ui.commons" data-sap-ui-theme="sap_goldreflection"> </script> var oView = sap.ui.view({id:'login', viewName:"z_rapport_sapui5.Login", type:sap.ui.core.mvc.ViewType.JS}); oLayout.placeAt("content"); Projecte final de carrera Full de temps i de despeses en SapUI5 51 On el content serà un div del nostre body: Codi 4 Body, div content Finalment el nostre index.html quedarà aproximadament així: Codi 5 Index.html Un cop l’usuari hagi iniciat sessió se li mostrarà el Shell amb les diferents pestanyes. Sobre aquest Shell és on la nostra web esta implementada. Aquest controlador del SapUI5 ens permetrà afegir:  Logotip  Títol  Pestanyes per navegar  Usuari que ha iniciat sessió  Canviar d’usuari. <body class="sapUiBody" role="application"> <div id="content"></div> </body> <!DOCTYPE HTML> <html> <head> <title>OCA Group</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/> <link href="styles/styles.css" rel="stylesheet" type="text/css" /> <link href="images/icons/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script> <script src="resources/sap-ui-core.js" id="sap-ui-bootstrap" data-sap-ui-libs="sap.ui.commons, sap.ui.ux3, sap.suite.ui.commons" data-sap-ui-theme="sap_goldreflection"> </script> <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jqueryui.min.js"></script> <script> sap.ui.localResources("z_rapport_sapui5"); var oLayout = sap.ui.view({id:'login', viewName:"z_rapport_sapui5.Login", type:sap.ui.core.mvc.ViewType.JS}); oLayout.placeAt("content"); </script> </head> <body class="sapUiBody" role="application"> <div id="content"></div> </body> </html> Projecte final de carrera Full de temps i de despeses en SapUI5 52 Codi 6 Shell Sapui5 var oShell = new sap.ui.ux3.Shell("myShell", { appTitle: oBundle.getText("hojaTiempos"), appIcon: "images/SAPLogo.gif", appIconTooltip: "SAP logo", showLogoutButton: true, showSearchTool: false, showInspectorTool: true, showFeederTool: false, worksetItems: [ new sap.ui.ux3.NavigationItem("WI_rapports", {key:"rapports",text:oBundle.getText("imputHoja")}), new sap.ui.ux3.NavigationItem("WI_listados", {key:"listado",text:oBundle.getText("aViajes")}), new sap.ui.ux3.NavigationItem("WI_history", {key:"history",text:oBundle.getText("aHistory")}) ], headerItems: [ new sap.ui.commons.TextView({text:oBundle.getText("bienvenido")}), new sap.ui.commons.MenuButton({ id: "nickname", text: "", menu: new sap.ui.commons.Menu("mUser", {items:[ new sap.ui.commons.MenuItem({ id:"cPass", text:oBundle.getText("cPass"), select:function(){ oController.changePassword(); } })] }) }) ], worksetItemSelected: function(oEvent){ var sId = oEvent.getParameter("id"); var oShell = oEvent.oSource; switch (sId) { case "WI_home": oShell.setContent(oHTML); break; case "WI_1_1": oShell.setContent(oText); break; case "WI_1_2": oShell.setContent(oButton); break; case "WI_1_3": oShell.setContent(oImage); break; default: break; } }, paneBarItemSelected: function(oEvent){ var sKey = oEvent.getParameter("key"); var oShell = oEvent.oSource; switch (sKey) { case "pi_date": var oDate = new Date(); oShell.setPaneContent( new sap.ui.commons.TextView({text:oDate.toLocaleString()}), false); break; case "pi_empleado": oShell.setPaneContent(empleado(), false); break; default: break; } }, logout:function(){ oController.closeSession(); } }); break; case "WI_listados": if (sap.ui.getCore().byId("listadosLay") == undefined) Projecte final de carrera Full de temps i de despeses en SapUI5 53 Aquest és el control que ens permetrà detectar el canvi de pestanyes i canviar la vista: Codi 7 Pestanyes del shell La nostra aplicació tindrà un model a través del qual els controladors podran accedir per agafar informació. Per declarar el nostre model i bindejar-lo a l’aplicació: Codi 8 Bind Model Ara cada cop que vulguem afer una propietat al model simplement, li haurem d’indicar el path i la propietat. Codi 9 afegir propietat al model oShell.attachWorksetItemSelected(function(oEvent){ var sId = oEvent.getParameter("id"); var oShell = oEvent.oSource; switch (sId) { case "WI_rapports": oShell.setContent( sap.ui.getCore().byId("rapportsLay")); break; case "WI_listados": if (sap.ui.getCore().byId("listadosLay") == undefined) oShell.setContent(sap.ui.view({id:"listadosLay", viewName:"z_rapport_sapui5.Listados", type:sap.ui.core.mvc.ViewType.JS})); else oShell.setContent( sap.ui.getCore().byId("listadosLay")); break; case "WI_history": if (sap.ui.getCore().byId("historyLay") == undefined) oShell.setContent(sap.ui.view({id:"historyLay", viewName:"z_rapport_sapui5.History", type:sap.ui.core.mvc.ViewType.JS})); else oShell.setContent( sap.ui.getCore().byId("historyLay")); break; default: oShell.setContent( sap.ui.getCore().byId("rapportsLay")); break; } }); var oModel = new sap.ui.model.json.JSONModel(); sap.ui.getCore().setModel(oModel); sap.ui.getCore().getModel().setProperty("/userName", iuser); sap.ui.getCore().getModel().setProperty("/userCode", e.ENumu); sap.ui.getCore().getModel().setProperty("/typeUser", e.ETipo); Projecte final de carrera Full de temps i de despeses en SapUI5 54 Inversament quant vulguem recuperar alguna propietat, nomes hem d’indicar el path: Codi 10 recuperar propietat del model Per poder fer crides al Gateway, hem de definir el model el qual ens permetrà interactuar amb el Gateway: Codi 11 Definir Model, crida Gateway Per definir una taula amb les seves corresponents columnes seria així: Codi 12 Sap.ui.taula.taula sap.ui.getCore().getModel().getProperty("/userName"); sap.ui.getCore().getModel().getProperty("/userCode"); sap.ui.getCore().getModel().getProperty("/typeUser"); this.urlPrincipal = "/sap/opu/odata/sap/ZUI5_GASTOS_SRV/"; var mHeaders = {"Cache-Control": "no-cache, no-store", "Pragma":"no-cache"}; var oModel = new sap.ui.model.odata.ODataModel (this.urlPrincipal, true, null, null, mHeaders); oModel.read(entity,null,filter,false, function(e){ //resultat de la crida },function(error){ //error… }); }, var A311_Table = new sap.ui.table.Table("RapportsTable",{ columns: [ new sap.ui.table.Column({ label: new sap.ui.commons.Label({ text: "" }), template: A311_button, width: "40px" }), new sap.ui.table.Column({ label: new sap.ui.commons.Label({ text: oBundle.getText("pos"), tooltip: oBundle.getText("pos") }), template: new sap.ui.commons.TextView({ text: "{Pos}" }), width: "40px" }), new sap.ui.table.Column({ label: new sap.ui.commons.Label({ text: oBundle.getText("proyecto"), tooltip: oBundle.getText("proyecto") }), template: new sap.ui.commons.TextView({ text: "{Proj}" }), width: "180px" }), new sap.ui.table.Column({ label: new sap.ui.commons.Label({ text: oBundle.getText("cliente"), tooltip: oBundle.getText("cliente") }), template: new sap.ui.commons.TextView({ text: "{Clie}" }), . . . Projecte final de carrera Full de temps i de despeses en SapUI5 55 5.2 Sap Gateway 5.2.1 Entity Types Per poder interactuar entre el Sapui5 i SAP R3 s’ha definit el següent model de Gateway, el primer pas per poder definir un servei, es definir la seva estructura (entity), en altres paraules, es defineixen les variables que es passaran del Sapui5 a SAP R3. Les entitats son les estructures del model, s’han declarat les següents: Imatge 27 Entity Types 5.2.1.1 Serveis Després de definir les estructures s’han d’aclarir els serveis per cada una, per exemple: Imatge 28 Serveis Gateway Projecte final de carrera Full de temps i de despeses en SapUI5 56 5.2.2 Configuració serveis S’ha de fer la configuració el Gateway per indicar quin mandant, i servei ha de fer servir: Imatge 29 Configuració serveis 5.2.3 Gateway Client Un cop s’ha configurar el Gateway, s’ha definit un model, amb les seves entitats mapejades, podem extreure les metadatas d’aquest. Imatge 30 Gateway Client Projecte final de carrera Full de temps i de despeses en SapUI5 57 5.3 Sap R3 S’han definit diferents taules, estructures, RFC. A continuació es mostra una com exemple. 5.3.1 Taula Zui5_Approvals Definició de la taula d’aprovacions, en aquesta taula guardarem els partes que han estat aprovats. Imatge 31 taula Zui5_approvals 5.4 RFC Definició de variables import de la funció que es mapejaran amb el Gateway: Imatge 32 Rfc Z_ui5_approvals Projecte final de carrera Full de temps i de despeses en SapUI5 64 7 Pròximes millores Actualment, l’aplicació ha estat funcionant aproximadament uns 3 mesos. Després d'aquests operant amb la nova fulla de despeses, el Group Oca, ha consultat a les seves delegacions sobre el seu funcionament, grau de satisfacció i quines funcionalitats trobaven a faltar o creien que es poden millorar. Gràcies aquest feedback dels usuaris de la pàgina web, ens han fet arribar un llistat de millores a valorar per implementar, les quals es divideixen entre Introducció (1) i Aprovació (2). 7.1 Introducció de despeses i hores 7.1.1 Guardat automàtic Cada vegada que s'introdueix o es modifica un camp en la vista d’introducció de despeses i temps, aquesta haurà de ser guarda automàticament. Motiu: evitar la necessitat de guardar un cop introduïdes les despeses. S’ha plantejat dues opcions:  Auto guardar totes les modificacions en el model de sapui5 i quant es canvi de dia, enviar les modificacions a Sap. Això és pot arribar a complicar molt. Per tant s’ha descartat doncs suposaria un cost molt elevat per Oca.  Cada modificació que es faci en la fulla fer una crida a sap per guardar-la. Pot comportat sobrecarregar el sistema per fer masses crides. 7.1.2 Bloquejar despeses Els camps per a la introducció de despeses únicament han de permetre la introducció de despeses quan un projecte està seleccionat. Si no és així, han d'estar des habilitats. Motiu: Actualment si no hi ha un projecte seleccionat, i s’hi introdueixen despeses no van contra cap projecte per tant es perden. És una millora relativament senzilla que ja probablement ja s’hauria d’haver dut a terme des de un inici. 7.1.3 Eliminar camps que no apareixen al llistat Únicament deixar habilitat els camps "descripció" que apareixen posteriorment als llistats, ja que els altres no apareixen. La resta de camps els podem desactivar permanentment. Motiu: En un inici l’idea dels llistats era per mostrar només les despeses, però Oca ha cregut convenient en que els llistats son un resum de tots els imports introduïts. És una millora interessant per simplificar la visualització de les despeses. Projecte final de carrera Full de temps i de despeses en SapUI5 65 7.1.4 Clonar més d'un dia a la vegada. Per poder clonar més d’un dia a la vegada, es mostraran dos calendaris en comptes d’un. En el primer es seleccionaran els dies consecutius que es volen copiar; en el segon, el dia inicial per realitzar la còpia correlativa d’aquests. Motiu: en ocasions alguns empleats pràcticament imputen tots els dies el mateix. Oferint aquesta finalitat podran clonar pràcticament mesos complets evitant pèrdues de temps. A l’inici del desenvolupament vaig pensar en oferir la possibilitat de poder clonar setmanes senceres. 7.1.5 Polir el cercador de projectes La cerca de projectes filtrant per algun paràmetre no ha diferenciar entre majúscules/ minúscules, accents, etc. Actualment si es busca un projecte pel nom i aquest no s’escriu igual que està a SAP, no es trobarà. A causa de l’arquitectura de SAP no és possible sense tenir un cost elevat. S’hauria de replicar la mateixa taula de projectes posant-los tots en majúscules i sense accents per poder filtrar en aquesta. S’ha considerat denegar aquesta millora. 7.1.6 Màxim nivell de detall en la imputació Actualment les despeses van contra un projecte que té varies posicions. Ens demanen a veure si es pot fer que s’imputi directament a les posicions d’aquest, per així tenir un millor detall. Per realitzar aquest canvi s’haurien de fer importants modificacions a finances que directament no es van voler ni plantejar. 7.1.7 Calendari més funcional Fer el calendari més funcional mitjançant colors en els dies, diferenciant caps de setmana, dies pendents d'imputar hores, dies amb hores imputades i festius, etc. Motiu: Un cop es visualitzi el calendari es podrà deduir si falta algun dia per imputar, altrament s’ha de fer a través dels llistats o seleccionar tots i cada un dels dia del més per veure si falta alguna imputació. Projecte final de carrera Full de temps i de despeses en SapUI5 66 7.2 Aprovació fulla de despeses 7.2.1 Capçalera als llistats Crear una capçalera per dia que agrupi totes les despeses del dia, en el llistat PDF que es genera. Motiu: Hi ha dies on s’imputa a molts projectes i requereix temps fer el càlcul de l’import de totes les despeses. 7.2.2 Partició imputació Actualment les aprovacions es fan quinzenalment, doncs en el plantejament inicial es va considerar que els empleats haurien d’omplir les seves despeses quinzenalment. Motiu: A la pràctica s’ha vist que costa molt anar al darrera de la gent per a que ompli les despeses cada setmana. Fent-ho mensualment no es tant a sobre dels empleats. No fer la partició de primera i segona quinzena en generar el llistat, generant un únic llistat per a tots els dies del mes. 7.3 Valoració dels Gaps ID Concepte Jornades 6.1.1 Guardat automàtic 8 6.1.2 Bloquejar despeses 1 6.1.3 Eliminar camps 0.5 6.1.4 Clonar dies 4 6.1.7 Calendari funcional 5 6.2.1 Capçalera llistats 2 6.2.2 Partició imputació 2 Total 22.5 Projecte final de carrera Full de temps i de despeses en SapUI5 67 8 Proves La finalitat d'aquest apartat és aconseguir un correcte funcionament de l’aplicació web. Per a poder garantir-lo s'ha sotmès a diferents tipus de proves per detectar tots aquells errors que durant la programació de les diferents pàgines no s’han detectat. Aquest punt és fonamental en el desenvolupament d'una aplicació d'aquestes característiques, ja que hem d'aconseguir un correcte funcionament i una correcta visualització de la fulla de despeses evitant qualsevol mena de problema que pogués aparèixer. 8.1 Proves Web En el desenvolupament d'aquesta aplicació, cada vegada que s'acabava un apartat, se sotmetia a una sèrie de proves amb la pitjor intenció possible per trobar els possibles errors; intentant reproduir tots els possibles casos. Un cop s’ha aconseguit una versió estable s’ha demanat als responsables d’ Oca que realitzessin simulacions reals en l’aplicació per veure si trobaven algun error o volien realitzar alguna modificació en aquesta. 8.2 Proves tancament Aquest apartat ha sigut especialment difícil,ja que s’ha demanat ajuda tant a finances com a recursos humans. Entre tots hem intentat simular diversos escenaris on quedessin reflectits tots els casos possibles en els que ens podríem trobar. Per tal de poder validar el tancament de més, s’ha seguit el següent procés: 1Introducció de despeses a diferents usuaris. 2Aprovació d’aquestes despeses 3Enviar les despeses a nomina 4Enviar les despeses a finances Les despeses enviades a nòmina i la provisió realitzada a finances havia de coincidir. Per tal de poder validar les hores enviades a controlling, s’ha procedit a la introducció d’unes hores a diferents usuaris. Un cop enviades a controlling havien de coincidir amb les introduïdes des de la web. Projecte final de carrera Full de temps i de despeses en SapUI5 68 9 Conclusions La realització d'aquest projecte ha estat una experiència molt interessant i enriquidora, ja que m’ha aportat un gran coneixement en les tecnologies utilitzades, tenint en compte que abans de començar aquest projecte desconeixia les tecnologies Sapui5, Sap Netweaver Gateway i tenia una experiència relativa amb l’Abap. Durant aquests mesos he hagut de dedicar molt de temps de manera constant, i prendre les decisions que he considerat més correctes per a donar solució als requeriments plantejats inicialment, i assumir la responsabilitat d'aquestes decisions sota la subjectivitat pròpia d’un mateix, tenint en compte les possibles conseqüències. Si avui hagués de tornar a realitzar el mateix projecte, seria molt més exigent amb els requisits per realitzar el tancament de mes. Aquesta ha estat la part més complicada amb molta diferencia i fins i tot mesos després de l’arrencament del projecte van apareixent noves casuístiques que prèviament desconeixia. Per altra banda, malgrat la dificultat inicial del Sap Gateway i Sapui5 a l’inici, doncs pràcticament ningú em va poder ajudar i/o aconsellar i al ser una tecnologia molt nova la documentació no era gaire abundant, avui estic molt satisfet amb els coneixements que m’ha aportat aquest projecte, a més, em sembla una tecnologia que m’obre portes cap a Sap Fiori, Sap Hana Cloud, i a futures noves eines que puguin aparèixer en aquest àmbit. Com ja he comentat, a l’inici del projecte desconeixia les tecnologies a utilitzar, però he de dir que avui estic pràcticament convençut que vull continuar treballant amb aquestes, doncs em semblen una gran opció per continuar amb la meva carrera professional. Projecte final de carrera Full de temps i de despeses en SapUI5 69 10 Bibliografia  Manual Sapui5 https://sapui5.hana.ondemand.com  Api Sapui5 https://sapui5.hana.ondemand.com/#docs/api/symbols/sap.ui.html  Exemples controls Sapui5 https://sapui5.hana.ondemand.com/#content/Controls/index.html  Exemples Sapui5 http://stackoverflow.com/questions/tagged/sapui5  Sap Fiori https://experience.sap.com/fiori/  Manuals jQuery, Css, javascript, html. http://www.w3schools.com/  Comunitat Sap Gateway http://scn.sap.com/community/gateway/blog  Comunitat Abap http://scn.sap.com/community/abap Projecte final de carrera Full de temps i de despeses en SapUI5 70