Está en la página 1de 44

Liberacin de solicitudes de compra en SAP a

travs de una aplicacin Web creada en


Web Dynpro ABAP
































Francisco Jos Martnez Garca
Consultor: Jordi Ceballos Villach
01/11/2011
ndice de contenidos

0 ndice de ilustraciones ................................................................................................................
1 !ntroducci"n ............................................................................................................................... #
1.1 $b%eti&os del traba%o 'inal de carrera ................................................................................. #
1.2 ()*ectati&as ......................................................................................................................... #
1.+ ,escri*ci"n del *ro-ecto ..................................................................................................... #
1. .lani'icaci"n ........................................................................................................................ /
1..1 ,ia0ra1a de Gantt ....................................................................................................... /
1..2 Ciclo de &ida ................................................................................................................. 2
1..+ ,etalle de acti&idades .................................................................................................. 2
1.3 4erra1ientas utilizadas ...................................................................................................... 5
1.# .roductos obtenidos ........................................................................................................... 5
1./ (structura de este docu1ento ............................................................................................ 5
2 6e7uisitos iniciales ................................................................................................................... 10
2.1 (scenario de *artida .......................................................................................................... 10
2.1.1 8obre 89. ................................................................................................................... 10
2.1.2 4istoria - caractersticas de :,9 .............................................................................. 11
2.1.+ 9r7uitectura :,9 ...................................................................................................... 1+
2.1. :eb ,-n*ro ()*lorer ................................................................................................. 1
2.2 .re*araci"n del siste1a .................................................................................................... 1#
2.2.1 Custo1azin0 89. ........................................................................................................ 1/
2.+ (%e1*lo *r;ctico del Custo1azin0 realizado .................................................................... 20
+ 9n;lisis del siste1a .................................................................................................................. 21
+.1 ,ia0ra1a de casos de uso ................................................................................................. 21
+.2 ,escri*ci"n te)tual de casos de uso ................................................................................. 2+
+.2.1 C<01 = !niciar sesi"n ................................................................................................... 2+
+.2.2 C<02 = Finalizar sesi"n ............................................................................................... 2+
+.2.+ C<0+ = >uscar solicitudes ........................................................................................... 2+
+.2. C<0 = ?istado de solicitudes *endientes de liberar .................................................. 2
+.2.3 C<03 = ?iberar solicitud .............................................................................................. 2
+.2.# C<0# = @rans'or1ar solicitudes en *edidos de co1*ra ............................................. 23
+.2./ C<0/ = ?istado de solicitudes trans'or1adas ............................................................. 23
+.2.2 C<02 = ?istado de solicitudes liberadas -/o rechazadas ............................................ 2#
+.2.5 C<05 = Visualizar 1aestro de 1ateriales ................................................................... 2#
+.2.10 C<10 = Visualizar 1aestro de *ro&eedores .............................................................. 2/
+.2.11 C<11 = 6echazar solicitud ......................................................................................... 2/
+.2.12 C<12 = ,eshacer to1a de decisi"n .......................................................................... 2/
,iseAo ....................................................................................................................................... 22
.1 9r7uitectura 0lobal............................................................................................................ 22
.2 9r7uitectura es*eci'ica ..................................................................................................... 22
.+ 9r7uitectura 'sica ............................................................................................................. +0
.+ 8obre la base de datos ...................................................................................................... +1
.+.1 ,ia0ra1a entidad relaci"n ......................................................................................... +1
.+.2 Consideraciones sobre ca1*os .................................................................................. +2
. ,ia0ra1a de clases ............................................................................................................ +2
..1 (s7ue1a dia0ra1a de clases ..................................................................................... ++
.3 ,ia0ra1a de secuencia ..................................................................................................... ++
.3.1 (s7ue1a dia0ra1a de secuencia: C<03 B ?iberar solicitud ...................................... +
.3.2 (s7ue1a dia0ra1a de secuencia: C<05 B Visualizar 1aestro de 1ateriales ........... +3
.3.+ (s7ue1a dia0ra1a de secuencia: C<0# B @rans'or1ar solicitudes en *edidos de
co1*ra ................................................................................................................................ +#
3 !1*le1entaci"n ....................................................................................................................... +/
3.1 VieC: M9!D ....................................................................................................................... +2
3.1.1 Co1*onente 8(?(C@E$.@!$D8 .................................................................................. +5
3.1.2 Co1*onentes: .(D,!(D@(8F ?!>(69,98 - @69D8F$6M9,98 .................................. 0
3.2 VieCs: M9(8@6$E.6$V((,$6 - M9(8@6$EM9@(6!9? .................................................. 0
3. :eb ,-n*ro a**lication ................................................................................................... 2
# Conclusiones ............................................................................................................................. +
/ Fuentes de in'or1aci"n ...........................................................................................................















0 ndice de ilustraciones

!lustraci"n 1. ,ia0ra1a de Gantt .................................................................................................. /
!lustraci"n 2. ,ia0ra1a ciclo de &ida............................................................................................. 2
!lustraci"n +. Co1*onentes del 8er&idor 89. Det:ea&er ......................................................... 11
!lustraci"n . (&oluci"n de las <! de 89. .................................................................................... 12
!lustraci"n 3. Modelo de *ro0ra1aci"n :eb ,-n*ro ................................................................ 1+
!lustraci"n #. 9>9. CorGbench 1ostrando la inter'ace :eb ,-n*ro ()*lorer ......................... 1
!lustraci"n /. ?ista de ob%etos *ro0ra1ables en 89. .................................................................. 13
!lustraci"n 2. ,etalle en ;rbol del co1*onente :,9 de este .FC ............................................. 13
!lustraci"n 5. @ransacci"n M(3+D B Visualizar solicitudes de *edidos de co1*ra. ................... 1#
!lustraci"n 10. ,etalle de la *estaAa de estrate0ias de liberaci"n en una solicitud ................... 1/
!lustraci"n 11. @ransacci"n 8.6$ B Ca1ino a se0uir *ara *ara1etrizar liberaciones ................ 1/
!lustraci"n 12. ,etalle en 89. del 0ru*o de liberaci"n - clase asociada .................................... 12
!lustraci"n 1+. ,etalle de la caracterstica 7ue co1*one una clase ........................................... 12
!lustraci"n 1. ,etalle de una caracterstica - su &alor ............................................................. 12
!lustraci"n 13. ,etalle en 89. del 0ru*o de liberaci"n - clase asociada .................................... 12
!lustraci"n 1#. ,etalle en 89. de las estrate0ias de liberaci"n. ................................................. 15
!lustraci"n 1/. ,etalle en 89. del c"di0o de liberaci"n .............................................................. 15
!lustraci"n 12. ,etalle en 89. de los indicadores de liberaci"n ................................................. 15
!lustraci"n 15. ,etalle de una solicitud de *edido - la estrate0ia de liberaci"n deter1inada... 20
!lustraci"n 20. ,etalle de las estrate0ias de liberaci"n desde la transacci"n M(3D ................ 20
!lustraci"n 21. ,etalle de la estrate0ia de liberaci"n una &ez to1ada la decisi"n ..................... 20
!lustraci"n 22. Caso de uso - actores .......................................................................................... 21
!lustraci"n 2+. Caso de uso: Gesti"n solicitudes ......................................................................... 22
!lustraci"n 2. 9r7uitectura 0eneral de un co1*onente :eb ,-n*ro ...................................... 22
!lustraci"n 23. 9r7uitectura es*ec'ica del co1*onente :eb ,-n*ro desarrollado ................. 25
!lustraci"n 2#. Visualizaci"n en broCser del co1*onente 8(?(C@E$.@!$D8 ............................ 25
!lustraci"n 2/. Visualizaci"n en broCser del co1*onente .(D,!(D@(8 .................................... 25
!lustraci"n 22. Visualizaci"n en broCser del co1*onente ?!>(69,98....................................... +0
!lustraci"n 25. Visualizaci"n en broCser del co1*onente @69D8F$6M9,98 ........................... +0
!lustraci"n +0. 9r7uitectura 'sica de la a*licaci"n ..................................................................... +0
!lustraci"n +1. (s7ue1a del dia0ra1a entidad relaci"n ............................................................. +1
!lustraci"n +2. ,o1inio de datos del ca1*o >9D.6 .................................................................. +2
!lustraci"n ++. (s7ue1a del dia0ra1a de clases ......................................................................... ++
!lustraci"n +. (s7ue1a del dia0ra1a de secuencia C<03 ......................................................... +
!lustraci"n +3. (s7ue1a del dia0ra1a de secuencia C<05 ......................................................... +3
!lustraci"n +#. (s7ue1a del dia0ra1a de secuencia C<0# ......................................................... +#
!lustraci"n +/. 9r7uitectura es*ec'ica del co1*onente :eb ,-n*ro desarrollado ................. +/
!lustraci"n +2. Vista interna de los ele1entos usados en la &ieC M9!D .................................... +2
!lustraci"n +5. Vista interna de los ele1entos usados en la &ieC M9(8@6$E.6$V((,$6 ....... 0
!lustraci"n 0. Vista interna de los ele1entos usados en la &ieC M9(8@6$EM9@(6!9?........... 0
!lustraci"n 1. Vista interna de la :eb ,-n*ro a**lication ....................................................... 2











































1 Introduccin
1.1 Objetivos del trabajo final de carrera

(l ob%eti&o *rinci*al del @FC es crear una a*licaci"n :eb a tra&s de la herra1ienta 7ue 'acilita
89. en su &ersi"n 89. (CC #.0 - si0uientesF deno1inada :eb ,-n*ro 9>9. Hen adelante
:,9I.

:,9 es el recurso tecnol"0ico 7ue o'rece la *lata'or1a *ara 1ane%ar la ca*a de *resentaci"n
de las a*licacionesF es decirF la inter'az de usuario de las a*licaciones :eb. :,9 *ro&ee un
con%unto de herra1ientas *ara 1odelar - diseAar las inter'aces de usuario bas;ndose en el
*aradi01a MVC HModel VieC ControlerI.
1.2 Expectativas

(sta nue&a tecnolo0a resulta 1u- atracti&a *ara las *ersonas 7ue nor1al1ente han traba%ado
con 89. en entornos con&encionales. Dor1al1ente las a*licaciones 7ue se crean Jnica -
e)clusi&a1ente *ueden ser e%ecutadas dentro de 89.. Con :,9 se *ueden crear a*licaciones
:eb 7ue corren a tra&s de un na&e0ador con&encional - ser usadas en la 0ran 1a-ora de los
actuales dis*ositi&os 1"&iles Htablets .C - s1art*hones *or e%e1*loI.

9de1;sF con el desarrollo de esta a*licaci"n se 7uiere dar soluci"n a un *roble1a recurrente
en di&ersas ti*olo0as de *-1es. ,otar de cierta 1o&ilidad - a su &ez a0ilidad en la to1a de
decisiones al de*arta1ento de co1*ras de una e1*resa.
1.3 Descripcin del proyecto

8e i1*le1entar; un caso *r;ctico - Jtil. ,entro del 1"dulo de co1*rasF e)iste el ob%eto de
ne0ocio lla1ado solicitud de *edido de co1*ras 7ue re'le%a la necesidad de ad7uirir ciertos
1aterialesF bienesF acti&os o ser&icios sin tener 7ue es*eci'icar de 1anera 'ir1e el *ro&eedor
7ue lo realizar;F el coste econ"1ico 7ue su*ondr; o los detalles de rece*ci"n de la 1ercanca
si es 7ue se diera el caso.

.osterior1ente estas solicitudes tras ser estudiadas *or el res*onsable - acordadas con el
*ro&eedor ele0ido son con&ertidas en *edidos de co1*ra en 'ir1e en 89..

?a a*licaci"n :eb 7ue desarrollar ser; un *e7ueAo centro de traba%o *ara 0estionar este
*roceso. ,entro de la a*licaci"n se *odr;n &er las solicitudes 7ue ha- *endientes de tratarF las
solicitudes a*robadas - las solicitudes rechazadas. ,entro de las solicitudes a*robadas
distin0uire1os las solicitudes 7ue han sido con&ertidas en *edidos - las 7ue no. 8e obtendr;
de 1anera r;*ida - sencilla datos sobre el 1aterial solicitado - los *ro&eedores deseados.

?as solicitudes con&ertidas contendr;n in'or1aci"n del docu1ento 7ue han 0enerado - *ara
las 7ue aJn 'alta realizar ste *rocesoF se dotar; de las *antallas necesarias *ara 7ue el
res*onsable introduzca la in'or1aci"n 7ue se necesita H.ro&eedorF 1aterial/ser&icio
es*ec'icoF condiciones de *recioF etc.I


1. !lanificacin

4a- cuatro 'echas cla&es *ara el se0ui1iento - cu1*li1iento del @FCF corres*onden con las 'echas de entre0a de cada una de las .9CF stas son:

Fecha Documento Descripcin
0+.10.2011 .9C1 6edacci"n del *lan de traba%o: ,escri*ci"nF ob%eti&osF 'uncionalidad - *lani'icaci"n te1*oral.
+1.10.2011 .9C2 6edacci"n de la es*eci'icaci"n tcnica del traba%o: ,ia0ra1as <M?F ,iseAo de la ar7uitecturaF *ara1etrizaci"n es*ec'ica de 89..
15.12.2011 .9C+ !1*le1entaci"n del desarrollo
05.01.2011 (ntre0a 'inal 6edacci"n de los docu1entos: Me1oria - *resentaci"n &irtual

1.4.1 Diagrama de Gantt


Ilustracin 1. Diagrama de Gantt
1.4.2 Ciclo de vida

(l *ro-ecto ha sido desarrollado to1ando co1o base el ciclo de &ida cl;sico de creaci"n de
so'tCare Hta1bin deno1inado ciclo en cascadaI li0era1ente ada*tado a las necesidades del
@FCF - se ha co1*uesto de las si0uientes eta*as:


Ilustracin 2. Diagrama ciclo de vida

4a- 7ue destacar 7ue durante el *roceso de i1*le1entaci"n - *ruebas se tu&o 7ue &ol&er a la
eta*a de diseAo -a 7ue la realidad del diseAo no se a%ustaba a la i1*le1entaci"n.
1.4.3 Detalle de actividades

9 continuaci"n se detalla *or cada eta*a 7ue co1*one el ciclo de &idaF las *rinci*ales
acti&idades realizadas con ob%eto de obtener el *roducto son las si0uientes:

Anlisis previo y planificacin .resentaci"n de la docu1entaci"n es*ec'ica *or ser un @FC
adhocF bJs7ueda de una instalaci"n real de 89. *ara *oder realizar el *ro-ecto -
te1*orizaci"n del *ro-ecto con'or1e a la 1etodolo0a a utilizar - los hitos 7ue alcanzar.

Anlisis de re!uisitos Creaci"n - docu1entaci"n de los casos de uso e identi'icaci"n -
docu1entaci"n de los re7uisitos 'uncionales.

Dise"o ,iseAo de la ar7uitectura de la soluci"nF de'inici"n de la estructura de la base de
datos - estudio de la inter'ace de las *antallas

#mplementacin y pruebas !1*le1entaci"n de la a*licaci"n teniendo en cuenta las
es*eci'icaciones de'inidas hasta el 1o1ento - creaci"n de un %ue0o de datos.

Finali$acin 6edacci"n 'inal de la 1e1oriaF 1odi'icaciones *untuales de la i1*le1entaci"n -
creaci"n de la *resentaci"n &irtual.




1." #erra$ientas utili%adas

.ara la realizaci"n del @FC se han utilizado las si0uientes herra1ientas:

%icrosoft Word 6edacci"n de docu1entos.
%icrosoft Po&erPoint Creaci"n de la *resentaci"n del *ro-ecto.
'antt Pro(ect Creaci"n del dia0ra1a de Gantt
Bouml (s*eci'icaci"n casos de uso.
SAP )** +,- !1*le1entaci"n de la a*licaci"n - %ue0o de datos.
*amtasia .ecorder Creaci"n del &ideo de *resentaci"n.
Dia Con'ecci"n del dia0ra1a entidad relaci"nF dia0ra1a de secuenciaF dia0ra1a de clases F
ciclo de &ida - otros 0r;'icos.
1.& !roductos obtenidos

,urante la realizaci"n del *resente traba%o se han 0enerado los si0uientes entre0ables:

,ocu1ento del .lan de @raba%o.
,ocu1ento de 9n;lisis - ,iseAo del siste1a.
,ocu1ento !1*le1entaci"n de la a*licaci"n :(> desarrollada 7ue e1ulara a la
entre0a de los e%ecutables.
Me1oria 'inal del *ro-ectoF este docu1ento.
.resentaci"n &irtual.
1.' Estructura de este docu$ento

(l resto de esta 1e1oria reco0e los as*ectos 1;s destacables de las tareas realizadasF
co1enzando *or los re7uisitos inicialesF 7ue describen el escenario sobre el 7ue se ha
traba%ado. ()*licando entre otras cosas 7u es 89. - los as*ectos tcnicos de :,9.

9cto se0uido se introducir; el resultado de la 'ase de an;lisisF con el diseAo 0lobal de :,9 -
es*ec'ico de la a*licaci"nF (l dia0ra1a entidad relaci"nF el es7ue1a de dia0ra1a de clases -
dia0ra1a de secuencias.

,es*us se entrar; a describir la 'ase de i1*le1entaci"nF donde se co1entar;n las *rinci*ales
*articularidades - decisiones 7ue han sido to1adas durante esta eta*a del *ro-ecto *ara cada
uno de los co1*onentes creados - se describir;n los as*ectos 1;s destacados.

(l Jlti1o ca*tulo se centrar; en las conclusiones 'inales a las 7ue se han lle0ado a lo lar0o de
la realizaci"n del *ro-ectoF - a continuaci"n se *odr; encontrar in'or1aci"n adicional co1o las
'uentes utilizadas.









2 (e)uisitos iniciales

?os si0uientes *;rra'os describen un escenario real sobre el 7ue se &a a desarrollar el @FCF as
co1o las *rinci*ales necesidades establecidas desde el inicio.
2.1 Escenario de partida

!MC @o-s es una e1*resa dedicada al diseAoF 'abricaci"n - distribuci"n de %u0uetes a ni&el
internacional. Cuenta con los derechos de e)*lotaci"n de 1arcas conocidas a ni&el 1undialF
*or e%e1*loF ,isne-.

@iene *lantas de 'abricaci"n en 4on0 Kon0 - 6u1ana entre otras - 0randes centros lo0sticos
en CataluAa.

<na de sus recientes decisiones estrat0icas en su ne0ocio ha sido la i1*lantaci"n de 89. en
todas sus 'ilialesF centros lo0sticos - centros de *roducci"n *ara uni'icar los datos en un Jnico
siste1a.

<na de las *articularidades de la i1*lantaci"n de 89. es dotar a su de*arta1ento de co1*ras
de un acceso r;*ido - sencillo en la liberaci"n de solicitudes de *edidos de co1*ra. (l acceso a
89. de los res*onsables del de*arta1ento es un as*ecto crtico - es *or este 1oti&o 7ue se
desarrollar; una a*licaci"n :eb 7ue *ueda ser accesible desde cual7uier na&e0adorF -a sea
desde .CF s1art*hones o tablets con cone)i"n a internet.

(l usuario autenti'icado en la a*licaci"n :eb *odr; &er las solicitudes del siste1a 89. en +
0randes 0ru*os. ?as solicitudes *endientes de to1a de decisi"nF las solicitudes liberadas -
rechazadas - las solicitudes 7ue han sido trans'or1adas en *edidos de co1*ra en 'ir1e. (n
cual7uiera de los + 0ru*os *odr; acceder a los datos 1aestros del 1aterial - *ro&eedor.
Consecuente1ente se *odr; liberar - rechazar las solicitudesF as c"1o &ol&er al estado inicial
de to1a de decisi"n en caso de error. 8e dotar; ta1bin de la creaci"n auto1;tica de los
*edidos de co1*ra en base a las solicitudes en las 7ue el usuario lo crea con&eniente.

.ara satis'acer estas necesidadesF 89. cuenta con la tecnolo0a :eb ,-n*ro *ara realizar
a*licaciones :eb.
2.1.1 Sobre SAP

89. son las si0las de 8iste1asF 9*licaciones - .roductosF una e1*resa 7ue desde su creaci"n
ha ido creciendo sin *arar - se ha situado co1o lder de los 'abricantes de (6.s. 89. es
so'tCare de 0esti"n inte0rado. (s una soluci"n estrat0ica - 0lobal *ara las e1*resas. 8u )ito
se debe en *arte a su ada*tabilidad H0racias a su 0rado de *ara1etrizaci"nI en la 1a-ora de
e1*resas.

89. es una a*licaci"n del ti*o cliente / ser&idor. ?as a*licaciones cliente inician la
co1unicaci"n conect;ndose - de1andando ser&icios al ser&idor de a*licaci"nL ser&idores con
una 0ran ca*acidad de *rocesa1iento - al1acena1iento de datos. ?os ordenadores clienteF de
1enos ca*acidadF consultan la in'or1aci"n - la 1odi'ican 1ediante *eticiones al ser&idor.

89. tiene la caracterstica de ada*tarse a di'erentes ti*os de con'i0uracionesF *ero la 1;s
'recuente es la de + ni&eles. (l *ri1er ni&el sera el ser&idor d"nde reside la base de datos. (l
se0undo ni&el sera una serie de ser&idores de a*licaciones - el tercer ni&el sera las estaciones
de traba%o del usuario.


Ilustracin 3. Componentes del Servidor SAP NetWeaver

89. es un siste1a abierto *or el hecho de 7ue *uede ada*tarse a 1Jlti*les con'i0uraciones. 9
ni&el de siste1as *uede instalarse en siste1as o*erati&os con <D!MF :indoCs D@ o 98/00. 9
ni&el de base de datosF las tablas del diccionario *ueden residir en siste1as c"1o $racleF
!n'or1i)F ,>2 - M88N? 8er&er entre otros. 9 ni&el de a*licaci"n 89. *ro*orciona 1uchas
*osibilidades de co1unicaci"nF tanto de entradaF c"1o de salida de datos con otras
a*licaciones. (s ca*az de utilizar los *rotocolos de co1unicaci"n 1;s conocidos.
2.1.2 Historia y caractersticas de DA

(l 1ercado actualF es*ecial1ente 89.F necesita a*licaciones Ceb 7ue *uedan ser e%ecutadas
directa1ente en cual7uier na&e0ador sin una instalaci"n ni 1anteni1iento co1*licado. .ara
satis'acer estos re7ueri1ientos 89. inicial1ente ada*t" la inter'az de d-n*ros H<!sI 7ue tenan
7ue ser &istas en un na&e0ador usando !nternet @ransaction 8er&er H!@8I. 8in e1bar0oF esto
s"lo era una soluci"n *ro&isional -a 7ue las dos tecnolo0as eran 1u- di'erentes - haba
de1asiados escollos 7ue sal&ar. (ntonces 89. desarroll" las >usiness 8er&er .a0es H>8.IF una
tecnolo0a 7ue 'ue es*ec'ica1ente creada *ara !nternetL sin e1bar0oF esta tecnolo0a no era
lo su'iciente1ente 1adura *ara establecerse *or s sola co1o la sucesora de las ori0inales
d-n*ros.

Con la introducci"n de :eb ,-n*ro en 2003F 89. 'ue 'inal1ente ca*az de o'recer una
e)hausti&a tecnolo0a ';cil de *ro0ra1ar 7ue tiende a ser la sucesora de las d-n*ros.


Ilustracin . !volucin de las "I de SAP

(n el 1arco de la estrate0ia de 89. Det:ea&erF :eb d-n*ro es la tecnolo0a o'icial de <! *ara
las a*licaciones Ceb de 89.. (sta *uede ser *ro0ra1ada en 9>9. o Ja&a. :eb ,-n*ro est;
dis*onible en su *lata'or1a Ja&a desde la *ri1era &ersi"n de 89. Det:ea&er en 200L ?a
&ersi"n 9>9. 'ue liberada a 'inales del 2003. 9ctual1ente 89. est; descartando la tecnolo0a
Ja&a - usando Jnica1ente la 9>9..

?o Jnico necesario *ara &er a*licaciones :eb ,-n*ro es un na&e0ador. ?as &enta%as 7ue o'rece
de sus tecnolo0as sucesoras son:

:eb ,-n*ro o'rece al desarrollador de a*licaciones un con%unto 'i%o de ele1entos de
inter'az. ?os 1etadatos describen las *ro*iedades de la dis*osici"n - caractersticas
de estos ele1entos.

(l *roceso de co1unicaci"n entre la a*licaci"n - el 'ra1eCorG se lle&a a cabo
Jnica1ente en 9>9. - en deter1inados lu0ares.

Do es necesario 7ue el desarrollador conozca 4@M? o Ja&a 8cri*t *ara desarrollar las
<!F ade1;s 0racias a la estricta se*araci"n entre la l"0ica de la a*licaci"n - la
tecnolo0a de la &ista se *ueden crear <!s sin un 0ran conoci1iento tcnico.

?a reutilizaci"n de los co1*onentes de un desarrollo a otro es relati&a1ente sencilla.
89. *ro*orciona co1*onentes est;ndar *ara ser usados en las a*licaciones.

.ro*orciona a-udas de bJs7ueda casi auto1;tica de los ob%eto de datos del
diccionario de 89..

?a ri0urosa enca*sulaci"n del 'ra1eCorG de :eb ,-n*ro - de la l"0ica de la a*licaci"n
o'rece un ni&el alto de *rotecci"n de las in&ersionesF es decirF ase0ura 7ue ser; ';cil
de ada*tar las a*licaciones desarrolladas en 'uturas tecnolo0as.
2.1.3 Ar!"itect"ra DA

?as a*licaciones :eb ,-n*ro no se basan en un 1odelo i1*erati&o de *ro0ra1aci"n si no en
un 1odelo declarati&oF *or consi0uiente la inter'az de usuario - sus relaciones no son
*ro0ra1adasL son construidas en un editor 0r;'ico. (l editor 0uarda la in'or1aci"n obtenida a
tra&s de la inter'az de usuario declarada c"1o 1etadatos. (n *rinci*ioF estos 1etadatos
*er1iten 0enerar el c"di0o en cual7uier len0ua%e de *ro0ra1aci"nF sin e1bar0oF actual1ente
s"lo 9>9. - Ja&a est;n so*ortados *ara :eb ,-n*ro.

?os *untos de salida dentro del c"di0o 'uente *er1iten a los desarrolladores i1*le1entar su
*ro*io c"di0o en ciertos *untos de la a*licaci"n. ,es*us el co1*ilador traduce toda la
in'or1aci"n en una a*licaci"n e%ecutable.


Ilustracin #. $odelo de programacin We% D&npro

(l uso del 1odelo declarati&o consi0ue 7ue Jnica1ente sea necesario i1*le1entar una Jnica
inter'az contra el ser&idor de a*licaciones 89. Det:ea&er *ara obtener so*orte :eb ,-n*ro.
Versiones anteriores de :,9 s"lo so*ortan 4@M?. Con la liberaci"n de la &ersi"n /.01 se
so*orta 9J9M.

?os co1*onentes re*resentan los blo7ues de construcci"n centrales de :,9. Co1binan la
l"0ica de los ob%etos relacionados con :,9 - de los *rocesos en 0ru*o. ?os co1*onentes
inclu-enF *rinci*al1enteF los controllersF las CindoCsF las &ieCs - las :eb ,-n*ro a**lications.
8i1*li'icandoF desde el *unto de &ista de la ar7uitectura MVCF los co1*onentes son un
con%unto de &ieCs - controllers.

Do ha- 7ue con'undir los co1*onentes en :eb ,-n*ro *or las :eb ,-n*ro a**lications. ?as
:eb ,-n*ro a**lications re*resentan un *unto de entrada de los co1*onentesF dicho de otra
'or1aF consisten en una direcci"n del ser&idor 7ue *uede ser usada en los na&e0adores :eb.
.or lo tantoF una :eb ,-n*ro a**lication no tiene nada 7ue &er con la 1anera usual de hablar
de la a*licaci"n.

Do se *uede e%ecutar un co1*onente sin una a*licaci"n. 8in e1bar0oF estas inter'aces
*er1iten 7ue los co1*onentes 'or1en *arte de otros co1*onentesF *or lo tantoF :eb
,-n*ro *er1ite co1*onentes con cual7uier nJ1ero de :eb ,-n*ro a**lications.


2.1.4 eb Dyn#ro $%#lorer

9ntes de entrar en 1ateriaF aclaro unos *untos. (n el a*artado /, #mplementacin se
e)*licar;n los *untos - decisiones 1;s destacadas sobre la i1*le1entaci"n - en el docu1ento
#mplementacin de la aplicacin W)B desarrollada entre0ado *or 1ail se 1ostrar; el c"di0o
interno 0enerado en 89. ante la i1*osibilidad de *oder 0enerar los 'icheros de c"di0o 7ue se
*iden en el @FC. (n este a*artado Jnica1ente se e)*licar; la herra1ienta usada - las
caractersticas de los di'erentes ti*os de ob%etos HVieCsF :indoCsF :eb ,-n*ro a**licationsF
etc.I de los 7ue se co1*one un co1*onente :,9.

:eb ,-n*ro ()*lorerF la herra1ienta *ara desarrollar :,9F est; co1*leta1ente inte0rada en
el 9>9. :orGbench Hherra1ienta *ara 0enerar cual7uier otro ti*o de desarrollo dentro de
89.I. 8e accede a tra&s de la transacci"n S)0- - tiene el si0uiente as*ecto:


Ilustracin '. A(AP )or*%enc+ mostrando la inter,ace We% D&npro !-plorer

?a secci"n 1 'or1a *arte del 9>9. :orGbenchF es el na&e0ador de ob%etos. 4a- un 0ran
abanico de ob%etos c"1o *odra ser el 6e*ositor- M!M(F d"nde se *ueden 0uardar entre otras
cosas i1;0enes *ara ser usadas en 'uturas a*licaciones. (n concreto todos los ti*os de ob%etos
*ro0ra1ables se encuentran dentro de la entrada Bro&ser de .epository.

?a secci"n 2 contiene la lista de ob%etos *ro0ra1ablesF en detalle contiene las si0uientes
entradas - las a*licaciones :,9 se encuentran en el a*artado resaltado en azul.


Ilustracin .. /ista de o%0etos programa%les en SAP

?a secci"n + es la *ri1era &ista es*ec'ica del :eb ,-n*ro ()*lorer. Contiene todos los ob%etos
de los 7ue se co1*one una a*licaci"n :,9F en este caso el no1bre tcnico es
1WDA2S3LP)D.


Ilustracin 1. Detalle en 2r%ol del componente WDA de este P3C

*omponent controller Cada co1*onente :, tiene un Jnico co1*onent controller. Contiene
los atributosF 1todosF e&entos - conte)to. ,entro del co1*onenteF el co1*onent controller
est; dis*onible en todos los ob%etos - es *or eso 7ue es un ele1ento esencial1ente
i1*ortante.

*omponent interface Cada :, co1*onente contiene una instancia de este ob%eto 7ue
*er1ite el diseAo entre ar7uitecturas de co1*onentes :,.

4ie&s Contienen la *arte &isible del co1*onenteF *or lo tanto contiene todos los ele1entos
<!.

Windo&s <n co1*onente :, contiene al 1enos un ele1ento de este ti*o. !nte0ran las &ieCs
- *er1ite na&e0ar entre ellas.

?a secci"n 1uestra las &istas es*ec'icas del :eb ,-n*ro ()*lorer. Contiene el detalle del
ob%eto seleccionado en la secci"n +. (n la ilustracin + concreta1ente se 1uestra las
caractersticas *rinci*ales de 1WDA2S3LP)D as c"1o los otros co1*onentes usados dentro
de nuestro co1*onente.
2.2 !reparacin del siste$a

(s necesario *ara1etrizar nuestro siste1a 89. *ara 7ue una solicitud de *edido 7uede
blo7ueada *ara deter1inados 0ru*os de co1*ra al ser creada - no *ueda con&ertirse en
*edido de co1*ras hasta 7ue el res*onsable no la libere.

Visual1ente dentro de 89. una solicitud de co1*ras Htransacci"n %)/56I tiene el si0uiente
as*ecto:


Ilustracin 4. 5ransaccin $!#3N 6 7isuali8ar solicitudes de pedidos de compra.

$bser&a1os 7ue la solicitud 7----780 Hsecci"n 1I contiene una lnea del 1aterial con c"di0o
9/-7/:'S5 - descri*ci"n .* *A. '3.%#;# S)A S).#) 5 Hsecci"n 2F *arte iz7uierdaI.

8olicita1os 7--- unidades *ara nuestro centro #%* ;3<S => L;D - en concreto *ara el
al1acn Stoc? 'eneralF con 0ru*o de co1*ras +-- Hsecci"n 2 *arte derechaI.

(n la secci"n + se encuentra la cabecera del docu1ento. (n el caso de las solicitudes de *edido
Jnica1ente se *uede introducir un te)to.

(n la secci"n se *ueden &isualizar las distintas *estaAas con in'or1aciones es*ec'icas de la
lneaF c"1o *uede ser los datos 0enerales del 1aterialF Cantidades - 'echasF Fuentes de
a*ro&isiona1ientoF etc. .ara nuestro caso en *articular nos interesa la *estaAa (strate0ia
liberaci"nL d"nde se 1uestra en detalle in'or1aci"n de la liberaci"n.


Ilustracin 19. Detalle de la pesta:a de estrategias de li%eracin en una solicitud

(n la secci"n 1 se nos in'or1a del 0ru*o de liberaci"n - la estrate0ia de liberaci"n deter1inada
*ara nuestra solicitudL en el si0uiente *unto e)*licare1os en detalle 7ue si0ni'ica cada
ele1ento.

(n la secci"n 2 ha- un *e7ueAo listado d"nde se nos indica el usuario res*onsable de la
liberaci"nF as co1o el c"di0o de liberaci"n deter1inado auto1;tica1ente.

(n la secci"n + encontra1os in'or1aci"n del estado actual de liberaci"n. (n el caso de nuestra
i1a0en es una *osici"n liberada.
2.2.1 C"stoma&ing SAP

.ara habilitar las estrate0ias de liberaci"n en 89. - en concreto *ara el *ro-ecto 7ue se est;
realizando se ha tenido 7ue *ara1etrizar el siste1a *ara 1odi'icar su co1*orta1iento
nor1alF el cual no considera 7ue una solicitud deba liberarse.

,entro del 1enJ de *ara1etrizaci"n cl;sico 7ue trae 89. Htransacci"n SP.3I - en concreto en
la ruta seAalada en la i1a0en *ode1os 1odi'icar este co1*orta1iento.


Ilustracin 11. 5ransaccin SP;< 6 Camino a seguir para parametri8ar li%eraciones

,entro de 89. se *ueden crear di'erentes 0ru*os de liberaci"n. Cada 0ru*o de liberaci"n nos
*osibilita crear una estrate0ia de blo7ueo se0Jn la caracterstica 7ue le enlaza1os a tra&s de
una clase.


Ilustracin 12. Detalle en SAP del grupo de li%eracin & clase asociada

?a clase 1PF*S3L contiene la caracterstica 1PF*S3L


Ilustracin 13. Detalle de la caracter=stica >ue compone una clase

O la caracterstica 1PF*S3L contiene el &alor +--.


Ilustracin 1. Detalle de una caracter=stica & su valor

(l 0ru*o de liberaci"n creado en este caso es %- - li0a la clase 7ue contiene a su &ez una
caracterstica con &alor +--.


Ilustracin 1#. Detalle en SAP del grupo de li%eracin & clase asociada

8i crea1os solicitudes de co1*ra con 0ru*os de co1*ras distintos a +--F al no haber enlazado
%- con estos &alores no ser; necesario liberar.

?a estrate0ia de liberaci"n nos *er1ite crear los di'erentes ni&eles de liberaci"n *or los cuales
debe *asar nuestro 0ru*o de liberaci"n.

?a estrate0ia de liberaci"n en nuestro caso es )- - contiene un Jnico ni&el.


Ilustracin 1'. Detalle en SAP de las estrategias de li%eracin.

8i *usira1os 1;s c"di0os de liberaci"n la solicitud debera ser autorizada *or 1;s de un
usuario de 'or1a secuencial. (n el caso *articular del @FC un Jnico usuario es su'iciente.

(l c"di0o de liberaci"n enlaza con el usuario de 89. 7ue *uede liberar la solicitud. (n nuestro
caso es *-.


Ilustracin 1.. Detalle en SAP del cdigo de li%eracin

?os di'erentes estados *or los 7ue *uede *asar una solicitud de co1*ras se deno1inan
indicadores de liberaci"n en 89.. (n nuestro caso s"lo he1os creado dosF *ero *ara otras
necesidades - de*endiendo de los ni&eles de liberaci"n *odran crearse 1;s.


Ilustracin 11. Detalle en SAP de los indicadores de li%eracin

(n resu1enL *ara1etrizando el siste1a de 'or1a adecuada se *uede satis'acer las
necesidades es*ec'icas de la e1*resa d"nde i1*lanta1os las liberaciones de solicitudes de
co1*ra.

89. contiene la a*licaci"n %)/@6 *ara *oder liberar los *edidos blo7ueados. Pnica1ente el
usuario res*onsable *uede ace*tar o rechazar. <no de los ob%eti&os de la a*licaci"n 7ue se ha
desarrollado es crear un centro de traba%o accesible desde un na&e0ador cual7uiera *ara no
de*ender del acceso a 89. *ara realizar las tareas de 0esti"n de un res*onsable.
2.3 Eje$plo pr*ctico del +usto$a%in, reali%ado

8i crea1os una solicitud de co1*ras con 0ru*o de co1*ras +--F el *edido 7ueda blo7ueado.




Ilustracin 14. Detalle de una solicitud de pedido & la estrategia de li%eracin determinada

9ccediendoF con el usuario adecuandoF a la transacci"n %)/@6F *ode1os liberar la solicitud.


Ilustracin 29. Detalle de las estrategias de li%eracin desde la transaccin $!#N


Ilustracin 21. Detalle de la estrategia de li%eracin una ve8 tomada la decisin












3 -n*lisis del siste$a

9 continuaci"n se reco0e el resultado de la 'ase de an;lisis del siste1a. .ara elloF *artiendo de
la &ista 0eneral a*ortada *or los dia0ra1as de casos de usoF se detallar; cada uno de ellosF - se
'or1alizar;n - concretar;n los re7uisitos no 'uncionales.
3.1 Dia,ra$a de casos de uso

(l si0uiente dia0ra1a reco0e una &ista 0lobal de los actores - casos de uso 7ue describen los
re7uisitos 'uncionales de la a*licaci"n:


Ilustracin 22. Caso de uso & actores

C"1o se obser&a ha- dos ti*os de actores di'erentes:

Asuario 6e*resenta a todos los usuarios 7ue *ueden iniciar la a*licaci"n.

.esponsable <na es*ecializaci"n del *ri1ero. !nclu-e a todos los actores 7ue *ueden liberar
solicitudes de *edido o *ueden consultar docu1entos.

.ara 'acilitar la lecturaF en el dia0ra1a anterior se ha a0ru*ado en un *a7uete el con%unto de
'uncionalidades 7ue a'ectan al 1is1o actor - cu-o ob%eti&o es la 0esti"n de solicitudes.

(l si0uiente dia0ra1a de casos de uso reco0e el contenido del *a7uete 'uncional 0esti"n
solicitudes:


Ilustracin 23. Caso de uso? Gestin solicitudes

?a si0uiente tabla resu1e los casos de uso conte1*ladosF 7ue ser;n desarrollados en la
secci"n *osterior.


*diBo Descripcin Actor
C<01 !niciar sesi"n <suario
C<02 Finalizar sesi"n 6es*onsable
C<0+ >uscar solicitudes 6es*onsable
C<0 ?istado de solicitudes *endientes de liberar 6es*onsable
C<03 ?iberar solicitud 6es*onsable
C<0# @rans'or1ar solicitudes en *edidos de co1*ra 6es*onsable
C<0/ ?istado de solicitudes trans'or1adas 6es*onsable
C<02 ?istado de solicitudes liberadas -/o rechazadas 6es*onsable
C<05 Visualizar 1aestro de 1ateriales 6es*onsable
C<10 Visualizar 1aestro de *ro&eedores 6es*onsable
C<11 6echazar solicitud 6es*onsable
C<12 ,eshacer to1a de decisi"n 6es*onsable





3.2 Descripcin textual de casos de uso
3.2.1 C'(1 ) *niciar sesi+n

#dentificador C<01
6ombre !niciar sesi"n
.esumen (l usuario se identi'ica en el siste1a
Actor <suario
Precondiciones Do ha- nin0una sesi"n acti&a
Postcondiciones (l usuario ha iniciado una sesi"n o el actor ha 'inalizado la a*licaci"n
Flu(o normal 1.= 8e inicia cuando el actor accede *or *ri1era &ez al siste1a.
2.= (l siste1a solicita un idio1aF usuarioF contraseAa - 1andante &;lido
en 89..
+.= (l usuario in'or1a de los *ar;1etros re7ueridos en el *unto 2
.= (l siste1a co1*rueba los datos.
3.= 8i todo es correctoF la sesi"n se inicializa - se 1uestra el 1enJ
*rinci*al de la a*licaci"n.

3.2.2 C'(2 ) ,inali&ar sesi+n

#dentificador C<02
6ombre Finalizar sesi"n
.esumen (l res*onsable 'inaliza la sesi"n en el siste1a
Actor 6es*onsable
Precondiciones (l actor ha iniciado la sesi"n *re&ia1ente
Postcondiciones Do ha- sesiones acti&as
Flu(o normal 1.= (l actor selecciona 'inalizar la sesi"n.
2.= (l siste1a 1uestra un a&iso - solicita con'ir1aci"n.
+.= (l actor con'ir1a la 'inalizaci"n.
.= (l siste1a da *or 'inalizada la sesi"n.

3.2.3 C'(3 ) -"scar solicit"des

#dentificador C<0+
6ombre >uscar solicitudes
.esumen (l res*onsable busca solicitudes de *edidos de co1*ra
Actor 6es*onsable
Precondiciones (l actor ha iniciado la sesi"n *re&ia1ente
Postcondiciones $btene1os + listados di'erentes de solicitudes de co1*ra. ?istado de
solicitudes *endientes de liberarF listado de solicitudes trans'or1adas -
listado de solicitudes liberadas -/o rechazadas
Flu(o normal 1.= (l res*onsable busca solicitudes de co1*ra *or los si0uientes ca1*os:
8olicitud de *edidoF clase de docu1entoF centroF al1acnF 1aterialF
0ru*o de artculosF *ro&eedor deseadoF *ro&eedor 'i%oF 'echa de creaci"n
- 'echa de entre0a.
2.= (l siste1a de&uel&e + listados con las solicitudes seleccionadas.
)Ctensiones C<0 B ?istado de solicitudes *endientes de liberar
C<0/ B ?istado de solicitudes trans'or1adas
C<02 B ?istado de solicitudes liberadas -/o rechazadas
3.2.4 C'(4 ) .istado de solicit"des #endientes de liberar

#dentificador C<0
6ombre ?istado de solicitudes *endientes de liberar
.esumen 8e 1uestra un listado de las solicitudes 7ue son susce*tibles a ser
liberadas o rechazadas *or el res*onsable 7ue ha iniciado la sesi"n.
Actor 6es*onsable
Precondiciones (l actor ha iniciado una bJs7uedaF in'or1ando o sin in'or1ar al0Jn
*ar;1etro de selecci"n descrito en C<0+
Postcondiciones 1.= (l siste1a de&uel&e un listado de solicitudes *endientes de liberar /
rechazar.
2.= (l listado se co1*one de los ca1*os: 8olicitud de *edidoF *osici"nF
clase de docu1entoF 0ru*o de artculosF 1aterialF descri*ci"n 1aterialF
centroF al1acnF 0ru*o de co1*rasF *ro&eedor deseadoF *ro&eedor 'i%oF
'echa de creaci"nF 'echa de entre0aF cantidad solicitadaF unidad de
1edidaF i1*orte - 1oneda.
+.= ?os ca1*os *ro&eedor - 1aterial son sensibles a ser seleccionados
*ara 1ostrar in'or1aci"n adicional.
Flu(o normal 1.= (l res*onsable &isualiza en 'or1a de listado las solicitudes *endientes
de liberar/rechazar.
2.= (l res*onsable *uede seleccionar el bot"n de liberar o rechazar.
)Ctensiones C<03 B ?iberar solicitud
C<11 B 6echazar solicitud
C<05 B Visualizar 1aestro de 1ateriales
C<10 B Visualizar 1aestro de *ro&eedores

3.2./ C'(/ ) .iberar solicit"d

#dentificador C<03
6ombre ?iberar solicitud
.esumen (l res*onsable 1arca una lnea del listado de solicitudes *endientes de
liberar - selecciona el bot"n liberar.
Actor 6es*onsable
Precondiciones (s una solicitud *endiente de ser liberada.
Postcondiciones (l estado de una solicitud se 1odi'icaL *asa de estado *endiente a
liberado. ?os listados se re'rescan auto1;tica1ente.
Flu(o normal 1.= (l res*onsable selecciona una lnea
2.= .resiona el bot"n de liberar
+.= ?a lnea desa*arece del listado de solicitudes *endientes de ser
liberadas.
.= ?a lnea a*arece en el listado de solicitudes liberadas -/o rechazadas.








3.2.0 C'(0 ) 1rans2ormar solicit"des en #edidos de com#ra

#dentificador C<0#
6ombre @rans'or1ar solicitudes en *edidos de co1*ra
.esumen (l res*onsable 1arca una lnea del listado de solicitudes liberadas -/o
rechazadas. 8i la solicitud seleccionada est; liberada se crea
auto1;tica1ente un *edido de co1*ras se0Jn la in'or1aci"n 'acilitada.
?os listados se re'rescan *ara re'le%ar la nue&a realidad.
Actor 6es*onsable
Precondiciones ?a lnea seleccionada Jnica1ente *uede ser una solicitud liberadaF en
caso contrario la o*ci"n desa*arece.
Postcondiciones ?a solicitud 0enera un *edido de co1*ras.
Flu(o normal 1.= (l res*onsable selecciona una solicitud liberada.
2.= 8e selecciona el bot"n de trans'or1ar.
2.= ?a solicitud se con&ierte en *edido de co1*ras tras introducir *or
*arte del res*onsable in'or1aci"n adicional.
+.= ?a solicitud 0enera un *edido de co1*ras.
.= ?os listados se re'rescan con la nue&a in'or1aci"n.

3.2.3 C'(3 ) .istado de solicit"des trans2ormadas

#dentificador C<0/
6ombre ?istado de solicitudes trans'or1adas
.esumen 8e 1uestran un listado de las solicitudes 7ue han sido trans'or1adas en
esta sesi"n o en otras.
Actor 6es*onsable
Precondiciones (l actor ha iniciado una bJs7uedaF in'or1ando o sin in'or1ar al0Jn
*ar;1etro de selecci"n descrito en C<0+
Postcondiciones 1.= (l siste1a de&uel&e un listado de solicitudes trans'or1adas.
2.= (l listado se co1*one de los ca1*os: 8olicitud de *edidoF *osici"nF
docu1ento de co1*rasF *osici"nF clase de docu1entoF *ro&eedorF
or0anizaci"n de co1*rasF sociedadF centroF al1acnF 1aterialF
descri*ci"nF cantidadF unidad de 1edidaF *recio neto unitarioF i1*orte
neto - 1oneda.
+.= ?os ca1*os *ro&eedor - 1aterial son sensibles a ser seleccionados
*ara 1ostrar in'or1aci"n adicional.
Flu(o normal 1.= (l res*onsable &isualiza en 'or1a de listado las solicitudes 7ue han
0enerado *edidos de co1*ra.
2.= (l res*onsable *uede &isualizar in'or1aci"n detallada sobre el
*ro&eedor o el 1aterial.
)Ctensiones C<05 B Visualizar 1aestro de 1ateriales
C<10 B Visualizar 1aestro de *ro&eedores







3.2.4 C'(4 ) .istado de solicit"des liberadas y5o rec6a&adas

#dentificador C<02
6ombre ?istado de solicitudes liberadas -/o rechazadas
.esumen 8e 1uestran un listado de las solicitudes 7ue han sido liberadas o
rechazadas *or el res*onsable 7ue ha iniciado la sesi"n.
Actor 6es*onsable
Precondiciones (l actor ha iniciado una bJs7uedaF in'or1ando o sin in'or1ar al0Jn
*ar;1etro de selecci"n descrito en C<0+
Postcondiciones 1.= (l siste1a de&uel&e un listado de solicitudes 7ue han sido liberadas -
rechazadas.
2.= (l listado se co1*one de los ca1*os: 8olicitud de *edidoF *osici"nF
clase de docu1entoF 0ru*o de artculosF 1aterialF descri*ci"n 1aterialF
centroF al1acnF 0ru*o de co1*rasF *ro&eedor deseadoF *ro&eedor 'i%oF
'echa de creaci"nF 'echa de entre0aF cantidad solicitadaF unidad de
1edidaF i1*orteF 1oneda - se1;'oro.
+.= ?os ca1*os *ro&eedor - 1aterial son sensibles a ser seleccionados
*ara 1ostrar in'or1aci"n adicional.
.= 8e *uede deshacer la to1a de decisi"n de las solicitudes liberadas -
rechazadas.
3.= ?as solicitudes liberadas adicional1ente *ueden ser trans'or1adas en
*edidos de co1*ra.
Flu(o normal 1.= (l res*onsable &isualiza en 'or1a de listado las solicitudes liberadas -
rechazadas.
2.= (l res*onsable *uede seleccionar el bot"n de trans'or1ar *ara las
solicitudes liberadas.
+.= (l res*onsable *uede seleccionar el bot"n de deshacer *ara las
solicitudes rechazadas - liberadas.
.= (l res*onsable *uede &isualizar in'or1aci"n detallada sobre el
*ro&eedor o el 1aterial.
)Ctensiones C<0# B @rans'or1ar solicitudes en *edidos de co1*ra
C<12 B ,eshacer to1a de decisi"n
C<05 B Visualizar 1aestro de 1ateriales
C<10 B Visualizar 1aestro de *ro&eedores

3.2.7 C'(7 ) 8is"ali&ar maestro de materiales

#dentificador C<05
6ombre Visualizar 1aestro de 1ateriales
.esumen 8e &isualiza en una *antalla nue&a in'or1aci"n detallada sobre el 1aterial
seleccionado.
Actor 6es*onsable
Precondiciones 8e selecciona un 1aterial desde uno de los tres listados de la a*licaci"n
Postcondiciones 8e &isualiza in'or1aci"n detallada del 1aterial en una nue&a *antalla.
Flu(o normal 1.= 8e selecciona un 1aterial desde uno de los tres listados.
2.= 8e abre una nue&a &entana con la in'or1aci"n detallada.
+.= ?a Jnica acci"n *er1itida en la nue&a *antalla es &ol&er hacia atr;s.


3.2.1( C'1( ) 8is"ali&ar maestro de #roveedores

#dentificador C<10
6ombre Visualizar 1aestro de *ro&eedores
.esumen 8e &isualiza en una *antalla nue&a in'or1aci"n detallada sobre el
*ro&eedor seleccionado.
Actor 6es*onsable
Precondiciones 8e selecciona un 1aterial desde uno de los tres listados de la a*licaci"n
Postcondiciones 8e &isualiza in'or1aci"n detallada del *ro&eedor en una nue&a *antalla.
Flu(o normal 1.= 8e selecciona un *ro&eedor desde uno de los tres listados.
2.= 8e abre una nue&a &entana con la in'or1aci"n detallada.
+.= ?a Jnica acci"n *er1itida en la nue&a *antalla es &ol&er hacia atr;s.

3.2.11 C'11 ) 9ec6a&ar solicit"d

#dentificador C<11
6ombre 6echazar solicitud
.esumen (l res*onsable 1arca una lnea del listado de solicitudes *endientes de
liberar - selecciona el bot"n rechazar.
Actor 6es*onsable
Precondiciones (s una solicitud *endiente de ser liberada.
Postcondiciones (l estado de una solicitud se 1odi'icaL *asa de estado *endiente a
rechazado. ?os listados se re'rescan auto1;tica1ente.
Flu(o normal 1.= (l res*onsable selecciona una lnea.
2.= .resiona el bot"n de rechazar.
+.= ?a lnea desa*arece del listado de solicitudes *endientes de ser
liberadas.
.= ?a lnea a*arece en el listado de solicitudes liberadas -/o rechazadas.

3.2.12 C'12 ) Des6acer toma de decisi+n

#dentificador C<12
6ombre ,eshacer to1a de decisi"n
.esumen (l res*onsable 1arca una lnea del listado de solicitudes liberadas -/o
rechazadas - *resiona sobre el bot"n deshacer. ?a to1a de decisi"n se
reinicializa - los listados se re'rescan auto1;tica1ente.
Actor 6es*onsable
Precondiciones (s una solicitud liberada o rechazada
Postcondiciones (l estado de una solicitud se reinicializa.
Flu(o normal 1.= (l res*onsable selecciona una lnea.
2.= .resiona el bot"n de deshacer.
+.= ?a lnea desa*arece del listado de solicitudes liberadas -/o rechazadas.
.= ?a lnea a*arece en el listado de solicitudes *endientes de ser
liberadas




Dise.o

9 continuaci"n e)*lica1os la ar7uitectura de nuestra a*licaci"n as co1o los co1*onentes
7ue *ode1os encontrar dentroF las relaciones 7ue e)isten entre ellos - c"1o se co1unican
entre s.
.1 -r)uitectura ,lobal

8e esco0e el *atr"n MVC HModelo Vista ControladorI -a 7ue :,9 se basa en este *atr"n 7ue
ade1;s nos *er1itir; *oder a1*liarF 1antener e incluso a*ro&echar co1*onentes *ara
'uturas a*licaciones de 1anera 1;s sencilla.

(l *atr"n MVC no *retende se*arar la ca*a de ne0ocio - la ca*a de *resentaci"n *ero s
se*arar la ca*a &isual de su corres*ondiente *ro0ra1aci"n - acceso a los datosF al0o 7ue
1e%ora el desarrollo - 1anteni1iento de la Vista - el ControladorF -a 7ue a1bos cu1*len
ciclos de &ida 1u- distintos entre s.

(n la si0uiente i1a0en &e1os la ar7uitectura de un co1*onente 0enrico en :,9. <n
controlador de co1*onente *uede contener &arias &entanas 7ue a su &ez contienen &arias
&istas - cada una de las &istas tiene su *ro*io conte)to - controlador de &ista.


Ilustracin 2. Ar>uitectura general de un componente We% D&npro

.2 -r)uitectura especifica

?a ar7uitectura es*ec'ica de la a*licaci"n se co1*one de un :eb ,-n*ro Co1*onent con un
:eb ,-n*ro a**lication *ara acceder a l desde cual7uier na&e0adorF tal - c"1o se e)*lica en
el *unto 8,7,5 Ar!uitectura WDA. (l es7ue1a se *uede &er en la ilustracin 8/.

8e ha creado una Jnica :indoC 7ue contiene + VieCs. ?as VieCs %A)S;.32P.34))D3. -
%A)S;.32%A;).#AL sir&en *ara 1ostrar el 1aestro de 1ateriales - el 1aestro de
*ro&eedores de 89..

?a VieC %A#6 es la *antalla *rinci*al de la a*licaci"n - est; co1*uesta a su &ez *or :eb
,-n*ro co1*onents.





Ilustracin 2#. Ar>uitectura espec=,ica del componente We% D&npro desarrollado

(l co1*onente 1 7ue interna1ente se lla1a S)L)*;23P;#36S contiene los *ar;1etros de
selecci"n necesarios *ara 'iltrar los datos 7ue se reco0en de la base de datos.


Ilustracin 2'. 7isuali8acin en %ro)ser del componente S!/!C5@<P5I<NS

(l co1*onente 2 7ue interna1ente se lla1a P)6D#)6;)S contiene el listado de solicitudes
*endientes de liberar.


Ilustracin 2.. 7isuali8acin en %ro)ser del componente P!NDI!N5!S










(l co1*onente + 7ue interna1ente se lla1a L#B).ADAS contiene el listado de solicitudes
liberadas - rechazadas.


Ilustracin 21. 7isuali8acin en %ro)ser del componente /I(!;ADAS

(l co1*onente 7ue interna1ente se lla1a ;.A6SF3.%ADAS contiene el listado de
solicitudes trans'or1adas en *edidos de co1*ra.


Ilustracin 24. 7isuali8acin en %ro)ser del componente 5;ANS3<;$ADAS

()iste un Co1*onent controller 0eneral a toda la a*licaci"n c"1o es *ro*io en toda a*licaci"n
:,9 - accesible en cual7uier :indoC - VieC.
.3 -r)uitectura f/sica

(l si0uiente dia0ra1a reco0e una *osible distribuci"n de nodos en un escenario real de la
a*licaci"n. 8e *uede obser&ar 7ue e)iste un Jnico ser&idor central de a*licaciones - un
ser&idor dedicado *ara al1acenar la in'or1aci"n.


Ilustracin 39. Ar>uitectura ,=sica de la aplicacin





.3 0obre la base de datos

89. contiene una 0ran base de datos creada cuando se instala el *ro0ra1a. (n este a*artado
1uestro el dia0ra1a entidad relaci"n de las tablas 7ue he usado. Cabe destacar 7ue
Jnica1ente 1uestro los ca1*os 7ue son rele&antes *ara el 'unciona1iento de 1i a*licaci"n.
4.3.1 Diagrama entidad relaci+n


Ilustracin 31. !s>uema del diagrama entidad relacin


4.3.2 Consideraciones sobre cam#os

?a tabla )BA6 contiene ca1*os HF.'>1F BA6P.F )B)L6 - )B)LPI 0racias a los cuales *uedo
saber si una solicitud de co1*ras est; *endiente de to1a de decisi"nF liberadaF rechaza o
trans'or1ada en *edido de co1*ras.

8e0Jn el es7ue1a 7ue *ro*orciono 1;s adelanteF *ode1os deter1inar de 1anera sencilla los
estados de una solicitud de *edido de co1*ras.

P)6D#)6;) L#B).ADA .)*=A1ADA ;.A6SF3.%ADA
F.'>1 M ? M ?
BA6P. 0+ 03 02 03
)B)L6 &aco &aco &aco in'or1ado
)B)LP &aci" &aco &aco in'or1ado

(l ca1*o F.'>1 contiene los di'erentes indicadores de liberaci"n 7ue he1os *ara1etrizado
en el *unto 8,8,7 *ustoma$inB SAP.

(l ca1*o BA6P. contiene el si0uiente do1inio - lo 0estiona interna1ente 89..


Ilustracin 32. Dominio de datos del campo (ANP;
. Dia,ra$a de clases

?as clases de'inidas en la a*licaci"n desarrolladaF corres*onden a los di'erentes listados 7ue
*ode1os acceder 1ediante nuestra a*licaci"n Ceb as co1o los di'erentes 1todos 7ue
*ode1os lla1ar.

*lase loBin Clase encar0ada de &alidarnos contra 89. 1ediante un usuario - contraseAa. (n
esta *antalla se *uede seleccionar 1andante e idio1a. (sta clase la *ro*orciona
auto1;tica1ente 89. al crear una :eb d-n*ro 9>9..

*lase centro de traba(o (n este *roceso *ode1os buscar los di'erentes ti*os de solicitudes
se0Jn los *ar;1etros de bJs7ueda incor*orados. ?os *ar;1etros de bJs7ueda son: = 8olicitud
de *edidoF clase de docu1entoF centroF al1acnF 1aterialF 0ru*o de artculosF *ro&eedor
deseadoF *ro&eedor 'i%oF 'echa de creaci"n - 'echa de entre0a.

*lase listado de solicitudes pendientes ?istado d"nde se encuentran las solicitudes 7ue no
han sido *rocesadas. Contiene los 1todos necesarios realizar la to1a de decisi"n.

*lase listado de solicitudes liberadas yDo recha$adas ?istado d"nde se encuentran las
solicitudes 7ue -a han sido *rocesadas.

*lase listado solicitudes transformadas ?istado d"nde se encuentran las solicitudes
trans'or1adas en *edidos de co1*ra.

*lase %aestro proveedores Clase *ara la &isualizaci"n de datos re'erentes a los *ro&eedores
7ue he1os seleccionado.

*lase %aestro materiales Clase *ara la &isualizaci"n de datos re'erentes a los 1ateriales 7ue
he1os seleccionado.
4.4.1 $s!"ema diagrama de clases


Ilustracin 33. !s>uema del diagrama de clases
." Dia,ra$a de secuencia

(n este a*artado de'inire1os al0unas secuencias de na&e0aci"n sobre la a*licaci"n :eb
creada. (n concreto &a1os a 1ostrar las corres*ondientes a los casos de uso:

C<03 B ?iberar solicitud
C<05 B Visualizar 1aestro de 1ateriales
C<0# B @rans'or1ar solicitudes en *edidos de co1*ra

(l resto de casos de uso o son 1u- *arecidosF co1o *or e%e1*lo C<11 = 6echazar solicitudF o
son intranscendentesF co1o C<01 = !niciar sesi"n.








4./.1 $s!"ema diagrama de sec"encia: C'(/ ; .iberar solicit"d






Ilustracin 3. !s>uema del diagrama de secuencia C"9#



4./.2 $s!"ema diagrama de sec"encia: C'(7 ; 8is"ali&ar maestro de materiales







Ilustracin 3#. !s>uema del diagrama de secuencia C"94


4./.3 $s!"ema diagrama de sec"encia: C'(0 ; 1rans2ormar solicit"des en #edidos de com#ra






Ilustracin 3'. !s>uema del diagrama de secuencia C"9'
" I$ple$entacin

.ara el correcto 'unciona1iento de la a*licaci"n los clientes s"lo necesitan e%ecutar la
direcci"n 'acilitada *or la :eb ,-n*ro a**lication en un broCser con&encional. 4a- 7ue
resaltar 7ue la 1a-or co1*atibilidad de :,9 se consi0ue con !nternet ()*lorer.

(s i1*rescindible traba%ar contra un ser&idor 89. en su &ersi"n 89. (CC #.0 - si0uientes
*uesto 7ue la *ro0ra1aci"n se realiza en el entorno con&encional de 89. a tra&s del :eb
,-n*ro ()*lorer. ?os ob%etos 0enerados Jnica1ente son accesiblesF - *or lo tanto
1odi'icablesF desde la instalaci"n en la 7ue se ha realizado la a*licaci"n.

89. 0uarda la a*licaci"n 0enerada en lo 7ue se deno1ina una orden de trans*orte 7ue sir&e
*ara enca*sular todo el desarrollo en un Jnico *a7ueteF 7ue al ser liberado *uede
trans*ortarse al ser&idor de calidad *ara realizar las *ruebas - 'inal1ente al ser&idor de
*roducti&o d"nde la a*licaci"n co1ienza a ser usada *or el usuario 'inal.

?a i1*le1entaci"n se ha realizado en una &ersi"n 89. (CC #.0 enhance1ent *acGa0e 3
instalado sobre un :indoCs D@ - con una base de datos M88N? &ersi"n 10.

(s ob%eti&o de este *ro-ecto es usar la tecnolo0a :,9 c"1o se ha e)*licado a lo lar0o de toda
la 1e1oria *ero se ha bara%ado usar la tecnolo0a :, Ja&a. 8e o*t" *or la *ri1era *or dos
razonesL 89. Jlti1a1ente est; a*ostando 'uerte *or :,9 en detri1ento de :, Ja&a - *or
7ue los *roductos obtenidos en :,9 al usar *arte del c"di0o nati&o de 89. tienen una
res*uesta 1ucho 1;s e'icaz - el ser&idor debe so*ortar 1enor car0a de *roceso.

6eto1ando la e)*licaci"n 7ue se ha usado en el *unto @,8 Ar!uitectura especEfica se &a a
e)*licar los detalles 1;s i1*ortantes de los co1*onentes :,9 usados.


Ilustracin 3.. Ar>uitectura espec=,ica del componente We% D&npro desarrollado

C"1o -a se ha e)*licadoF el co1*onente *rinci*alF interna1ente lla1ado 1WDA2S3LP)DF
contiene una Jnica :indoC con + VieCs.





".1 1ie23 4-I5

?a &ieC M9!D contiene ele1entos 1u- i1*ortantes dentro de :,9L son los deno1inados
VieCContainer<!(le1ent.


Ilustracin 31. 7ista interna de los elementos usados en la vie) $AIN

(stos ele1entos sir&en *ara incluir otros co1*onentes :,9 -a sean est;ndares Hc"1o es el
caso de esta a*licaci"nI o co1*onentes desarrollados *or nosotros 1is1os.

8e ha incluido el 1todo 362BAS*A.FG en el co1*onent controller 7ue se e%ecuta cuando se
*ulsa sobre el bot"n buscar.

?o *ri1ero 7ue hace es leer los *ar;1etros de selecci"n 7ue se encuentran en la secci"n
S)L)**#H6 - 7ue *ro&ienen de un co1*onente est;ndar lla1ado WD.2S)L)*;23P;#36S. ,e
la 'or1a si0uiente:

.
?ue0o se e%ecutan las selecciones o*ortunas sobre la base de datos en c"di0o 9>9. - se
trans'ieren los datos a los otros + co1*onentes est;ndares de la 'or1a si0uiente:

.or Jlti1o se in&oca a los 1todos confiB2alv2libFGF confiB2alv2traFG - confiB2alv2penFG *ara
1odi'icar las *ro*iedades de los listados 7ue *resenta nuestra a*licaci"nF co1o *or e%e1*lo el
catalo0o de ca1*osF los botones es*ec'icos o re0istrar los e&entos 7ue se usar;n en las
di'erentes situaciones.
/.1.1 Com#onente S$.$C1<=P1*=>S

(l co1*onente est;ndar WD.2S)L)*;23P;#36S nos 'acilita la tarea de crear una secuencia de
*ar;1etros de entrada susce*tibles a ser usados en los di'erentes accesos a la base de datos.

,entro del co1*onent controller - en concreto en el 1todo WDD3#6#;FG 7ue se e%ecuta en
*ri1era instancia al entrar en la a*licaci"n es necesario *asarle los *ar;1etros del diccionario
7ue &a1os a usarF de la 'or1a si0uiente:







/.1.2 Com#onentes: P$>D*$>1$S? .*-$9ADAS y 19A>S,=9@ADAS

?os + co1*onentes usan el co1*onente est;ndar SAL42WD2;ABL)F 7ue nos 'acilita 1ostrar
listados *or *antalla en :,9.

8on alta1ente con'i0urablesF *udiendo es*eci'icar concreta1ente el catalo0o de ca1*os 7ue
se &a a usarF trans'or1ar &alores de celda en iconos Hc"1o es el caso de los se1;'oros
introducidos en nuestro desarrolloIF hacer los ca1*os editables o si1*le1ente &isualesF aAadir
una botonera es*ec'ica hacindola din;1ica 0racias a los di'erentes e&entos 7ue contieneF
co1o *or e%e1*loF el e&ento 362L)AD2S)L)*;F 7ue se e%ecuta cada &ez 7ue te *osicionas
sobre una lnea.
".2 1ie2s3 4-E06(O7!(O1EEDO( y 4-E06(O74-6E(I-8

,entro de las 2 VieCs inserta1os un ti*o de ele1ento lla1ado #Frame 7ue nos *osibilita
car0ar transacciones est;ndares *as;ndole una <6? en uno de sus *ar;1etros.


Ilustracin 34. 7ista interna de los elementos usados en la vie) $A!S5;<@P;<7!!D<;


Ilustracin 9. 7ista interna de los elementos usados en la vie) $A!S5;<@$A5!;IA/

Gracias a la a*licaci"n &ebBuiF 89. nos traduce el as*ecto &isual en 4@M? - *uede ser usado
en un broCser Hsin *oder 1odi'icar en nin0Jn caso el co1*orta1iento de la transacci"n a la
7ue lla1a1osI.

.ara &isualizar el 1aestro de 1ateriales lla1a1os a la transacci"n %%-5 - *ara &isualizar el
1aestro de *ro&eedores lla1a1os a la transacci"n I>-5.

(n los trozos de c"di0o si0uientes &e1os la 'or1a de construir las <6?s:




<na 1e%ora en la i1*le1entaci"n de este *unto sera crear una Jnica &ieC *ara car0ar
indistinta1ente los 2 1aestros - se0Jn los datos de entrada H%A;6. in'or1ado o L#F6.
in'or1adoI se construira una <6? u otra.













". 9eb Dynpro application

9Aadiendo este ele1ento en la :,9 se obtiene un *unto de entrada a la a*licaci"n. (n
concreto se nos 'acilita una <6? *ara ser usada en cual7uier broCser
HhttpDDS4SAPD)4-7,imcnt,com0---DsapDbcD&ebdynproDsapD$&da2solpedI.



Ilustracin 1. 7ista interna de la We% D&npro application






















& +onclusiones

(n el *resente docu1ento se ha dado res*uesta a la necesidad 7ue concibi" este *ro-ectoL
dotar de 'le)ibilidad la to1a de decisiones en una a*licaci"n sencilla - ;0il.

8e ha usado una tecnolo0a relati&a1ente nue&a dentro de la *ro0ra1aci"n de 89. conocida
c"1o :eb ,-n*ro 9>9. - he tenido la o*ortunidad de *oder 'a1iliarizar1e con ella 0racias a
tener acceso a una instalaci"n real.

9de1;s de a*render una nue&a tecnolo0aF he tenido 7ue adentrar1e en unos te1as
total1ente nue&os *ara 1 dentro de 89.L la *ara1etrizaci"n del 1"dulo de co1*rasF as
co1o el 'unciona1iento real de una e1*resa.

4e re'rescado los conoci1ientos ad7uiridos hace aAos en la Facultad de !n'or1;tica de
>arcelona - 1;s reciente1ente en la <ni&ersitat $berta de Catalun-aL no sie1*re la &ida
laboralF *ersonal - acad1ica 'raternizan *ara *oder tener una e)*eriencia lineal - l"0ica.

(sto- satis'echo con el traba%o realizado - con el *roducto 'inal 7ue *resento. Gracias a los
conoci1ientos ad7uiridos en este *ro-ecto ten0o una 0a1a a1*lia de herra1ientas con las
7ue en'rentar1e a los retos 7ue se *resentan da a da en el 1undo laboral.

.or Jlti1o do- 0racias a Jordi Ceballos *or los co1entarios crticos en las entre0as anteriores a
la 1e1oria 'inal *ara lle&ar a buen *uerto el *ro-ecto.

















' :uentes de infor$acin



SAP *ertification Success 'uide J SAP *ertified
Development Associate J ABAP &ith SAP 6etWeaver 9,-
(ditorial Galileo .ress
.uneet 9sthana
,a&id 4asla1


'ettinB Started &ith Web Dynpro ABAP
(ditorial Galileo .ress
,o1iniG $'enlonch
6oland 8chCai0er

SAP *ommunity 6et&or?
@he social Det:orG 'or 89. *ro'essionals
htt*://CCC.sdn.sa*.co1/

También podría gustarte