347
W 1 0 0    B u i l i n g a t a S e r v i c e s U s i n g    S A P N e t W e a v e r a t e w a y    A P N e t e a v e r    D a t e    T r i n i g e n t e r   I n s t r t o r s    E d u c a t o n W e b s i t e    P a r t i c i p a n t a n d b o o k    C o u r s e V e r s i o n : 9 7    C o u r s e D u r a t o n : 3 y ( s )   M a t e r i l N u m b e r : 5 0 1 1 1 0 5 2     A n S A P c o u r s e - u s e i t t o l e a r n , r e f e r e n c e i t f o r w o r k    

GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

Embed Size (px)

Citation preview

Page 1: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 1/346

G W 1 0 0      B u i l d i n g O D a t a S e r v i c e s U s i n g      

S A P N e t W e a v e r G a t e w a y      

S A P N e t W e a v e r      

D a t e      

T r a i n i n g C e n t e r    

I n s t r u c t o r s      

E d u c a t i o n W e b s i t e      

P a r t i c i p a n t H a n d b o o k      C o u r s e V e r s i o n : 9 7      

C o u r s e D u r a t i o n : 3 D a y ( s )    

M a t e r i a l N u m b e r : 5 0 1 1 1 0 5 2      

 A n S A P c o u r s e - u s e i t t o l e a r n , r e f e r e n c e i t f o r w o r k    

Page 2: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 2/346

C o p y r i g h t    

C o p y r i g h t © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .  

 N o p a r t o f t h i s p u b l i c a t i o n m a y b e r e p r o d u c e d o r t r a n s m i t t e d i n a n y f o r m o r f o r a n y p u r p o s e   

w i t h o u t t h e e x p r e s s p e r m i s s i o n o f S A P A G . T h e i n f o r m a t i o n c o n t a i n e d h e r e i n m a y b e c h a n g e d      

w i t h o u t p r i o r n o t i c e .  

S o m e s o f t w a r e p r o d u c t s m a r k e t e d b y S A P A G a n d i t s d i s t r i b u t o r s c o n t a i n p r o p r i e t a r y s o f t w a r e      

c o m p o n e n t s o f o t h e r s o f t w a r e v e n d o r s .  

T r a d e m a r k s      

M i c r o s o f t , W i n d o w s , E x c e l , O u t l o o k , P o w e r P o i n t , S i l v e r l i g h t , a n d V i s u a l S t u d i o a r e r e g i s t e r e d      

t r a d e m a r k s o f M i c r o s o f t C o r p o r a t i o n .  

I B M , D B 2 , D B 2 U n i v e r s a l D a t a b a s e , S y s t e m i , S y s t e m i 5 , S y s t e m p , S y s t e m p 5 , S y s t e m x , S y s t e m          

z , S y s t e m z 1 0 , z 1 0 , z / V M , z / O S , O S / 3 9 0 , z E n t e r p r i s e , P o w e r V M , P o w e r A r c h i t e c t u r e , P o w e r    

S y s t e m s , P O W E R 7 , P O W E R 6 + , P O W E R 6 , P O W E R , P o w e r H A , p u r e S c a l e , P o w e r P C , B l a d e C e n t e r ,    

S y s t e m S t o r a g e , S t o r w i z e , X I V , G P F S , H A C M P , R E T A I N , D B 2 C o n n e c t , R A C F , R e d b o o k s ,    

O S / 2 , A I X , I n t e l l i g e n t M i n e r , W e b S p h e r e , T i v o l i , I n f o r m i x , a n d S m a r t e r P l a n e t a r e t r a d e m a r k s    

o r r e g i s t e r e d t r a d e m a r k s o f I B M C o r p o r a t i o n .  

L i n u x i s t h e r e g i s t e r e d t r a d e m a r k o f L i n u s T o r v a l d s i n t h e U n i t e d S t a t e s a n d o t h e r c o u n t r i e s .  

A d o b e , t h e A d o b e l o g o , A c r o b a t , P o s t S c r i p t , a n d R e a d e r a r e t r a d e m a r k s o r r e g i s t e r e d t r a d e m a r k s o f      

A d o b e S y s t e m s I n c o r p o r a t e d i n t h e U n i t e d S t a t e s a n d o t h e r c o u n t r i e s .  

O r a c l e a n d J a v a a r e r e g i s t e r e d t r a d e m a r k s o f O r a c l e a n d i t s a f l i a t e s .  

U N I X , X / O p e n , O S F / 1 , a n d M o t i f a r e r e g i s t e r e d t r a d e m a r k s o f t h e O p e n G r o u p .  

C i t r i x , I C A , P r o g r a m N e i g h b o r h o o d , M e t a F r a m e , W i n F r a m e , V i d e o F r a m e , a n d M u l t i W i n a r e      

t r a d e m a r k s o r r e g i s t e r e d t r a d e m a r k s o f C i t r i x S y s t e m s I n c .  

H T M L , X M L , X H T M L , a n d W 3 C a r e t r a d e m a r k s o r r e g i s t e r e d t r a d e m a r k s o f W 3 C ® , W o r l d W i d e      

W e b C o n s o r t i u m , M a s s a c h u s e t t s I n s t i t u t e o f T e c h n o l o g y .  

A p p l e , A p p S t o r e , i B o o k s , i P a d , i P h o n e , i P h o t o , i P o d , i T u n e s , M u l t i - T o u c h , O b j e c t i v e - C , R e t i n a ,    

S a f a r i , S i r i , a n d X c o d e a r e t r a d e m a r k s o r r e g i s t e r e d t r a d e m a r k s o f A p p l e I n c .  

I O S i s a r e g i s t e r e d t r a d e m a r k o f C i s c o S y s t e m s I n c .  

R I M , B l a c k B e r r y , B B M , B l a c k B e r r y C u r v e , B l a c k B e r r y B o l d , B l a c k B e r r y P e a r l , B l a c k B e r r y T o r c h ,    

B l a c k B e r r y S t o r m , B l a c k B e r r y S t o r m 2 , B l a c k B e r r y P l a y B o o k , a n d B l a c k B e r r y A p p W o r l d a r e      

t r a d e m a r k s o r r e g i s t e r e d t r a d e m a r k s o f R e s e a r c h i n M o t i o n L i m i t e d .  

G o o g l e A p p E n g i n e , G o o g l e A p p s , G o o g l e C h e c k o u t , G o o g l e D a t a A P I , G o o g l e M a p s , G o o g l e      

M o b i l e A d s , G o o g l e M o b i l e U p d a t e r , G o o g l e M o b i l e , G o o g l e S t o r e , G o o g l e S y n c , G o o g l e U p d a t e r ,    

G o o g l e V o i c e , G o o g l e M a i l , G m a i l , Y o u T u b e , D a l v i k a n d A n d r o i d a r e t r a d e m a r k s o r r e g i s t e r e d      t r a d e m a r k s o f G o o g l e I n c .  

I N T E R M E C i s a r e g i s t e r e d t r a d e m a r k o f I n t e r m e c T e c h n o l o g i e s C o r p o r a t i o n .  

W i - F i i s a r e g i s t e r e d t r a d e m a r k o f W i - F i A l l i a n c e .  

B l u e t o o t h i s a r e g i s t e r e d t r a d e m a r k o f B l u e t o o t h S I G I n c .  

M o t o r o l a i s a r e g i s t e r e d t r a d e m a r k o f M o t o r o l a T r a d e m a r k H o l d i n g s L L C .  

C o m p u t o p i s a r e g i s t e r e d t r a d e m a r k o f C o m p u t o p W i r t s c h a f t s i n f o r m a t i k G m b H .  

g 2 0 1 2 5 1 1 5 4 3 4 5      

Page 3: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 3/346

S A P , R / 3 , S A P N e t W e a v e r , D u e t , P a r t n e r E d g e , B y D e s i g n , S A P B u s i n e s s O b j e c t s E x p l o r e r ,    

S t r e a m W o r k , S A P H A N A , a n d o t h e r S A P p r o d u c t s a n d s e r v i c e s m e n t i o n e d h e r e i n a s w e l l a s t h e i r    r e s p e c t i v e l o g o s a r e t r a d e m a r k s o r r e g i s t e r e d t r a d e m a r k s o f S A P A G i n G e r m a n y a n d o t h e r c o u n t r i e s .  

B u s i n e s s O b j e c t s a n d t h e B u s i n e s s O b j e c t s l o g o , B u s i n e s s O b j e c t s , C r y s t a l R e p o r t s , C r y s t a l    

D e c i s i o n s , W e b I n t e l l i g e n c e , X c e l s i u s , a n d o t h e r B u s i n e s s O b j e c t s p r o d u c t s a n d s e r v i c e s m e n t i o n e d      

h e r e i n a s w e l l a s t h e i r r e s p e c t i v e l o g o s a r e t r a d e m a r k s o r r e g i s t e r e d t r a d e m a r k s o f B u s i n e s s O b j e c t s    

S o f t w a r e L t d . B u s i n e s s O b j e c t s i s a n S A P c o m p a n y .  

S y b a s e a n d A d a p t i v e S e r v e r , i A n y w h e r e , S y b a s e 3 6 5 , S Q L A n y w h e r e , a n d o t h e r S y b a s e p r o d u c t s    

a n d s e r v i c e s m e n t i o n e d h e r e i n a s w e l l a s t h e i r r e s p e c t i v e l o g o s a r e t r a d e m a r k s o r r e g i s t e r e d      

t r a d e m a r k s o f S y b a s e I n c . S y b a s e i s a n S A P c o m p a n y .  

C r o s s g a t e , m @ g i c E D D Y , B 2 B 3 6 0 ° , a n d B 2 B 3 6 0 ° S e r v i c e s a r e r e g i s t e r e d t r a d e m a r k s o f C r o s s g a t e      

A G i n G e r m a n y a n d o t h e r c o u n t r i e s . C r o s s g a t e i s a n S A P c o m p a n y .  

A l l o t h e r p r o d u c t a n d s e r v i c e n a m e s m e n t i o n e d a r e t h e t r a d e m a r k s o f t h e i r r e s p e c t i v e c o m p a n i e s .  D a t a c o n t a i n e d i n t h i s d o c u m e n t s e r v e s i n f o r m a t i o n a l p u r p o s e s o n l y . N a t i o n a l p r o d u c t s p e c i c a t i o n s    

m a y v a r y .  

D i s c l a i m e r      

T h e s e m a t e r i a l s a r e s u b j e c t t o c h a n g e w i t h o u t n o t i c e . T h e s e m a t e r i a l s a r e p r o v i d e d b y S A P A G a n d      

i t s a f l i a t e d c o m p a n i e s ( “ S A P G r o u p ” ) f o r i n f o r m a t i o n a l p u r p o s e s o n l y , w i t h o u t r e p r e s e n t a t i o n o r    

w a r r a n t y o f a n y k i n d , a n d S A P G r o u p s h a l l n o t b e l i a b l e f o r e r r o r s o r o m i s s i o n s w i t h r e s p e c t t o t h e      

m a t e r i a l s . T h e o n l y w a r r a n t i e s f o r S A P G r o u p p r o d u c t s a n d s e r v i c e s a r e t h o s e t h a t a r e s e t f o r t h i n      

t h e e x p r e s s w a r r a n t y s t a t e m e n t s a c c o m p a n y i n g s u c h p r o d u c t s a n d s e r v i c e s , i f a n y . N o t h i n g h e r e i n      

s h o u l d b e c o n s t r u e d a s c o n s t i t u t i n g a n a d d i t i o n a l w a r r a n t y .  

g 2 0 1 2 5 1 1 5 4 3 4 5      

Page 4: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 4/346

g 2 0 1 2 5 1 1 5 4 3 4 5      

Page 5: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 5/346

 A b o u t T h i s H a n d b o o k    

T h i s h a n d b o o k i s i n t e n d e d t o c o m p l e m e n t t h e i n s t r u c t o r - l e d p r e s e n t a t i o n o f t h i s    

c o u r s e , a n d s e r v e a s a s o u r c e o f r e f e r e n c e . I t i s n o t s u i t a b l e f o r s e l f - s t u d y .  

T y p o g r a p h i c C o n v e n t i o n s      

A m e r i c a n E n g l i s h i s t h e s t a n d a r d u s e d i n t h i s h a n d b o o k . T h e f o l l o w i n g      

t y p o g r a p h i c c o n v e n t i o n s a r e a l s o u s e d .  

T y p e S t y l e D e s c r i p t i o n      

 E x a m p l e t e x t     W o r d s o r c h a r a c t e r s t h a t a p p e a r o n t h e s c r e e n . T h e s e      i n c l u d e e l d n a m e s , s c r e e n t i t l e s , p u s h b u t t o n s a s w e l l    

a s m e n u n a m e s , p a t h s , a n d o p t i o n s .  

A l s o u s e d f o r c r o s s - r e f e r e n c e s t o o t h e r d o c u m e n t a t i o n      

 b o t h i n t e r n a l a n d e x t e r n a l . 

E x a m p l e t e x t       E m p h a s i z e d w o r d s o r p h r a s e s i n b o d y t e x t , t i t l e s o f      

g r a p h i c s , a n d t a b l e s    

E X A M P L E T E X T N a m e s o f e l e m e n t s i n t h e s y s t e m . T h e s e i n c l u d e      

r e p o r t n a m e s , p r o g r a m n a m e s , t r a n s a c t i o n c o d e s , t a b l e      

n a m e s , a n d i n d i v i d u a l k e y w o r d s o f a p r o g r a m m i n g      l a n g u a g e , w h e n s u r r o u n d e d b y b o d y t e x t , f o r e x a m p l e      

S E L E C T a n d I N C L U D E .  

E x a m p l e t e x t         S c r e e n o u t p u t . T h i s i n c l u d e s l e a n d d i r e c t o r y n a m e s    

a n d t h e i r p a t h s , m e s s a g e s , n a m e s o f v a r i a b l e s a n d      

 p a r a m e t e r s , a n d p a s s a g e s o f t h e s o u r c e t e x t o f a   

 p r o g r a m . 

E x a m p l e t e x t           E x a c t u s e r e n t r y . T h e s e a r e w o r d s a n d c h a r a c t e r s t h a t    

y o u e n t e r i n t h e s y s t e m e x a c t l y a s t h e y a p p e a r i n t h e      

d o c u m e n t a t i o n .  

 < E x a m p l e t e x t >       V a r i a b l e u s e r e n t r y . P o i n t e d b r a c k e t s i n d i c a t e t h a t y o u      

r e p l a c e t h e s e w o r d s a n d c h a r a c t e r s w i t h a p p r o p r i a t e      

e n t r i e s .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     v   

Page 6: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 6/346

A b o u t T h i s H a n d b o o k G W 1 0 0      

I c o n s i n B o d y T e x t    

T h e f o l l o w i n g i c o n s a r e u s e d i n t h i s h a n d b o o k .  

I c o n M e a n i n g      

F o r m o r e i n f o r m a t i o n , t i p s , o r b a c k g r o u n d      

 N o t e o r f u r t h e r e x p l a n a t i o n o f p r e v i o u s p o i n t  

E x c e p t i o n o r c a u t i o n      

P r o c e d u r e s    

I n d i c a t e s t h a t t h e i t e m i s d i s p l a y e d i n t h e i n s t r u c t o r ' s    

 p r e s e n t a t i o n . 

v i     © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 7: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 7/346

C o n t e n t s      

C o u r s e O v e r v i e w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i x      

C o u r s e G o a l s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i x      

C o u r s e O b j e c t i v e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i x      

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n . . . . . . . . . . . . . . . . . . . . . . . . . 1      

I n t r o d u c t i o n t o G a t e w a y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3      

I n t r o d u c t i o n t o R E S T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2      

I n t r o d u c t i o n t o O D a t a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0      

U n i t 2 : G a t e w a y D a t a M o d e l G e n e r a t o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1      

G e n e r a t i n g D a t a M o d e l f o r R e a d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2      

G e n e r a t i n g D a t a M o d e l f o r U p d a t e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0 0      

U n i t 3 : G a t e        w a y S e r v i c e M o n i t o r i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 9      

M o n i t o r i n g        G a t e w a y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 0      

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 7      

D e v e l o p i n g M o d e l P r o v i d e r C l a s s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 8      

C r e a t i n g G a t e w a y S e r v i c e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 9      

C r e a t i n g C o        m p l e x T y p e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8 5      

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 0 1      

D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d . . . . . . . . . . . . . . . . . . . . . . . . 2 0 2      

D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e . . . . . . . . . . . . . . . . . . . . . . 2 3 3      

U s i n g A s s o        c i a t i o n s a n d N a v i g a t i o n P a t h s . . . . . . . . . . . . . . . . . . . . . . . . 2 6 3      

U n i t 6 : F r o n t      - e n d A p p l i c a t i o n D e v e l o p m e n t . . . . . . . . . . . . . . . . . . . . . . 2 8 1      

C o n s u m i n g        G a t e w a y S e r v i c e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 8 2      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     v i i  

Page 8: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 8/346

C o n t e n t s G W 1 0 0      

v i i i       © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 9: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 9/346

C o u r s e O v e r v i e w          

T a r g e t A u d i e n c e      

T h i s c o u r s e i s i n t e n d e d f o r t h e f o l l o w i n g a u d i e n c e s :  

• A B A P a p p l i c a t i o n d e v e l o p e r s    

• B u s i n e s s P r o c e s s d e v e l o p e r s    

C o u r s e P r e r e q u i s i t e s      

R e q u i r e d K n o w l e d g e      

• B C 4 0 0 I n t r o d u c t i o n t o t h e A B A P W o r k b e n c h      

• B C 4 0 1 A B A P O b j e c t s    

R e c o m m e n d e d K n o w l e d g e      

• B C 4 0 2 A d v a n c e d A B A P      

• J a v a , J a v a S c r i p t , H T M L        

C o u r s e G o a l s      

T h i s c o u r s e w i l l p r e p a r e y o u t o :  

• U s e S A P N e t W e a v e r G a t e w a y t o c o n n e c t t o d a t a o f a N e t W e a v e r A p p l i c a t i o n      

S e r v e r A B A P .  

• C o n s u m e G a t e w a y S e r v i c e s o n d i f f e r e n t p l a t f o r m s a n d i n d i f f e r e n t    

 p r o g r a m m i n g l a n g u a g e s . 

C o u r s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s c o u r s e , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d t h e v a r i o u s d e v e l o p m e n t a n d i n s t a l l a t i o n o p t i o n s f o r S A P      

 N e t W e a v e r G a t e w a y . • E x p l a i n w h a t f u n c t i o n a l i t y S A P N e t W e a v e r G a t e w a y d o a n d d o e s n o t    

 p r o v i d e . 

• U n d e r s t a n d h o w t o g e n e r a t e a G a t e w a y S e r v i c e s t a r t i n g f r o m a n R F C A B A P      

F u n c t i o n M o d u l e o r a n O b j e c t f r o m t h e B u s i n e s s O b j e c t R e p o s i t o r y .  

• D e v e l o p f r o m s c r a t c h y o u r o w n G a t e w a y S e r v i c e i n A B A P .  

• C o n s u m e a G a t e w a y S e r v i c e u s i n g e i t h e r a J a v a a p p l i c a t i o n o r a J a v a S c r i p t    

( b r o w s e r ) b a s e d a p p l i c a t i o n .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     i x   

Page 10: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 10/346

C o u r s e O v e r v i e w G W 1 0 0      

x      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 11: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 11/346

U n i t 1      G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n      

U n i t O v e r v i e w          

T h i s u n i t p r o v i d e s y o u w i t h a s e m i - t e c h n i c a l i n t r o d u c t i o n t o t h e G a t e w a y s o f t w a r e      

a n d h o w i t f u n c t i o n s w i t h i n t h e w i d e r s c o p e o f a n S A P s y s t e m l a n d s c a p e . I t c o v e r s    

t h e d i f f e r e n t i n s t a l l a t i o n o p t i o n s f o r G a t e w a y , a n d h o w e a c h i n s t a l l a t i o n o p t i o n      t h e n a f f e c t s t h e m a n n e r i n w h i c h G a t e w a y S e r v i c e s a r e d e v e l o p e d .  

T h i s i s f o l l o w e d b y a n i n t r o d u c t i o n t o t h e c o n c e p t s o f h o w G a t e w a y s e r v i c e s a r e      

a c t u a l l y d e v e l o p e d . O n c e d e v e l o p e d , a G a t e w a y s e r v i c e c a n t h e n b e c o n s u m e d b y      

a p p l i c a t i o n s w r i t t e n i n a w i d e v a r i e t y o f p r o g r a m m i n g l a n g u a g e s .  

S i n c e t h e t o p i c o f R E S T a n d R E S T f u l s e r v i c e s i s w i d e l y t a l k e d a b o u t i n s o f t w a r e      

m a r k e t i n g a n d t h e c o m p u t i n g p r e s s , a n e n t i r e ( s h o r t ) c h a p t e r i s p r o v i d e d t o e x p l a i n      

e x a c t l y w h a t R E S T i s – a n d m o r e i m p o r t a n t l y , w h a t R E S T i s n o t .  

T h e l a s t l e s s o n o f U n i t 1 p r o v i d e s a s e m i - t e c h n i c a l i n t r o d u c t i o n t o t h e O D a t a      

 p r o t o c o l a n d i t s h i s t o r y . I t s h o w s h o w X M L m e s s a g e s a r e s t r u c t u r e d a n d h o w    

t h e y c a n b e i n t e r p r e t e d .  

U n i t O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s u n i t , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d t h e h i g h - l e v e l a r c h i t e c t u r e o f S A P N e t W e a v e r G a t e w a y      

• U n d e r s t a n d t h e d i f f e r e n t d e p l o y m e n t a n d d e v e l o p m e n t s c e n a r i o s    

• U n d e r s t a n d t h e d i f f e r e n t d e v e l o p m e n t o p t i o n s f o r c r e a t i n g G a t e w a y S e r v i c e s    

a n d c o n s u m i n g G a t e w a y S e r v i c e s    

• U n d e r s t a n d w h a t R e p r e s e n t a t i o n a l S t a t e T r a n s f e r ( R E S T ) i s .  

• U n d e r s t a n d h o w R E S T h a s b e e n i m p l e m e n t e d a s H T T P ( S ) .  

• U n d e r s t a n d t h e a r c h i t e c t u r e o f t h e A t o m a n d O D a t a p r o t o c o l s .  

• U n d e r s t a n d h o w S A P N e t W e a v e r G a t e w a y m a k e s u s e o f O D a t a .  

• U n d e r s t a n d h o w t o i s s u e r e a d - o n l y O D a t a r e q u e s t s f r o m y o u r b r o w s e r .  

U n i t C o n t e n t s      

L e s s o n : I n t r o d u c t i o n t o G a t e w a y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3      

L e s s o n : I n t r o d u c t i o n t o R E S T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1   

Page 12: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 12/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

L e s s o n : I n t r o d u c t i o n t o O D a t a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0      

E x e r c i s e 1 : G e t t i n g S t a r t e d w i t h O D a t a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1    

2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 13: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 13/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o G a t e w a y      

L e s s o n : I n t r o d u c t i o n t o G a t e w a y      

L e s s o n O v e r v i e w          

T h i s l e s s o n c o v e r s :  

• T h e h i g h - l e v e l a r c h i t e c t u r e o f S A P N e t W e a v e r G a t e w a y      

• T h e d i f f e r e n t d e p l o y m e n t a n d d e v e l o p m e n t s c e n a r i o s    

• T h e d i f f e r e n t d e v e l o p m e n t o p t i o n s f o r    

 – C r e a t i n g G a t e w a y S e r v i c e s  

 – C o n s u m i n g G a t e w a y S e r v i c e s  

L e s s o n O b j e c t i v e s      A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d t h e h i g h - l e v e l a r c h i t e c t u r e o f S A P N e t W e a v e r G a t e w a y      

• U n d e r s t a n d t h e d i f f e r e n t d e p l o y m e n t a n d d e v e l o p m e n t s c e n a r i o s    

• U n d e r s t a n d t h e d i f f e r e n t d e v e l o p m e n t o p t i o n s f o r c r e a t i n g G a t e w a y S e r v i c e s    

a n d c o n s u m i n g G a t e w a y S e r v i c e s    

B u s i n e s s E x a m p l e      

H i g h L e v e l G a t e w a y A r c h i t e c t u r e      

F i g u r e 1 : S A P N e t W e a v e r G a t e w a y – H i g h L e v e l A r c h i t e c t u r e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3   

Page 14: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 14/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

G a t e w a y s i t s i n b e t w e e n a n S A P B u s i n e s s S u i t e o r E C C 6 . 0 s y s t e m a n d t h e o u t s i d e      

w o r l d . W h e n w e s a y t h e “ o u t s i d e w o r l d ” , w h a t i s m e a n t i s a n y s o f t w a r e e x t e r n a l    

t o t h e b a c k e n d B u s i n e s s S u i t e o r E C C s y s t e m .  T y p i c a l l y , t h i s w i l l b e s o m e c l i e n t - b a s e d a p p l i c a t i o n t h a t c o n s u m e s a n O D a t a      

s e r v i c e a n d i n t e r a c t s d i r e c t l y w i t h a n e n d u s e r . H o w e v e r , i t i s a l s o p o s s i b l e f o r t h e      

G a t e w a y i n t e r f a c e t o s u p p l y i n f o r m a t i o n t o s e r v e r - b a s e d s o f t w a r e , w h i c h t h e n      

f o r w a r d s t h e i n f o r m a t i o n t o o n e o r m o r e c l i e n t d e v i c e s .  

I n t h e c a s e o f S A P W o r k o w e v e n t s , t h e G a t e w a y i n t e r f a c e c a n p u s h a w o r k o w        

e v e n t o u t t o s o m e s e r v e r t h a t c o n s u m e s t h e i n f o r m a t i o n a n d t h e n f o r w a r d s i t s i t t o      

h o w e v e r m a n y c l i e n t d e v i c e s h a v e s u b s c r i b e d t o t h a t e v e n t .  

T h e s o f t w a r e t o c o n s u m e w o r k o w e v e n t s c o m i n g o u t o f t h e S A P s y s t e m i s n o t    

c o v e r e d i n t h e G W 1 0 0 t r a i n i n g c o u r s e . T h e S y b a s e U n w i r e d P l a t f o r m ( S U P )    

s o f t w a r e o f f e r s a p o s s i b l e s o l u t i o n t o e v e n t c o n s u m p t i o n , b u t i s n o t t h e o n l y      s o f t w a r e o p t i o n a c u s t o m e r c o u l d u s e .  

O p e n      

T h e O D a t a i n t e r f a c e i s a n o p e n s t a n d a r d t h a t c a n b e c o n s u m e d b y a n y s o f t w a r e      

o r d e v i c e t h a t c a n c o m m u n i c a t e u s i n g t h e H T T P ( S ) p r o t o c o l a n d c a n p a r s e a n d      

c o n s t r u c t a n X M L d o c u m e n t .  

P e o p l e      

G a t e w a y h a s b e e n d e s i g n e d t o p r o v i d e a B u s i n e s s t o C o n s u m e r ( B 2 C ) i n t e r f a c e .  

A l t h o u g h i t w o u l d b e t e c h n i c a l l y p o s s i b l e t o u s e G a t e w a y i n a B 2 B s t y l e i n t e r f a c e ,    

t h i s w o u l d b e a u s e c a s e t h a t l i e s o u t s i d e S A P ' s i n t e n d e d s e t o f u s e c a s e s f o r    

G a t e w a y .  

T i m e l e s s    

S i n c e t h e G a t e w a y s o f t w a r e h a s b e e n i m p l e m e n t e d a s a s e t o f A B A P a d d - o n s ,    

t h e s e c a n b e d e p l o y e d t o a w i d e r a n g e o f S A P B u s i n e s s S y s t e m s . D e l i v e r y o f t h e      

G a t e w a y s o f t w a r e a s A B A P a d d - o n s e n s u r e s t h e m i n i m u m l e v e l o f i n t e r f e r e n c e      

w i t h e x i s t i n g s y s t e m s .  

D e v e l o p e r s    

T h e r e a r e t w o m a j o r a d v a n t a g e s t h a t c o m e w i t h t h e u s e o f a n O D a t a i n t e r f a c e :  

• T h e O D a t a i n t e r f a c e i s i m p l e m e n t e d u s i n g e i t h e r X M L o r J S O N . B o t h o f      

t h e s e f o r m a t s a r e w e l l k n o w n , p l a i n t e x t p r o t o c o l s f o r t h e t r a n s m i s s i o n o f      

i n f o r m a t i o n o v e r t h e W e b .  

• I r r e s p e c t i v e o f t h e p r o t o c o l u s e d t o t r a n s m i t a n O D a t a m e s s a g e , t h a t m e s s a g e      

i s s e l f - d e s c r i b i n g . T h e r e f o r e , a n y W e b d e v e l o p e r w i l l b e a b l e t o u n d e r s t a n d      

t h e m e s s a g e c o n t e n t w i t h o u t n e e d i n g t o h a v e a n y i n t e r n a l k n o w l e d g e o f      

h o w a n S A P s y s t e m w o r k s .  

4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 15: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 15/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o G a t e w a y      

I n t h e p a s t , t h e r e h a s a l w a y s b e e n t h e i s s u e t h a t i n o r d e r t o c o n s u m e S A P      

f u n c t i o n a l i t y f r o m a n e x t e r n a l p r o g r a m o v e r t h e R F C i n t e r f a c e , d e v e l o p e r s    

h a v e n e e d e d t o h a v e a t l e a s t a b a s i c k n o w l e d g e o f t h e i n t e r n a l w o r k i n g s o f a n      S A P s y s t e m . N o w h o w e v e r , w h e n t a k e n t o g e t h e r , t h e s e t w o f a c t o r s l o w e r t h e      

c o n s u m p t i o n b a r r i e r t o t h e l o w e s t p o s s i b l e l e v e l .  

A d e v e l o p e r n o w n e e d s n o k n o w l e d g e o f t h e i n t e r n a l w o r k i n g s o f a n S A P s y s t e m          

i n o r d e r t o c o n s u m e a G a t e w a y ( O D a t a ) s e r v i c e .  

S t a n d a r d s    

T h e G a t e w a y i n t e r f a c e i m p l e m e n t s t h e O D a t a p r o t o c o l a s d e s c r i b e d o n      

w w w . o d a t a . o r g      

F i g u r e 2 : W h a t i s t h e O p e n D a t a P r o t o c o l ( O D a t a ) ?      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     5   

Page 16: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 16/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

O D a t a i s a M i c r o s o f t d e v e l o p e d s t a n d a r d t h a t i s b u i l t o n t h e e x i s t i n g A t o m          

P u b l i s h i n g a n d A t o m S y n d i c a t i o n p r o t o c o l s .  

• P r i o r t o d e v e l o p m e n t o f O D a t a , t h e r e w e r e s o m e m a j o r s t a n d a r d i s a t i o n      

 p r o b l e m s w i t h t h e u s e o f R E S T f u l A P I s . T h i s t o p i c w i l l b e c o v e r e d i n m o r e   

d e t a i l i n c h a p t e r 3 w h e r e w e l o o k a t t h e s p e c i c d e t a i l s o f O D a t a , a n d h o w        

O D a t a i m p r o v e s o n t h e u n d e r l y i n g p r o t o c o l s s u c h a s A t o m .  

• T h e t e r m “ O D B C f o r t h e W e b ” i s c o n c e p t u a l l y a c c u r a t e , b u t t h e r e i s n o      

s e n s e i n w h i c h O D a t a a l l o w s y o u t o e x e c u t e a n e x a c t S Q L s t a t e m e n t o v e r    

t h e W e b . N o n e t h e l e s s , t h e O D a t a i n t e r f a c e e x p o s e s a n A P I t h a t a l l o w s    

c o l l e c t i o n s o f e n t i t i e s t o b e r e t r i e v e d u s i n g s y n t a x t h a t p r o v i d e s a s i m i l a r    

l e v e l o f f u n c t i o n a l i t y t o t h a t o f f e r e d b y S Q L .  

• T h e r e i s n o c o s t o r l i c e n s e a g r e e m e n t n e e d e d f o r t h e u s e o f O D a t a . T h e      

s t a n d a r d i s o p e n a n d c a n b e u s e d b y a n y o n e w h o c a r e s t o i m p l e m e n t i t .  • O n e o f t h e r e a s o n s S A P c h o s e t o i m p l e m e n t O D a t a ( o v e r G o o g l e ' s G D a t a )    

w a s t h a t O D a t a i s e x t e n s i b l e . T h i s i s p a r t i c u l a r l y u s e f u l i n c a s e s w h e r e S A P      

s p e c i c v a l u e s n e e d t o b e d e s c r i b e d i n t h i s p r o t o c o l ; f o r i n s t a n c e , c u r r e n c y      

e l d s . A c u r r e n c y e l d c o n t a i n s t w o s e p a r a t e v a l u e s , t h e c u r r e n c y a m o u n t    

a n d t h e c u r r e n c y c o d e . T h e s e t w o v a l u e s m u s t a l w a y s b e t r e a t e d a s a l i n k e d      

 p a i r , a n d O D a t a ' s e x t e n s i b i l i t y a l l o w s f o r t h i s . 

D e v e l o p m e n t a n d D e p l o y m e n t S c e n a r i o s      

F i g u r e 3 : S A P N e t W e a v e r G a t e w a y D e p l o y m e n t S c e n a r i o s : 1 / 3      

6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 17: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 17/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o G a t e w a y      

I n t h e r s t d e p l o y m e n t s c e n a r i o , t h e G a t e w a y a d d - o n s a r e d e p l o y e d t o a n      

i n d e p e n d e n t s e r v e r t h a t a c t s a s t h e c o m m u n i c a t i o n e n d p o i n t f o r a l l O D a t a      

c o m m u n i c a t i o n . T h i s s e r v e r i s k n o w n a s t h e “ G a t e w a y H u b ” a n d d o e s n o t h o l d      a n y b u s i n e s s d a t a .  

• I n t h i s s c e n a r i o , t h e b a c k e n d s e r v e r n e e d s t o h a v e t h e I W _ B E P c o m p o n e n t    

i n s t a l l e d . T h e I W _ B E P c o m p o n e n t a l l o w s a n A B A P p r o g r a m m e r t o d e v e l o p      

a G a t e w a y s e r v i c e d i r e c t l y i n t h e b a c k e n d s e r v e r . T h i s s e r v i c e i s t h e n      

e x p o s e d t o t h e o u t s i d e w o r l d t h r o u g h t h e G a t e w a y H u b s e r v e r .  

T h e a d v a n t a g e o f t h i s d e v e l o p m e n t a n d d e p l o y m e n t s c e n a r i o i s t h a t t h e G a t e w a y      

S e r v i c e i s d e v e l o p e d w i t h i n t h e s a m e s e r v e r w h e r e i n t h e a c t u a l b u s i n e s s d a t a      

r e s i d e s . T h i s d e v e l o p m e n t s c e n a r i o o f f e r s t h e A B A P d e v e l o p e r a m u c h g r e a t e r    

r a n g e o f b u s i n e s s e x i b i l i t y .  

• T h i s d e p l o y m e n t s c e n a r i o r e l i e s o n t h e f a c t t h a t t h e c u s t o m e r p e r m i t s t h e      i n s t a l l a t i o n o f a d d - o n s i n t o t h e i r p r o d u c t i v e s y s t e m . I t c a n n o t b e a s s u m e d      

t h a t a l l c u s t o m e r s w i l l a l l o w t h i s .  

F i g u r e 4 : S A P N e t W e a v e r G a t e w a y D e p l o y m e n t S c e n a r i o s : 1 / 3      

A s f a r a s t h e d e p l o y m e n t o f S A P N e t W e a v e r G a t e w a y a d d - o n s i s c o n c e r n e d , t h i s    

s l i d e i s i d e n t i c a l t o t h e p r e v i o u s s l i d e . H o w e v e r , i f t h e c u s t o m e r h a s n o i n - h o u s e      

A B A P d e v e l o p e r s , t h e n i t i s p o s s i b l e t o c r e a t e G a t e w a y S e r v i c e s u s i n g t h e s e r v i c e      

g e n e r a t i o n t o o l . T h i s t o o l r u n s d i r e c t l y i n t h e G a t e w a y H u b a n d g e n e r a t e s a f u l l y      

f u n c t i o n a l G a t e w a y s e r v i c e . N o A B A P c o d i n g i s n e e d e d .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     7   

Page 18: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 18/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

T h e g e n e r a t e d s e r v i c e i s e x e c u t e d i n t h e G a t e w a y H u b s e r v e r , a n d r e l i e s o n t h e      

f a c t t h a t t h e r e q u i r e d f u n c t i o n a l i t y i s a v a i l a b l e f r o m t h e b a c k e n d s e r v e r i n t h e f o r m          

o f B A P I s o r R F C F u n c t i o n M o d u l e s .  A l t e r n a t i v e l y , i f a b a s i c A B A P d y n p r o s c r e e n i m p l e m e n t s t h e r e q u i r e d      

f u n c t i o n a l i t y , t h e n a G a t e w a y S e r v i c e c a n b e c r e a t e d u s i n g s c r e e n s c r a p i n g . F o r    

t h i s t o w o r k , t h e I W _ S C S c o m p o n e n t m u s t b e i n s t a l l e d i n t h e b a c k e n d s y s t e m .  

E i t h e r w a y , n o A B A P c o d i n g n e e d s t o b e w r i t t e n .  

F i g u r e 5 : S A P N e t W e a v e r G a t e w a y D e p l o y m e n t S c e n a r i o s : 2 / 3      

T h e r e a r e s e v e r a l s i t u a t i o n s i n w h i c h i t w i l l n o t b e p o s s i b l e t o i n s t a l l t h e a d d - o n s    

I W _ B E P o r I W _ S C S i n t o t h e b a c k e n d b u s i n e s s s y s t e m . E i t h e r :  

T h e b a c k e n d s y s t e m i s t h e w r o n g v e r s i o n ( t o o o l d ) t o s u p p o r t t h e s e a d d - o n s , o r    

T h e i n s t a l l a t i o n o f a d d - o n s i n t o t h e c u s t o m e r ' s s y s t e m l a n d s c a p e w o u l d n e c e s s i t a t e      

a r e p e a t o f s o m e e x t e r n a l c o m p l i a n c e c e r t i c a t i o n ( t h i s i s p a r t i c u l a r t r u e f o r    

c u s t o m e r s i n t h e d e f e n c e o r p h a r m a c e u t i c a l s s e c t o r s ) , o r    

T h e c o m p l e x i t y o f t h e c u s t o m e r ' s s y s t e m l a n d s c a p e m a k e s t h e i n s t a l l a t i o n o f      

I W _ B E P ( a n d t h e r e f o r e t h e d e v e l o p m e n t o f G a t e w a y s e r v i c e s d i r e c t l y o n t h e      

 b a c k e n d s e r v e r ) i m p r a c t i c a l . 

N o t e :      I W _ B E P c a n a l s o b e i n s t a l l e d i n t h e G a t e w a y H u b .  

8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 19: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 19/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o G a t e w a y      

C u s t o m G a t e w a y s e r v i c e s c a n b e d e v e l o p e d        i n w h i c h e v e r s y s t e m c o n t a i n s    

I W _ B E P          ; t h e d i f f e r e n c e h e r e h o w e v e r i s t h a t s i n c e t h e c u s t o m G a t e w a y S e r v i c e i s    

r u n n i n g i n t h e G a t e w a y H u b a n d n o t d i r e c t l y i n t h e b a c k e n d , R F C c a l l s w i l l n e e d      t o b e m a d e i n t o t h e b a c k e n d s y s t e m i n o r d e r t o p e r f o r m t h e r e q u i r e d b u s i n e s s    

f u n c t i o n a l i t y .  

F o r p a r t n e r o r g a n i s a t i o n s d e v e l o p i n g t h e i r o w n G a t e w a y S e r v i c e , i t i s s a f e r s t t o      

a s s u m e t h a t I W _ B E P c a n n o t b e i n s t a l l e d i n t h e b a c k e n d b u s i n e s s s y s t e m . T h i s i s    

k n o w n a s t h e        n o n - i n v a s i v e        a p p r o a c h t o G a t e w a y S e r v i c e d e v e l o p m e n t . T h a t i s , a      

G a t e w a y S e r v i c e d e v e l o p e d u s i n g I W _ B E P f u n c t i o n a l i t y , b u t t h i s i s f o r I W - B E P      

i n s t a l l e d i n t h e G a t e w a y H u b , n o t t h e b a c k e n d b u s i n e s s s y s t e m .  

A B a c k e n d O p e r a t i o n P r o x y ( B O P ) i s a w r a p p e r t h a t c a n b e g e n e r a t e d i n t h e      

G a t e w a y H u b i n o r d e r t o c a l l a n R F C m o d u l e i n t h e b a c k e n d s y s t e m . S u c h a      

w r a p p e r i s n e e d e d i n c a s e s w h e r e t h e G a t e w a y H u b s e r v e r a n d t h e b a c k e n d      

 b u s i n e s s s y s t e m a r e r u n n i n g o n d i f f e r e n t S A P s y s t e m v e r s i o n s . 

 N o t o n l y t h i s , b u t v e r y o f t e n , t h e A B A P d i c t i o n a r y e l d s u s e d t o d e s c r i b e a n   

R F C m o d u l e ' s i n t e r f a c e i n t h e b a c k e n d b u s i n e s s s y s t e m m a y w e l l n o t e x i s t i n t h e      

G a t e w a y H u b . I n t h e s e c a s e s i t i s n e c e s s a r y t o h a v e a w r a p p e r g e n e r a t e d t h a t u s e s    

s i m p l e d a t a t y p e s t o d e s c r i b e t h e e l d s i n t h e R F C m o d u l e ' s i n t e r f a c e .  

B O P s c a n b e g e n e r a t e d b y a c c e s s i n g t h e t r a n s a c t i o n t h r o u g h t h e I M G .  

• I n t h i s c a s e , t h e b a c k e n d s y s t e m c o u l d b e a n y a t v e r s i o n b a c k t o R / 3 4 . 6 C .  

• S i n c e t h e b a c k e n d s y s t e m c a n n o t h a v e a n y a d d - o n s i n s t a l l e d ( e i t h e r b e c a u s e      

i t i s t o o o l d , o r b e c a u s e t h e c u s t o m e r d o e s n o t p e r m i t i t ) , t h e G a t e w a y S e r v i c e      

w i l l n o t b e a b l e t o u s e a n y s c r e e n s c r a p i n g o r e v e n t p u s h f u n c t i o n a l i t y o f f e r e d       b y I W _ S C S a n d I W _ B E P r e s p e c t i v e l y . 

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     9   

Page 20: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 20/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

F i g u r e 6 : S A P N e t W e a v e r G a t e w a y D e p l o y m e n t S c e n a r i o s : 3 / 3      

T h i s i s k n o w n a s t h e a l l - i n - o n e o p t i o n .  

• T h i s i s w h e r e a l l t h e G a t e w a y a d d - o n s a r e i n s t a l l e d d i r e c t l y o n t h e b a c k e n d      

 b u s i n e s s s y s t e m . T h i s s c e n a r i o i s s u i t a b l e f o r p r o o f - o f - c o n c e p t d e v e l o p m e n t ,  

o r t h e d e p l o y m e n t o f G a t e w a y S e r v i c e s w i t h i n a n i n t r a n e t o n l y e n v i r o n m e n t .  

• T h e b a c k e n d s e r v e r m u s t c o n f o r m t o t h e m i n i m u m r e q u i r e m e n t s f o r a      G a t e w a y H u b s e r v e r , s i n c e t h e b a c k e n d s y s t e m h a s n o w b e c o m e t h e G a t e w a y      

H u b s e r v e r .  

• T h i s i s s c e n a r i o i s      m o s t d e n i t e l y n o t      r e c o m m e n d e d f o r d e p l o y m e n t o f      

s e r v i c e s t o t h e p u b l i c i n t e r n e t s i n c e t h i s w o u l d m a k e t h e b a c k e n d s e r v e r    

d i r e c t l y a c c e s s i b l e f r o m t h e p u b l i c i n t e r n e t .  

T h e a d v a n t a g e o f h a v i n g a s e p a r a t e G a t e w a y H u b s e r v e r i s t h a t i t s i t s i n y o u r    

n e t w o r k D M Z a n d c o m m u n i c a t e s w i t h t h e b a c k e n d s e r v e r t h r o u g h a r e w a l l . T h i s    

e n s u r e s t h a t o n l y t h e G a t e w a y H u b s e r v e r i s v i s i b l e t o t h e p u b l i c I n t e r n e t a n d      

n o t t h e a c t u a l b u s i n e s s s y s t e m .  

1 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 21: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 21/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o G a t e w a y      

G a t e w a y S e r v i c e D e v e l o p m e n t    

F i g u r e 7 : S A P N e t W e a v e r G a t e w a y D e v e l o p m e n t T o o l s : G e n e r a t o r s      

S A P N e t W e a v e r G a t e w a y c o n t e n t g e n e r a t o r s d o n o t s u p p o r t d i r e c t c o d i n g o f t h e      

G a t e w a y S e r v i c e .  

T h e y a l l o w n o t o n l y t h e r e u s e o f e x i s t i n g B u s i n e s s O b j e c t s o r s c r e e n s b u t a l s o      

 p r o v i d e d a t a a d a p t a t i o n c a p a b i l i t i e s . D a t a c o m i n g f r o m m u l t i p l e o b j e c t s c a n b e   

a g g r e g a t e d , l t e r e d a n d a d a p t e d b a s e d o n t h e c l i e n t a p p l i c a t i o n r e q u i r e m e n t s .  

T h e s e g e n e r a t o r s c a n b e u s e d t o g e n e r a t e s t r u c t u r e s t h a t a r e t h e n e n h a n c e d u s i n g      

t h e p r o g r a m m i n g t o o l s .  

G e n e r a t i o n o f n e w G W D a t a M o d e l s b a s e d o n r e c o r d i n g s o f S A P t r a n s a c t i o n      

s c r e e n s , a n d e n a b l e s i n f o r m a t i o n f r o m t h e r e c o r d e d t r a n s a c t i o n s t o b e c o n s u m e d      

i n a n O D a t a c o m p l i a n t w a y .  

D y n p r o b a s e d G a t e w a y S e r v i c e s u t i l i z e t h e t r a n s a c t i o n r e c o r d e r ( B a t c h I n p u t ) i n      

o r d e r t o c a p t u r e b u s i n e s s p r o c e s s e s f r o m t h e S A P S y s t e m . H o w e v e r , a n y d y n p r o s    

t h a t c o n t a i n w e b o r A c t i v e X c o n t r o l s a r e n o t s u p p o r t e d .  

T h e G a t e w a y S e r v i c e G e n e r a t o r i s a t o o l t h a t w i l l t a k e a B A P I , R F C M o d u l e      

o r b a s i c D y n p r o a s i n p u t , a n d f r o m i t c r e a t e a G a t e w a y s e r v i c e . T h i s o p t i o n i s    

s u i t a b l e f o r p r o t o t y p i n g o r w h e r e A B A P d e v e l o p m e n t s k i l l s a r e n o t a v a i l a b l e .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 1   

Page 22: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 22/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

F i g u r e 8 : G a t e w a y S e r v i c e s B a s e d o n R F M s o r B O R O b j e c t s O v e r v i e w          

T h e s c r e e n s h o t i s t a k e n f r o m t h e R F C a n d B A P I G a t e w a y S e r v i c e G e n e r a t i o n      

T o o l . I t s h o w s t h a t t h e i n d i v i d u a l C R U D o p e r a t i o n s a r e m a p p e d t o R F C m o d u l e s .  

F i g u r e 9 : G a t e w a y S e r v i c e s B a s e d o n S c r e e n S c r a p i n g O v e r v i e w          

T h i s s c r e e n s h o t i s t a k e n f r o m t h e S c r e e n S c r a p i n g G a t e w a y S e r v i c e G e n e r a t i o n      

T o o l . I t s h o w s m u c h t h e s a m e i n f o r m a t i o n a s t h e p r e v i o u s s l i d e , e x c e p t t h a t    

i n d i v i d u a l C R U D o p e r a t i o n s a r e m a p p e d t o s c r e e n s i n s t e a d o f f u n c t i o n m o d u l e s .  

1 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 23: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 23/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o G a t e w a y      

F i g u r e 1 0 : S c r e e n S c r a p i n g – W h e n t o U s e      

T w o o f t h e m o s t f r e q u e n t u s e c a s e s f o r s c r e e n s c r a p i n g a r e t o e x p o s e s e a r c h h e l p      

f u n c t i o n a l i t y a n d t o i m p l e m e n t s i m p l e b u t t o n p u s h e v e n t s f o r A B A P D y n p r o s    

w h e r e s u c h f u n c t i o n a l i t y h a s n o t e q u i v a l e n t o v e r t h e R F C i n t e r f a c e .  

F i g u r e 1 1 : G a t e w a y S e r v i c e M a p p i n g T o o l    

G e n e r a l f e a t u r e s p r o v i d e d b y t h e s e r v i c e m a p p i n g t o o l .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 3   

Page 24: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 24/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

F i g u r e 1 2 : S A P N e t W e a v e r G a t e w a y D e v e l o p m e n t T o o l s : G o o d o l ' A B A P        

A L R E A D Y I N N O T E S : T h e d e v e l o p m e n t o f c u s t o m G a t e w a y s e r v i c e s t a k e s p l a c e      

i n w h i c h e v e r s y s t e m c o m p o n e n t I W _ B E P h a s b e e n i n s t a l l e d . T h i s c o m p o n e n t    

 p r o v i d e s ( a m o n g o t h e r t h i n g s ) t h e A B A P c l a s s e s t h a t a c t a s s u p e r - t y p e s f o r y o u r  

o w n G a t e w a y c l a s s e s .  

F r o m t h e p e r s p e c t i v e o f d e v e l o p i n g c u s t o m G a t e w a y S e r v i c e s , i t i s i m p o r t a n t t o      

u n d e r s t a n d t h a t t h i s t y p e o f d e v e l o p m e n t t a k e s p l a c e i n w h i c h e v e r s y s t e m t h e      

c o m p o n e n t I W _ B E P h a s b e e n i n s t a l l e d .  F o r p a r t n e r s d e v e l o p i n g a G a t e w a y S e r v i c e t h a t i s t o b e s o l d t o a w i d e r a n g e o f      

S A P c u s t o m e r s ( i . e . y o u c a n n o t p r e d i c t w h e t h e r t h e c u s t o m e r w i l l p e r m i t t h e      

i n s t a l l a t i o n o f t h e I W _ B E P a d d - o n i n t h e i r s y s t e m l a n d s c a p e ) , t h e d e v e l o p m e n t    

w i l l t a k e p l a c e i n t h e G a t e w a y H u b .  

H o w e v e r , i t c o u l d b e . . .  

1 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 25: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 25/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o G a t e w a y      

F i g u r e 1 3 : S A P N e t W e a v e r G a t e w a y D e v e l o p m e n t T o o l s : G o o d o l ' A B A P        

. . . t h e b a c k e n d s e r v e r – a s l o n g a s t h e i n s t a l l a t i o n o f a d d - o n s i s p e r m i t t e d .  

F i g u r e 1 4 : G a t e w a y S e r v i c e A r c h i t e c t u r e ( O D a t a C h a n n e l ) – 1 / 5      

W h e n c r e a t i n g a G a t e w a y S e r v i c e , t w o d i s t i n c t A B A P c l a s s e s n e e d t o b e      

d e v e l o p e d .  

T h e m e t a d a t a p r o v i d e r c l a s s d e n e s t h e s e r v i c e ' s i n t e r f a c e . T h e i n f o r m a t i o n      

 p r o v i d e d b y t h i s c l a s s i s u s e d w h e n a n e x t e r n a l a p p l i c a t i o n w i s h e s t o c o n s u m e a   

G a t e w a y S e r v i c e . T h i s c l a s s p r o v i d e s t h e c o n s u m e r w i t h a f u l l d e s c r i p t i o n o f t h e      

e n t i t i e s a v a i l a b l e f r o m t h i s s e r v i c e a n d h o w t h o s e e n t i t i e s a r e a s s o c i a t e d w i t h      

e a c h o t h e r .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 5   

Page 26: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 26/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

T h e d a t a p r o v i d e r c l a s s p r o v i d e s t h e a c t u a l r u n t i m e i m p l e m e n t a t i o n o f t h e b u s i n e s s    

f u n c t i o n a l i t y d e s c r i b e d b y t h e m e t a d a t a c l a s s .  

F i g u r e 1 5 : G a t e w a y S e r v i c e A r c h i t e c t u r e ( O D a t a C h a n n e l ) – 2 / 5      

T h e r e i s n o d i r e c t p r o g r a m m a t i c r e l a t i o n s h i p b e t w e e n t h e m o d e l a n d d a t a p r o v i d e r    

c l a s s e s . T h i s m a y a t r s t s e e m s t r a n g e b e c a u s e m o s t d e v e l o p e r s a s s u m e t h a t i f      

t h e d a t a p r o v i d e r c l a s s i s g o i n g t o o u t p u t i n f o r m a t i o n , t h e n i t w i l l n e e d t o h a v e a      

r e f e r e n c e t o t h e m o d e l p r o v i d e r c l a s s i n o r d e r t o u n d e r s t a n d i t s o w n i n t e r f a c e . I n      

f a c t , t h i s i s n o t t h e c a s e .  

• T h e r e l a t i o n s h i p b e t w e e n t h e d a t a a n d m o d e l p r o v i d e r c l a s s e s i s i m p l e m e n t e d      

t h r o u g h c o n g u r a t i o n , n o t c o d i n g . T w o d i f f e r e n t c o n g u r a t i o n w r a p p e r s    

n e e d t o b e c r e a t e d .  

A c o n g u r a t i o n w r a p p e r i s c r e a t e d f o r t h e m o d e l p r o v i d e r c l a s s .  

• A n d a c o n g u r a t i o n w r a p p e r i s c r e a t e d f o r t h e d a t a p r o v i d e r c l a s s .  

1 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 27: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 27/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o G a t e w a y      

F i g u r e 1 6 : G a t e w a y S e r v i c e A r c h i t e c t u r e ( O D a t a C h a n n e l ) – 3 / 5      

A L R E A D Y I N N O T E S : T h e c o n g u r a t i o n s c r e e n a s k s y o u t o e n t e r t h e i n t e r n a l    

s e r v i c e n a m e a n d t h e n u s e s t h i s v a l u e a s t h e e x t e r n a l s e r v i c e n a m e .  

B e c a r e f u l t o e n t e r t h e n a m e h e r e t h a t y o u w a n t t h e e n d u s e r t o s e e .  

T h e r e i s n o n e e d t o s t a r t t h e i n t e r n a l s e r v i c e n a m e w i t h a Z c h a r a c t e r , a n d      

r e m e m b e r t h a t t h e v a l u e y o u e n t e r i s c a s e - s e n s i t i v e .  

W h e n t h e c o n g u r a t i o n w r a p p e r f o r t h e d a t a p r o v i d e r c l a s s ( S e r v i c e G r o u p ) i s    

c r e a t e d , y o u n e e d t o s u p p l y a n i n t e r n a l s e r v i c e n a m e .  

• T h e i n t e r n a l a n d e x t e r n a l s e r v i c e n a m e s a r e i m p o r t a n t b e c a u s e      

• T h e n a m e y o u s p e c i f y f o r t h e i n t e r n a l n a m e i s c o p i e d t o t h e e x t e r n a l n a m e      

A l s o , t h e e x t e r n a l n a m e b e c o m e s t h e n a m e s e e n b y t h e u s e r i n t h e U R L w h e n      

a d d r e s s i n g t h e G a t e w a y S e r v i c e f r o m o u t s i d e t h e S A P s y s t e m .  

I t i s v e r y i m p o r t a n t t h e r e f o r e t h a t t h e e x t e r n a l n a m e i s r e l e v a n t a n d m e a n i n g f u l f o r    

t h e e n d u s e r . T h i s m e a n s t h a t t h e n a m e u s e d f o r t h e i n t e r n a l n a m e m u s t a l s o b e      

r e l e v a n t a n d m e a n i n g f u l t o t h e e n d u s e r .  

I n o t h e r w o r d s , d o n o t u s e a n a m e s t a r t i n g w i t h Z o r s o m e o t h e r t e c h n i c a l i n t e r n a l    

n a m e .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 7   

Page 28: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 28/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

F i g u r e 1 7 : G a t e w a y S e r v i c e A r c h i t e c t u r e ( O D a t a C h a n n e l ) – 4 / 5      

O n c e y o u h a v e c r e a t e d t h e t w o c o n g u r a t i o n w r a p p e r s , t h e s e a r e a s s o c i a t e d w i t h      

e a c h o t h e r b y a f u r t h e r c o n g u r a t i o n s t e p , a n d y o u h a v e a G a t e w a y S e r v i c e .  

H o w e v e r , t h a t s e r v i c e i s n o t q u i t e r e a d y t o u s e .  

F i g u r e 1 8 : G a t e w a y S e r v i c e A r c h i t e c t u r e ( O D a t a C h a n n e l ) – 5 / 5      

A L R E A D Y I N N O T E S : C r e a t i n g a n e n t r y i n t h e S e r v i c e C a t a l o g t a k e s p l a c e      

i n w h i c h e v e r S A P s y s t e m h a s t h e G W _ C O R E c o m p o n e n t . T h i s m a y w e l l b e a      

d i f f e r e n t s y s t e m t h a n t h e o n e i n w h i c h y o u        d e v e l o p e d        t h e G a t e w a y S e r v i c e .  

1 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 29: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 29/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o G a t e w a y      

T h e n a l s t e p i s t o c r e a t e a S e r v i c e C a t a l o g u e e n t r y . T h i s i s d o n e i n w h i c h e v e r    

s e r v e r a c t s a s t h e G a t e w a y H u b – w h i c h d e p e n d i n g o n w h i c h d e p l o y m e n t s c e n a r i o      

y o u a r e u s i n g , m a y , o r m a y n o t , b e t h e s a m e s y s t e m i n w h i c h t h e G a t e w a y S e r v i c e      w a s d e v e l o p e d .  

• A f t e r t h e S e r v i c e C a t a l o g u e e n t r y h a s b e e n c r e a t e d , t h e G a t e w a y S e r v i c e c a n      

 b e a c c e s s e d f r o m s o m e e x t e r n a l c l i e n t d e v i c e o r b r o w s e r . 

G a t e w a y S e r v i c e C o n s u m p t i o n      

F i g u r e 1 9 : C o n s u m i n g a G a t e w a y S e r v i c e : G e n e r a l A p p r o a c h      

A L R E A D Y I N N O T E S : S A P d o e s n o t m a k e a n y r e c o m m e n d a t i o n s o r i m p o s e a n y      

r e s t r i c t i o n s o n w h i c h d e v e l o p m e n t l a n g u a g e s h o u l d b e u s e d f o r t h e c o n s u m p t i o n      

o f a G a t e w a y s e r v i c e .  

Y o u c a n u s e a n y l a n g u a g e w i t h w h i c h y o u a r e f a m i l i a r s o l o n g a s t h a t l a n g u a g e      

h a s f a c i l i t i e s f o r H T T P ( S ) c o m m u n i c a t i o n , a n d c a n c o n s t r u c t a n d p a r s e a n X M L        

d o c u m e n t . B e y o n d t h a t , y o u a r e f r e e t o u s e a n y l a n g u a g e y o u l i k e .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 9   

Page 30: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 30/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

F i g u r e 2 0 : C o n s u m i n g a G a t e w a y S e r v i c e : I D E P l u g - I n s      

A L R E A D Y I N N O T E S : T h e G a t e w a y c o n s u m p t i o n t o o l s w i l l c r e a t e a p r o x y      

o b j e c t t h a t w r a p s a c c e s s t o a G a t e w a y s e r v i c e . T h i s o b j e c t c a n t h e n b e u s e d i n      

y o u r o w n a p p l i c a t i o n .  

O p t i o n a l l y , t h e c o n s u m p t i o n t o o l s w i l l a l s o g e n e r a t e a b a s i c a p p l i c a t i o n t h a t m a k e s    

u s e o f t h e g e n e r a t e d p r o x y o b j e c t .  

T h e G a t e w a y c o n s u m p t i o n t o o l s a r e n o t d e s i g n e d t o g e n e r a t e f u l l y f u n c t i o n a l    

a p p l i c a t i o n s . I n s t e a d , t h e y a r e d e s i g n e d j u m p s t a r t y o u r d e v e l o p m e n t p r o c e s s b y      

c r e a t i n g a b a s i c , b u t f u n c t i o n a l a p p l i c a t i o n t h a t c a n t h e n b e u s e d a s t h e s t a r t i n g      

 p o i n t f o r t h e d e v e l o p m e n t o f y o u r o w n a p p l i c a t i o n . 

T h e G a t e w a y c o n s u m p t i o n t o o l s a r e a v a i l a b l e f o r t h e f o l l o w i n g l a n g u a g e s :  

• J a v a      

• C #   

• O b j e c t i v e C        

S A P o f f e r s v a r i o u s t o o l s f o r O D a t a p r o x y o b j e c t s i n J a v a , C # a n d O b j e c t i v e C .  

T h e s e p r o x y o b j e c t s c a n t h e n b e i n c l u d e d i n a c l i e n t d e v i c e a p p l i c a t i o n .  

• N o n e t h e l e s s , t h e u s e o f t h e s e t o o l s i s n o t m a n d a t o r y . O n t h e w w w . o d a t a . o r g      

w e b s i t e , m a n y d i f f e r e n t O D a t a l i b r a r i e s c a n b e d o w n l o a d e d f o r a w i d e      

v a r i e t y o f l a n g u a g e s .  

2 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 31: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 31/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o G a t e w a y      

L e s s o n S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  • U n d e r s t a n d t h e h i g h - l e v e l a r c h i t e c t u r e o f S A P N e t W e a v e r G a t e w a y      

• U n d e r s t a n d t h e d i f f e r e n t d e p l o y m e n t a n d d e v e l o p m e n t s c e n a r i o s    

• U n d e r s t a n d t h e d i f f e r e n t d e v e l o p m e n t o p t i o n s f o r c r e a t i n g G a t e w a y S e r v i c e s    

a n d c o n s u m i n g G a t e w a y S e r v i c e s    

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 1   

Page 32: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 32/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

L e s s o n : I n t r o d u c t i o n t o R E S T        

L e s s o n O v e r v i e w          

T h i s l e s s o n c o v e r s :  

• W h a t R e p r e s e n t a t i o n a l S t a t e T r a n s f e r ( R E S T ) i s a n d i s n o t    

• H o w t h e p r i n c i p l e s o f R E S T h a v e b e e n i m p l e m e n t e d a s H T T P ( S )    

L e s s o n O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d w h a t R e p r e s e n t a t i o n a l S t a t e T r a n s f e r ( R E S T ) i s .  

• U n d e r s t a n d h o w R E S T h a s b e e n i m p l e m e n t e d a s H T T P ( S ) .  

B u s i n e s s E x a m p l e      

R E S T - T h e F o u n d a t i o n o f t h e W o r l d W i d e W e b      

F i g u r e 2 1 : C o r r e c t i n g A C o m m o n M i s u n d e r s t a n d i n g      

2 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 33: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 33/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o R E S T        

A L R E A D Y I N N O T E S : T h e t e r m “ R e p r e s e n t a t i o n a l S t a t e T r a n s f e r ” o r R E S T w a s    

r s t i n t r o d u c e d b y R o y F i e l d i n g i n h i s d o c t o r a l d i s s e r t a t i o n “        A r c h i t e c t u r a l S t y l e s    

a n d t h e D e s i g n o f N e t w o r k - b a s e d S o f t w a r e A r c h i t e c t u r e s      ” p u b l i s h e d i n 2 0 0 0 .  

• R E S T i s n o t a n e t w o r k p r o t o c o l ! N o n e t h e l e s s , t h e r e i s a w i d e s p r e a d      

m i s u n d e r s t a n d i n g t h a t R E S T i s s o m e k i n d o f n e t w o r k p r o t o c o l a n d y o u w i l l    

o f t e n s e e b o x e s o r a r r o w s i n s y s t e m b l o c k d i a g r a m s l a b e l l e d “ R E S T ” . S u c h      

d i a g r a m s a r e j u s t s i m p l y w r o n g !    

• R E S T i s a s e t o f s i x a r c h i t e c t u r a l c o n s t r a i n t s , o r d e s i g n p r i n c i p l e s . A n y o n e s o      

m o t i v a t e d c o u l d b u i l d a R E S T f u l s o f t w a r e s y s t e m . A s l o n g a s t h e s o f t w a r e      

i s d e s i g n e d t o f o l l o w s t h e s e s t a n d a r d s , y o u r h o m e - g r o w n s o f t w a r e w i l l b e      

g e n u i n e l y R E S T f u l .  

• T h e W o r l d W i d e W e b i s t h e b e s t e x a m p l e o f a R E S T f u l s y s t e m .  

F i g u r e 2 2 : T h e A r c h i t e c t u r a l C o n s t r a i n t s o f R E S T - 1 / 6      

T h e e x a m p l e o f c l i e n t a n d s e r v e r s o f t w a r e b e i n g d e v e l o p e d i n d e p e n d e n t l y i s    

d e m o n s t r a t e d b y t h e f a c t t h a t b r o w s e r s a r e d e v e l o p e d a n d r e l e a s e d i n d e p e n d e n t l y      

o f w e b s e r v e r s .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 3   

Page 34: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 34/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

F i g u r e 2 3 : T h e A r c h i t e c t u r a l C o n s t r a i n t s o f R E S T - 2 / 6      

W h e n a b r o w s e r c o m m u n i c a t e s w i t h a p r o x y s e r v e r , i t d o e s s o i n e x a c t l y t h e s a m e      

w a y a s i t w o u l d i f i t w e r e c o m m u n i c a t i n g d i r e c t l y w i t h t h e t a r g e t w e b s e r v e r .  

T h i s i s a n e x a m p l e o f t h e l a y e r i n g p r i n c i p l e i n R E S T .  

F i g u r e 2 4 : T h e A r c h i t e c t u r a l C o n s t r a i n t s o f R E S T - 3 / 6      

2 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 35: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 35/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o R E S T        

S t a t e l e s s c o m m u n i c a t i o n i s o n e o f t h e d e n i n g f e a t u r e s i n R E S T f u l    

c o m m u n i c a t i o n . T h i s c o n s t r a i n t h o w e v e r i s o f t e n m i s u n d e r s t o o d t o m e a n t h a t t h e      

s e r v e r n e v e r h o l d s a n y f o r m o f s t a t e i n f o r m a t i o n a b o u t t h e c l i e n t . T h i s i s n o t t h e      c a s e t h o u g h : i f t h e s e r v e r c h o o s e s t o h o l d s t a t e i n f o r m a t i o n a b o u t t h e c l i e n t , t h a t ' s    

n e . I t ' s j u s t t h a t t h e c l i e n t m u s t a l w a y s k n o w a n d b e a l w a y s b e a b l e t o i d e n t i f y      

t h e s e s s i o n s t a t e h e l d b y t h e s e r v e r .  

T h i s i s t y p i c a l l y a c h i e v e d i n a b r o w s e r b y s e t t i n g a s e s s i o n s t a t e c o o k i e .  

F i g u r e 2 5 : T h e A r c h i t e c t u r a l C o n s t r a i n t s o f R E S T - 4 / 6      

A u n i f o r m i n t e r f a c e i s o n e t h a t a l w a y s m e a n s t h e s a m e t h i n g t o t h e p a r t i c i p a n t s a t    

a l l t i m e s .  

F i r s t l y t h e s e r v e r h a s t o p r o v i d e t h e c l i e n t w i t h s o m e c o n s i s t e n t r e p r e s e n t a t i o n o f a      

r e s o u r c e i t i s h o l d i n g . I n O D a t a , t h i s a c h i e v e d b y t h e s e r v e r s e n d i n g a n X M L o r    

J S O N m e s s a g e t o t h e c l i e n t t h a t c o n f o r m s t o a k n o w n s y n t a x a n d s t r u c t u r e .  

• O n c e t h e c l i e n t h a s r e c e i v e d a r e p r e s e n t a t i o n o f t h e s e r v e r s i d e r e s o u r c e ,    

t h e c l i e n t m u s t a d d i t i o n a l l y h a v e s o m e m e a n s f o r a l t e r i n g t h e s t a t e o f ( o r    

m a n i p u l a t i n g ) t h a t r e s o u r c e .  

T h i s i s w h e r e t h e C R E A T E , R E A D , U P D A T E , D E L E T E o p e r a t i o n s h a v e b e e n      d e n e d , s i n c e t h e s e f o u r o p e r a t i o n s a r e t h e m o s t f u n d a m e n t a l t h a t c a n b e      

 p e r f o r m e d b y a c l i e n t o n a s e r v e r - s i d e r e s o u r c e . 

• A R E S T f u l r e s p o n s e s e n t t o a c l i e n t m u s t n o t b e s t r u c t u r e d i n s u c h a w a y t h a t    

t h e c l i e n t n e e d s t o m a k e s u b s e q u e n t r e q u e s t t o t h e s e r v e r t o p r o v i d e f u r t h e r    

c l a r i c a t i o n o r e x p l a n a t i o n o f w h a t t h e i n f o r m a t i o n i n t h e r s t m e s s a g e      

m e a n t . I n o t h e r w o r d s , a l l R E S T c o m m u n i c a t i o n m u s t b e s e l f - d e s c r i b i n g .  

• A h y p e r m e d i a l i n k i s d e n e d a s t h e o n l y a c c e p t a b l e m e c h a n i s m b y w h i c h      

t h e c l i e n t c a n m a n i p u l a t e a s e r v e r - s i d e r e s o u r c e .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 5   

Page 36: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 36/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

T h i s o n e p r i n c i p l e h a s b e e n i s o l a t e d a n d g i v e n t h e a c r o n y m H A T E O S , o r    

“     H y p e r m e d i a A s T h e E n g i n e O f A p p l i c a t i o n S t a t e        ”   

• H A T E O S i s g e n e r a l l y r e g a r d e d a s t h e c o r e c o n c e p t o f R E S T .  

F i g u r e 2 6 : T h e A r c h i t e c t u r a l C o n s t r a i n t s o f R E S T - 5 / 6      

I n o r d e r t o i m p r o v e c o m m u n i c a t i o n e f c i e n c y , s e r v e r s s h o u l d d e n e t h a t    

t r a n s m i t t e d i n f o r m a t i o n i s c a c h e a b l e . I n t h i s w a y , i f a c l i e n t r e q u i r e s t h e s a m e      

i n f o r m a t i o n a g a i n , i t c a n l o o k i n i t s l o c a l c a c h e t o n d i t r a t h e r t h a n i s s u e d u p l i c a t e      

n e t w o r k r e q u e s t s .  

2 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 37: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 37/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o R E S T        

F i g u r e 2 7 : T h e A r c h i t e c t u r a l C o n s t r a i n t s o f R E S T - 6 / 6      

I f a c l i e n t d e t e c t t h a t i t d o e s n o t h a v e t h e c o r r e c t c a p a b i l i t y t o h a n d l e t h e      

i n f o r m a t i o n i s h a s ( o r i s a b o u t t o ) r e c e i v e , i t c a n m a k e a r e q u e s t t o s e r v e r s e n d i s    

s o m e e x e c u t a b l e c o d i n g t h a t w i l l e x t e n d i t s f u n c t i o n a l c a p a b i l i t y .  

T h i s i s a n a c a d e m i c w a y o f d e s c r i b i n g w h a t h a p p e n s w h e n a b r o w s e r r e q u e s t s a      

J a v a S c r i p t l e e t c .  

H T T P - A n I m p l e m e n t a t i o n o f t h e P r i n c i p l e s o f R E S T        

F i g u r e 2 8 : H T T P ( S ) - A n I m p l e m e n t a t i o n o f t h e R E S T C o n s t r a i n t s      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 7   

Page 38: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 38/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

A L R E A D Y I N N O T E S : T h e r e i s m u c h m o r e t h a t c o u l d b e s a i d a b o u t h o w H T T P      

i m p l e m e n t s t h e p r i n c i p l e s o f R E S T ; h o w e v e r , t h e k e y p o i n t h e r e i s t o u n d e r s t a n d      

t h a t H T T P ( S ) p r o v i d e s y o u w i t h t h e a b i l i t y t o m a n i p u l a t e s e r v e r - s i d e r e s o u r c e s    t h r o u g h t h e u s e o f t h e m e t h o d s G E T , P U T , P O S T a n d D E L E T E .  

T h e H T T P p r o t o c o l t h a t d r i v e s t h e W o r l d W i d e W e b i s a n e x a m p l e o f a f u l l y      

R E S T f u l c o m m u n i c a t i o n s y s t e m .  

T h e f o u r f u n d a m e n t a l o p e r a t i o n s a r e d e s c r i b e d u s i n g t h e a c r o n y m C R U D .  

F i g u r e 2 9 : S u m m a r y      

2 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 39: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 39/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o R E S T        

L e s s o n S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  • U n d e r s t a n d w h a t R e p r e s e n t a t i o n a l S t a t e T r a n s f e r ( R E S T ) i s .  

• U n d e r s t a n d h o w R E S T h a s b e e n i m p l e m e n t e d a s H T T P ( S ) .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 9   

Page 40: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 40/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

L e s s o n : I n t r o d u c t i o n t o O D a t a      

L e s s o n O v e r v i e w          

T h i s l e s s o n c o v e r s :  

• T h e a r c h i t e c t u r e o f t h e A t o m a n d O D a t a p r o t o c o l s • H o w S A P N e t W e a v e r    

G a t e w a y m a k e s u s e o f O D a t a      

• H o w t o i s s u e r e a d - o n l y O D a t a r e q u e s t s f r o m y o u r b r o w s e r    

L e s s o n O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d t h e a r c h i t e c t u r e o f t h e A t o m a n d O D a t a p r o t o c o l s .  

• U n d e r s t a n d h o w S A P N e t W e a v e r G a t e w a y m a k e s u s e o f O D a t a .  

• U n d e r s t a n d h o w t o i s s u e r e a d - o n l y O D a t a r e q u e s t s f r o m y o u r b r o w s e r .  

B u s i n e s s E x a m p l e      

A t o m a n d O D a t a      

F i g u r e 3 0 : W h a t i s t h e O p e n D a t a P r o t o c o l ( O D a t a ) ?      

3 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 41: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 41/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

O D a t a i s a M i c r o s o f t d e v e l o p e d s t a n d a r d t h a t i s b u i l t o n t h e e x i s t i n g A t o m          

P u b l i s h i n g a n d A t o m S y n d i c a t i o n p r o t o c o l s .  

• P r i o r t o d e v e l o p m e n t o f O D a t a , t h e r e w e r e s o m e m a j o r s t a n d a r d i s a t i o n      

 p r o b l e m s w i t h t h e u s e o f R E S T f u l A P I s . T h i s t o p i c w i l l b e c o v e r e d i n m o r e   

d e t a i l i n c h a p t e r 3 w h e r e w e l o o k a t t h e s p e c i c d e t a i l s o f O D a t a , a n d h o w        

O D a t a i m p r o v e s o n t h e u n d e r l y i n g p r o t o c o l s s u c h a s A t o m .  

• T h e t e r m “ O D B C f o r t h e W e b ” i s c o n c e p t u a l l y a c c u r a t e , b u t t h e r e i s n o      

s e n s e i n w h i c h O D a t a a l l o w s y o u t o e x e c u t e a n e x a c t S Q L s t a t e m e n t o v e r    

t h e W e b . N o n e t h e l e s s , t h e O D a t a i n t e r f a c e e x p o s e s a n A P I t h a t a l l o w s    

c o l l e c t i o n s o f e n t i t i e s t o b e r e t r i e v e d u s i n g s y n t a x t h a t p r o v i d e s a s i m i l a r    

l e v e l o f f u n c t i o n a l i t y t o t h a t o f f e r e d b y S Q L .  

• T h e r e i s n o c o s t o r l i c e n s e a g r e e m e n t n e e d e d f o r t h e u s e o f O D a t a . T h e      

s t a n d a r d i s o p e n a n d c a n b e u s e d b y a n y o n e w h o c a r e s t o i m p l e m e n t i t .  • O n e o f t h e r e a s o n s S A P c h o s e t o i m p l e m e n t O D a t a ( o v e r G o o g l e ' s G D a t a )    

w a s t h a t O D a t a i s e x t e n s i b l e . T h i s i s p a r t i c u l a r l y u s e f u l i n c a s e s w h e r e S A P      

s p e c i c v a l u e s n e e d t o b e d e s c r i b e d i n t h i s p r o t o c o l ; f o r i n s t a n c e , c u r r e n c y      

e l d s . A c u r r e n c y e l d c o n t a i n s t w o s e p a r a t e v a l u e s , t h e c u r r e n c y a m o u n t    

a n d t h e c u r r e n c y c o d e . T h e s e t w o v a l u e s m u s t a l w a y s b e t r e a t e d a s a l i n k e d      

 p a i r , a n d O D a t a ' s e x t e n s i b i l i t y a l l o w s f o r t h i s . 

F o r m o r e d e t a i l e d i n f o r m a t i o n , p l e a s e r e f e r t o h t t p : / / w w w . o d a t a . o r g      

F i g u r e 3 1 : W h a t i s A t o m ?      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 1   

Page 42: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 42/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

T h e A t o m S y n d i c a t i o n f o r m a t i s t h e f o u n d a t i o n a l p r o t o c o l t h a t d o e s l i t t l e m o r e      

t h a n p r o v i d e a n X M L d e s c r i p t i o n o f :  

• V a r i o u s d o c u m e n t s t h a t a r e a v a i l a b l e f r o m a w e b s i t e      

• E a c h d o c u m e n t i s s t r u c t u r e d a s a “ f e e d ”      

• W i t h i n a “ f e e d , t h e c o n s u m e r w i l l n d z e r o o r m o r e u n i t s o f i n f o r m a t i o n      

k n o w n a s ” e n t i t i e s    

T h e A t o m P u b l i s h i n g p r o t o c o l t h a t a l l o w s t h e X M L d a t a p r o v i d e d b y A t o m          

S y n d i c a t i o n t o b e m a n i p u l a t e d u s i n g H T T P .  

T h e p r o b l e m w i t h b o t h o f t h e s e A t o m f o r m a t s i s t h a t t h e y d o n o t p r o v i d e a      

m e c h a n i s m f o r d e s c r i b i n g t h e d a t a b e i n g t r a n s p o r t e d . I n o t h e r w o r d s , t h e y o f f e r n o      

f a c i l i t y f o r p r o v i d i n g a m e t a d a t a d e s c r i p t i o n o f t h e d a t a t h e y p r o v i d e .  

F i g u r e 3 2 : W h a t D o e s O D a t a A d d t o A t o m ?      

O D a t a a d d s t h e a b i l i t y t o d e n e t h e m e t a d a t a o f a n A t o m m e s s a g e . T h i s i n t u r n s    

m e a n s t h a t a n O D a t a m e s s a g e c a n n o w b e c o n s u m e d b y a n e x t e r n a l s e r v i c e      

w i t h o u t t h a t s e r v i c e r s t n e e d i n g t o k n o w t h e m e s s a g e ' s s t r u c t u r e . I n o t h e r w o r d s ,    

t h e A t o m f e e d c a n n o w p r o v i d e t h e c o n s u m e r w i t h a d e s c r i p t i o n o f i t s e l f .  

3 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 43: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 43/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

F i g u r e 3 3 : O u t p u t F o r m a t s S u p p o r t e d b y O D a t a      

A L R E A D Y I N N O T E S : A l t h o u g h i t i s n o t a s c o n v e n i e n t a s J S O N , l a n g u a g e s    

s u c h a s J a v a S c r i p t c a n c o n s u m e X M L f o r m a t m e s s a g e s u s i n g l i b r a r i e s s u c h t h e      

o n e f o u n d a t h t t p : / / d a t a        j s . c o d e        p l e x . c o m          

T h e c o n s u m p t i o n o f a G a t e w a y X M L m e s s a g e d i r e c t l y i n J a v a S c r i p t i s a l s o      

d o c u m e n t e d i n t h e S A P H o w T o G u i d e “ H o w T o : C o n s u m e A G a t e w a y S e r v i c e      

F r o m J a v a S c r i p t ” .  

h t t    p : / / w w w . s d n .   s a     p . c o m / i r      j / s d n / g a t e w          a     y ? r i d = / l i b r a r      y / u u i d / 5 0 5 6 1 9 a 7 - 7 3 b f - 2 e 1 0 -    f e 9 6 - d a 9 a 8 6 b 2 3        1 2 0   

• T h e G a t e w a y s e r v e r w i l l b e a b l e t o o u t p u t a n O D a t a m e s s a g e i n J S O N f o r m a t    

o n c e S P 4 i s i n s t a l l e d a n d t h e k e r n e l h a s b e e n p a t c h e d .  

• I n S P 3 a n d e a r l i e r , a G a t e w a y s y s t e m c a n o n l y o u t O D a t a m e s s a g e s i n X M L        

f o r m a t .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 3   

Page 44: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 44/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

F i g u r e 3 4 : O D a t a S e r v i c e D o c u m e n t s - T h e S t a r t i n g P o i n t    

T h e s t a r t i n g p o i n t f o r c o n s u m i n g a n O D a t a s e r v i c e i s t o i s s u e t h e U R L f o r t h e      

s e r v i c e ' s S e r v i c e D o c u m e n t .  

T h e S e r v i c e D o c u m e n t p r o v i d e s t h e t o p - l e v e l d e s c r i p t i o n o f a n O D a t a s e r v i c e .  

F i g u r e 3 5 : O D a t a S e r v i c e D o c u m e n t s - G e n e r a l S t r u c t u r e      

3 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 45: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 45/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

T h e X M L r e c e i v e d i n t h e O D a t a S e r v i c e D o c u m e n t i s a l w a y s s t r u c t u r e d w i t h a      

< s e r v i c e > e l e m e n t a s t h e r o o t e l e m e n t , u n d e r w h i c h i n a < w o r k s p a c e > e l e m e n t .  

W i t h i n t h e < w o r k s p a c e > e l e m e n t i s a s i n g l e < t i t l e > e l e m e n t f o l l o w e d b y z e r o o r    m o r e < c o l l e c t i o n > e l e m e n t s .  

F i g u r e 3 6 : A n E x a m p l e o f a n O D a t a S e r v i c e D o c u m e n t - 1 / 3      

F i g u r e 3 7 : A n E x a m p l e o f a n O D a t a S e r v i c e D o c u m e n t - 2 / 3      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 5   

Page 46: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 46/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

F i g u r e 3 8 : A n E x a m p l e o f a n O D a t a S e r v i c e D o c u m e n t - 3 / 3      

F i g u r e 3 9 : A c c e s s i n g a n O D a t a C o l l e c t i o n - C o n s t r u c t t h e U R L        

T h e U R L u s e d t o d e r i v e a n O D a t a s e r v i c e ' s S e r v i c e D o c u m e n t i s k n o w n a s t h e      

“ B a s e U R L ” .  

W h e n w o r k i n g w i t h a n O D a t a m e s s a g e i n X M L f o r m a t ( a s o p p o s e d t o J S O N        

f o r m a t ) , t h e b a s e U R L i s a l w a y s l i s t e d a s t h e x m l : b a s e p a r a m e t e r o f t h e < s e r v i c e >      

e l e m e n t .  

W i t h i n t h e S e r v i c e D o c u m e n t , t h e U R L s t h a t p o i n t t o c o l l e c t i o n s p r o v i d e d b y t h a t    

s e r v i c e a r e l i s t e d a s U R L s r e l a t i v e t o t h e b a s e U R L .  

3 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 47: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 47/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

F i g u r e 4 0 : A c c e s s i n g a n O D a t a C o l l e c t i o n - A S t r u c t u r e d R e s p o n s e      

F i g u r e 4 1 : U n d e r s t a n d i n g O D a t a X M L - 1 / 4      

T h e X M L s e e n h e r e h a s b e e n s h o r t e n e d f o r c l a r i t y      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 7   

Page 48: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 48/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

F i g u r e 4 2 : U n d e r s t a n d i n g O D a t a X M L - 2 / 4      

T h e X M L s e e n h e r e h a s b e e n s h o r t e n e d f o r c l a r i t y      

F i g u r e 4 3 : U n d e r s t a n d i n g O D a t a X M L - 3 / 4      

T h e X M L s e e n h e r e h a s b e e n s h o r t e n e d f o r c l a r i t y      

3 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 49: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 49/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

F i g u r e 4 4 : U n d e r s t a n d i n g O D a t a X M L - 4 / 4      

T h e X M L s e e n h e r e h a s b e e n s h o r t e n e d f o r c l a r i t y      

G a t e w a y a n d O D a t a      

F i g u r e 4 5 : A n O D a t a M e s s a g e P r o d u c e d B y a G a t e w a y S e r v e r      

T h e a b o v e X M L h a s b e e n e d i t e d s l i g h t l y i n o r d e r f o r i t t o t o n t h e p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 9   

Page 50: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 50/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

F i g u r e 4 6 : O b t a i n i n g O D a t a M e t a d a t a      

T h e m e t a d a t a d e s c r i p t i o n o f a n O D a t a s e r v i c e i s u s e d b y t h e S A P G a t e w a y      

C o n s u m p t i o n T o o l s w h e n g e n e r a t i n g a n O D a t a p r o x y o b j e c t i n s o m e l a n g u a g e      

l i k e J a v a o r C # .  

F i g u r e 4 7 : S A P E x t e n s i o n s T o O D a t a M e t a d a t a      

4 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 51: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 51/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

T h e Q u e r y O p e r a t i o n      

F i g u r e 4 8 : E n t i t y D a t a M o d e l - O v e r v i e w          

F i g u r e 4 9 : R e t r i e v i n g a C o l l e c t i o n - R e a d E n t i t y S e t O p e r a t i o n 1 / 3      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     4 1   

Page 52: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 52/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

F i g u r e 5 0 : R e t r i e v i n g a C o l l e c t i o n - R e a d E n t i t y S e t O p e r a t i o n 2 / 3      

F i g u r e 5 1 : R e t r i e v i n g a C o l l e c t i o n - R e a d E n t i t y S e t O p e r a t i o n 3 / 3      

4 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 53: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 53/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

F i g u r e 5 2 : R e t r i e v i n g a P a r t i a l C o l l e c t i o n - F i l t e r i n g      

F i g u r e 5 3 : R e t r i e v i n g a P a r t i a l C o l l e c t i o n - P a g i n g      

T h e $ t o p c o m m a n d s p e c i e s h o w m a n y e n t r i e s a r e t o b e r e t u r n e d . U n l e s s u s e d i n      c o n j u n c t i o n w i t h t h e $ s k i p c o m m a n d , t h e s e e n t r i e s a r e a l w a y s t a k e n f r o m t h e t o p      

o f t h e c o l l e c t i o n .  

T h e $ s k i p c o m m a n d o m i t s t h e s p e c i e d n u m b e r o f e n t r i e s s t a r t i n g f r o m t h e t o p      

o f t h e c o l l e c t i o n .  

B y u s i n g b o t h $ t o p a n d $ s k i p t o g e t h e r , y o u c a n i m p l e m e n t p a g i n g .  

V i e w t h e r s t p a g e b y s h o w i n g o n l y t h e t o p 1 0 e n t r i e s .  

V i e w t h e s e c o n d p a g e b y s k i p p i n g t h e r s t 1 0 e n t r i e s a n d s h o w i n g o n l y t h e n e x t 1 0 .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     4 3   

Page 54: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 54/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

V i e w t h e t h i r d p a g e b y s k i p p i n g t h e r s t 2 0 e n t r i e s a n d s h o w i n g o n l y t h e n e x t 1 0 .  

T h e O D a t a w e b s i t e c o n t a i n s m o r e i n f o r m a t i o n o n t h i s t o p i c .  

T h e R E A D O p e r a t i o n      

F i g u r e 5 4 : R e t r i e v i n g a S i n g l e E n t r y - R e a d E n t i t y O p e r a t i o n 1 / 2      

T h e s y n t a x f o r r e a d i n g a s i n g l e e n t i t y f r o m a c o l l e c t i o n i s p r o v i d e d w i t h t h e r s t    

< l i n k > e l e m e n t f o u n d w i t h i n a n < a t o m : e n t r y > e l e m e n t .  

F i g u r e 5 5 : R e t r i e v i n g a S i n g l e E n t r y - R e a d E n t i t y O p e r a t i o n 2 / 2      

 N o t i c e t h a t t h e s y n t a x f o r d e n i n g t h e e l e m e n t t o b e r e a d i s n o t t h e n o r m a l q u e r y   

s t r i n g s y n t a x . I n s t e a d y o u m u s t c r e a t e w h a t i s c a l l e d a “ K e y P r e d i c a t e ” . T h i s i s a      

c o m m a - s e p a r a t e d l i s t o f n a m e / v a l u e p a i r s e n c l o s e d w i t h i n p a r e n t h e s e s .  

4 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 55: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 55/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

A n y n o n - n u m e r i c v a l u e w i t h i n a k e y p r e d i c a t e m u s t b e g i v e n a s a q u o t e d s t r i n g .  

F i g u r e 5 6 : X M L R e t u r n e d b y R e a d E n t i t y S e t a n d R e a d E n t i t y - 1 / 2      

A Q U E R Y o p e r a t i o n w i l l r e t u r n z e r o o r m o r e e n t r i e s . T h e r e f o r e , t h e X M L w i l l    

a l w a y s b e e n c l o s e d w i t h i n a n < a t o m : f e e d > e l e m e n t .  

I f t h e Q U E R Y o p e r a t i o n l o c a t e s a n e n t r i e s , t h e s e a r e s u p p l i e d w i t h i n < a t o m : e n t r y >      

e l e m e n t s i n s i d e t h e < a t o m : f e e d > e l e m e n t .  

F i g u r e 5 7 : X M L R e t u r n e d b y R e a d E n t i t y S e t a n d R e a d E n t i t y - 2 / 2      

I f a R E A D o p e r a t i o n i s p e r f o r m e d , t h e n a t m o s t , a s i n g l e e n t r y w i l l b e r e t u r n e d .  

T h e r e f o r e , t h e X M L w i l l b e s u p p l i e d a s a s i n g l e < a t o m : e n t r y > e l e m e n t – e v e n i f      

z e r o e n t r i e s a r e f o u n d .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     4 5   

Page 56: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 56/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

M a p p i n g O D a t a P r o p e r t i e s t o A t o m E l e m e n t s      

F i g u r e 5 8 : S t a n d a r d A T O M E l e m e n t s - 1 / 2      

F i g u r e 5 9 : S t a n d a r d A T O M E l e m e n t s - 2 / 2      

4 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 57: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 57/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

F i g u r e 6 0 : M a p p i n g O D a t a P r o p e r t i e s t o A T O M E l e m e n t s - 1 / 2      

F i g u r e 6 1 : M a p p i n g O D a t a P r o p e r t i e s t o A T O M E l e m e n t s - 2 / 2      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     4 7   

Page 58: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 58/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

O D a t a i n P r a c t i c e      

F i g u r e 6 2 : A t o m a n d O D a t a T e r m i n o l o g y      

T h e O D a t a a n d A t o m s t a n d a r d s u s e d i f f e r e n t t e r m i n o l o g y t o d e s c r i b e t h e s a m e      o b j e c t s .  

T h e s e t e r m s c a n b e u s e d i n t e r c h a n g e a b l y ; h o w e v e r , i n t h e X M L , t h e A t o m          

t e r m i n o l o g y i s u s e d , a n d w i t h i n t h e A B A P c o d i n g u s e d f o r c r e a t i n g c u s t o m          

G a t e w a y s e r v i c e s , t h e O D a t a t e r m i n o l o g y i s u s e d .  

F i g u r e 6 3 : D i s p l a y i n g A t o m X M L i n y o u r B r o w s e r      

M I M E s t a n d s f o r “ M u l t i p u r p o s e I n t e r n e t M a i l E x t e n s i o n ” . I t s u s e h a s g r o w n f a r    

 b e y o n d t h e o r i g i n a l c o n c e p t o f e x t e n d i n g e m a i l s t o s u p p o r t c o n t e n t i n n o n - A S C I I  

c h a r a c t e r s e t s , b i n a r y a t t a c h m e n t s a n d m u l t i - p a r t m e s s a g e s .  

 N o w , t h e M I M E t y p e i s u n i v e r s a l l y u s e d t o i d e n t i f y t h e t y p e o f c o n t e n t b e i n g   

s u p p l i e d t o t h e c l i e n t . T h e c l i e n t t h e n e x a m i n e s t h e M I M E t y p e a n d d e t e r m i n e s    

h o w t h a t c o n t e n t s h o u l d b e p r o c e s s e d .  

4 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 59: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 59/346

Page 60: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 60/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

5 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 61: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 61/346

Page 62: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 62/346

Page 63: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 63/346

Page 64: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 64/346

Page 65: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 65/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _   

 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _   

g ) I n t h e b r o w s e r ’ s a d d r e s s l i n e , i s s u e t h e U R L d e r i v e d f r o m t h e v a l u e o f      

t h e t h i r d l i n k        < a t o m : l i n k >        p a r a m e t e r ( c a l l e d D e p a r t i n g F l i g h t s ) .  

h ) Y o u a r e n o w l o o k i n g a t a l i s t o f a l l t h e i g h t s t h a t d e p a r t f r o m t h e      

s e l e c t e d a i r p o r t .  

i )     Q u e s t i o n        : 

F r o m a b u s i n e s s p e r s p e c t i v e , w h a t h a v e y o u b e e n d o i n g h e r e ? ( A n d      

d o n ’ t s a y “ F o l l o w i n g h y p e r t e x t l i n k s ” )    

A n s w e r        : 

T h e F l i g h t I n f o r m a t i o n d a t a m o d e l t h a t s i t s b e h i n d t h i s O D a t a i n t e r f a c e      h a s d e n e d w i t h i n i t , m u l t i p l e e n t i t y t y p e s s u c h a s “ F l i g h t ” a n d      

“ A i r p o r t ” .  

T h e s e e n t i t y t y p e s a r e a s s o c i a t e d w i t h e a c h o t h e r , a n d t h e s e a s s o c i a t i o n s    

a r e i m p l e m e n t e d b y m e a n s o f “ n a v i g a t i o n l i n k s ” .  

F r o m a b u s i n e s s p e r s p e c t i v e , a n a v i g a t i o n l i n k a l l o w s a u s e r t o w a l k      

t h r o u g h t h e d a t a i n t h e d a t a m o d e l      w i t h o u t      n e e d i n g t o c a l c u l a t e h o w        

t o t a k e t h e n e x t s t e p .  

T h i s i s a n e x a m p l e o f t h e H A T E O S p r i n c i p l e a t w o r k a n d b r i n g s    

s i g n i c a n t e a s e o f u s e t o t h e e n d u s e r .  

3 .    O D a t a M e t a d a t a      

I n t h i s e x e r c i s e , y o u w i l l s t a r t t o b e c o m e f a m i l i a r w i t h t h e m e t a d a t a s u p p l i e d      

 b y a n O D a t a s e r v i c e . 

a ) F r o m y o u r b r o w s e r ’ s a d d r e s s l i n e , i s s u e t h e O D a t a s e r v i c e ’ s b a s e U R L        

a g a i n , b u t t h i s t i m e a p p e n d t h e c o m m a n d        $ m e t a d a t a        . 

Y o u s h o u l d s e e q u i t e a l a r g e a m o u n t o f X M L t h a t l o o k s s i m i l a r t o t h i s :  

< ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " u t f - 8 " ? >      

< e d m x : E d m x V e r s i o n = " 1 . 0 " >      

< e d m x : D a t a S e r v i c e s m : D a t a S e r v i c e V e r s i o n = " 2 . 0 " >      

< S c h e m a N a m e s p a c e = " f l i g h t i n f o r m a t i o n " >      < E n t i t y T y p e N a m e = " B o o k i n g " s a p : c o n t e n t - v e r s i o n = " 1 " >      

< K e y >      

< P r o p e r t y R e f N a m e = " A i r l i n e I d " / >      

< P r o p e r t y R e f N a m e = " C o n n e c t i o n N o " / >      

< P r o p e r t y R e f N a m e = " F l i g h t D a t e " / >      

< P r o p e r t y R e f N a m e = " B o o k i n g I d " / >      

< / K e y >      

< P r o p e r t y N a m e = " A i r l i n e I d " T y p e = " E d m . S t r i n g "      

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     5 5   

Page 66: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 66/346

Page 67: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 67/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

T h e r e a r e a l s o 2        < N a v i g a t i o n P r o p e r t y >        e l e m e n t s .  

T h e s e t w o        < N a v i g a t i o n P r o p e r t y >        e l e m e n t s d e n e t h e a b i l i t y f o r    

a u s e r t o s e e , f o r i n s t a n c e , a l l t h e i g h t s t h a t l e a v e f r o m a n y p a r t i c u l a r    a i r p o r t . B u t h o w i s t h i s r e l a t i o n s h i p d e n e d ?      

A r e t h e e n t i t y t y p e s d i r e c t l y r e l a t e d t o e a c h o t h e r i n t h e n a v i g a t i o n      

 p r o p e r t y ?   

 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _   

I s s o m e o t h e r d e n i t i o n u s e d i n t h e d e c l a r a t i o n o f t h e N a v i g a t i o n      

P r o p e r t y ?      

 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _   

d ) T h e        < N a v i g a t i o n P r o p e r t y >        e l e m e n t w i t h i n t h e A i r p o r t    

< E n t i t y T y p e > r e f e r s t o t w o r o l e s . W h e r e a r e t h e s e d e n e d ?      

H i n t :      L o o k f u r t h e r d o w n t h e X M L a t t h e        < A s s o c i a t i o n >        e l -  

e m e n t s .  

L o c a t e t h e c o r r e c t      < A s s o c i a t i o n >        e l e m e n t r e f e r r e d t o b y t h e      

< N a v i g a t i o n P r o p e r t y >        a n d i n s i d e i t , y o u w i l l n d t w o      

< E n d >        e l e m e n t s .  

E a c h        < E n d >        e l e m e n t g i v e s a n a m e t o t h e a s s o c i a t i o n ( s p e c i e d b y      

t h e r o l e p a r a m e t e r ) , t h e e n t i t y t y p e i n v o l v e d i n t h e a s s o c i a t i o n a n d t h e      

c a r d i n a l i t y ( o r m u l t i p l i c i t y ) a s s e e n f r o m t h a t e n d o f t h e r e l a t i o n s h i p .  

e ) C o n t i n u e l o o k i n g d o w n t h e X M L u n t i l y o u s e e a g r o u p o f      

< E n t i t y S e t >        e l e m e n t s .  

A n     < E n t i t y S e t >        e l e m e n t d e n e s t h e n a m e o f t h e a g g r e g a t i o n      

f o r m e d f r o m a p a r t i c u l a r e n t i t y t y p e .  

H e r e i s w h e r e t h e e x i s t e n c e o f a c o l l e c t i o n i s d e c l a r e d . E . G .  

A n a g g r e g a t i o n c a l l e d “ A i r p o r t s ” i s f o r m e d f r o m t h e e n t i t y t y p e      

“ i g h t i n f o r m a t i o n . A i r p o r t ” . ( A n e n t i t y t y p e i s r e f e r e n c e d u s i n g i t s f u l l y      

q u a l i e d n a m e ) .  

G e n e r a l l y , t h e e n t i t y s e t n a m e w i l l s i m p l y b e t h e p l u r a l o f t h e e n t i t y t y p e      n a m e , b u t t h i s i s o n l y a c o n v e n i e n c e f o r t h e e n d u s e r , n o t a s e m a n t i c      

r e q u i r e m e n t . C o l l e c t i o n s c r e a t e d a u t o m a t i c a l l y u s u a l l y h a v e t h e w o r d      

“ C o l l e c t i o n ” a p p e n d e d t o t h e e n t i t y t y p e n a m e .  

A l s o , y o u m a y o f t e n s e e t h e t e r m “ C o l l e c t i o n ” u s e d i n p l a c e o f “ E n t i t y      

S e t ” a n d t h e t e r m “ E n t r y ” u s e d i n p l a c e o f “ E n t i t y ” . T h e s e t e r m s a r e      

i n t e r c h a n g e a b l e .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     5 7   

Page 68: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 68/346

U n i t 1 : G a t e w a y O v e r v i e w a n d I n t r o d u c t i o n G W 1 0 0      

T h e t e r m s “ C o l l e c t i o n ” a n d “ E n t r y ” b e l o n g t o A t o m t e r m i n o l o g y ,    

w h e r e a s t h e t e r m s “ E n t i t y S e t ” a n d “ E n t i t y ” b e l o n g t o O D a t a      

t e r m i n o l o g y .  f ) N o w l o o k f u r t h e r d o w n t h e X M L a n d l o c a t e t h e      

< A s s o c i a t i o n S e t >        e l e m e n t s . T h e d i f f e r e n c e h e r e i s t h a t    

a n     < A s s o c i a t i o n >        e l e m e n t d e c l a r e s t h a t t w o        e n t i t y t y p e s      a r e   

r e l a t e d , b u t a n        < A s s o c i a t i o n S e t >        e l e m e n t d e c l a r e s t h a t t w o        e n t i t y      

s e t s      a r e r e l a t e d .  

Y o u s h o u l d n o w h a v e a g o o d w o r k i n g u n d e r s t a n d i n g o f t h e X M L u s e d      

t o c o m m u n i c a t e a n O D a t a m e s s a g e a n d a l s o t h e X M L u s e d t o d e s c r i b e      

a n O D a t a m e s s a g e ( i . e . t h e m e t a d a t a ) .  

5 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 69: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 69/346

G W 1 0 0 L e s s o n : I n t r o d u c t i o n t o O D a t a      

L e s s o n S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  • U n d e r s t a n d t h e a r c h i t e c t u r e o f t h e A t o m a n d O D a t a p r o t o c o l s .  

• U n d e r s t a n d h o w S A P N e t W e a v e r G a t e w a y m a k e s u s e o f O D a t a .  

• U n d e r s t a n d h o w t o i s s u e r e a d - o n l y O D a t a r e q u e s t s f r o m y o u r b r o w s e r .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     5 9   

Page 70: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 70/346

Page 71: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 71/346

Page 72: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 72/346

Page 73: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 73/346

Page 74: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 74/346

U n i t 2 : G a t e w a y D a t a M o d e l G e n e r a t o r G W 1 0 0      

L e s s o n : G e n e r a t i n g D a t a M o d e l f o r R e a d      

L e s s o n O v e r v i e w          

T h i s l e s s o n c o v e r s :  

• C r e a t e a r e a d - o n l y G a t e w a y S e r v i c e b a s e d o n a R e m o t e F u n c t i o n M o d u l e o r    

a n O b j e c t i n t h e B u s i n e s s O b j e c t R e p o s i t o r y ( B O R )    

• E x p o s e a G a t e w a y S e r v i c e f o r c o n s u m p t i o n      

• T e s t y o u r G a t e w a y S e r v i c e f r o m a b r o w s e r    

L e s s o n O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• C r e a t e a r e a d - o n l y G a t e w a y S e r v i c e b a s e d o n a R e m o t e F u n c t i o n M o d u l e o r    

a n O b j e c t i n t h e B u s i n e s s O b j e c t R e p o s i t o r y ( B O R ) .  

• E x p o s e a G a t e w a y S e r v i c e f o r c o n s u m p t i o n .  

• T e s t y o u r G a t e w a y S e r v i c e f r o m a b r o w s e r .  

B u s i n e s s E x a m p l e      

R e m o t e F u n c t i o n C a l l s a n d B u s i n e s s O b j e c t    R e p o s i t o r y O v e r v i e w          

F i g u r e 6 6 : O v e r v i e w - R e m o t e F u n c t i o n M o d u l e s      

6 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 75: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 75/346

Page 76: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 76/346

U n i t 2 : G a t e w a y D a t a M o d e l G e n e r a t o r G W 1 0 0      

F i g u r e 6 9 : G a t e w a y D a t a M o d e l s B a s e d o n B O R O b j e c t s - O v e r v i e w          

6 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 77: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 77/346

Page 78: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 78/346

Page 79: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 79/346

G W 1 0 0 L e s s o n : G e n e r a t i n g D a t a M o d e l f o r R e a d      

F i g u r e 7 3 : S t e p 2 ) M a p R F M t o G a t e w a y S e r v i c e O p e r a t i o n - 4 / 4      

F i g u r e 7 4 : S t e p 3 . 1 ) D e n e t h e Q U E R Y O p e r a t i o n ' s I n t e r f a c e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     6 7   

Page 80: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 80/346

Page 81: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 81/346

Page 82: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 82/346

Page 83: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 83/346

Page 84: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 84/346

Page 85: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 85/346

Page 86: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 86/346

U n i t 2 : G a t e w a y D a t a M o d e l G e n e r a t o r G W 1 0 0      

G a t e w a y C o n s u m p t i o n M o d e l    

F i g u r e 8 7 : S t e p 5 ) G a t e w a y C o n s u m p t i o n M o d e l - O v e r v i e w          

F i g u r e 8 8 : S t e p 5 ) G a t e w a y C o n s u m p t i o n M o d e l - 1 / 3      

7 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 87: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 87/346

Page 88: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 88/346

U n i t 2 : G a t e w a y D a t a M o d e l G e n e r a t o r G W 1 0 0      

G a t e w a y S e r v i c e      

F i g u r e 9 1 : S t e p 6 ) A s s i g n S y s t e m A l i a s t o G a t e w a y S e r v i c e      

F i g u r e 9 2 : S t e p 6 . 1 ) L o c a t e Y o u r G a t e w a y S e r v i c e      

7 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 89: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 89/346

G W 1 0 0 L e s s o n : G e n e r a t i n g D a t a M o d e l f o r R e a d      

F i g u r e 9 3 : S t e p 6 . 2 ) D i s p l a y S e r v i c e P r o p e r t i e s - 2 / 2      

F i g u r e 9 4 : S t e p 6 . 3 ) A s s i g n a S y s t e m A l i a s - 2 / 2      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     7 7   

Page 90: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 90/346

Page 91: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 91/346

Page 92: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 92/346

Page 93: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 93/346

Page 94: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 94/346

Page 95: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 95/346

Page 96: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 96/346

U n i t 2 : G a t e w a y D a t a M o d e l G e n e r a t o r G W 1 0 0      

S o l u t i o n 2 : G e n e r a t e a R e a d - O n l y G a t e w a y      

S e r v i c e      T a s k :    

1 .    C r e a t e a G a t e w a y D a t a M o d e l    

a ) R u n t r a n s a c t i o n S E 8 0 ( A B A P D e v e l o p m e n t W o r k b e n c h )    

 b ) S e l e c t “ G W D a t a M o d e l ” f r o m t h e d r o p - d o w n l i s t a n d e n t e r t h e n a m e o f   

a n e w D a t a M o d e l . T h e n a m e w i l l b e Z _ G W 1 0 0 _ R F M _ B A N K _ < n n >      

w h e r e        n n     i s y o u r g r o u p n u m b e r .  

F i g u r e 1 0 5 : D a t a M o d e l    

c ) A f t e r c o n r m i n g t h a t y o u w a n t t o c r e a t e a n e w o b j e c t , e n t e r t h e D a t a      

M o d e l n a m e , a T y p e o f “ P S ” a n d s e l e c t t h e “ G e n e r a t e f r o m D a t a S o u r c e      

O b j e c t ” r a d i o b u t t o n .  

d ) D o        n o t    s w i t c h o f f t h e “ O D a t a C h a n n e l ” c h e c k b o x . I f y o u d o , t h e      

G a t e w a y S e r v i c e w i l l b e g e n e r a t e d u s i n g t h e o l d e r G e n e r i c C h a n n e l    

c l a s s h i e r a r c h y , w h i c h w i l l c r e a t e s e v e r a l p r o b l e m s :  

1 . T h e r e s t o f t h e i n s t r u c t i o n s i n t h i s d o c u m e n t w i l l n o t f u n c t i o n      

c o r r e c t l y .  

C o n t i n u e d o n n e x t p a g e      

8 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 97: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 97/346

Page 98: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 98/346

Page 99: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 99/346

G W 1 0 0 L e s s o n : G e n e r a t i n g D a t a M o d e l f o r R e a d      

F i g u r e 1 0 8 : M a p p i n g S t r u c t u r e      

s ) N o w g e n e r a t e y o u r D a t a M o d e l .  

F i g u r e 1 0 9 : D a t a M o d e l    

Y o u s h o u l d n o w s e e a l i s t o f t h e g e n e r a t e d m o d e l c l a s s e s .  

F i g u r e 1 1 0 : G e n e r a t e d M o d e l C l a s s e s      

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     8 7   

Page 100: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 100/346

Page 101: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 101/346

G W 1 0 0 L e s s o n : G e n e r a t i n g D a t a M o d e l f o r R e a d      

H e r e w e w i l l t a k e t h e t w o - s t e p a p p r o a c h .  

a ) F r o m t h e d r o p d o w n m e n u i n w h i c h “ G W D a t a M o d e l ” i s    

d i s p l a y e d , s e l e c t “ G W C o n s u m p t i o n M o d e l ” . E n t e r a n a m e o f      Z _ G W 1 0 0 _ B A N K _ C M _ n n w h e r e C M i n d i c a t e s “ c o n s u m p t i o n m o d e l ”      

a n d     n n     i s y o u r g r o u p n u m b e r . P r e s s e n t e r t o c r e a t e t h i s n e w m o d e l .  

 b ) W h a t e v e r n a m e y o u e n t e r i n t o t h e “ S e r v i c e T e c h n i c a l N a m e ” e l d w i l l  

 b e c o m e t h e G a t e w a y S e r v i c e n a m e u s e d b y a n e x t e r n a l c o n s u m e r . 

T h e r e f o r e , d o n ’ t u s e a n A B A P c l a s s n a m e o r s o m e o t h e r i n t e r n a l v a l u e .  

S o c h o o s e t h e n a m e c a r e f u l l y – i t s h o u l d b e r e l e v a n t a n d m e a n i n g f u l t o      

s o m e o n e w i t h n o k n o w l e d g e o f a n S A P s y s t e m .  

F i g u r e 1 1 2 : C o n s u m p t i o n M o d e l    

D o     n o t    s w i t c h o f f t h e “ O D a t a C h a n n e l ” c h e c k b o x ! I f y o u d o , y o u r    

c o n s u m p t i o n m o d e l w i l l u s e t h e o l d G e n e r i c C h a n n e l r u n t i m e , t h u s    

m a k i n g i t i n c o m p a t i b l e w i t h t h e D a t a M o d e l w e j u s t c r e a t e d , w h i c h      u s e s t h e O D a t a C h a n n e l r u n t i m e .  

D u e t o t h e f a c t t h a t w e a r e u s i n g a g e n e r a t e d s e r v i c e i n a t r a i n i n g      

e n v i r o n m e n t , c e r t a i n c o n s t r a i n t s a r e i n o p e r a t i o n h e r e .  

I n o u r c a s e , t h e s e r v i c e n a m e m u s t s t a r t w i t h a Z b e c a u s e w e a r e u s i n g      

c u s t o m e r n a m e s p a c e , a n d s e c o n d l y , t o a v o i d n a m e c o l l i s i o n s w i t h t h e      

s e r v i c e s c r e a t e d b y o t h e r s t u d e n t s , w e m u s t a d d a g r o u p n u m b e r t o      

t h e e n d o f t h e n a m e .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     8 9   

Page 102: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 102/346

Page 103: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 103/346

Page 104: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 104/346

Page 105: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 105/346

Page 106: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 106/346

Page 107: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 107/346

Page 108: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 108/346

Page 109: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 109/346

G W 1 0 0 L e s s o n : G e n e r a t i n g D a t a M o d e l f o r R e a d      

F i g u r e 1 2 6 : G a t e w a y S e r v i c e D o c u m e n t    

7 .    P e r f o r m i n g a R E A D O p e r a t i o n      

S o f a r , a l l w e h a v e d o n e i s t o b u i l d a f a u l t y G a t e w a y S e r v i c e a n d t h e n c o r r e c t    

i t . 

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     9 7   

Page 110: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 110/346

Page 111: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 111/346

Page 112: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 112/346

Page 113: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 113/346

Page 114: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 114/346

U n i t 2 : G a t e w a y D a t a M o d e l G e n e r a t o r G W 1 0 0      

F i g u r e 1 2 9 : S t e p 1 ) E d i t t h e E x i s t i n g G W D a t a M o d e l - 2 / 2      

F i g u r e 1 3 0 : S t e p 2 ) L o c a t e R e q u i r e d R F M s      

F i g u r e 1 3 1 : S t e p 3 ) M a p R F M ( s ) t o O D a t a O p e r a t i o n ( s )    

1 0 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 115: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 115/346

G W 1 0 0 L e s s o n : G e n e r a t i n g D a t a M o d e l f o r U p d a t e      

F i g u r e 1 3 2 : S t e p 3 . 1 ) C h e c k K e y F i e l d M a p p i n g - U P D A T E 2 / 2      

F i g u r e 1 3 3 : S t e p 3 . 2 ) M a p S t r u c t u r e d F i e l d s t o R o o t N o d e - U P D A T E        

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 0 3   

Page 116: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 116/346

Page 117: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 117/346

Page 118: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 118/346

Page 119: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 119/346

Page 120: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 120/346

Page 121: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 121/346

Page 122: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 122/346

Page 123: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 123/346

Page 124: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 124/346

U n i t 2 : G a t e w a y D a t a M o d e l G e n e r a t o r G W 1 0 0      

F i g u r e 1 5 2 : S t e p 6 . 4 ) A d d H T T P H e a d e r F i e l d C o n t e n t - T y p e      

F i g u r e 1 5 3 : S t e p 6 . 5 ) S e n d M o d i e d X M L B a c k t o t h e S e r v e r      

F i g u r e 1 5 4 : S t e p 6 . 6 ) R e i s s u e t h e R E A D R e q u e s t    

1 1 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 125: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 125/346

Page 126: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 126/346

Page 127: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 127/346

Page 128: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 128/346

U n i t 2 : G a t e w a y D a t a M o d e l G e n e r a t o r G W 1 0 0      

S o l u t i o n 3 : E x t e n d a G e n e r a t e d G a t e w a y      

S e r v i c e t o I n c l u d e U p d a t e F u n c t i o n a l i t y      T a s k :    

1 .    E d i t Y o u r E x i s t i n g G a t e w a y D a t a M o d e l    

a ) R u n t r a n s a c t i o n S E 8 0 ( A B A P D e v e l o p m e n t W o r k b e n c h )    

 b ) S e l e c t “ G W D a t a M o d e l ” f r o m t h e d r o p - d o w n l i s t a n d t h e n a m e o f y o u r  

D a t a M o d e l s h o u l d a p p e a r i n t h e i n p u t e l d .  

I f i t d o e s n o t , y o u c a n c o n s t r u c t t h e n a m e u s i n g t h e f o l l o w i n g p a t t e r n :  

Z _ G W 1 0 0 _ R F M _ B A N K _ < n n > _ 0 0 0 1 _ P S      

w h e r e        < n n >          i s y o u r g r o u p n u m b e r .  

c ) W h e n t h e o b j e c t h i e r a r c h y i s d i s p l a y e d , d o u b l e c l i c k o n t h e r o o t n o d e      

( t h e G W D a t a M o d e l n a m e ) . T h i s w i l l d i s p l a y t h e D a t a M o d e l ’ s    

 p r o p e r t i e s o n t h e r i g h t s i d e o f t h e s c r e e n . I n a d d i t i o n t o s h o w i n g t h e   

o b j e c t ’ s p r o p e r t i e s , a “ g e a r w h e e l ” i c o n w i l l a p p e a r i n t h e t o o l b a r .  

C l i c k i n g t h i s w i l l t a k e y o u t o t h e G a t e w a y M a p p i n g S e r v i c e T o o l .  

F i g u r e 1 6 0 : G e a r W h e e l I c o n      

d ) S w i t c h t o c h a n g e m o d e .  

e ) P r e s s t h e b i n o c u l a r s i c o n a n d s e a r c h f o r B A P I * B A N K * .  

f ) F i r s t , s e l e c t t h e B A P I _ B A N K _ C H A N G E f u n c t i o n m o d u l e a n d c l i c k      

t h e C r e a t e M a p p i n g t o o l b a r b u t t o n o n t h e r i g h t s i d e o f t h e s c r e e n .  

F i g u r e 1 6 1 : C r e a t e M a p p i n g      

C o n t i n u e d o n n e x t p a g e      

1 1 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 129: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 129/346

G W 1 0 0 L e s s o n : G e n e r a t i n g D a t a M o d e l f o r U p d a t e      

g ) T h e m a p p i n g t o o l p o p - u p w i n d o w n o w o p e n s .  

S e l e c t “ U p d a t e ” f r o m t h e d r o p d o w n l i s t .  

F i g u r e 1 6 2 : U p d a t e      

h ) A s s o o n a s t h i s s e l e c t i o n i s m a d e , t h e m a p p i n g t o o l a u t o m a t i c a l l y      

e x p o s e s t h e R F M ’ s t w o k e y e l d s t o t h e O D a t a i n t e r f a c e ,      b u t d o e s s o      

u s i n g t h e i r e x i s t i n g e l d n a m e s      . 

H o w e v e r , w e h a v e a l r e a d y n o m i n a t e d t h e B A N K _ C T R Y a n d      

B A N K _ K E Y e l d s b e l o n g i n g t o t h e Q U E R Y a n d R E A D o p e r a t i o n s t o      

 b e t h e D a t a M o d e l ’ s k e y e l d s . 

T h e r e f o r e , y o u m u s t c o r r e c t t h e m a p p i n g o f t h e s e t w o e l d s t o p o i n t    

t o t h e m o d e l ’ s k e y e l d s :  

 B A N K C O U N T R Y → B A N K _ C T R Y    

 B A N K K E Y → B A N K _ K E Y    

T h e e l d m a p p i n g s h o u l d n o w l o o k l i k e t h i s    

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 1 7   

Page 130: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 130/346

Page 131: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 131/346

Page 132: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 132/346

Page 133: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 133/346

Page 134: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 134/346

U n i t 2 : G a t e w a y D a t a M o d e l G e n e r a t o r G W 1 0 0      

F i g u r e 1 6 9 : R e n d e r e d H T M L        

 b ) S e l e c t t h e R e s p o n s e t a b i n t h e p o p u p w i n d o w . 

F i g u r e 1 7 0 : R e s p o n s e T a b      

C o p y t h e x - c s r f - t o k e n v a l u e t o t h e c l i p b o a r d .  

c ) C l o s e t h e d e b u g p o p u p w i n d o w a n d d o u b l e c l i c k o n t h e w o r d F e t c h i n      

t h e R e s p o n s e H e a d e r s e c t i o n . P a s t e i n t h e x - c s r f - t o k e n v a l u e .  

d ) A d d a n e w H T T P H e a d e r v a r i a b l e :  

 N a m e : C o n t e n t - T y p e   

V a l u e : a p p l i c a t i o n / a t o m + x m l ; t y p e = e n t r y      

C o n t i n u e d o n n e x t p a g e      

1 2 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 135: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 135/346

Page 136: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 136/346

Page 137: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 137/346

G W 1 0 0 L e s s o n : G e n e r a t i n g D a t a M o d e l f o r U p d a t e      

T h e r e f o r e , w e w i l l u s e t h i s X M L a s o u r s t a r t i n g p o i n t .  

< ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " u t f - 8 " ? >      

< a t o m : e n t r y . . . n a m e s p a c e p a r a m e t e r s s n i p p e d . . . >      

< a t o m : c o n t e n t t y p e = " a p p l i c a t i o n / x m l " >      

< m : p r o p e r t i e s >      

< d : s t r e e t > 1 0 6 0 W e s t A d d i s o n S t < / d : s t r e e t >      

< d : b a n k c o u n t r y m : n u l l = " t r u e " / >      

< d : b a n k _ k e y > 0 2 1 8 0 0 0 9 4 < / d : b a n k _ k e y >      

< d : b a n k _ c t r y > U S < / d : b a n k _ c t r y >      

< d : s w i f t _ c o d e > C I T I U S X X < / d : s w i f t _ c o d e >      

< d : b a n k _ n o > 0 2 1 8 0 0 0 9 4 < / d : b a n k _ n o >      

< d : p o b k _ c u r a c m : n u l l = " t r u e " / >      

< d : p o s t _ b a n k m : n u l l = " t r u e " / >      

< d : c i t y > C h i c a g o < / d : c i t y >      < d : b a n k k e y m : n u l l = " t r u e " / >      

< d : r e g i o n > I L < / d : r e g i o n >      

< d : b a n k _ b r a n c h > R a y ' s M u s i c E x c h a n g e < / d : b a n k _ b r a n c h >      

< d : a d d r _ n o m : n u l l = " t r u e " / >      

< d : b a n k _ g r o u p m : n u l l = " t r u e " / >      

< d : b a n k _ n a m e > B a n k o f t h e B l u e s B r o t h e r s < / d : b a n k _ n a m e >      

< / m : p r o p e r t i e s >      

< / a t o m : c o n t e n t >      

< / a t o m : e n t r y >      

A t t h e v e r y l e a s t , t h e o n l y v a l u e s t h a t n e e d t o c h a n g e a r e t h e k e y      v a l u e s . I n t h e e x a m p l e a b o v e , a n e w b a n k _ k e y v a l u e h a s b e e n s u p p l i e d      

( h i g h l i g h t e d i n r e d ) .  

e ) S e n d t h e r e q u e s t a n d l o o k f o r a n H T T P S t a t u s C o d e o f 2 0 1 C r e a t e d .  

C a u t i o n :      R e m e m b e r ! I f y o u g e t a n H T T P S t a t u s C o d e o f 2 0 0      

O K , t h e n t h e c r e a t e o p e r a t i o n w a s n o t s u c c e s s f u l .  

F i g u r e 1 7 2 : H T T P H e a d e r s      

T h e L o c a t i o n e l d i n t h e H T T P H e a d e r g i v e s t h e U R L y o u c a n i s s u e t o      

 p e r f o r m a R E A D o p e r a t i o n o n t h e n e w l y c r e a t e d b a n k . 

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 2 5   

Page 138: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 138/346

Page 139: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 139/346

Page 140: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 140/346

Page 141: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 141/346

Page 142: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 142/346

Page 143: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 143/346

Page 144: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 144/346

U n i t 3 : G a t e w a y S e r v i c e M o n i t o r i n g G W 1 0 0      

L e s s o n : M o n i t o r i n g G a t e w a y      

L e s s o n O v e r v i e w          

T h i s u n i t c o v e r s t h e d i f f e r e n t l o g g i n g a n d t r a c i n g t o o l s f o r m o n i t o r i n g S A P      

 N e t W e a v e r G a t e w a y S e r v i c e s . 

L e s s o n O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d t h e d i f f e r e n t l o g g i n g a n d t r a c i n g t o o l s f o r m o n i t o r i n g S A P      

 N e t W e a v e r G a t e w a y S e r v i c e s . 

B u s i n e s s E x a m p l e      

A l e r t M o n i t o r i n g w i t h C C M S        

F i g u r e 1 7 3 : A l e r t M o n i t o r i n g w i t h C C M S - 1 / 2      

S A P ' s C o m p u t i n g C e n t e r M a n a g e m e n t S y s t e m C C M S i s S A P s c e n t r a l    

i n f r a s t r u c t u r e f o r m o n i t o r i n g s y s t e m l a n d s c a p e s : A l l l a n d s c a p e c o m p o n e n t s a r e      

c o n t i n u o u s l y c h e c k e d . A s a r s t a n d m o s t i m p o r t a n t c h e c k , C C M S e n s u r e s t h e      

a v a i l a b i l i t y        o f a l l p r o d u c t i v e c o m p o n e n t s . M o r e o v e r , a d d i t i o n a l c h e c k s s a f e g u a r d      

t h e o v e r a l l s y s t e m h e a l t h . I f s o m e t h i n g i s w r o n g , a n a l e r t i s t r i g g e r e d , a n d a p e r s o n      

i n c h a r g e c a n b e n o t i e d a u t o m a t i c a l l y . T h e n , C C M S o f f e r a c e n t r a l e n t r y p o i n t    

f o r d e e p e r a n a l y s i s : O v e r v i e w d a t a o f t h e f a u l t y c o m p o n e n t i s p r e s e n t e d . A n a l y s i s    

t o o l s g u i d e t h e a d m i n i s t r a t o r d i r e c t l y i n t o h e l p f u l e x p e r t t o o l s f o r f u r t h e r a n a l y s i s .  

B e s i d e s C C M S , S A P N e t W e a v e r a u t o m a t i c a l l y g e n e r a t e s s t a t i s t i c s i n f o r m a t i o n ,    

w h i c h g i v e s y o u b o t h a s a g g r e g a t e s a g o o d o v e r v i e w , a n d a d d i t i o n a l l y a s s i n g l e      

s t a t i s t i c s d e t a i l e d i n s i g h t w h a t h a s h a p p e n e d .  

A c o n v e n i e n t a n d f a s t w a y t o n o t i f y i n c a s e o f p r o b l e m s t h e p e r s o n i n c h a r g e , c a n      

 b e i m p l e m e n t e d v i a S A P A l e r t M a n a g e m e n t . 

1 3 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 145: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 145/346

Page 146: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 146/346

Page 147: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 147/346

Page 148: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 148/346

Page 149: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 149/346

G W 1 0 0 L e s s o n : M o n i t o r i n g G a t e w a y      

L e s s o n S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  • U n d e r s t a n d t h e d i f f e r e n t l o g g i n g a n d t r a c i n g t o o l s f o r m o n i t o r i n g S A P      

 N e t W e a v e r G a t e w a y S e r v i c e s . 

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 3 5   

Page 150: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 150/346

U n i t S u m m a r y G W 1 0 0      

U n i t S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  

• U n d e r s t a n d t h e d i f f e r e n t l o g g i n g a n d t r a c i n g t o o l s f o r m o n i t o r i n g S A P      

 N e t W e a v e r G a t e w a y S e r v i c e s . 

1 3 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 151: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 151/346

Page 152: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 152/346

Page 153: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 153/346

U n i t 4      O D a t a C h a n n e l M o d e l P r o v i d e r      

U n i t O v e r v i e w          

I n t h i s u n i t , y o u w i l l l e a r n h o w t o c r e a t e a G a t e w a y S e r v i c e b y m e a n s o f c u s t o m          

A B A P c o d i n g . A s w i t h t h e g e n e r a t e d G a t e w a y s e r v i c e y o u c r e a t e d e a r l i e r , y o u      

w i l l s t a r t b y c r e a t i n g a r e a d - o n l y G a t e w a y s e r v i c e . T h i s w i l l t h e n b e e x t e n d t o      i n c l u d e u p d a t e f u n c t i o n a l i t y .  

U n i t O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s u n i t , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d t h e a r c h i t e c t u r a l e l e m e n t s n e e d e d t o b u i l d a G a t e w a y S e r v i c e .  

• U n d e r s t a n d h o w t o b u i l d a b a s i c G a t e w a y M o d e l P r o v i d e r C l a s s .  

• U n d e r s t a n d h o w t o c r e a t e a b a s i c D a t a P r o v i d e r c l a s s .  

• C o n g u r e a G a t e w a y S e r v i c e .  

• T e s t t h e p a r t i a l s e r v i c e i n a b r o w s e r .  

• D i s p l a y t h e s e r v i c e ’ s m e t a d a t a .  

• U n d e r s t a n d h o w t o c r e a t e c o m p l e x d a t a t y p e s f o r u s e i n O D a t a e n t i t y t y p e s .  

U n i t C o n t e n t s      

L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 8      

E x e r c i s e 4 : C r e a t e A B a s i c M o d e l P r o v i d e r C l a s s . . . . . . . . . . . . . . . . . . . . . 1 5 1    

L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 9      

E x e r c i s e 5 : C r e a t e E m p t y D a t a P r o v i d e r C l a s s . . . . . . . . . . . . . . . . . . . . . . . . 1 7 3      

E x e r c i s e 6 : C r e a t e a G a t e w a y S e r v i c e f r o m t h e M o d e l a n d D a t a      

P r o v i d e r C l a s s e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 7 5      E x e r c i s e 7 : C r e a t e a S e r v i c e C a t a l o g u e E n t r y . . . . . . . . . . . . . . . . . . . . . . . . . 1 7 9      

L e s s o n : C r e a t i n g C o m p l e x T y p e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8 5      

E x e r c i s e 8 : C r e a t e C o m p l e x T y p e s a n d A d d i t i o n a l E n t i t y T y p e s . . . . . 1 9 1    

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 3 7   

Page 154: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 154/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s      

L e s s o n O v e r v i e w          

T h i s l e s s o n c o v e r s :  

• T h e a r c h i t e c t u r a l e l e m e n t s n e e d e d t o b u i l d a G a t e w a y S e r v i c e      

• H o w t o b u i l d a b a s i c G a t e w a y M o d e l P r o v i d e r C l a s s    

L e s s o n O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d t h e a r c h i t e c t u r a l e l e m e n t s n e e d e d t o b u i l d a G a t e w a y S e r v i c e .  

• U n d e r s t a n d h o w t o b u i l d a b a s i c G a t e w a y M o d e l P r o v i d e r C l a s s .  

B u s i n e s s E x a m p l e      

G a t e w a y S e r v i c e A r c h i t e c t u r e      

F i g u r e 1 8 1 : G a t e w a y S e r v i c e A r c h i t e c t u r e – 1 / 5      

1 3 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 155: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 155/346

G W 1 0 0 L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s      

F i g u r e 1 8 2 : G a t e w a y S e r v i c e A r c h i t e c t u r e – 2 / 5      

F i g u r e 1 8 3 : G a t e w a y S e r v i c e A r c h i t e c t u r e – 3 / 5      

T h e c o n g u r a t i o n s c r e e n a s k s y o u t o e n t e r t h e i n t e r n a l s e r v i c e n a m e a n d t h e n u s e s    

t h i s v a l u e a s t h e e x t e r n a l s e r v i c e n a m e .  

B e c a r e f u l t o e n t e r t h e n a m e h e r e t h a t y o u w a n t t h e e n d u s e r t o s e e .  

T h e r e i s n o n e e d t o s t a r t t h e i n t e r n a l s e r v i c e n a m e w i t h a Z c h a r a c t e r .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 3 9   

Page 156: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 156/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 1 8 4 : G a t e w a y S e r v i c e A r c h i t e c t u r e – 4 / 5      

F i g u r e 1 8 5 : G a t e w a y S e r v i c e A r c h i t e c t u r e – 5 / 5      

T h e     d e v e l o p m e n t      o f a G a t e w a y S e r v i c e t a k e s p l a c e o n w h i c h e v e r s y s t e m h a s t h e      

I W _ B E P c o m p o n e n t i n s t a l l e d .  

T h e     a c t i v a t i o n        o f a G a t e w a y s e r v i c e t a k e s p l a c e i n w h i c h e v e r S A P s y s t e m h a s    

t h e G W _ C O R E c o m p o n e n t i n s t a l l e d .  

I t i s e n t i r e l y p o s s i b l e t h a t t h e s e m a y b e d i f f e r e n t s y s t e m s .  

1 4 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 157: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 157/346

G W 1 0 0 L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s      

E n t i t y D a t a M o d e l    

F i g u r e 1 8 6 : E n t i t y D a t a M o d e l – O v e r v i e w          

F i g u r e 1 8 7 : E n t i t y D a t a M o d e l – E n t i t y T y p e s      

F i g u r e 1 8 8 : E n t i t y D a t a M o d e l – P r o p e r t i e s      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 4 1   

Page 158: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 158/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 1 8 9 : E n t i t y D a t a M o d e l – C o m p l e x T y p e s      

F i g u r e 1 9 0 : E n t i t y D a t a M o d e l – A s s o c i a t i o n s 1 / 2      

1 4 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 159: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 159/346

G W 1 0 0 L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s      

F i g u r e 1 9 1 : E n t i t y D a t a M o d e l – A s s o c i a t i o n s 2 / 2      

F i g u r e 1 9 2 : E n t i t y D a t a M o d e l – N a v i g a t i o n P r o p e r t i e s      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 4 3   

Page 160: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 160/346

Page 161: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 161/346

G W 1 0 0 L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s      

F i g u r e 1 9 6 : I m p l e m e n t i n g t h e D E F I N E M e t h o d      

E n t i t y T y p e P r o p e r t i e s      

F i g u r e 1 9 7 : C r e a t i n g a n E n t i t y T y p e      

F i g u r e 1 9 8 : C r e a t i n g P r o p e r t i e s w i t h i n a n E n t i t y T y p e – 1 / 2      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 4 5   

Page 162: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 162/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 1 9 9 : C r e a t i n g P r o p e r t i e s w i t h i n a n E n t i t y T y p e – 2 / 2      

O D a t a P r o p e r t i e s M a p p i n g t o A t o m E l e m e n t s      

F i g u r e 2 0 0 : M a p p i n g O D a t a P r o p e r t i e s t o A t o m E l e m e n t s – 1 / 4      

I M P O R T A N T !    

A t o m t e r m i n o l o g y i s u s e d i n t h e X M L , b u t O D a t a t e r m i n o l o g y i s u s e d i n t h e      

A B A P c o d i n g      

A t o m t a l k s a b o u t a        C o l l e c t i o n        c o n t a i n i n g z e r o o r m o r e        E n t r i e s      , b u t O D a t a      

t a l k s a b o u t a n        E n t i t y S e t      c o n t a i n i n g z e r o o r m o r e        E n t i t i e s      . T h e s e t e r m s a r e      

s y n o n y m o u s .  

1 4 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 163: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 163/346

G W 1 0 0 L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s      

F i g u r e 2 0 1 : M a p p i n g O D a t a P r o p e r t i e s t o A t o m E l e m e n t s – 2 / 4      

F i g u r e 2 0 2 : M a p p i n g O D a t a P r o p e r t i e s t o A t o m E l e m e n t s – 3 / 4      

T h e e l d “ T i t l e ” i s a n A t o m e l d a n d s h o u l d b e i n c l u d e d f o r c o n f o r m a n c e t o      

t h e A t o m p r o t o c o l .  

T h i s e l d d o e s n o t h a v e t o b e u s e d t o f o r a n a c t u a l t i t l e ; i n s t e a d , i t c a n b e u s e d      

t o t r a n s p o r t v a r i o u s p i e c e s o f i n f o r m a t i o n f r o m t h e s e r v e r t o t h e c l i e n t E . G . e r r o r    

m e s s a g e s .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 4 7   

Page 164: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 164/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 2 0 3 : M a p p i n g O D a t a P r o p e r t i e s t o A t o m E l e m e n t s – 4 / 4      

O D a t a P r o p e r t i e s a n d A B A P D i c t i o n a r y      

F i g u r e 2 0 4 : S u p p l y i n g P r o p e r t i e s w i t h A B A P D i c t i o n a r y M e t a d a t a – 1 / 3      

1 4 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 165: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 165/346

G W 1 0 0 L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s      

F i g u r e 2 0 5 : S u p p l y i n g P r o p e r t i e s w i t h A B A P D i c t i o n a r y M e t a d a t a – 2 / 3      

T h i s c r y p t i c e r r o r m e s s a g e c o m e s f r o m t h e f a c t t h a t w h e n t h e G a t e w a y F r a m e w o r k      

t r i e s t o i n i t i a l i s e y o u r s e r v i c e , t h e M o d e l P r o v i d e r c l a s s c r a s h e s . T h i s l e a v e s t h e      

G a t e w a y F r a m e w o r k u n a b l e t o c o m p l e t e t h e s e r v i c e i n i t i a l i s a t i o n .  

F i g u r e 2 0 6 : S u p p l y i n g P r o p e r t i e s w i t h A B A P D i c t i o n a r y M e t a d a t a – 3 / 3      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 4 9   

Page 166: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 166/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

E n t i t y S e t    

F i g u r e 2 0 7 : C r e a t i n g a n E n t i t y S e t    

F i g u r e 2 0 8 : C o d i n g a B a s i c M o d e l P r o v i d e r C l a s s – S u m m a r y      

1 5 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 167: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 167/346

G W 1 0 0 L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s      

E x e r c i s e 4 : C r e a t e A B a s i c M o d e l P r o v i d e r      

C l a s s      E x e r c i s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s e x e r c i s e , y o u w i l l b e a b l e t o :  

• C r e a t e t h e m e t a d a t a n e e d e d t o d e n e a b a s i c G a t e w a y s e r v i c e .  

B u s i n e s s E x a m p l e      

B e f o r e s t a r t i n g t o c o d e t h e m o d e l p r o v i d e r c l a s s , i t i s r s t n e c e s s a r y t o u n d e r s t a n d      

t h e d a t a m o d e l i m p l e m e n t e d b y t h e m o d e l c l a s s .  

A s c a n b e s e e n f r o m t h e d i a g r a m b e l o w , t h e d a t a m o d e l c o n s i s t s o f t h e f o l l o w i n g       p a r t s : 

1 . T h r e e e n t i t y t y p e s c a l l e d F l i g h t , A i r p o r t a n d B o o k i n g      

2 . T w o c o m p l e x d a t a t y p e s c a l l e d L o c a t i o n a n d G e o C o o r d i n a t e s    

T h e A i r p o r t e n t i t y t y p e i s a s s o c i a t e d b o t h w i t h i t s e l f ( i . e . o t h e r a i r p o r t s ) t h r o u g h      

a n a v i g a t i o n p a t h c a l l e d A i r p o r t s T o , a n d t o t h e F l i g h t s e n t i t y t y p e t h r o u g h a      

n a v i g a t i o n p a t h c a l l e d D e p a r t i n g F l i g h t s .  

T h e F l i g h t e n t i t y t y p e i s a s s o c i a t e d w i t h t h e B o o k i n g e n t i t y t y p e t h r o u g h a      

n a v i g a t i o n p a t h c a l l e d B o o k i n g s    

T h i s d a t a m o d e l w i l l n o w b e i m p l e m e n t e d a s a G a t e w a y M o d e l P r o v i d e r c l a s s    i n A B A P .  

T h e n a v i g a t i o n p a t h s d e s c r i b e d b y t h e e n t i t y t y p e a s s o c i a t i o n s w i l l b e i m p l e m e n t e d      

i n t h e G a t e w a y D a t a P r o v i d e r c l a s s .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 5 1   

Page 168: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 168/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

T a s k :    

F i g u r e 2 0 9 : N a v i g a t i o n P a t h s      

1 .    C r e a t e a D a t a M o d e l C l a s s    

2 .    C r e a t e L o c a l D a t a T y p e s    

3 .    R e d e n e M e t h o d D E F I N E        

1 5 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 169: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 169/346

G W 1 0 0 L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s      

S o l u t i o n 4 : C r e a t e A B a s i c M o d e l P r o v i d e r      

C l a s s      T a s k :    

F i g u r e 2 1 0 : N a v i g a t i o n P a t h s      

1 .    C r e a t e a D a t a M o d e l C l a s s    

a ) R u n t r a n s a c t i o n S E 8 0 ( A B A P D e v e l o p m e n t W o r k b e n c h )    

 b ) S e l e c t “ C l a s s / I n t e r f a c e ” f r o m t h e d r o p - d o w n l i s t . 

c ) G i v e y o u r n e w A B A P c l a s s t h e n a m e Z C L _ G W 1 0 0 _ M P _ n n ( w h e r e        n n   

i s y o u r g r o u p n u m b e r ) a n d p r e s s e n t e r .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 5 3   

Page 170: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 170/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 2 1 1 : O b j e c t T y p e      

d ) A f t e r c o n r m i n g t h a t y o u w a n t t o c r e a t e a n e w c l a s s , e n s u r e t h a t t h e      O b j e c t T y p e i s s e t t o “ O b j e c t ” a n d p r e s s e n t e r .  

e ) O n t h e f o l l o w i n g p o p - u p s c r e e n e n t e r a d e s c r i p t i o n f o r t h e n e w A B A P      

c l a s s a n d p r e s s e n t e r . M a k e s u r e t h a t t h e “ C l a s s T y p e ” r e m a i n s s e t    

t o “ U s u a l A B A P C l a s s ” .  

F i g u r e 2 1 2 : U s u a l A B A P C l a s s      

f ) W h e n a s k e d f o r t h e p a c k a g e n a m e p r e s s “ L o c a l O b j e c t ” o r e n t e r    

Z G W 1 0 0 _        n n     ( w h e r e        n n     i s y o u r g r o u p n u m b e r ) a n d p r e s s e n t e r .  

g ) O n c e t h e o b j e c t h a s b e e n c r e a t e d , d o u b l e c l i c k o n t h e n e w o b j e c t n a m e .  

T h i s w i l l c a u s e t h e o b j e c t ’ s m e t h o d s t o b e d i s p l a y e d ( t h e r e a r e n o n e      

a t t h e m o m e n t ) .  

h ) S w i t c h i n t o c h a n g e m o d e a n d s e l e c t t h e P r o p e r t i e s t a b .  

i ) C l i c k o n t h e s u p e r c l a s s b u t t o n , e n t e r / I W -    

B E P / C L _ M G W _ A B S _ M O D E L a s t h e n a m e o f t h e s u p e r c l a s s a n d      

 p r e s s S a v e ( o r C t r l - S ) . 

C o n t i n u e d o n n e x t p a g e      

1 5 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 171: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 171/346

G W 1 0 0 L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s      

2 .    C r e a t e L o c a l D a t a T y p e s    

a ) B e f o r e w e c a n i m p l e m e n t a n y m e t h o d s , w e m u s t r s t d e n e s o m e d a t a      

t y p e s w i t h i n t h i s c l a s s . I n t h i s c a s e , w e w i l l u s e t h e e l d s f o u n d w i t h i n      t h e d a t a d i c t i o n a r y s t r u c t u r e S P F L I t o s u p p l y m e t a d a t a f o r t h e O D a t a      

i n t e r f a c e p r o p e r t i e s .  

H e r e , w e w i l l s t a r t w i t h t h e d a t a t y p e t o r e p r e s e n t a B o o k i n g b e c a u s e      

t h i s c o n t a i n s n o c o m p l e x t y p e s .  

 b ) S e l e c t t h e “ T y p e s ” t a b a n d e n t e r t h e f o l l o w i n g : 

T y p e : B O O K I N G _ S      

V i s i b i l i t y : P u b l i c      

D e s c r i p t i o n : B o o k i n g s t r u c t u r e      

c ) C l i c k o n t h e t y p e d e n i t i o n b u t t o n      

d ) R e p l a c e t h e l i n e        t y p e s      b o o k i n g _ s . w i t h t h e f o l l o w i n g c o d e :  

t y p e s :    

b e g i n o f b o o k i n g _ s ,    

a i r l i n e i d t y p e s p f l i - c a r r i d ,    

c o n n e c t i o n n o t y p e s p f l i - c o n n i d ,    

f l i g h t d a t e t y p e s f l i g h t - f l d a t e ,    

b o o k i n g i d t y p e s b o o k - b o o k i d ,    

c u s t o m e r n o t y p e s b o o k - c u s t o m i d ,    

c u s t o m e r n a m e t y p e s b o o k - p a s s n a m e ,    

p r i c e t y p e s f l i g h t - p r i c e ,    

c u r r e n c y c o d e t y p e s f l i g h t - c u r r e n c y ,    

b o o k i n g d a t e t y p e s b o o k - o r d e r _ d a t e ,    

t i t l e t y p e s t r i n g ,    

e n d o f b o o k i n g _ s .    

t y p e s :    

b o o k i n g s _ t t y p e s t a n d a r d t a b l e o f b o o k i n g _ s .    

W e h a v e n o w d e n e d l o c a l d a t a t y p e s t o d e s c r i b e a s i n g l e b o o k i n g      

( b o o k i n g _ s ) a n d a t a b l e o f s u c h b o o k i n g s ( b o o k i n g _ t ) .  

e ) S a v e y o u r c h a n g e s .  

3 .    R e d e n e M e t h o d D E F I N E        

a ) R i g h t c l i c k o n t h e D E F I N E m e t h o d a n d s e l e c t R e d e n e f r o m t h e      

c o n t e x t m e n u .  

 b ) C o p y a n d p a s t e t h e f o l l o w i n g c o d e : 

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 5 5   

Page 172: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 172/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

m e t h o d D E F I N E .    

d a t a :    

l o _ e n t i t y _ t y p e t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ e n t i t y _ t y p ,    l o _ p r o p e r t y t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ p r o p e r t y .    

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

* E N T I T I E S      

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

" D e f i n e E n t i t y B o o k i n g      

l o _ e n t i t y _ t y p e = m o d e l - > c r e a t e _ e n t i t y _ t y p e ( ' B o o k i n g ' ) .    

" D e f i n e p r o p e r t y A i r l i n e I d a n d s e t i t a s a k e y      

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' A i r l i n e I d '    

i v _ a b a p _ f i e l d n a m e = ' A I R L I N E I D ' ) .    

l o _ p r o p e r t y - > s e t _ i s _ k e y ( ) .    

" D e f i n e p r o p e r t y C o n n e c t i o n N o a n d s e t i t a s a k e y      

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' C o n n e c t i o n N o '    

i v _ a b a p _ f i e l d n a m e = ' C O N N E C T I O N N O ' ) .    

l o _ p r o p e r t y - > s e t _ i s _ k e y ( ) .    

" D e f i n e p r o p e r t y F l i g h t D a t e a n d s e t i t a s a k e y      

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' F l i g h t D a t e '    

i v _ a b a p _ f i e l d n a m e = ' F L I G H T D A T E ' ) .    

l o _ p r o p e r t y - > s e t _ i s _ k e y ( ) .    

" D e f i n e p r o p e r t y B o o k i n g I d a n d s e t i t a s a k e y      

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      i v _ p r o p e r t y _ n a m e = ' B o o k i n g I d '    

i v _ a b a p _ f i e l d n a m e = ' B O O K I N G I D ' ) .    

l o _ p r o p e r t y - > s e t _ i s _ k e y ( ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' C u s t o m e r N o '    

i v _ a b a p _ f i e l d n a m e = ' C U S T O M E R N O ' ) .    

" D e f i n e p r o p e r t y C u s t o m e r N a m e      

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' C u s t o m e r N a m e '    

i v _ a b a p _ f i e l d n a m e = ' C U S T O M E R N A M E ' ) .    

" T h e s e t _ a s _ a u t h o r ( ) m e t h o d a s s i g n s t h e c u r r e n t p r o p e r t y t o t h e      

" A T O M a u t h o r f i e l d . T h e B o o l e a n p a r a m e t e r d e f i n e s w h e t h e r t h e      

" p r o p e r t y i s v i s i b l e i n t h e c o n t e n t      

l o _ p r o p e r t y - > s e t _ a s _ a u t h o r ( i v _ k e e p _ i n _ c o n t e n t = a b a p _ t r u e ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' P r i c e '    

i v _ a b a p _ f i e l d n a m e = ' P R I C E ' ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' C u r r e n c y C o d e '    

C o n t i n u e d o n n e x t p a g e      

1 5 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 173: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 173/346

G W 1 0 0 L e s s o n : D e v e l o p i n g M o d e l P r o v i d e r C l a s s      

i v _ a b a p _ f i e l d n a m e = ' C U R R E N C Y C O D E ' ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' B o o k i n g D a t e '    i v _ a b a p _ f i e l d n a m e = ' B O O K I N G D A T E ' ) .    

" D e f i n e p r o p e r t y T i t l e . A s s i g n i t t o t h e A T O M f i e l d " T i t l e " ,    

" b u t d o n o t k e e p i t i n t h e c o n t e n t      

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' T i t l e '    

i v _ a b a p _ f i e l d n a m e = ' T I T L E ' ) .    

l o _ p r o p e r t y - > s e t _ a s _ t i t l e ( i v _ k e e p _ i n _ c o n t e n t = a b a p _ f a l s e ) .    

" U s e o u r p r e v i o u s l y d e f i n e d d a t a t y p e t o s u p p l y t h e m e t a d a t a      

" f o r t h e p r o p e r t i e s i n t h e O D a t a i n t e r f a c e . F i e l d s a r e m a t c h e d        

" b y n a m e .    

l o _ e n t i t y _ t y p e - > b i n d _ s t r u c t u r e ( ' Z _ C L _ G W 1 0 0 _ M P _ n n = > B O O K I N G _ S ' ) .    

" N a m e t h e E n t i t y S e t B o o k i n g s . O m i t t i n g t h i s s t a t e m e n t w i l l      

" c a u s e a n e n t i t y s e t t o b e c r e a t e d a u t o m a t i c a l l y a n d c a l l e d        

" B o o k i n g C o l l e c t i o n      

l o _ e n t i t y _ t y p e - > c r e a t e _ e n t i t y _ s e t ( ' B o o k i n g s ' ) .    

e n d m e t h o d .    

C a u t i o n :      D o n o t f o r g e t t o c o r r e c t t h e c l a s s r e f e r e n c e i n t h e      

 b i n d _ s t r u c t u r e ( ) m e t h o d c a l l ! I n t h e a r e a h i g h l i g h t e d i n y e l l o w ,  

c h a n g e t h e        n n     i n Z C L _ G W 1 0 0 _ M P _ n n t o y o u r g r o u p n u m b e r .  

c ) S a v e a n d a c t i v a t e c l a s s Z C L _ G W 1 0 0 _ M P _ n n .  

A t t h i s p o i n t i n t i m e , w e c a n n o t i n v o k e t h i s m o d e l p r o v i d e r c l a s s    

 b e c a u s e w e h a v e n o t y e t c r e a t e d a n a s s o c i a t e d d a t a p r o v i d e r c l a s s . 

T h i s w i l l b e d o n e i n t h e n e x t e x e r c i s e .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 5 7   

Page 174: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 174/346

Page 175: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 175/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

L e s s o n O v e r v i e w          

T h i s l e s s o n c o v e r s :  

• H o w t o c r e a t e a b a s i c D a t a P r o v i d e r c l a s s    

• C o n g u r e a G a t e w a y S e r v i c e      

• T e s t t h e p a r t i a l s e r v i c e i n a b r o w s e r    

• D i s p l a y t h e s e r v i c e ’ s m e t a d a t a      

L e s s o n O b j e c t i v e s      A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d h o w t o c r e a t e a b a s i c D a t a P r o v i d e r c l a s s .  

• C o n g u r e a G a t e w a y S e r v i c e .  

• T e s t t h e p a r t i a l s e r v i c e i n a b r o w s e r .  

• D i s p l a y t h e s e r v i c e ’ s m e t a d a t a .  

B u s i n e s s E x a m p l e      

G a t e w a y S e r v i c e a n d D a t a P r o v i d e r      

F i g u r e 2 1 3 : T e s t i n g t h e G a t e w a y S e r v i c e ' s M o d e l P r o v i d e r C l a s s      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 5 9   

Page 176: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 176/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 2 1 4 : C r e a t e a n E m p t y D a t a P r o v i d e r C l a s s - 1 / 2      

F i g u r e 2 1 5 : C r e a t e a n E m p t y D a t a P r o v i d e r C l a s s - 2 / 2      

1 6 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 177: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 177/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

C o n g u r a t i o n W r a p p e r f o r t h e D a t a P r o v i d e r      

F i g u r e 2 1 6 : G a t e w a y S e r v i c e A r c h i t e c t u r e - R e m i n d e r 1 / 2      

F i g u r e 2 1 7 : G a t e w a y S e r v i c e A r c h i t e c t u r e - R e m i n d e r 2 / 2      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 6 1   

Page 178: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 178/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 2 1 8 : C o n g u r a t i o n W r a p p e r f o r t h e M e t a d a t a P r o v i d e r - 1 / 3      

F i g u r e 2 1 9 : C o n g u r a t i o n W r a p p e r f o r t h e M e t a d a t a P r o v i d e r - 2 / 3      

1 6 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 179: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 179/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

F i g u r e 2 2 0 : C o n g u r a t i o n W r a p p e r f o r t h e M e t a d a t a P r o v i d e r - 3 / 3      

F i g u r e 2 2 1 : C o n g u r a t i o n W r a p p e r f o r t h e D a t a P r o v i d e r - 1 / 5      

F i g u r e 2 2 2 : C o n g u r a t i o n W r a p p e r f o r t h e D a t a P r o v i d e r - 2 / 5      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 6 3   

Page 180: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 180/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 2 2 3 : C o n g u r a t i o n W r a p p e r f o r t h e D a t a P r o v i d e r - 3 / 5      

F i g u r e 2 2 4 : C o n g u r a t i o n W r a p p e r f o r t h e D a t a P r o v i d e r - 4 / 5      

F i g u r e 2 2 5 : C o n g u r a t i o n W r a p p e r f o r t h e D a t a P r o v i d e r - 5 / 5      

1 6 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 181: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 181/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

G a t e w a y S e r v i c e C a t a l o g u e      

F i g u r e 2 2 6 : G a t e w a y S e r v i c e C a t a l o g u e - S u m m a r y      

C o m p o n e n t I W _ S C S i s o n l y n e e d e d i f y o u c r e a t e G a t e w a y S e r v i c e s t h a t u s e      

s c r e e n s c r a p i n g .  

I t i s e n t i r e l y p o s s i b l e f o r a l l t h e G a t e w a y A d d - O n C o m p o n e n t s t o b e i n s t a l l e d i n a      

s i n g l e s e r v e r ; h o w e v e r , t h i s i n s t a l l a t i o n a r r a n g e m e n t i s o n l y r e c o m m e n d e d f o r t e s t    a n d d e v e l o p m e n t s c e n a r i o s . F o r a l l p r o d u c t i v e s c e n a r i o s , i t i s r e c o m m e n d e d t h a t a      

s e p a r a t e G a t e w a y H u b s e r v e r i s i n s t a l l e d .  

F i g u r e 2 2 7 : C r e a t e a n E n t r y i n t h e G a t e w a y S e r v i c e C a t a l o g u e - 1 / 4      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 6 5   

Page 182: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 182/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 2 2 8 : C r e a t e a n E n t r y i n t h e G a t e w a y S e r v i c e C a t a l o g u e - 2 / 4      

F i g u r e 2 2 9 : C r e a t e a n E n t r y i n t h e G a t e w a y S e r v i c e C a t a l o g u e - 3 / 4      

1 6 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 183: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 183/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

F i g u r e 2 3 0 : C r e a t e a n E n t r y i n t h e G a t e w a y S e r v i c e C a t a l o g u e - 4 / 4      

G a t e w a y S e r v i c e D o c u m e n t    

F i g u r e 2 3 1 : D i s p l a y t h e S e r v i c e D o c u m e n t    

T h e q u e r y s t r i n g p a r a m e t e r      s a p - c l i e n t      i s n o t n e c e s s a r y a s l o n g a s t h e G a t e w a y      S e r v i c e r u n s i n t h e b a c k e n d s y s t e m ' s d e f a u l t c l i e n t .  

T h e q u e r y s t r i n g p a r a m e t e r      $ f o r m a t = x m l      i s n e c e s s a r y w h e n t e s t i n g a G a t e w a y      

S e r v i c e f r o m a b r o w s e r . T h i s p a r a m e t e r t e l l s t h e G a t e w a y s e r v e r t o r e t u r n t h e      

H T T P r e s p o n s e u s i n g t h e M I M E t y p e        a p p l i c a t i o n / x m l      . D e p e n d i n g o n y o u r    

 b r o w s e r , v a r i o u s d e g r e e s o f f o r m a t t i n g w i l l b e p e r f o r m e d o n t h e X M L t e x t  

r e s p o n s e b e f o r e i t i s d i s p l a y e d .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 6 7   

Page 184: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 184/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

I f t h e        $ f o r m a t = x m l      p a r a m e t e r i s o m i t t e d , t h e n t h e G a t e w a y s e r v e r w i l l r e t u r n t h e      

r e s p o n s e u s i n g t h e M I M E t y p e        a p p l i c a t i o n / a t o m s v c + x m l      . T h e b r o w s e r w i l l t h e n      

i n t e r p r e t t h i s a s a n A t o m f e e d a n d w i l l f o r m a t t h e r e s p o n s e a c c o r d i n g l y .  

F i g u r e 2 3 2 : I d e n t i f y t h e G a t e w a y S e r v i c e ' s B a s e U R L        

F i g u r e 2 3 3 : I d e n t i f y t h e C o l l e c t i o n s P r o v i d e d b y t h e G a t e w a y S e r v i c e      

1 6 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 185: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 185/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

F i g u r e 2 3 4 : D i s p l a y a G a t e w a y S e r v i c e ' s M e t a d a t a - 1 / 2      

F i g u r e 2 3 5 : D i s p l a y a G a t e w a y S e r v i c e ' s M e t a d a t a - 2 / 2      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 6 9   

Page 186: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 186/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 2 3 6 : C o r r e s p o n d e n c e o f A B A P C o d i n g w i t h O D a t a X M L - 1 / 8      

F i g u r e 2 3 7 : C o r r e s p o n d e n c e o f A B A P C o d i n g w i t h O D a t a X M L - 2 / 8      

F i g u r e 2 3 8 : C o r r e s p o n d e n c e o f A B A P C o d i n g w i t h O D a t a X M L - 3 / 8      

1 7 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 187: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 187/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

F i g u r e 2 3 9 : C o r r e s p o n d e n c e o f A B A P C o d i n g w i t h O D a t a X M L - 4 / 8      

F i g u r e 2 4 0 : C o r r e s p o n d e n c e o f A B A P C o d i n g w i t h O D a t a X M L - 5 / 8      

F i g u r e 2 4 1 : C o r r e s p o n d e n c e o f A B A P C o d i n g w i t h O D a t a X M L - 6 / 8      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 7 1   

Page 188: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 188/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 2 4 2 : C o r r e s p o n d e n c e o f A B A P C o d i n g w i t h O D a t a X M L - 7 / 8      

F i g u r e 2 4 3 : C o r r e s p o n d e n c e o f A B A P C o d i n g w i t h O D a t a X M L - 8 / 8      

1 7 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 189: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 189/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

E x e r c i s e 5 : C r e a t e E m p t y D a t a P r o v i d e r      

C l a s s      E x e r c i s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s e x e r c i s e , y o u w i l l b e a b l e t o :  

• C r e a t e a n e m p t y G a t e w a y d a t a p r o v i d e r c l a s s a n d p e r f o r m t h e c o n g u r a t i o n      

n e c e s s a r y t o e x e c u t e t h e b a s i c G a t e w a y s e r v i c e . A t t h i s p o i n t i n t i m e , t h e      

G a t e w a y s e r v i c e d o e s n o t y e t c o n t a i n a n y b u s i n e s s f u n c t i o n a l i t y , b u t i s a b l e      

t o d i s p l a y s t h e s t r u c t u r e o f i t s i n t e r f a c e .  

B u s i n e s s E x a m p l e      

T a s k :    

1 .    C r e a t e a n E m p t y D a t a P r o v i d e r C l a s s    

T h e c o d i n g d e v e l o p e d s o f a r s h o u l d n o w b e t e s t e d . I n o r d e r t o d o t h i s , w e      

m u s t c o n g u r e t h e G a t e w a y s y s t e m t o r e c o g n i z e t h a t t h i s M o d e l P r o v i d e r    

c l a s s b e l o n g s t o a G a t e w a y s e r v i c e .  

H o w e v e r , a G a t e w a y S e r v i c e i s c o m p o s e d f r o m a t l e a s t t w o c l a s s e s – a      

M o d e l P r o v i d e r c l a s s a n d o n e o r m o r e D a t a P r o v i d e r c l a s s e s . T h e n e x t s t e p      t h e r e f o r e i s t o c r e a t e a D a t a P r o v i d e r c l a s s .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 7 3   

Page 190: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 190/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

S o l u t i o n 5 : C r e a t e E m p t y D a t a P r o v i d e r      

C l a s s      T a s k :    

1 .    C r e a t e a n E m p t y D a t a P r o v i d e r C l a s s    

T h e c o d i n g d e v e l o p e d s o f a r s h o u l d n o w b e t e s t e d . I n o r d e r t o d o t h i s , w e      

m u s t c o n g u r e t h e G a t e w a y s y s t e m t o r e c o g n i z e t h a t t h i s M o d e l P r o v i d e r    

c l a s s b e l o n g s t o a G a t e w a y s e r v i c e .  

H o w e v e r , a G a t e w a y S e r v i c e i s c o m p o s e d f r o m a t l e a s t t w o c l a s s e s – a      

M o d e l P r o v i d e r c l a s s a n d o n e o r m o r e D a t a P r o v i d e r c l a s s e s . T h e n e x t s t e p      

t h e r e f o r e i s t o c r e a t e a D a t a P r o v i d e r c l a s s .  

a ) C r e a t e a n o t h e r A B A P c l a s s c a l l e d Z C L _ G W 1 0 0 _ D P _ n n w h e r e        n n     i s  

y o u r g r o u p n u m b e r .  

 b ) A s w i t h c l a s s Z C L _ G W 1 0 0 _ M P _ n n , t h e o b j e c t t y p e i s “ C l a s s ” , i t  

s h o u l d b e g i v e n a m e a n i n g f u l d e s c r i p t i o n .  

c ) T h e D a t a p r o v i d e r c l a s s m u s t h a v e c l a s s / I W -    

B E P / C L _ M G W _ A B S _ D A T A a s i t ’ s s u p e r c l a s s .  

d ) S a v e y o u r c h a n g e s a n d a c t i v a t e c l a s s .  

A t t h e m o m e n t , t h e d a t a p r o v i d e r c l a s s i s n o t h i n g m o r e t h a n a n e m p t y      

s h e l l ; h o w e v e r , i t i m p l e m e n t s t h e s t a n d a r d i n t e r f a c e r e q u i r e d b y a l l    

G a t e w a y D a t a P r o v i d e r c l a s s e s . T h e r e f o r e , i t c o n t a i n s s u f c i e n t    

f u n c t i o n a l i t y t o a l l o w y o u t o s e e t h e r e s u l t s o f y o u r A B A P c o d i n g i n      

t h e m o d e l p r o v i d e r c l a s s .  

1 7 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 191: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 191/346

Page 192: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 192/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

S o l u t i o n 6 : C r e a t e a G a t e w a y S e r v i c e f r o m          

t h e M o d e l a n d D a t a P r o v i d e r C l a s s e s      T a s k :    

1 .    C o n g u r e a T e c h n i c a l M o d e l    

a ) S t a r t t r a n s a c t i o n S P R O a n d e n t e r t h e S A P R e f e r e n c e I M G .  

 b ) F o l l o w t h e p a t h     S A P N e t W e a v e r → G a t e w a y B u s i n e s s S u i t e E n a b l e m e n t    

→ B a c k e n d O D a t a C h a n n e l → S e r v i c e D e v e l o p m e n t f o r B a c k e n d      

O D a t a C h a n n e l    

F i g u r e 2 4 4 :      S e r v i c e D e v e l o p m e n t f o r B a c k e n d O D a t a C h a n n e l    

c ) S t a r t t h e “ M a i n t a i n M o d e l s ” t r a n s a c t i o n .  

d ) E n t e r t h e T e c h n i c a l M o d e l N a m e o f Z G W 1 0 0 _ T M _        n n     a n d a v e r s i o n      

n u m b e r o f 1 .  

e ) P r e s s “ C r e a t e N e w M o d e l ” .  

f ) O n t h e f o l l o w i n g s c r e e n , e n t e r t h e n a m e o f t h e m o d e l p r o v i d e r c l a s s    

 b e i n g w r a p p e d a n d g i v e i t s o m e m e a n i n g f u l d e s c r i p t i o n . 

C o n t i n u e d o n n e x t p a g e      

1 7 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 193: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 193/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

F i g u r e 2 4 5 : M o d e l P r o v i d e r C l a s s – D e s c r i p t i o n      

I n t h i s c a s e , t h e m o d e l p r o v i d e r c l a s s i s Z C L _ G W 1 0 0 _ M P _        n n     . 

P r e s s s a v e .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 7 7   

Page 194: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 194/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

2 .    C o n g u r e a S e r v i c e G r o u p      

a ) R e t u r n t o t h e I M G h i e r a r c h y a n d r u n t h e “ M a i n t a i n S e r v i c e ” t r a n s a c t i o n .  

T h i s i s w h e r e a S e r v i c e G r o u p i s u s e d t o w r a p t h e D a t a P r o v i d e r c l a s s .  

C a u t i o n :      W h a t e v e r n a m e y o u e n t e r a s t h e T e c h n i c a l S e r v i c e      

 N a m e b e c o m e s t h e n a m e t h a t w i l l a p p e a r i n t h e U R L t h a t r u n s  

t h i s s e r v i c e ( i . e . t h e E x t e r n a l S e r v i c e N a m e ) . T h e r e f o r e , y o u      

m u s t c h o o s e a n a m e t h a t w i l l b e m e a n i n g f u l t o t h e e n d u s e r .  

E n t e r F l i g h t _ I n f o r m a t i o n _        n n     a s t h e T e c h n i c a l S e r v i c e N a m e a n d a      

v e r s i o n n u m b e r o f 1 .  

P r e s s t h e c r e a t e b u t t o n .  

 b ) O n t h e n e x t s c r e e n , e n t e r t h e D a t a P r o v i d e r c l a s s n a m e   

Z C L _ G W 1 0 0 _ D P _        n n     a n d a m e a n i n g f u l d e s c r i p t i o n .  

F i g u r e 2 4 6 : D a t a P r o v i d e r C l a s s – D e s c r i p t i o n      

Y o u m u s t n o w s a v e y o u r c h a n g e s o t h e r w i s e y o u c a n n o t a s s i g n a      

t e c h n i c a l m o d e l .  

c ) O n c e y o u h a v e s a v e d t h e s e r v i c e i n f o r m a t i o n , p r e s s t h e “ A s s i g n M o d e l ”      

 b u t t o n . 

d ) E n t e r t h e n a m e o f y o u r T e c h n i c a l M o d e l Z _ G W 1 0 0 _ T M _        n n     a n d p r e s s    

t h e s a v e i c o n t o c l o s e t h e p o p - u p w i n d o w .  

e ) P r e s s s a v e o n t h e t o o l b a r t o s a v e t h e a s s i g n m e n t .  

Y o u r M o d e l a n d D a t a P r o v i d e r c l a s s e s a r e n o w a s s o c i a t e d w i t h e a c h      

o t h e r a n d f o r m a n e x e c u t a b l e G a t e w a y S e r v i c e .  

1 7 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 195: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 195/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

E x e r c i s e 7 : C r e a t e a S e r v i c e C a t a l o g u e      

E n t r y      E x e r c i s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s e x e r c i s e , y o u w i l l b e a b l e t o :  

• C r e a t e a n e m p t y G a t e w a y d a t a p r o v i d e r c l a s s a n d p e r f o r m t h e c o n g u r a t i o n      

n e c e s s a r y t o e x e c u t e t h e b a s i c G a t e w a y s e r v i c e . A t t h i s p o i n t i n t i m e , t h e      

G a t e w a y s e r v i c e d o e s n o t y e t c o n t a i n a n y b u s i n e s s f u n c t i o n a l i t y , b u t i s a b l e      

t o d i s p l a y s t h e s t r u c t u r e o f i t s i n t e r f a c e .  

B u s i n e s s E x a m p l e      

 N o w t h a t t h e G a t e w a y S e r v i c e i s f u n c t i o n a l , i t n e e d s t o b e m a d e v i s i b l e t o t h e   o u t s i d e w o r l d .  

T o d o t h i s , i t i s n e c e s s a r y t o c r e a t e a n e n t r y i n t h e S e r v i c e C a t a l o g u e .  

R e m e m b e r h o w t h e f o l l o w i n g i n s t a l l a t i o n s c e n a r i o s a l t e r t h e l o c a t i o n o f t h e s e      

c o n g u r a t i o n s t e p s :  

• A B A P d e v e l o p m e n t o f c u s t o m G a t e w a y S e r v i c e s t a k e s p l a c e i n w h i c h e v e r    

s y s t e m c o n t a i n s t h e G a t e w a y a d d - o n c o m p o n e n t I W _ B E P .  

• E x t e r n a l u s e r s c o n s u m e G a t e w a y S e r v i c e s b y c o n n e c t i n g t o w h i c h e v e r S A P      

s y s t e m c o n t a i n s t h e G a t e w a y a d d - o n c o m p o n e n t G W _ C O R E . T h i s i s t h e      

s y s t e m i n w h i c h t h e S e r v i c e C a t a l o g u e e n t r y m u s t b e m a d e .  I n t h e c a s e o f t h e S A P t r a i n i n g e n v i r o n m e n t , I W _ B E P a n d G W _ C O R E h a v e b e e n      

i n s t a l l e d i n t h e s a m e s y s t e m . T h e r e f o r e , t h e r e i s n o n e e d t o l o g o n t o a d i f f e r e n t    

s y s t e m i n o r d e r t o p e r f o r m t h e f o l l o w i n g c o n g u r a t i o n .  

H o w e v e r , w h e n y o u r e t u r n t o y o u r o w n s y s t e m e n v i r o n m e n t , i t i s e n t i r e l y p o s s i b l e      

t h a t I W _ B E P a n d G W _ C O R E c o u l d b e i n s t a l l e d o n s e p a r a t e s y s t e m s . I f t h a t i s t h e      

c a s e , t h e n y o u m u s t l o g o n t o t h e s y s t e m i n w h i c h G W _ C O R E h a s b e e n i n s t a l l e d      

 b e f o r e p e r f o r m i n g t h e s e i n s t r u c t i o n s . 

T a s k :    

1 .    C r e a t e a S e r v i c e C a t a l o g u e E n t r y a n d T e s t t h e S e r v i c e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 7 9   

Page 196: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 196/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

S o l u t i o n 7 : C r e a t e a S e r v i c e C a t a l o g u e      

E n t r y      T a s k :    

1 .    C r e a t e a S e r v i c e C a t a l o g u e E n t r y a n d T e s t t h e S e r v i c e      

a ) R u n t r a n s a c t i o n / I W F N D / M A I N T _ S E R V I C E i n t h e s y s t e m c o n t a i n i n g      

t h e G a t e w a y a d d - o n c o m p o n e n t G W _ C O R E .  

F i g u r e 2 4 7 : C o m p o n e n t G W _ C O R E        

T h i s t r a n s a c t i o n s h o w s a l l t h e S e r v i c e s c u r r e n t l y a v a i l a b l e f r o m t h i s    

G a t e w a y S e r v e r . A t t h e m o m e n t , y o u r F l i g h t _ I n f o r m a t i o n _        n n     s e r v i c e      

i s m i s s i n g .  

 b ) C l i c k o n t h e “ A d d S e r v i c e ” b u t t o n i n t h e t o o l b a r . 

c ) E n t e r t h e n a m e o f t h e s y s t e m a l i a s c o n t a i n i n g y o u r G a t e w a y s e r v i c e .  

S i n c e t h e S A P t r a i n i n g s y s t e m h a s b e e n s e t u p w i t h G W _ C O R E a n d      

I W _ B E P i n t h e s a m e s y s t e m , t h e S y s t e m A l i a s i s L O C A L .  

F i g u r e 2 4 8 : F i l t e r      

T h e T e c h n i c a l S e r v i c e N a m e i s F l i g h t _ I n f o r m a t i o n _        n n     . 

P r e s s e n t e r a n d t h e d e t a i l s o f y o u r s e r v i c e a r e n o w d i s p l a y e d .  

C o n t i n u e d o n n e x t p a g e      

1 8 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 197: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 197/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

F i g u r e 2 4 9 : A d d S e r v i c e      

d ) E n t e r y o u r p a c k a g e n a m e a n d p r e s s “ A d d S e r v i c e ” .  

F i g u r e 2 5 0 : A d d S e r v i c e      

Y o u s h o u l d s e e a s u c c e s s m e s s a g e i n t h e s t a t u s b a r a t t h e b o t t o m o f      

t h e s c r e e n .  

F i g u r e 2 5 1 : S e r v i c e C a t a l o g      

e ) P r e s s “ B a c k ” i n t h e t o o l b a r o r F 3 . Y o u r s e r v i c e n o w e x i s t s i n t h e      

S e r v i c e C a t a l o g u e a n d c a n n o w b e t e s t e d f r o m a b r o w s e r .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 8 1   

Page 198: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 198/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

f ) T h e e a s i e s t w a y t o l o c a t e y o u r s e r v i c e i n t h e c a t a l o g u e i s t o c l i c k o n      

t h e c o l u m n h e a d e r f o r “ E x t e r n a l S e r v i c e N a m e ” a n d t h e n p r e s s t h e s o r t    

 b u t t o n t o s o r t t h e t a b l e r o w s i n t o a s c e n d i n g a l p h a b e t i c a l o r d e r . 

g ) S e l e c t t h e r o w c o n t a i n i n g y o u r s e r v i c e F L I G H T _ I N F O R M A T I O N _ n n      

t h e n p r e s s t h e “ C a l l B r o w s e r ” b u t t o n .  

F i g u r e 2 5 2 : F L I G H T _ I N F O R M A T I O N _ n n      

h ) A f t e r c o n r m i n g y o u r l o g o n c r e d e n t i a l s , y o u w i l l s e e t h e S e r v i c e      

D o c u m e n t f o r t h i s G a t e w a y S e r v i c e .  

F i g u r e 2 5 3 : S e r v i c e D o c u m e n t    

A t t h e m o m e n t , t h i s s e r v i c e c o n t a i n s n o f u n c t i o n a l i t y ; h o w e v e r , w e c a n      

s e e o u r s e r v i c e c o n t a i n s a c o l l e c t i o n c a l l e d “ B o o k i n g s ” .  

I t i s a l s o p o s s i b l e t o l o o k a t t h e m e t a d a t a t h a t d e s c r i b e s t h e B o o k i n g s    

c o l l e c t i o n .  

C o n t i n u e d o n n e x t p a g e      

1 8 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 199: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 199/346

G W 1 0 0 L e s s o n : C r e a t i n g G a t e w a y S e r v i c e s      

i ) I n t h e b r o w s e r a d d r e s s l i n e , r e m o v e t h e q u e r y s t r i n g p a r a m e t e r    

? $ f o r m a t = x m l        a n d r e p l a c e i t w i t h        $ m e t a d a t a        . 

N o t e : I M P O R T A N T !      $ m e t a d a t a        i s a n O D a t a c o m m a n d ,    n o t a q u e r y s t r i n g p a r a m e t e r ; t h e r e f o r e , y o u m u s t d e l e t e t h e      

q u e s t i o n m a r k c h a r a c t e r t h a t d e n o t e s t h e s t a r t o f t h e q u e r y      

s t r i n g .  

 j ) Y o u w i l l n o w s e e t h e m e t a d a t a d e s c r i b i n g t h e B o o k i n g c o l l e c t i o n . 

F i g u r e 2 5 4 : M e t a d a t a D e s c r i b i n g      

 N o t i c e t h a t t h e X M L e l e m e n t    < E n t i t y T y p e      N a m e = “ B o o k i n g ” >        a n d e v e r y t h i n g i t c o n t a i n s , h a s b e e n      

g e n e r a t e d a s a d i r e c t r e s u l t o f t h e A B A P c o d i n g i n t h e D E F I N E m e t h o d      

o f y o u r M o d e l P r o v i d e r c l a s s .  

T h i s i s a s m u c h t e s t i n g a s c a n b e d o n e w i t h t h e G a t e w a y S e r v i c e i n i t s    

c u r r e n t s t a t e ; h o w e v e r , t h i s i s e n o u g h t o s e e t h e c o n n e c t i o n b e t w e e n      

t h e A B A P c o d i n g i n t h e M o d e l P r o v i d e r ’ s D E F I N E m e t h o d a n d t h e      

< P r o p e r t y >        e l e m e n t s .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 8 3   

Page 200: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 200/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

L e s s o n S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  • U n d e r s t a n d h o w t o c r e a t e a b a s i c D a t a P r o v i d e r c l a s s .  

• C o n g u r e a G a t e w a y S e r v i c e .  

• T e s t t h e p a r t i a l s e r v i c e i n a b r o w s e r .  

• D i s p l a y t h e s e r v i c e ’ s m e t a d a t a .  

1 8 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 201: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 201/346

G W 1 0 0 L e s s o n : C r e a t i n g C o m p l e x T y p e s      

L e s s o n : C r e a t i n g C o m p l e x T y p e s      

L e s s o n O v e r v i e w          

T h i s l e s s o n c o v e r s h o w t o c r e a t e c o m p l e x d a t a t y p e s f o r u s e i n O D a t a e n t i t y t y p e s .  

L e s s o n O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d h o w t o c r e a t e c o m p l e x d a t a t y p e s f o r u s e i n O D a t a e n t i t y t y p e s .  

B u s i n e s s E x a m p l e      

C o m p l e x T y p e s      

F i g u r e 2 5 5 : C r e a t i n g a C o m p l e x T y p e - 1 / 6      

F i g u r e 2 5 6 : C r e a t i n g a C o m p l e x T y p e - 2 / 6      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 8 5   

Page 202: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 202/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 2 5 7 : C r e a t i n g a C o m p l e x T y p e - 3 / 6      

F i g u r e 2 5 8 : C r e a t i n g a C o m p l e x T y p e - 4 / 6      

F i g u r e 2 5 9 : C r e a t i n g a C o m p l e x T y p e - 5 / 6      

1 8 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 203: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 203/346

G W 1 0 0 L e s s o n : C r e a t i n g C o m p l e x T y p e s      

F i g u r e 2 6 0 : C r e a t i n g a C o m p l e x T y p e - 6 / 6      

F i g u r e 2 6 1 : T e s t t h e C o m p l e x T y p e      

M o d e l l i n g T o o l s      

F i g u r e 2 6 2 : E n t i t y D a t a M o d e l - M o d e l l i n g T o o l s 1 / 3      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 8 7   

Page 204: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 204/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

F i g u r e 2 6 3 : E n t i t y D a t a M o d e l - M o d e l l i n g T o o l s 2 / 3      

F i g u r e 2 6 4 : E n t i t y D a t a M o d e l - M o d e l l i n g T o o l s 3 / 3      

1 8 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 205: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 205/346

G W 1 0 0 L e s s o n : C r e a t i n g C o m p l e x T y p e s      

G a t e w a y S e r v i c e U R L        

F i g u r e 2 6 5 : G a t e w a y S e r v i c e B a s e U R L        

F i g u r e 2 6 6 : C a s e S e n s i t i v i t y o f U R L V a l u e s      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 8 9   

Page 206: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 206/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

1 9 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 207: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 207/346

G W 1 0 0 L e s s o n : C r e a t i n g C o m p l e x T y p e s      

E x e r c i s e 8 : C r e a t e C o m p l e x T y p e s a n d      

A d d i t i o n a l E n t i t y T y p e s      E x e r c i s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s e x e r c i s e , y o u w i l l b e a b l e t o :  

• C r e a t e t h e r e m a i n i n g e n t i t y t y p e s n e e d e d f o r t h e F l i g h t I n f o r m a t i o n G a t e w a y      

s e r v i c e .  

B u s i n e s s E x a m p l e      

T a s k :    

1 .    C r e a t e C o m p l e x T y p e s    

2 .    D e n e t h e R e m a i n i n g E n t i t y T y p e s    

S e v e r a l m o r e e n t i t y t y p e s n e e d t o b e d e n e d . S p e c i c a l l y , t h e s e a r e t h e      

 A i r p o r t    a n d     F l i g h t      e n t i t y t y p e s . A s w i t h t h e o t h e r e n t i t y t y p e s w e h a v e      

c r e a t e d , w e w i l l r e f e r e n c e b u i l t - i n d a t a t y p e s w i t h i n o u r m o d e l p r o v i d e r    

c l a s s Z _ C L _ G W 1 0 0 _ M P _        n n     t h a t i n t u r n , d e r i v e t h e i r m e t a d a t a f r o m t h e      

A B A P d i c t i o n a r y .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 9 1   

Page 208: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 208/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

S o l u t i o n 8 : C r e a t e C o m p l e x T y p e s a n d      

A d d i t i o n a l E n t i t y T y p e s      T a s k :    

1 .    C r e a t e C o m p l e x T y p e s    

a ) R u n t r a n s a c t i o n S E 8 0 .  

 b ) E d i t y o u r M o d e l P r o v i d e r c l a s s Z C L _ G W 1 0 0 _ M P _     n n     . 

c ) D o u b l e c l i c k o n t h e c l a s s n a m e t o d i s p l a y t h e c l a s s o v e r v i e w .  

d ) E n s u r e t h a t y o u a r e i n c h a n g e m o d e a n d s e l e c t t h e T y p e s t a b .  

e ) E n t e r t h e n a m e g e o c o o r d i n a t e s _ s , s e t t h e v i s i b i l i t y t o P u b l i c a n d p r e s s    

t h e t y p e d e n i t i o n b u t t o n .  

f ) R e p l a c e t h e s t a t e m e n t      t y p e s      g e o c o o r d i n a t e s _ s . w i t h t h e f o l l o w i n g t y p e      

d e n i t i o n s .  

t y p e s :    

b e g i n o f g e o c o o r d i n a t e s _ s ,    

l o n g i t u d e t y p e s g e o c i t y - l o n g i t u d e ,    

l a t i t u d e t y p e s g e o c i t y - l a t i t u d e ,    

e n d o f g e o c o o r d i n a t e s _ s .    

t y p e s :    

b e g i n o f l o c a t i o n _ s ,    

c o u n t r y t y p e s t r i n g ,    

c i t y t y p e s t r i n g ,    

a i r p o r t t y p e s t r i n g ,    

t i m e t y p e s p f l i - d e p t i m e ,    

e n d o f l o c a t i o n _ s .    

S i n c e t h e c o m p l e x t y p e s      G e o C o o r d i n a t e s      a n d     L o c a t i o n        w i l l n e v e r b e      

e n t i t y s e t s i n t h e i r o w n r i g h t , t h e r e i s n o n e e d t o d e n e t a b l e s b a s e d      

o n t h e s e t y p e s .  

g ) G o b a c k t o t h e r e d e n i t i o n o f m e t h o d D E F I N E a n d d o u b l e c l i c k t o      

e d i t i t .  

h ) A d d a n e x t r a d e c l a r a t i o n f o r t h e l o c a l o b j e c t      l o _ c o m p l e x _ t y p e        : 

m e t h o d D E F I N E .    

d a t a :    

l o _ e n t i t y _ t y p e t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ e n t i t y _ t y p ,    

l o _ p r o p e r t y t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ p r o p e r t y ,    

l o _ c o m p l e x _ t y p e t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ c m p l x _ t y p e .    

C o n t i n u e d o n n e x t p a g e      

1 9 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 209: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 209/346

G W 1 0 0 L e s s o n : C r e a t i n g C o m p l e x T y p e s      

i ) T h e n a d d t h e f o l l o w i n g c o d e i m m e d i a t e l y a f t e r t h e v a r i a b l e d e c l a r a t i o n      

s e c t i o n , r e m e m b e r i n g t o c h a n g e t h e c l a s s r e f e r e n c e h i g h l i g h t e d i n      y e l l o w t o y o u r o w n M o d e l P r o v i d e r c l a s s .  

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

* C O M P L E X T Y P E S      

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

" C o m p l e x t y p e f o r L o c a t i o n      

l o _ c o m p l e x _ t y p e = m o d e l - > c r e a t e _ c o m p l e x _ t y p e ( ' L o c a t i o n ' ) .    

l o _ c o m p l e x _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' C o u n t r y '    

i v _ a b a p _ f i e l d n a m e = ' C O U N T R Y ' ) .    

l o _ c o m p l e x _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' C i t y '    i v _ a b a p _ f i e l d n a m e = ' C I T Y ' ) .    

l o _ c o m p l e x _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' A i r p o r t '    

i v _ a b a p _ f i e l d n a m e = ' A I R P O R T ' ) .    

l o _ c o m p l e x _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' T i m e '    

i v _ a b a p _ f i e l d n a m e = ' T I M E ' ) .    

l o _ c o m p l e x _ t y p e - > b i n d _ s t r u c t u r e (      

' Z _ C L _ G W 1 0 0 _ M P _ n n = > L O C A T I O N _ S ' ) .    

" C o m p l e x t y p e f o r G e o C o o r d i n a t e s      

l o _ c o m p l e x _ t y p e = m o d e l - > c r e a t e _ c o m p l e x _ t y p e (      

' G e o C o o r d i n a t e s ' ) .    

l o _ c o m p l e x _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' L o n g i t u d e '    

i v _ a b a p _ f i e l d n a m e = ' L O N G I T U D E ' ) .    

l o _ c o m p l e x _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' L a t i t u d e '    

i v _ a b a p _ f i e l d n a m e = ' L A T I T U D E ' ) .    

l o _ c o m p l e x _ t y p e - > b i n d _ s t r u c t u r e (      

' Z _ C L _ G W 1 0 0 _ M P _ n n = > G E O C O O R D I N A T E S _ S ' ) .    

H i n t :      D o n o t f o r g e t t o c o r r e c t t h e c l a s s r e f e r e n c e i n t h e      

b i n d _ s t r u c t u r e ( ) m e t h o d        c a l l s t o p o i n t t o y o u r m o d e l p r o v i d e r    

c l a s s !    

 j ) S a v e a n d a c t i v a t e y o u r c h a n g e s . 

k ) G o b a c k t o y o u r b r o w s e r a n d r e - i s s u e t h e        $ m e t a d a t a        U R L .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 9 3   

Page 210: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 210/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

l ) Y o u c a n n o w s e e t h a t a l t h o u g h t h e c o m p l e x t y p e s f o r      G e o C o o r d i n a t e s    

a n d     L o c a t i o n        h a v e n o t y e t b e e n a s s i g n e d t o a n e n t i t y , t h e y e x i s t i n t h e      

m e t a d a t a d e n i t i o n . ( T h e X M L h a s b e e n f o r m a t t e d f o r c l a r i t y . )    < C o m p l e x T y p e N a m e = " L o c a t i o n " >      

< P r o p e r t y N a m e = " C o u n t r y " T y p e = " E d m . S t r i n g " N u l l a b l e = " t r u e " / >      

< P r o p e r t y N a m e = " C i t y " T y p e = " E d m . S t r i n g " N u l l a b l e = " t r u e " / >      

< P r o p e r t y N a m e = " A i r p o r t " T y p e = " E d m . S t r i n g " N u l l a b l e = " t r u e " / >      

< P r o p e r t y N a m e = " T i m e " T y p e = " E d m . T i m e " N u l l a b l e = " t r u e "      

s a p : l a b e l = " D e p a r t u r e " / >      

< / C o m p l e x T y p e >      

< C o m p l e x T y p e N a m e = " G e o C o o r d i n a t e s " >      

< P r o p e r t y N a m e = " L o n g i t u d e " T y p e = " E d m . D o u b l e "      

s a p : l a b e l = " L o n g i t u d e " N u l l a b l e = " t r u e " / >      

< P r o p e r t y N a m e = " L a t i t u d e " T y p e = " E d m . D o u b l e "      

s a p : l a b e l = " L a t i t u d e " N u l l a b l e = " t r u e " / >      

< / C o m p l e x T y p e >      

2 .    D e n e t h e R e m a i n i n g E n t i t y T y p e s    

S e v e r a l m o r e e n t i t y t y p e s n e e d t o b e d e n e d . S p e c i c a l l y , t h e s e a r e t h e      

 A i r p o r t    a n d     F l i g h t      e n t i t y t y p e s . A s w i t h t h e o t h e r e n t i t y t y p e s w e h a v e      

c r e a t e d , w e w i l l r e f e r e n c e b u i l t - i n d a t a t y p e s w i t h i n o u r m o d e l p r o v i d e r    

c l a s s Z _ C L _ G W 1 0 0 _ M P _        n n     t h a t i n t u r n , d e r i v e t h e i r m e t a d a t a f r o m t h e      

A B A P d i c t i o n a r y .  

a ) G o b a c k t o t h e T y p e s t a b a n d e n t e r t h e n a m e        F L I G H T _ S        o f v i s i b i l i t y      

“ P u b l i c ” a n d p r e s s t h e t y p e d e n i t i o n b u t t o n .  

 b ) R e p l a c e t h e s t a t e m e n t    t y p e s      i g h t _ s .    w i t h t h e f o l l o w i n g t y p e d e n i t i o n s    

t y p e s :    

b e g i n o f f l i g h t _ s ,    

a i r l i n e i d t y p e s p f l i - c a r r i d ,    

c o n n e c t i o n n o t y p e s p f l i - c o n n i d ,    

f l i g h t d a t e t y p e s f l i g h t - f l d a t e ,    

p r i c e t y p e s f l i g h t - p r i c e ,    

c u r r e n c y c o d e t y p e s f l i g h t - c u r r e n c y ,    

d i s t a n c e t y p e s p f l i - d i s t a n c e ,    

d i s t a n c e u n i t t y p e s p f l i - d i s t i d ,    

f l i g h t t i m e t y p e s p f l i - f l t i m e ,    

p l a n e t y p e t y p e s f l i g h t - p l a n e t y p e ,    

d e p a r t u r e t y p e l o c a t i o n _ s ,    

a r r i v a l t y p e l o c a t i o n _ s ,    

t i t l e t y p e s t r i n g ,    

e n d o f f l i g h t _ s .    

t y p e s :    

f l i g h t s _ t t y p e s t a n d a r d t a b l e o f f l i g h t _ s .    

C o n t i n u e d o n n e x t p a g e      

1 9 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 211: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 211/346

Page 212: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 212/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' A i r l i n e I d '    

i v _ a b a p _ f i e l d n a m e = ' A I R L I N E I D ' ) .    l o _ p r o p e r t y - > s e t _ i s _ k e y ( ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' C o n n e c t i o n N o '    

i v _ a b a p _ f i e l d n a m e = ' C O N N E C T I O N N O ' ) .    

l o _ p r o p e r t y - > s e t _ i s _ k e y ( ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' F l i g h t D a t e '    

i v _ a b a p _ f i e l d n a m e = ' F L I G H T D A T E ' ) .    

l o _ p r o p e r t y - > s e t _ i s _ k e y ( ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' P r i c e '    

i v _ a b a p _ f i e l d n a m e = ' P R I C E ' ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' C u r r e n c y C o d e '    

i v _ a b a p _ f i e l d n a m e = ' C U R R E N C Y C O D E ' ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' D i s t a n c e '    

i v _ a b a p _ f i e l d n a m e = ' D I S T A N C E ' ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' D i s t a n c e U n i t '    

i v _ a b a p _ f i e l d n a m e = ' D I S T A N C E U N I T ' ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' F l i g h t T i m e '    i v _ a b a p _ f i e l d n a m e = ' F L I G H T T I M E ' ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' P l a n e T y p e '    

i v _ a b a p _ f i e l d n a m e = ' P L A N E T Y P E ' ) .    

l o _ e n t i t y _ t y p e - > c r e a t e _ c o m p l e x _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' D e p a r t u r e '    

i v _ c o m p l e x _ t y p e _ n a m e = ' L o c a t i o n ' ) .    

l o _ e n t i t y _ t y p e - > c r e a t e _ c o m p l e x _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' A r r i v a l '    

i v _ c o m p l e x _ t y p e _ n a m e = ' L o c a t i o n ' ) .    

" S e t p r o p e r t y t i t l e a s a t o m t i t l e a n d d o n o t k e e p t h e p r o p e r t y      

" i n t h e c o n t e n t      

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' T i t l e '    

i v _ a b a p _ f i e l d n a m e = ' T I T L E ' ) .    

l o _ p r o p e r t y - > s e t _ a s _ t i t l e ( i v _ k e e p _ i n _ c o n t e n t = a b a p _ f a l s e ) .    

l o _ e n t i t y _ t y p e - > b i n d _ s t r u c t u r e ( ' Z _ C L _ G W 1 0 0 _ M P _ n n = > F L I G H T _ S ' ) .    

" N a m e t h e E n t i t y S e t F l i g h t s i n s t e a d o f t h e d e f a u l t      

" F l i g h t C o l l e c t i o n      

C o n t i n u e d o n n e x t p a g e      

1 9 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 213: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 213/346

G W 1 0 0 L e s s o n : C r e a t i n g C o m p l e x T y p e s      

l o _ e n t i t y _ t y p e - > c r e a t e _ e n t i t y _ s e t ( ' F l i g h t s ' ) .    

e ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

f ) G o b a c k t o t h e b r o w s e r a n d r e - i s s u e t h e        $ m e t a d a t a        U R L .  

g ) Y o u w i l l n o w s e e t h a t t h e r e a r e t w o e x t r a        < E n t i t y T y p e >        e l e m e n t s –      

o n e f o r      F l i g h t      a n d o n e f o r      A i r p o r t     . 

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 9 7   

Page 214: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 214/346

U n i t 4 : O D a t a C h a n n e l M o d e l P r o v i d e r G W 1 0 0      

L e s s o n S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  • U n d e r s t a n d h o w t o c r e a t e c o m p l e x d a t a t y p e s f o r u s e i n O D a t a e n t i t y t y p e s .  

1 9 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 215: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 215/346

G W 1 0 0 U n i t S u m m a r y      

U n i t S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  

• U n d e r s t a n d t h e a r c h i t e c t u r a l e l e m e n t s n e e d e d t o b u i l d a G a t e w a y S e r v i c e .  

• U n d e r s t a n d h o w t o b u i l d a b a s i c G a t e w a y M o d e l P r o v i d e r C l a s s .  

• U n d e r s t a n d h o w t o c r e a t e a b a s i c D a t a P r o v i d e r c l a s s .  

• C o n g u r e a G a t e w a y S e r v i c e .  

• T e s t t h e p a r t i a l s e r v i c e i n a b r o w s e r .  

• D i s p l a y t h e s e r v i c e ’ s m e t a d a t a .  

• U n d e r s t a n d h o w t o c r e a t e c o m p l e x d a t a t y p e s f o r u s e i n O D a t a e n t i t y t y p e s .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     1 9 9   

Page 216: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 216/346

U n i t S u m m a r y G W 1 0 0      

2 0 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 217: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 217/346

Page 218: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 218/346

Page 219: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 219/346

U n i t 5        O D a t a C h a n n e l D a t a P r o v i d e r      

U n i t O v e r v i e w          

I n t h i s u n i t , y o u w i l l l e a r n h o w t o i m p l e m e n t t h e b u s i n e s s f u n c t i o n a l i t y o f a      

G a t e w a y s e r v i c e i n a n A B A P c l a s s k n o w n a s t h e D a t a P r o v i d e r c l a s s .  

U n i t O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s u n i t , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d a r c h i t e c t u r a l p r i n c i p l e s .  

• U n d e r s t a n d t h e R e l a t i o n s h i p b e t w e e n H T T P R e q u e s t s , O D a t a O p e r a t i o n s    

a n d M e t h o d s i n t h e D a t a P r o v i d e r C l a s s .  

• U n d e r s t a n d h o w t o i m p l e m e n t t h e Q U E R Y a n d R E A D o p e r a t i o n s .  

• U n d e r s t a n d h o w t o i m p l e m e n t t h e C R E A T E o p e r a t i o n w i t h i n a G a t e w a y      

D a t a P r o v i d e r C l a s s .  

• U n d e r s t a n d h o w t o i m p l e m e n t a c u s t o m O D a t a a c t i o n .  

• U n d e r s t a n d h o w E n t i t y T y p e s i n a D a t a M o d e l a r e R e l a t e d U s i n g      

A s s o c i a t i o n s .  

• U n d e r s t a n d h o w A s s o c i a t i o n s a r e I m p l e m e n t e d a t R u n t i m e U s i n g N a v i g a t i o n      

P a t h s .  

U n i t C o n t e n t s      

L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d . . . . . . . . . . . . . . . . . . . . . . . . 2 0 2      

E x e r c i s e 9 : I m p l e m e n t t h e Q U E R Y O p e r a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . 2 0 7      

E x e r c i s e 1 0 : I m p l e m e n t t h e R E A D O p e r a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 1    

L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e . . . . . . . . . . . . . . . . . . . . . . 2 3 3      E x e r c i s e 1 1 : I m p l e m e n t t h e C R E A T E O p e r a t i o n . . . . . . . . . . . . . . . . . . . . . . . 2 3 9      

E x e r c i s e 1 2 : I m p l e m e n t C a n c e l B o o k i n g C u s t o m A c t i o n . . . . . . . . . . . . . . 2 5 5      

L e s s o n : U s i n g A s s o c i a t i o n s a n d N a v i g a t i o n P a t h s . . . . . . . . . . . . . . . . . . . . . . . . . 2 6 3      

E x e r c i s e 1 3 : C r e a t e A s s o c i a t i o n s a n d N a v i g a t i o n P r o p e r t i e s . . . . . . . . 2 6 9      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 0 1   

Page 220: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 220/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

L e s s o n O v e r v i e w          

T h i s l e s s o n c o v e r s t h e f o l l o w i n g d e v e l o p m e n t a s p e c t s o f a G a t e w a y D a t a P r o v i d e r    

C l a s s    

• A r c h i t e c t u r a l p r i n c i p l e s    

• T h e R e l a t i o n s h i p b e t w e e n H T T P R e q u e s t s , O D a t a O p e r a t i o n s a n d M e t h o d s    

i n t h e D a t a P r o v i d e r C l a s s    

• H o w t o i m p l e m e n t t h e Q U E R Y a n d R E A D o p e r a t i o n s    

L e s s o n O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d a r c h i t e c t u r a l p r i n c i p l e s .  

• U n d e r s t a n d t h e R e l a t i o n s h i p b e t w e e n H T T P R e q u e s t s , O D a t a O p e r a t i o n s    

a n d M e t h o d s i n t h e D a t a P r o v i d e r C l a s s .  

• U n d e r s t a n d h o w t o i m p l e m e n t t h e Q U E R Y a n d R E A D o p e r a t i o n s .  

B u s i n e s s E x a m p l e      

D a t a P r o v i d e r C l a s s      

F i g u r e 2 6 7 : G a t e w a y S e r v i c e A r c h i t e c t u r e      

T h e     d e v e l o p m e n t      o f a G a t e w a y S e r v i c e t a k e s p l a c e o n w h i c h e v e r s y s t e m h a s t h e      

I W _ B E P c o m p o n e n t i n s t a l l e d .  

2 0 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 221: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 221/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

T h e     a c t i v a t i o n        o f a G a t e w a y s e r v i c e t a k e s p l a c e i n w h i c h e v e r S A P s y s t e m h a s    

t h e G W _ C O R E c o m p o n e n t i n s t a l l e d .  

I t i s e n t i r e l y p o s s i b l e t h a t t h e s e m a y b e d i f f e r e n t s y s t e m s .  

F i g u r e 2 6 8 : G a t e w a y D a t a P r o v i d e r C l a s s - G e n e r a l A r c h i t e c t u r e      

T h e     d e v e l o p m e n t      o f a G a t e w a y S e r v i c e t a k e s p l a c e o n w h i c h e v e r s y s t e m h a s t h e      

I W _ B E P c o m p o n e n t i n s t a l l e d .  

T h e     a c t i v a t i o n        o f a G a t e w a y s e r v i c e t a k e s p l a c e i n w h i c h e v e r S A P s y s t e m h a s    t h e G W _ C O R E c o m p o n e n t i n s t a l l e d .  

I t i s e n t i r e l y p o s s i b l e t h a t t h e s e m a y b e d i f f e r e n t s y s t e m s .  

F i g u r e 2 6 9 : O n e D a t a P r o v i d e r C l a s s p e r E n t i t y T y p e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 0 3   

Page 222: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 222/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

F i g u r e 2 7 0 : H T T P R e q u e s t - O D a t a O p e r a t i o n - A B A P M e t h o d      

Q U E R Y a n d R E A D O p e r a t i o n s      

F i g u r e 2 7 1 : Q U E R Y a n d R E A D O p e r a t i o n s i n T o p L e v e l D a t a P r o v i d e r      

2 0 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 223: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 223/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

F i g u r e 2 7 2 : G E T _ E N T I T Y S E T M e t h o d i n T o p L e v e l D a t a P r o v i d e r C l a s s      

F i g u r e 2 7 3 : I m p l e m e n t G E T _ E N T I T Y S E T i n E a c h D a t a P r o v i d e r C l a s s      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 0 5   

Page 224: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 224/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

F i g u r e 2 7 4 : G E T _ E N T I T Y M e t h o d i n T o p L e v e l D a t a P r o v i d e r C l a s s      

F i g u r e 2 7 5 : I m p l e m e n t G E T _ E N T I T Y i n E a c h D a t a P r o v i d e r C l a s s      

2 0 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 225: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 225/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

E x e r c i s e 9 : I m p l e m e n t t h e Q U E R Y        

O p e r a t i o n      E x e r c i s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s e x e r c i s e , y o u w i l l b e a b l e t o :  

• C r e a t e a G a t e w a y s e r v i c e p r o v i d i n g c u s t o m i z e d i g h t i n f o r m a t i o n      

B u s i n e s s E x a m p l e      

Y o u w i s h t o p r o v i d e a G a t e w a y s e r v i c e t h a t d i s p l a y s i g h t i n f o r m a t i o n .  

I n a G a t e w a y D a t a P r o v i d e r c l a s s , t h e Q U E R Y o p e r a t i o n i s i m p l e m e n t e d b y t h e      

G E T _ E N T I T Y S E T m e t h o d a n d t h e R E A D o p e r a t i o n i s i m p l e m e n t e d b y t h e      G E T _ E N T I T Y m e t h o d .  

I n o u r c a s e , w e h a v e a t o t a l o f f o u r D a t a P r o v i d e r c l a s s ; o n e t o p l e v e l D a t a      

P r o v i d e r , a n d t h r e e s u b o r d i n a t e D a t a P r o v i d e r c l a s s e s f o r e a c h o f t h e e n t i t y t y p e s    

i n o u r d a t a m o d e l .  

T h e r e f o r e , w e m u s t i m p l e m e n t t h e G E T _ E N T I T Y S E T a n d G E T _ E N T I T Y        

m e t h o d s i n a l l f o u r c l a s s e s .  

S o f a r , w e h a v e a l r e a d y c r e a t e d a t o p l e v e l D a t a P r o v i d e r c l a s s , b u t i t c o n t a i n s    

n o f u n c t i o n a l i t y .  

A l s o , n o n e o f t h e s u b o r d i n a t e d a t a p r o v i d e r c l a s s e s e x i s t y e t .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 0 7   

Page 226: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 226/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

T a s k :    

F i g u r e 2 7 6 : G a t e w a y D a t a P r o v i d e r      

1 .    C r e a t e S u b o r d i n a t e D a t a P r o v i d e r C l a s s e s    

2 .    I m p l e m e n t M e t h o d G E T _ E N T I T Y S E T i n t h e T o p L e v e l D a t a P r o v i d e r      C l a s s    

3 .    I m p l e m e n t M e t h o d G E T _ E N T I T Y S E T i n t h e A i r p o r t D a t a P r o v i d e r      

C l a s s    

4 .    I m p l e m e n t M e t h o d G E T _ E N T I T Y S E T i n t h e F l i g h t D a t a P r o v i d e r C l a s s    

5 .    I m p l e m e n t M e t h o d G E T _ E N T I T Y S E T i n t h e B o o k i n g D a t a P r o v i d e r      

C l a s s    

6 .    T e s t t h e Q U E R Y O p e r a t i o n s F r o m A B r o w s e r      

2 0 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 227: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 227/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

S o l u t i o n 9 : I m p l e m e n t t h e Q U E R Y        

O p e r a t i o n      T a s k :    

F i g u r e 2 7 7 : G a t e w a y D a t a P r o v i d e r      

1 .    C r e a t e S u b o r d i n a t e D a t a P r o v i d e r C l a s s e s    

a ) L o g o n t o t h e G a t e w a y S e r v i c e d e v e l o p m e n t s y s t e m .  

 b ) R u n t r a n s a c t i o n S E 8 0 . 

c ) C r e a t e t h r e e n e w A B A P c l a s s e s : o n e f o r e a c h e n t i t y t y p e i n t h e d a t a      

m o d e l .  

T h e A B A P c l a s s e s a r e n a m e d :  

Z C L _ G W 1 0 0 _ D P _ A I R P O R T _        n n   Z C L _ G W 1 0 0 _ D P _ F L I G H T _        n n   

Z C L _ G W 1 0 0 _ D P _ B O O K I N G _        n n   

W h e r e        n n     i s y o u r g r o u p n u m b e r .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 0 9   

Page 228: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 228/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

F i g u r e 2 7 8 : C r e a t e C l a s s      

F i g u r e 2 7 9 : C l a s s I n t e r f a c e      

E a c h c l a s s      m u s t      i m p l e m e n t t h e i n t e r f a c e      

/ I W B E P / I F _ M G W _ A P P L _ S R V _ R U N T I M E .  

F o r e a c h n e w c l a s s , s a v e a n d a c t i v a t e y o u r c h a n g e s .  

2 .    I m p l e m e n t M e t h o d G E T _ E N T I T Y S E T i n t h e T o p L e v e l D a t a P r o v i d e r      

C l a s s    

a ) E d i t y o u r t o p l e v e l D a t a P r o v i d e r c l a s s Z C L _ G W 1 0 0 _ D P _        n n     . 

 b ) E x p a n d     M e t h o d s → I n h e r i t e d M e t h o d s →            

 / I W B E P / I F _ M G W _ A P P L _ S R V _ R U N T I M E    

c ) R i g h t c l i c k o n m e t h o d G E T _ E N T I T Y S E T a n d s e l e c t R e d e n e f r o m t h e      c o n t e x t m e n u .  

d ) R e p l a c e t h e c o n t e n t s o f m e t h o d G E T _ E N T I T Y S E T w i t h t h e f o l l o w i n g      

c o d e .  

B e c a r e f u l t o r e p l a c e t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w w i t h t h e      

c o r r e c t n a m e o f y o u r D a t a o r M o d e l P r o v i d e r c l a s s .  

C o n t i n u e d o n n e x t p a g e      

2 1 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 229: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 229/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

M E T H O D / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y s e t .    

d a t a :    

* R e f e r e n c e t h e s p e c i f i c d a t a p r o v i d e r c l a s s f o r e a c h e n t i t y s e t      l o _ a i r p o r t t y p e r e f t o z c l _ g w 1 0 0 _ d p _ a i r p o r t _ n n ,    

l o _ f l i g h t t y p e r e f t o z c l _ g w 1 0 0 _ d p _ f l i g h t _ n n ,    

l o _ b o o k i n g t y p e r e f t o z c l _ g w 1 0 0 _ d p _ b o o k i n g _ n n .    

* W h a t e n t i t y s e t h a s b e e n r e q u e s t e d ?      

* B e c a r e f u l ! T h e e n t i t y s e t n a m e s a r e c a s e - s e n s i t i v e !    

c a s e i v _ e n t i t y _ s e t _ n a m e .    

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

* A I R P O R T S      

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

w h e n ' A i r p o r t s ' .    

c r e a t e :    

o b j e c t l o _ a i r p o r t ,    

d a t a e r _ e n t i t y s e t t y p e z c l _ g w 1 0 0 _ m p _ n n = > a i r p o r t s _ t .    

l o _ a i r p o r t - > / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y s e t (      

e x p o r t i n g i v _ e n t i t y _ n a m e = i v _ e n t i t y _ n a m e      

i v _ s o u r c e _ n a m e = i v _ s o u r c e _ n a m e      

i v _ e n t i t y _ s e t _ n a m e = i v _ e n t i t y _ s e t _ n a m e      

i t _ f i l t e r _ s e l e c t _ o p t i o n s = i t _ f i l t e r _ s e l e c t _ o p t i o n s      

i t _ o r d e r = i t _ o r d e r      

i s _ p a g i n g = i s _ p a g i n g      

i t _ n a v i g a t i o n _ p a t h = i t _ n a v i g a t i o n _ p a t h      

i t _ k e y _ t a b = i t _ k e y _ t a b      

i v _ f i l t e r _ s t r i n g = i v _ f i l t e r _ s t r i n g      i v _ s e a r c h _ s t r i n g = i v _ s e a r c h _ s t r i n g      

i m p o r t i n g e r _ e n t i t y s e t = e r _ e n t i t y s e t ) .    

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

* F L I G H T S      

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

w h e n ' F l i g h t s ' .    

c r e a t e :    

o b j e c t l o _ f l i g h t ,    

d a t a e r _ e n t i t y s e t t y p e z c l _ g w 1 0 0 _ m p _ n n = > f l i g h t s _ t .    

l o _ f l i g h t - > / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y s e t (      

e x p o r t i n g i v _ e n t i t y _ n a m e = i v _ e n t i t y _ n a m e      

i v _ s o u r c e _ n a m e = i v _ s o u r c e _ n a m e      

i v _ e n t i t y _ s e t _ n a m e = i v _ e n t i t y _ s e t _ n a m e      

i t _ f i l t e r _ s e l e c t _ o p t i o n s = i t _ f i l t e r _ s e l e c t _ o p t i o n s      

i t _ o r d e r = i t _ o r d e r      

i s _ p a g i n g = i s _ p a g i n g      

i t _ n a v i g a t i o n _ p a t h = i t _ n a v i g a t i o n _ p a t h      

i t _ k e y _ t a b = i t _ k e y _ t a b      

i v _ f i l t e r _ s t r i n g = i v _ f i l t e r _ s t r i n g      

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 1 1   

Page 230: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 230/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

i v _ s e a r c h _ s t r i n g = i v _ s e a r c h _ s t r i n g      

i m p o r t i n g e r _ e n t i t y s e t = e r _ e n t i t y s e t ) .    

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      * B O O K I N G S      

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

w h e n ' B o o k i n g s ' .    

c r e a t e :    

o b j e c t l o _ b o o k i n g ,    

d a t a e r _ e n t i t y s e t t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g s _ t .    

l o _ b o o k i n g - > / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y s e t (      

e x p o r t i n g i v _ e n t i t y _ n a m e = i v _ e n t i t y _ n a m e      

i v _ s o u r c e _ n a m e = i v _ s o u r c e _ n a m e      

i v _ e n t i t y _ s e t _ n a m e = i v _ e n t i t y _ s e t _ n a m e      

i t _ f i l t e r _ s e l e c t _ o p t i o n s = i t _ f i l t e r _ s e l e c t _ o p t i o n s      

i t _ o r d e r = i t _ o r d e r      

i s _ p a g i n g = i s _ p a g i n g      

i t _ n a v i g a t i o n _ p a t h = i t _ n a v i g a t i o n _ p a t h      

i t _ k e y _ t a b = i t _ k e y _ t a b      

i v _ f i l t e r _ s t r i n g = i v _ f i l t e r _ s t r i n g      

i v _ s e a r c h _ s t r i n g = i v _ s e a r c h _ s t r i n g      

i m p o r t i n g e r _ e n t i t y s e t = e r _ e n t i t y s e t ) .    

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

* S o m e t h i n g e l s e . . .    

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

w h e n o t h e r s .    

" A d d h a n d l e r h e r e      e n d c a s e .    

e n d m e t h o d .    

e ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

3 .    I m p l e m e n t M e t h o d G E T _ E N T I T Y S E T i n t h e A i r p o r t D a t a P r o v i d e r      

C l a s s    

a ) E d i t y o u r A i r p o r t D a t a P r o v i d e r c l a s s    

Z C L _ G W 1 0 0 _ D P _ A I R P O R T _        n n     . 

 b ) E x p a n d t h e b r a n c h   

 M e t h o d s → / I W B E P / I F _ M G W _ A P P L _ S R V _ R U N T I M E    

C o n t i n u e d o n n e x t p a g e      

2 1 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 231: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 231/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

F i g u r e 2 8 0 : M e t h o d s      

c ) R i g h t c l i c k o n G E T _ E N T I T Y S E T a n d f r o m t h e c o n t e x t m e n u , s e l e c t    

C h a n g e → I m p l e m e n t a t i o n        . 

F i g u r e 2 8 1 :      C h a n g e → I m p l e m e n t a t i o n        

d ) R e p l a c e t h e e n t i r e m e t h o d w i t h t h e f o l l o w i n g c o d e , r e m e m b e r i n g t o      

u p d a t e t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w :  m e t h o d / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y s e t .    

d a t a :    

" S t r u c t u r e f o r o n e a i r p o r t      

l s _ a i r p o r t t y p e z c l _ g w 1 0 0 _ m p _ n n = > a i r p o r t _ s ,    

" T a b l e o f a i r p o r t s      

l t _ a i r p o r t s t y p e s t a n d a r d t a b l e o f s p f l i ,    

" S i n g l e v a l u e s n e e d e d i n o u t p u t s t r u c t u r e      

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 1 3   

Page 232: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 232/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

l v _ a i r p o r t t y p e s p f l i - a i r p f r o m ,    

l v _ c o u n t r y t y p e s p f l i - c o u n t r y f r .    

f i e l d - s y m b o l s :    < a i r p o r t > t y p e s p f l i ,    

< k e y > t y p e / i w b e p / s _ m g w _ n a m e _ v a l u e _ p a i r ,    

< f s _ a i r p o r t s > t y p e z c l _ g w 1 0 0 _ m p _ n n = > a i r p o r t s _ t .    

* C r e a t e t h e o u t p u t d a t a s t r u c t u r e a n d a s s i g n i t s f i e l d s t o      

* t h e f i e l d s y m b o l      

c r e a t e d a t a e r _ e n t i t y s e t t y p e z c l _ g w 1 0 0 _ m p _ n n = > a i r p o r t s _ t .    

a s s i g n e r _ e n t i t y s e t - > * t o < f s _ a i r p o r t s > .    

* I s t h e r e a n a v i g a t i o n p a t h t h a t n e e d s t o b e f o l l o w e d ?      

i f i t _ n a v i g a t i o n _ p a t h i s i n i t i a l .    

" N o p e , s o i n t h i s c a s e , w e a r e s i m p l y o b t a i n i n g a      

" l i s t o f a l l a v a i l a b l e a i r p o r t s      

s e l e c t d i s t i n c t a i r p f r o m c i t y f r o m c o u n t r y f r      

i n t o c o r r e s p o n d i n g f i e l d s o f t a b l e l t _ a i r p o r t s      

f r o m s p f l i      

u p t o i s _ p a g i n g - t o p r o w s .    

e l s e .    

" Y u p , s o n o w w e n e e d t o r e a d o n l y t h o s e a i r p o r t s      

" t h a t c a n b e r e a c h e d d i r e c t l y f r o m t h e c u r r e n t a i r p o r t .    

" T h e c u r r e n t a i r p o r t i s s u p p l i e d i n t h e i t _ k e y _ t a b t a b l e      

r e a d t a b l e i t _ k e y _ t a b a s s i g n i n g < k e y > i n d e x 1 .    

s e l e c t d i s t i n c t a i r p t o c i t y t o c o u n t r y t o      

i n t o c o r r e s p o n d i n g f i e l d s o f t a b l e l t _ a i r p o r t s      

f r o m s p f l i      u p t o i s _ p a g i n g - t o p r o w s      

w h e r e a i r p f r o m = < k e y > - v a l u e .    

e n d i f .    

" T r a n s f e r t h e l i s t o f a i r p o r t s t o t h e o u t p u t s t r u c t u r e      

l o o p a t l t _ a i r p o r t s a s s i g n i n g < a i r p o r t > .    

" A r e w e f o l l o w i n g a n a v i g a t i o n p a t h ?      

i f i t _ n a v i g a t i o n _ p a t h i s i n i t i a l .    

" N o p e , s o u s e t h e ' f r o m ' v a l u e s      

l v _ a i r p o r t = < a i r p o r t > - a i r p f r o m .    

l v _ c o u n t r y = < a i r p o r t > - c o u n t r y f r .    

l s _ a i r p o r t - n a m e = < a i r p o r t > - c i t y f r o m .    

e l s e .    

" Y u p , s o u s e t h e ' t o ' v a l u e s      

l v _ a i r p o r t = < a i r p o r t > - a i r p t o .    

l v _ c o u n t r y = < a i r p o r t > - c o u n t r y t o .    

l s _ a i r p o r t - n a m e = < a i r p o r t > - c i t y t o .    

e n d i f .    

" P o p u l a t e t h e o u t p u t s t r u c t u r e      

l s _ a i r p o r t - i a t a c o d e = l v _ a i r p o r t .    

C o n t i n u e d o n n e x t p a g e      

2 1 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 233: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 233/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

l s _ a i r p o r t - u r l = z c l _ g w 1 0 0 _ h e l p e r = > g e t _ u r l _ f o r _ a i r p o r t (      

a i r p o r t = l v _ a i r p o r t ) .    

c o n c a t e n a t e l s _ a i r p o r t - n a m e ' - ' l v _ a i r p o r t      i n t o l s _ a i r p o r t - t i t l e      

s e p a r a t e d b y s p a c e .    

l s _ a i r p o r t - g e o c o o r d i n a t e s - l a t i t u d e =      

z c l _ g w 1 0 0 _ h e l p e r = > g e t _ l a t i t u d e _ f o r _ a i r p o r t (      

c i t y = l s _ a i r p o r t - n a m e      

c o u n t r y = l v _ c o u n t r y ) .    

l s _ a i r p o r t - g e o c o o r d i n a t e s - l o n g i t u d e =      

z c l _ g w 1 0 0 _ h e l p e r = > g e t _ l o n g i t u d e _ f o r _ a i r p o r t (      

c i t y = l s _ a i r p o r t - n a m e      

c o u n t r y = l v _ c o u n t r y ) .    

a p p e n d l s _ a i r p o r t t o < f s _ a i r p o r t s > .    

e n d l o o p .    

e n d m e t h o d .    

e ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

4 .    I m p l e m e n t M e t h o d G E T _ E N T I T Y S E T i n t h e F l i g h t D a t a P r o v i d e r C l a s s    

a ) E d i t y o u r F l i g h t D a t a P r o v i d e r c l a s s Z C L _ G W 1 0 0 _ D P _ F L I G H T _        n n     . 

 b ) C r e a t e a n e w p r i v a t e t y p e i n t h i s c l a s s c a l l e d F L I G H T _ S u s i n g t h e   

f o l l o w i n g d e n i t i o n :  

t y p e s :    

b e g i n o f f l i g h t _ s .    i n c l u d e t y p e s p f l i .    

t y p e s :    

f l d a t e t y p e s f l i g h t - f l d a t e ,    

p r i c e t y p e s f l i g h t - p r i c e ,    

c u r r e n c y t y p e s f l i g h t - c u r r e n c y ,    

p l a n e t y p e t y p e s f l i g h t - p l a n e t y p e ,    

e n d o f f l i g h t _ s .    

c ) C h a n g e t h e i m p l e m e n t a t i o n o f m e t h o d G E T _ E N T I T Y S E T .  

d ) R e p l a c e t h e e n t i r e m e t h o d w i t h t h e f o l l o w i n g c o d e , r e m e m b e r i n g t o      

u p d a t e t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w :  

m e t h o d / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y s e t .    

d a t a :    

l t _ f l i g h t s t y p e s t a n d a r d t a b l e o f f l i g h t _ s ,    

l s _ f l i g h t t y p e z c l _ g w 1 0 0 _ m p _ n n = > f l i g h t _ s ,    

l s _ f i l t e r _ a i r p t o t y p e / i w b e p / s _ m g w _ s e l e c t _ o p t i o n ,    

l s _ f i l t e r _ f l d a t e t y p e / i w b e p / s _ m g w _ s e l e c t _ o p t i o n .    

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 1 5   

Page 234: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 234/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

f i e l d - s y m b o l s :    

< f l i g h t > t y p e f l i g h t _ s ,    

< k e y > t y p e / i w b e p / s _ m g w _ n a m e _ v a l u e _ p a i r ,    < s o _ a i r p t o > t y p e / i w b e p / s _ m g w _ s e l e c t _ o p t i o n ,    

< s o _ f l d a t e > t y p e / i w b e p / s _ m g w _ s e l e c t _ o p t i o n ,    

< f s _ f l i g h t s > t y p e z c l _ g w 1 0 0 _ m p _ n n = > f l i g h t s _ t .    

c r e a t e d a t a e r _ e n t i t y s e t t y p e z c l _ g w 1 0 0 _ m p _ n n = > f l i g h t s _ t .    

a s s i g n :    

l s _ f i l t e r _ a i r p t o t o < s o _ a i r p t o > ,    

l s _ f i l t e r _ f l d a t e t o < s o _ f l d a t e > ,    

e r _ e n t i t y s e t - > * t o < f s _ f l i g h t s > .    

" A r e w e f o l l o w i n g a n a v i g a t i o n p a t h ?      

i f i t _ n a v i g a t i o n _ p a t h i s i n i t i a l .    

" N o p e , s o r e a d a l l t h e a v a i l a b l e f l i g h t s      

s e l e c t *      

i n t o c o r r e s p o n d i n g f i e l d s o f t a b l e l t _ f l i g h t s      

u p t o i s _ p a g i n g - t o p r o w s      

f r o m ( s p f l i a s c      

i n n e r j o i n s f l i g h t a s f o n f ~ c a r r i d = c ~ c a r r i d        

a n d f ~ c o n n i d = c ~ c o n n i d ) .    

e l s e .    

" Y u p , s o a p p l y k e y f i e l d a n d s e l e c t o p t i o n s      

r e a d :    t a b l e i t _ k e y _ t a b      

a s s i g n i n g < k e y > i n d e x 1 ,    

t a b l e i t _ f i l t e r _ s e l e c t _ o p t i o n s      

a s s i g n i n g < s o _ a i r p t o >      

w i t h k e y p r o p e r t y = ' A i r p o r t T o ' ,    

t a b l e i t _ f i l t e r _ s e l e c t _ o p t i o n s      

a s s i g n i n g < s o _ f l d a t e >      

w i t h k e y p r o p e r t y = ' F l i g h t D a t e ' .    

s e l e c t *      

i n t o c o r r e s p o n d i n g f i e l d s o f t a b l e l t _ f l i g h t s      

u p t o i s _ p a g i n g - t o p r o w s      

f r o m ( s p f l i a s c      

i n n e r j o i n s f l i g h t a s f o n f ~ c a r r i d = c ~ c a r r i d        

a n d f ~ c o n n i d = c ~ c o n n i d )    

w h e r e c ~ a i r p f r o m = < k e y > - v a l u e a n d        

c ~ a i r p t o i n < s o _ a i r p t o > - s e l e c t _ o p t i o n s a n d        

f ~ f l d a t e i n < s o _ f l d a t e > - s e l e c t _ o p t i o n s .    

e n d i f .    

C o n t i n u e d o n n e x t p a g e      

2 1 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 235: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 235/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

" T r a n s f e r a l l t h e f l i g h t i n f o r m a t i o n f r o m t h e S P F L I      

" s t r u c t u r e d t a b l e , t o t h e o u t p u t s t r u c t u r e d t a b l e .    l o o p a t l t _ f l i g h t s a s s i g n i n g < f l i g h t > .    

c l e a r l s _ f l i g h t .    

l s _ f l i g h t - a i r l i n e i d = < f l i g h t > - c a r r i d .    

l s _ f l i g h t - c o n n e c t i o n n o = < f l i g h t > - c o n n i d .    

l s _ f l i g h t - f l i g h t d a t e = < f l i g h t > - f l d a t e .    

l s _ f l i g h t - p r i c e = < f l i g h t > - p r i c e .    

l s _ f l i g h t - c u r r e n c y c o d e = < f l i g h t > - c u r r e n c y .    

l s _ f l i g h t - d i s t a n c e = < f l i g h t > - d i s t a n c e .    

l s _ f l i g h t - d i s t a n c e u n i t = < f l i g h t > - d i s t i d .    

l s _ f l i g h t - f l i g h t t i m e = < f l i g h t > - f l t i m e .    

l s _ f l i g h t - p l a n e t y p e = < f l i g h t > - p l a n e t y p e .    

l s _ f l i g h t - d e p a r t u r e - a i r p o r t = < f l i g h t > - a i r p f r o m .    

l s _ f l i g h t - d e p a r t u r e - c i t y = < f l i g h t > - c i t y f r o m .    

l s _ f l i g h t - d e p a r t u r e - c o u n t r y = < f l i g h t > - c o u n t r y f r .    

l s _ f l i g h t - d e p a r t u r e - t i m e = < f l i g h t > - d e p t i m e .    

l s _ f l i g h t - a r r i v a l - a i r p o r t = < f l i g h t > - a i r p t o .    

l s _ f l i g h t - a r r i v a l - c i t y = < f l i g h t > - c i t y t o .    

l s _ f l i g h t - a r r i v a l - c o u n t r y = < f l i g h t > - c o u n t r y t o .    

l s _ f l i g h t - a r r i v a l - t i m e = < f l i g h t > - a r r t i m e .    

c o n c a t e n a t e ` F l i g h t ` l s _ f l i g h t - a i r l i n e i d        

l s _ f l i g h t - c o n n e c t i o n n o      ` o n ` l s _ f l i g h t - f l i g h t d a t e      

i n t o l s _ f l i g h t - t i t l e .    

a p p e n d l s _ f l i g h t t o < f s _ f l i g h t s > .    

e n d l o o p .    

e n d m e t h o d .    

e ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

5 .    I m p l e m e n t M e t h o d G E T _ E N T I T Y S E T i n t h e B o o k i n g D a t a P r o v i d e r      

C l a s s    

a ) E d i t y o u r F l i g h t D a t a P r o v i d e r c l a s s Z C L _ G W 1 0 0 _ D P _ B O O K I N G _ n n .  

 b ) C r e a t e a n e w p r i v a t e t y p e i n t h i s c l a s s c a l l e d B O O K I N G _ S u s i n g t h e   

f o l l o w i n g d e n i t i o n :  t y p e s :    

b e g i n o f b o o k i n g _ s .    

t y p e s :    

c a r r i d t y p e s b o o k - c a r r i d ,    

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 1 7   

Page 236: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 236/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

c o n n i d t y p e s b o o k - c o n n i d ,    

f l d a t e t y p e s b o o k - f l d a t e ,    

b o o k i d t y p e s b o o k - b o o k i d ,    c u s t o m i d t y p e s b o o k - c u s t o m i d ,    

p a s s n a m e t y p e s b o o k - p a s s n a m e ,    

a g e n c y n u m t y p e s b o o k - a g e n c y n u m ,    

f o r c u r a m t y p e s b o o k - f o r c u r a m ,    

f o r c u r k e y t y p e s b o o k - f o r c u r k e y ,    

o r d e r _ d a t e t y p e s b o o k - o r d e r _ d a t e ,    

c a n c e l l e d t y p e s b o o k - c a n c e l l e d ,    

e n d o f b o o k i n g _ s .    

c ) C h a n g e t h e i m p l e m e n t a t i o n o f m e t h o d G E T _ E N T I T Y S E T .  

d ) R e p l a c e t h e e n t i r e m e t h o d w i t h t h e f o l l o w i n g c o d e , r e m e m b e r i n g t o      u p d a t e t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w :  

m e t h o d / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y s e t .    

d a t a :    

l t _ b o o k i n g s t y p e s t a n d a r d t a b l e o f b o o k i n g _ s ,    

l s _ b o o k i n g t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s ,    

l v _ c a r r i d t y p e s b o o k - c a r r i d ,    

l v _ c o n n i d t y p e s b o o k - c o n n i d ,    

l v _ f l d a t e t y p e s b o o k - f l d a t e ,    

l v _ b o o k i d t y p e s b o o k - b o o k i d ,    

l v _ k l i n e t y p e / i w b e p / s _ m g w _ n a m e _ v a l u e _ p a i r ,    

l v _ l i n e s t y p e i .    

f i e l d - s y m b o l s :    

< b o o k i n g > t y p e b o o k i n g _ s ,    

< f s _ b o o k i n g s > t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g s _ t .    

c r e a t e d a t a e r _ e n t i t y s e t t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g s _ t .    

a s s i g n e r _ e n t i t y s e t - > * t o < f s _ b o o k i n g s > .    

" A r e w e f o l l o w i n g a n a v i g a t i o n p a t h ?      

i f i t _ n a v i g a t i o n _ p a t h i s i n i t i a l .    

" N o p e , s o r e a d a l l a v a i l a b l e b o o k i n g s      

s e l e c t *      

i n t o c o r r e s p o n d i n g f i e l d s o f t a b l e l t _ b o o k i n g s      

u p t o i s _ p a g i n g - t o p r o w s      

f r o m s b o o k .    

e l s e .    

" Y u p , s o r e a d o n l y t h e b o o k i n g i d e n t i f i e d b y t h e k e y v a l u e s      

" W e r e w e p a s s e d a n y k e y v a l u e s      

i f i t _ k e y _ t a b i s n o t i n i t i a l .    

C o n t i n u e d o n n e x t p a g e      

2 1 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 237: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 237/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

" Y u p , s o s e e i f t h e k e y t a b l e c o n t a i n s t h e c o r r e c t n u m b e r      

" o f r o w s      

d e s c r i b e t a b l e i t _ k e y _ t a b l i n e s l v _ l i n e s .    

" D i d w e f i n d t h r e e r o w s      

i f l v _ l i n e s e q 3 .    

" Y u p , s o s e a r c h f o r r e q u i r e d k e y v a l u e s      

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' A i r l i n e I d ' .    

i f s y - s u b r c = 0 .    

l v _ c a r r i d = l v _ k l i n e - v a l u e .    

e n d i f .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' C o n n e c t i o n N o ' .    

i f s y - s u b r c = 0 .    

l v _ c o n n i d = l v _ k l i n e - v a l u e .    

e n d i f .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' F l i g h t D a t e ' .    

i f s y - s u b r c = 0 .    

l v _ f l d a t e = l v _ k l i n e - v a l u e .    

e n d i f .    

e n d i f .    

e n d i f .    

" I f t h e r e q u i r e d k e y v a l u e s a r e n o t s u p p l i e d , t h e n t h e r e a d        

" w i l l f a i l a n d a n u l l r e s u l t w i l l b e p a s s e d b a c k t o t h e c l i e n t .    

s e l e c t *      

i n t o c o r r e s p o n d i n g f i e l d s o f t a b l e l t _ b o o k i n g s      

u p t o i s _ p a g i n g - t o p r o w s      

f r o m s b o o k      

w h e r e c a r r i d = l v _ c a r r i d a n d        

c o n n i d = l v _ c o n n i d a n d        

f l d a t e = l v _ f l d a t e .    

e n d i f .    

" T r a n s f e r t h e d a t a f r o m t h e S B O O K d a t a s t r u c t u r e t o t h e e x p o r t      

" d a t a s t r u c t u r e      

l o o p a t l t _ b o o k i n g s a s s i g n i n g < b o o k i n g > .    

c l e a r l s _ b o o k i n g .    

l s _ b o o k i n g - a i r l i n e i d = < b o o k i n g > - c a r r i d .    

l s _ b o o k i n g - c o n n e c t i o n n o = < b o o k i n g > - c o n n i d .    

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 1 9   

Page 238: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 238/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

l s _ b o o k i n g - f l i g h t d a t e = < b o o k i n g > - f l d a t e .    

l s _ b o o k i n g - b o o k i n g i d = < b o o k i n g > - b o o k i d .    

l s _ b o o k i n g - c u s t o m e r n o = < b o o k i n g > - c u s t o m i d .    l s _ b o o k i n g - c u s t o m e r n a m e = < b o o k i n g > - p a s s n a m e .    

l s _ b o o k i n g - p r i c e = < b o o k i n g > - f o r c u r a m .    

l s _ b o o k i n g - c u r r e n c y c o d e = < b o o k i n g > - f o r c u r k e y .    

l s _ b o o k i n g - b o o k i n g d a t e = < b o o k i n g > - o r d e r _ d a t e .    

c o n c a t e n a t e ` B o o k i n g f o r ` l s _ b o o k i n g - c u s t o m e r n a m e      

` o n f l i g h t ` l s _ b o o k i n g - a i r l i n e i d        

l s _ b o o k i n g - c o n n e c t i o n n o      

` o n ` l s _ b o o k i n g - f l i g h t d a t e      

i n t o l s _ b o o k i n g - t i t l e .    

a p p e n d l s _ b o o k i n g t o < f s _ b o o k i n g s > .    

e n d l o o p .    

e n d m e t h o d .    

e ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

6 .    T e s t t h e Q U E R Y O p e r a t i o n s F r o m A B r o w s e r      

a ) I f y o u r b r o w s e r i s s t i l l p o i n t i n g t o y o u r F l i g h t _ I n f o r m a t i o n _        n n     s e r v i c e ,    

t h e n r e - i s s u e t h e U R L f o r t h e S e r v i c e D o c u m e n t .  

 b ) I f y o u h a v e c l o s e d y o u r b r o w s e r , t h e n r u n t r a n s a c t i o n   

/ I W F N D / M A I N T _ S E R V I C E .  

F i g u r e 2 8 2 : / I W F N D / M A I N T _ S E R V I C E        

c ) S e l e c t y o u r s e r v i c e f r o m t h e l i s t a n d p r e s s t h e i c o n        C a l l B r o w s e r        . 

d ) A d d e a c h o f t h e c o l l e c t i o n n a m e s i n t u r n t o y o u r G a t e w a y S e r v i c e ’ s    

B a s e U R L a n d t e s t t h a t t h e c o r r e c t i n f o r m a t i o n i s r e t u r n e d .  

R e m e m b e r t h a t c o l l e c t i o n n a m e s a r e c a s e - s e n s i t i v e .  

C a u t i o n :      W h e n t e s t i n g t h e B o o k i n g s c o l l e c t i o n , p l e a s e d o n o t    

s i m p l y i s s u e t h e U R L s i n c e t o r e t u r n t h e e n t i r e c o l l e c t i o n –      

s i n c e t h e r e a r e o v e r 2 8 , 0 0 0 b o o k i n g s i n t h e s y s t e m ! I n s t e a d a d d      

t h e     $ t o p        q u e r y s t r i n g p a r a m e t e r t o l i m i t t h e r e s u l t l i s t t o s a y ,    

t h e r s t 1 0 0 b o o k i n g s .  

E . g .  

h t t p : / / < s e r v e r > : < p o r t > / s a p / o p u / o d a t a / s a p /      F L I G H T _ I N F O R M A T I O N _ n n / B o o k i n g s ? $ t o p = 1 0 0      

2 2 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 239: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 239/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

E x e r c i s e 1 0 : I m p l e m e n t t h e R E A D        

O p e r a t i o n      E x e r c i s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s e x e r c i s e , y o u w i l l b e a b l e t o :  

• C r e a t e a G a t e w a y s e r v i c e p r o v i d i n g c u s t o m i z e d i g h t i n f o r m a t i o n      

B u s i n e s s E x a m p l e      

Y o u w i s h t o p r o v i d e a G a t e w a y s e r v i c e t h a t d i s p l a y s i g h t i n f o r m a t i o n .  

W e n o w n e e d t o i m p l e m e n t t h e G E T _ E N T I T Y m e t h o d s , r s t f o r t h e t o p l e v e l D a t a      

P r o v i d e r c l a s s , a n d t h e n f o r e a c h o f t h e e n t i t y s p e c i c D a t a P r o v i d e r c l a s s e s .  

T a s k :    

1 .    I m p l e m e n t G E T _ E N T I T Y i n t h e T o p L e v e l D a t a P r o v i d e r C l a s s    

2 .    I m p l e m e n t G E T _ E N T I T Y i n t h e A i r p o r t D a t a P r o v i d e r C l a s s    

3 .    I m p l e m e n t G E T _ E N T I T Y i n t h e F l i g h t D a t a P r o v i d e r C l a s s    

4 .    I m p l e m e n t G E T _ E N T I T Y i n t h e B o o k i n g D a t a P r o v i d e r C l a s s    

5 .    T e s t t h e R E A D O p e r a t i o n s F r o m A B r o w s e r      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 2 1   

Page 240: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 240/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

S o l u t i o n 1 0 : I m p l e m e n t t h e R E A D        

O p e r a t i o n      T a s k :    

1 .    I m p l e m e n t G E T _ E N T I T Y i n t h e T o p L e v e l D a t a P r o v i d e r C l a s s    

a ) E d i t c l a s s Z C L _ G W 1 0 0 _ D P _        n n     . 

 b ) R e d e n e m e t h o d G E T _ E N T I T Y u n d e r i n t e r f a c e / I W -  

B E P / I F _ M G W _ A P P L _ S R V _ R U N T I M E .  

c ) R e p l a c e t h e e n t i r e m e t h o d w i t h t h e f o l l o w i n g c o d e , r e m e m b e r i n g t o      

u p d a t e t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w w i t h y o u r o w n c l a s s n a m e .  m e t h o d / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y .    

d a t a :    

l o _ a i r p o r t t y p e r e f t o z c l _ g w 1 0 0 _ d p _ a i r p o r t _ n n ,    

l o _ f l i g h t t y p e r e f t o z c l _ g w 1 0 0 _ d p _ f l i g h t _ n n ,    

l o _ b o o k i n g t y p e r e f t o z c l _ g w 1 0 0 _ d p _ b o o k i n g _ n n .    

* I m p l e m e n t c a l l - t h r o u g h s t o t h e s p e c i f i c e n t i t y t y p e      

* d a t a p r o v i d e r c l a s s e s .    

* W h a t e n t i t y h a s b e e n r e q u e s t e d ? B e c a r e f u l !    

* E n t i t y n a m e s a r e c a s e s e n s i t i v e !    

c a s e i v _ e n t i t y _ n a m e .    

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

* A I R P O R T      

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

w h e n ' A i r p o r t ' .    

c r e a t e :    

o b j e c t l o _ a i r p o r t ,    

d a t a e r _ e n t i t y t y p e z c l _ g w 1 0 0 _ m p _ n n = > a i r p o r t _ s .    

l o _ a i r p o r t - > / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y (      

e x p o r t i n g i v _ e n t i t y _ n a m e = i v _ e n t i t y _ n a m e      

i v _ e n t i t y _ s e t _ n a m e = i v _ e n t i t y _ s e t _ n a m e      

i v _ s o u r c e _ n a m e = i v _ s o u r c e _ n a m e      

i t _ k e y _ t a b = i t _ k e y _ t a b      

i t _ n a v i g a t i o n _ p a t h = i t _ n a v i g a t i o n _ p a t h      

i m p o r t i n g e r _ e n t i t y = e r _ e n t i t y ) .    

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

* F L I G H T      

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

w h e n ' F l i g h t ' .    

C o n t i n u e d o n n e x t p a g e      

2 2 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 241: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 241/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

c r e a t e :    

o b j e c t l o _ f l i g h t ,    

d a t a e r _ e n t i t y t y p e z c l _ g w 1 0 0 _ m p _ n n = > f l i g h t _ s .    l o _ f l i g h t - > / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y (      

e x p o r t i n g i v _ e n t i t y _ n a m e = i v _ e n t i t y _ n a m e      

i v _ e n t i t y _ s e t _ n a m e = i v _ e n t i t y _ s e t _ n a m e      

i v _ s o u r c e _ n a m e = i v _ s o u r c e _ n a m e      

i t _ k e y _ t a b = i t _ k e y _ t a b      

i t _ n a v i g a t i o n _ p a t h = i t _ n a v i g a t i o n _ p a t h      

i m p o r t i n g e r _ e n t i t y = e r _ e n t i t y ) .    

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

* B O O K I N G      

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

w h e n ' B o o k i n g ' .    

c r e a t e :    

o b j e c t l o _ b o o k i n g ,    

d a t a e r _ e n t i t y t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

l o _ b o o k i n g - > / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y (      

e x p o r t i n g i v _ e n t i t y _ n a m e = i v _ e n t i t y _ n a m e      

i v _ e n t i t y _ s e t _ n a m e = i v _ e n t i t y _ s e t _ n a m e      

i v _ s o u r c e _ n a m e = i v _ s o u r c e _ n a m e      

i t _ k e y _ t a b = i t _ k e y _ t a b      

i t _ n a v i g a t i o n _ p a t h = i t _ n a v i g a t i o n _ p a t h      

i m p o r t i n g e r _ e n t i t y = e r _ e n t i t y ) .    

w h e n o t h e r s .    

" A d d s o m e o t h e r e n t i t y h a n d l e r h e r e      

e n d c a s e .    

e n d m e t h o d .    

d ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

2 .    I m p l e m e n t G E T _ E N T I T Y i n t h e A i r p o r t D a t a P r o v i d e r C l a s s    

a ) E d i t c l a s s Z C L _ G W 1 0 0 _ D P _ A I R P O R T _        n n     . 

 b ) C h a n g e t h e i m p l e m e n t a t i o n o f m e t h o d G E T _ E N T I T Y . 

c ) R e p l a c e t h e e n t i r e m e t h o d w i t h t h e f o l l o w i n g c o d e , r e m e m b e r i n g t o      

u p d a t e t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w w i t h y o u r o w n c l a s s n a m e .  

m e t h o d / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y .    

d a t a :    

l v _ c o u n t r y t y p e s p f l i - c o u n t r y t o .    

f i e l d - s y m b o l s :    

< k e y > t y p e / i w b e p / s _ m g w _ n a m e _ v a l u e _ p a i r ,    

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 2 3   

Page 242: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 242/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

< f s _ a i r p o r t > t y p e z c l _ g w 1 0 0 _ m p _ n n = > a i r p o r t _ s .    

* C r e a t e t h e o u t p u t d a t a s t r u c t u r e a n d a s s i g n i t s f i e l d s t o      * t h e f i e l d s y m b o l      

c r e a t e d a t a e r _ e n t i t y t y p e z c l _ g w 1 0 0 _ m p _ n n = > a i r p o r t _ s .    

a s s i g n e r _ e n t i t y - > * t o < f s _ a i r p o r t > .    

" I n w h i c h a i r p o r t a r e w e i n t e r e s t e d ?      

r e a d t a b l e i t _ k e y _ t a b a s s i g n i n g < k e y > i n d e x 1 .    

" R e a d t h e d e t a i l s o f t h a t p a r t i c u l a r a i r p o r t f r o m S P F L I      

s e l e c t d i s t i n c t a i r p f r o m c i t y f r o m c o u n t r y f r      

i n t o ( < f s _ a i r p o r t > - i a t a c o d e , < f s _ a i r p o r t > - n a m e , l v _ c o u n t r y )    

f r o m s p f l i      

w h e r e a i r p f r o m = < k e y > - v a l u e .    

e n d s e l e c t .    

" D i d w e f i n d w h a t w e ' r e l o o k i n g f o r ?      

i f s y - s u b r c = 0 .    

" Y u p      

< f s _ a i r p o r t > - u r l = z c l _ g w 1 0 0 _ h e l p e r = > g e t _ u r l _ f o r _ a i r p o r t (      

a i r p o r t = < f s _ a i r p o r t > - i a t a c o d e ) .    

c o n c a t e n a t e < f s _ a i r p o r t > - n a m e ' - ' < f s _ a i r p o r t > - i a t a c o d e      

i n t o < f s _ a i r p o r t > - t i t l e      

s e p a r a t e d b y s p a c e .    

< f s _ a i r p o r t > - g e o c o o r d i n a t e s - l a t i t u d e =      

z c l _ g w 1 0 0 _ h e l p e r = > g e t _ l a t i t u d e _ f o r _ a i r p o r t (      

c i t y = < f s _ a i r p o r t > - n a m e      

c o u n t r y = l v _ c o u n t r y ) .    

< f s _ a i r p o r t > - g e o c o o r d i n a t e s - l o n g i t u d e =      

z c l _ g w 1 0 0 _ h e l p e r = > g e t _ l o n g i t u d e _ f o r _ a i r p o r t (      

c i t y = < f s _ a i r p o r t > - n a m e      

c o u n t r y = l v _ c o u n t r y ) .    

e n d i f .    

e n d m e t h o d .    

d ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

3 .    I m p l e m e n t G E T _ E N T I T Y i n t h e F l i g h t D a t a P r o v i d e r C l a s s    

a ) E d i t c l a s s Z C L _ G W 1 0 0 _ D P _ F L I G H T _        n n     . 

 b ) C h a n g e t h e i m p l e m e n t a t i o n o f m e t h o d G E T _ E N T I T Y . 

C o n t i n u e d o n n e x t p a g e      

2 2 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 243: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 243/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

c ) R e p l a c e t h e e n t i r e m e t h o d w i t h t h e f o l l o w i n g c o d e , r e m e m b e r i n g t o      

u p d a t e t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w w i t h y o u r o w n c l a s s n a m e .  

m e t h o d / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y .    d a t a :    

l s _ f l i g h t t y p e f l i g h t _ s ,    

l v _ c a r r i d t y p e s p f l i - c a r r i d ,    

l v _ c o n n i d t y p e s p f l i - c o n n i d ,    

l v _ f l d a t e t y p e s f l i g h t - f l d a t e ,    

l v _ k l i n e t y p e / i w b e p / s _ m g w _ n a m e _ v a l u e _ p a i r ,    

l v _ l i n e s t y p e i .    

f i e l d - s y m b o l s :    

< f s _ f l i g h t > t y p e z c l _ g w 1 0 0 _ m p _ n n = > f l i g h t _ s .    

c r e a t e d a t a e r _ e n t i t y t y p e z c l _ g w 1 0 0 _ m p _ n n = > f l i g h t _ s .    

a s s i g n e r _ e n t i t y - > * t o < f s _ f l i g h t > .    

" H a v e w e b e e n p a s s e d a n y k e y v a l u e s ?      

i f i t _ k e y _ t a b i s n o t i n i t i a l .    

" Y u p , h o w m a n y k e y f i e l d s d o w e h a v e ?      

d e s c r i b e t a b l e i t _ k e y _ t a b l i n e s l v _ l i n e s .    

" 3 k e y f i e l d s a r e n e e d e d i n o r d e r t o i d e n t i f y a f l i g h t      

i f l v _ l i n e s e q 3 .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      w i t h k e y n a m e = ' A i r l i n e I d ' .    

i f s y - s u b r c = 0 .    

l v _ c a r r i d = l v _ k l i n e - v a l u e .    

e n d i f .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' C o n n e c t i o n N o ' .    

i f s y - s u b r c = 0 .    

l v _ c o n n i d = l v _ k l i n e - v a l u e .    

e n d i f .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' F l i g h t D a t e ' .    

i f s y - s u b r c = 0 .    

l v _ f l d a t e = l v _ k l i n e - v a l u e .    

e n d i f .    

e n d i f .    

e n d i f .    

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 2 5   

Page 244: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 244/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

" T r y t o f i n d t h e r e q u i r e d f l i g h t      

s e l e c t s i n g l e *      

i n t o c o r r e s p o n d i n g f i e l d s o f l s _ f l i g h t      f r o m ( s p f l i a s c      

i n n e r j o i n s f l i g h t a s f o n f ~ c a r r i d = c ~ c a r r i d        

a n d f ~ c o n n i d = c ~ c o n n i d )    

w h e r e f ~ c a r r i d = l v _ c a r r i d a n d        

f ~ c o n n i d = l v _ c o n n i d a n d        

f ~ f l d a t e = l v _ f l d a t e .    

" D i d w e f i n d i t ?      

i f s y - s u b r c = 0 .    

" Y u p , t r a n s f e r f i e l d s t o o u t p u t s t r u c t u r e      

< f s _ f l i g h t > - a i r l i n e i d = l s _ f l i g h t - c a r r i d .    

< f s _ f l i g h t > - c o n n e c t i o n n o = l s _ f l i g h t - c o n n i d .    

< f s _ f l i g h t > - f l i g h t d a t e = l s _ f l i g h t - f l d a t e .    

< f s _ f l i g h t > - p r i c e = l s _ f l i g h t - p r i c e .    

< f s _ f l i g h t > - c u r r e n c y c o d e = l s _ f l i g h t - c u r r e n c y .    

< f s _ f l i g h t > - d i s t a n c e = l s _ f l i g h t - d i s t a n c e .    

< f s _ f l i g h t > - d i s t a n c e u n i t = l s _ f l i g h t - d i s t i d .    

< f s _ f l i g h t > - f l i g h t t i m e = l s _ f l i g h t - f l t i m e .    

< f s _ f l i g h t > - p l a n e t y p e = l s _ f l i g h t - p l a n e t y p e .    

< f s _ f l i g h t > - d e p a r t u r e - a i r p o r t = l s _ f l i g h t - a i r p f r o m .    

< f s _ f l i g h t > - d e p a r t u r e - c i t y = l s _ f l i g h t - c i t y f r o m .    

< f s _ f l i g h t > - d e p a r t u r e - c o u n t r y = l s _ f l i g h t - c o u n t r y f r .    

< f s _ f l i g h t > - d e p a r t u r e - t i m e = l s _ f l i g h t - d e p t i m e .    < f s _ f l i g h t > - a r r i v a l - a i r p o r t = l s _ f l i g h t - a i r p t o .    

< f s _ f l i g h t > - a r r i v a l - c i t y = l s _ f l i g h t - c i t y t o .    

< f s _ f l i g h t > - a r r i v a l - c o u n t r y = l s _ f l i g h t - c o u n t r y t o .    

< f s _ f l i g h t > - a r r i v a l - t i m e = l s _ f l i g h t - a r r t i m e .    

c o n c a t e n a t e ` F l i g h t ` < f s _ f l i g h t > - a i r l i n e i d        

< f s _ f l i g h t > - c o n n e c t i o n n o      

` o n ` < f s _ f l i g h t > - f l i g h t d a t e      

i n t o < f s _ f l i g h t > - t i t l e .    

e n d i f .    

e n d m e t h o d .    

d ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

4 .    I m p l e m e n t G E T _ E N T I T Y i n t h e B o o k i n g D a t a P r o v i d e r C l a s s    

a ) E d i t c l a s s Z C L _ G W 1 0 0 _ D P _ B O O K I N G _        n n     a n d c h a n g e t h e      

i m p l e m e n t a t i o n o f m e t h o d G E T _ E N T I T Y .  

C o n t i n u e d o n n e x t p a g e      

2 2 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 245: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 245/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

 b ) R e p l a c e t h e e n t i r e m e t h o d w i t h t h e f o l l o w i n g c o d e , r e m e m b e r i n g t o   

u p d a t e t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w w i t h y o u r o w n c l a s s n a m e .  

m e t h o d / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y .    d a t a :    

l s _ b o o k i n g t y p e b o o k i n g _ s ,    

l v _ c a r r i d t y p e s b o o k - c a r r i d ,    

l v _ c o n n i d t y p e s b o o k - c o n n i d ,    

l v _ f l d a t e t y p e s b o o k - f l d a t e ,    

l v _ b o o k i d t y p e s b o o k - b o o k i d ,    

l v _ k l i n e t y p e / i w b e p / s _ m g w _ n a m e _ v a l u e _ p a i r ,    

l v _ l i n e s t y p e i .    

f i e l d - s y m b o l s :    

< f s _ b o o k i n g > t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

c r e a t e d a t a e r _ e n t i t y t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

a s s i g n e r _ e n t i t y - > * t o < f s _ b o o k i n g > .    

" H a v e w e b e e n p a s s e d a n y k e y v a l u e s ?      

i f i t _ k e y _ t a b i s n o t i n i t i a l .    

" Y u p , h o w m a n y k e y v a l u e s a r e t h e r e ?      

d e s c r i b e t a b l e i t _ k e y _ t a b l i n e s l v _ l i n e s .    

" 4 k e y v a l u e s a r e n e e d e d t o l o c a t e a b o o k i n g      

i f l v _ l i n e s e q 4 .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      w i t h k e y n a m e = ' A i r l i n e I d ' .    

i f s y - s u b r c = 0 .    

l v _ c a r r i d = l v _ k l i n e - v a l u e .    

e n d i f .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' C o n n e c t i o n N o ' .    

i f s y - s u b r c = 0 .    

l v _ c o n n i d = l v _ k l i n e - v a l u e .    

e n d i f .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' F l i g h t D a t e ' .    

i f s y - s u b r c = 0 .    

l v _ f l d a t e = l v _ k l i n e - v a l u e .    

e n d i f .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' B o o k i n g I d ' .    

i f s y - s u b r c = 0 .    

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 2 7   

Page 246: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 246/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

l v _ b o o k i d = l v _ k l i n e - v a l u e .    

e n d i f .    

e n d i f .    e n d i f .    

" T r y r e a d i n g t h e b o o k i n g      

s e l e c t s i n g l e *      

i n t o c o r r e s p o n d i n g f i e l d s o f l s _ b o o k i n g      

f r o m s b o o k      

w h e r e c a r r i d = l v _ c a r r i d a n d        

c o n n i d = l v _ c o n n i d a n d        

f l d a t e = l v _ f l d a t e a n d        

b o o k i d = l v _ b o o k i d .    

" D i d w e f i n d t h e b o o k i n g      

i f s y - s u b r c = 0 .    

" T r a n s f e r t h e d a t a f r o m t h e S B O O K s t r u c t u r e      

" t o t h e o u t p u t s t r u c t u r e      

< f s _ b o o k i n g > - a i r l i n e i d = l s _ b o o k i n g - c a r r i d .    

< f s _ b o o k i n g > - c o n n e c t i o n n o = l s _ b o o k i n g - c o n n i d .    

< f s _ b o o k i n g > - f l i g h t d a t e = l s _ b o o k i n g - f l d a t e .    

< f s _ b o o k i n g > - b o o k i n g i d = l s _ b o o k i n g - b o o k i d .    

< f s _ b o o k i n g > - c u s t o m e r n o = l s _ b o o k i n g - c u s t o m i d .    

< f s _ b o o k i n g > - c u s t o m e r n a m e = l s _ b o o k i n g - p a s s n a m e .    

< f s _ b o o k i n g > - p r i c e = l s _ b o o k i n g - f o r c u r a m .    

< f s _ b o o k i n g > - c u r r e n c y c o d e = l s _ b o o k i n g - f o r c u r k e y .    < f s _ b o o k i n g > - b o o k i n g d a t e = l s _ b o o k i n g - o r d e r _ d a t e .    

c o n c a t e n a t e ` B o o k i n g f o r ` < f s _ b o o k i n g > - c u s t o m e r n a m e      

` o n f l i g h t ` < f s _ b o o k i n g > - a i r l i n e i d        

< f s _ b o o k i n g > - c o n n e c t i o n n o      

` o n ` < f s _ b o o k i n g > - f l i g h t d a t e      

i n t o < f s _ b o o k i n g > - t i t l e .    

e n d i f .    

e n d m e t h o d .    

c ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

5 .    T e s t t h e R E A D O p e r a t i o n s F r o m A B r o w s e r      

a ) I f y o u r b r o w s e r i s s t i l l p o i n t i n g t o y o u r F l i g h t _ I n f o r m a t i o n _        n n     s e r v i c e ,    

t h e n r e - i s s u e t h e U R L f o r t h e S e r v i c e D o c u m e n t .  

 b ) I f y o u h a v e c l o s e d y o u r b r o w s e r , t h e n r u n t r a n s a c t i o n   

/ I W F N D / M A I N T _ S E R V I C E .  

C o n t i n u e d o n n e x t p a g e      

2 2 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 247: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 247/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

F i g u r e 2 8 3 : / I W F N D / M A I N T _ S E R V I C E        

c ) S e l e c t y o u r s e r v i c e f r o m t h e l i s t a n d p r e s s t h e i c o n        C a l l B r o w s e r        . T o t e s t e a c h o f t h e R E A D o p e r a t i o n s , y o u s h o u l d r s t p e r f o r m t h e      

Q U E R Y o p e r a t i o n , a n d t h e n s e l e c t a n e n t i t y f r o m t h e e n t i t y s e t . F o r    

i n s t a n c e , i f w e d i s p l a y t h e A i r p o r t s c o l l e c t i o n , w e c o u l d c h o o s e t h e      

e n t r y f o r F r a n k f u r t a i r p o r t .  

m e t h o d / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y .    

d a t a :    

l s _ b o o k i n g t y p e b o o k i n g _ s ,    

l v _ c a r r i d t y p e s b o o k - c a r r i d ,    

l v _ c o n n i d t y p e s b o o k - c o n n i d ,    

l v _ f l d a t e t y p e s b o o k - f l d a t e ,    

l v _ b o o k i d t y p e s b o o k - b o o k i d ,    

l v _ k l i n e t y p e / i w b e p / s _ m g w _ n a m e _ v a l u e _ p a i r ,    

l v _ l i n e s t y p e i .    

f i e l d - s y m b o l s :    

< f s _ b o o k i n g > t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

c r e a t e d a t a e r _ e n t i t y t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

a s s i g n e r _ e n t i t y - > * t o < f s _ b o o k i n g > .    

" H a v e w e b e e n p a s s e d a n y k e y v a l u e s ?      

i f i t _ k e y _ t a b i s n o t i n i t i a l .    " Y u p , h o w m a n y k e y v a l u e s a r e t h e r e ?      

d e s c r i b e t a b l e i t _ k e y _ t a b l i n e s l v _ l i n e s .    

" 4 k e y v a l u e s a r e n e e d e d t o l o c a t e a b o o k i n g      

i f l v _ l i n e s e q 4 .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' A i r l i n e I d ' .    

i f s y - s u b r c = 0 .    

l v _ c a r r i d = l v _ k l i n e - v a l u e .    

e n d i f .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' C o n n e c t i o n N o ' .    

i f s y - s u b r c = 0 .    

l v _ c o n n i d = l v _ k l i n e - v a l u e .    

e n d i f .    

r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' F l i g h t D a t e ' .    

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 2 9   

Page 248: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 248/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

i f s y - s u b r c = 0 .    

l v _ f l d a t e = l v _ k l i n e - v a l u e .    

e n d i f .    r e a d t a b l e i t _ k e y _ t a b i n t o l v _ k l i n e      

w i t h k e y n a m e = ' B o o k i n g I d ' .    

i f s y - s u b r c = 0 .    

l v _ b o o k i d = l v _ k l i n e - v a l u e .    

e n d i f .    

e n d i f .    

e n d i f .    

" T r y r e a d i n g t h e b o o k i n g      

s e l e c t s i n g l e *      

i n t o c o r r e s p o n d i n g f i e l d s o f l s _ b o o k i n g      

f r o m s b o o k      

w h e r e c a r r i d = l v _ c a r r i d a n d        

c o n n i d = l v _ c o n n i d a n d        

f l d a t e = l v _ f l d a t e a n d        

b o o k i d = l v _ b o o k i d .    

" D i d w e f i n d t h e b o o k i n g      

i f s y - s u b r c = 0 .    

" T r a n s f e r t h e d a t a f r o m t h e S B O O K s t r u c t u r e      

" t o t h e o u t p u t s t r u c t u r e      

< f s _ b o o k i n g > - a i r l i n e i d = l s _ b o o k i n g - c a r r i d .    

< f s _ b o o k i n g > - c o n n e c t i o n n o = l s _ b o o k i n g - c o n n i d .    < f s _ b o o k i n g > - f l i g h t d a t e = l s _ b o o k i n g - f l d a t e .    

< f s _ b o o k i n g > - b o o k i n g i d = l s _ b o o k i n g - b o o k i d .    

< f s _ b o o k i n g > - c u s t o m e r n o = l s _ b o o k i n g - c u s t o m i d .    

< f s _ b o o k i n g > - c u s t o m e r n a m e = l s _ b o o k i n g - p a s s n a m e .    

< f s _ b o o k i n g > - p r i c e = l s _ b o o k i n g - f o r c u r a m .    

< f s _ b o o k i n g > - c u r r e n c y c o d e = l s _ b o o k i n g - f o r c u r k e y .    

< f s _ b o o k i n g > - b o o k i n g d a t e = l s _ b o o k i n g - o r d e r _ d a t e .    

c o n c a t e n a t e ` B o o k i n g f o r ` < f s _ b o o k i n g > - c u s t o m e r n a m e      

` o n f l i g h t ` < f s _ b o o k i n g > - a i r l i n e i d        

< f s _ b o o k i n g > - c o n n e c t i o n n o      

` o n ` < f s _ b o o k i n g > - f l i g h t d a t e      

i n t o < f s _ b o o k i n g > - t i t l e .    

e n d i f .    

e n d m e t h o d .    

T h e     < a t o m : i d >        t a g h o l d s t h e f u l l y q u a l i e d U R L f o r t h e R E A D        

o p e r a t i o n .  

C o n t i n u e d o n n e x t p a g e      

2 3 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 249: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 249/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r R e a d      

F o r e a c h e n t i t y t y p e , c h o o s e a n e n t i t y f r o m t h e e n t i t y s e t ( o r c o l l e c t i o n ) ,    

l o c a t e t h e        < a t o m : i d >        t a g a n d i s s u e t h i s U R L f r o m y o u r b r o w s e r    

a d d r e s s l i n e .  T h i s w i l l t e s t t h e R E A D o p e r a t i o n f o r e a c h e n t i t y t y p e .  

d ) T h e k e y d i f f e r e n c e b e t w e e n t h e Q U E R Y a n d R E A D o p e r a t i o n s i s t h i s .  

 N o m a t t e r w h a t l t e r c r i t e r i a y o u d e n e , o r w h e t h e r a n y e n t i t i e s a r e   

f o u n d a t a l l , t h e Q U E R Y o p e r a t i o n w i l l a l w a y s r e t u r n z e r o o r m o r e      

e n t i t i e s w i t h i n a n < a t o m : f e e d > e l e m e n t ; w h e r e a s , t h e R E A D o p e r a t i o n      

w i l l o n l y e v e r r e t u r n z e r o o r o n e e n t i t i e s w i t h i n a n < a t o m : e n t r y >      

e l e m e n t .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 3 1   

Page 250: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 250/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

L e s s o n S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  • U n d e r s t a n d a r c h i t e c t u r a l p r i n c i p l e s .  

• U n d e r s t a n d t h e R e l a t i o n s h i p b e t w e e n H T T P R e q u e s t s , O D a t a O p e r a t i o n s    

a n d M e t h o d s i n t h e D a t a P r o v i d e r C l a s s .  

• U n d e r s t a n d h o w t o i m p l e m e n t t h e Q U E R Y a n d R E A D o p e r a t i o n s .  

2 3 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 251: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 251/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

L e s s o n O v e r v i e w          

T h i s l e s s o n c o v e r s t h e d e v e l o p m e n t o f :  

• T h e C R E A T E o p e r a t i o n w i t h i n a G a t e w a y D a t a P r o v i d e r C l a s s    

• A c u s t o m O D a t a a c t i o n      

L e s s o n O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d h o w t o i m p l e m e n t t h e C R E A T E o p e r a t i o n w i t h i n a G a t e w a y      

D a t a P r o v i d e r C l a s s .  

• U n d e r s t a n d h o w t o i m p l e m e n t a c u s t o m O D a t a a c t i o n .  

B u s i n e s s E x a m p l e      

C R E A T E O p e r a t i o n      

F i g u r e 2 8 4 : T h e C R E A T E O p e r a t i o n a n d t h e D a t a M o d e l    

T h e     d e v e l o p m e n t      o f a G a t e w a y S e r v i c e t a k e s p l a c e o n w h i c h e v e r s y s t e m h a s t h e      

I W _ B E P c o m p o n e n t i n s t a l l e d .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 3 3   

Page 252: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 252/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

T h e     a c t i v a t i o n        o f a G a t e w a y s e r v i c e t a k e s p l a c e i n w h i c h e v e r S A P s y s t e m h a s    

t h e G W _ C O R E c o m p o n e n t i n s t a l l e d .  

I t i s e n t i r e l y p o s s i b l e t h a t t h e s e m a y b e d i f f e r e n t s y s t e m s .  

F i g u r e 2 8 5 : C R E A T E _ E N T I T Y M e t h o d i n T o p L e v e l D a t a P r o v i d e r C l a s s      

F i g u r e 2 8 6 : I m p l e m e n t C R E A T E _ E N T I T Y i n t h e B o o k i n g P r o v i d e r C l a s s      

2 3 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 253: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 253/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

C u s t o m O D a t a O p e r a t i o n      

F i g u r e 2 8 7 : S e r v i c e O p e r a t i o n s - C u s t o m O D a t a F u n c t i o n a l i t y      

F i g u r e 2 8 8 : D e n e a C u s t o m A c t i o n - 1 / 4      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 3 5   

Page 254: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 254/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

F i g u r e 2 8 9 : D e n e a C u s t o m A c t i o n - 2 / 4      

F i g u r e 2 9 0 : D e n e a C u s t o m A c t i o n - 3 / 4      

F i g u r e 2 9 1 : D e n e a C u s t o m A c t i o n - 4 / 4      

2 3 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 255: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 255/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

F i g u r e 2 9 2 : I m p l e m e n t E X E C U T E _ A C T I O N i n T o p L e v e l D a t a P r o v i d e r      

F i g u r e 2 9 3 : I m p l e m e n t E X E C U T E _ A C T I O N i n t h e B o o k i n g D a t a P r o v i d e r      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 3 7   

Page 256: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 256/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

2 3 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 257: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 257/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

E x e r c i s e 1 1 : I m p l e m e n t t h e C R E A T E        

O p e r a t i o n      E x e r c i s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s e x e r c i s e , y o u w i l l b e a b l e t o :  

• I m p l e m e n t a n d t e s t t h e C r e a t e a n d C a n c e l B o o k i n g o p e r a t i o n s    

B u s i n e s s E x a m p l e      

T o p r o v i d e t h e u s e r s o f t h e F l i g h t I n f o r m a t i o n s e r v i c e w i t h t h e a b i l i t y t o c r e a t e a n d      

c a n c e l i g h t b o o k i n g s .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 3 9   

Page 258: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 258/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

T a s k 1 :    

T h e C R E A T E _ E N T I T Y m e t h o d i s o n l y a p p r o p r i a t e f o r t h e B o o k i n g e n t i t y t y p e ;    

t h e r e f o r e , w e o n l y n e e d t o i m p l e m e n t t h i s m e t h o d i n t w o p l a c e s :  

• T h e t o p l e v e l D a t a P r o v i d e r    

• T h e B o o k i n g D a t a P r o v i d e r    

F i g u r e 2 9 4 : G a t e w a y D a t a P r o v i d e r      

1 .    E x t e n d t h e B O O K I N G _ S D a t a T y p e a n d B o o k i n g E n t i t y T y p e i n t h e      

M o d e l P r o v i d e r C l a s s    

2 .    I m p l e m e n t M e t h o d C R E A T E _ E N T I T Y i n t h e T o p L e v e l D a t a P r o v i d e r      

C l a s s    

3 .    I m p l e m e n t M e t h o d C R E A T E _ E N T I T Y i n t h e B o o k i n g D a t a P r o v i d e r      

C l a s s    

C o n t i n u e d o n n e x t p a g e      

2 4 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 259: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 259/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

T a s k 2 :    

T e s t t h e B o o k i n g C R E A T E _ E N T I T Y M e t h o d      

B e f o r e s t a r t i n g t h e a c t u a l t e s t p r o c e d u r e , w e m u s t r s t u n d e r s t a n d w h a t    

i n f o r m a t i o n i s r e q u i r e d i n o r d e r t o c r e a t e a i g h t b o o k i n g . I n o r d e r t o c r e a t e a      

B o o k i n g , v e v a l u e s m u s t b e s u p p l i e d t o t h e B A P I :  

o A i r l i n e I d      

o C o n n e c t i o n N o      

o F l i g h t D a t e      

o C u s t o m e r N o      

o A g e n c y      

I n o r d e r t o d e t e r m i n e w h i c h v a l u e s m u s t b e s u p p l i e d t o t h e s e e l d s , w e n e e d t o      

l o o k i n s i d e s o m e t a b l e s i n t h e S A P s y s t e m . B u t r s t …          

1 .    T e s t i n g f r o m S A P G U I    

2 .    T e s t i n g f r o m t h e R E S T C l i e n t i n F i r e f o x      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 4 1   

Page 260: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 260/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

S o l u t i o n 1 1 : I m p l e m e n t t h e C R E A T E        

O p e r a t i o n      T a s k 1 :    

T h e C R E A T E _ E N T I T Y m e t h o d i s o n l y a p p r o p r i a t e f o r t h e B o o k i n g e n t i t y t y p e ;    

t h e r e f o r e , w e o n l y n e e d t o i m p l e m e n t t h i s m e t h o d i n t w o p l a c e s :  

• T h e t o p l e v e l D a t a P r o v i d e r    

• T h e B o o k i n g D a t a P r o v i d e r    

F i g u r e 2 9 5 : G a t e w a y D a t a P r o v i d e r      

1 .    E x t e n d t h e B O O K I N G _ S D a t a T y p e a n d B o o k i n g E n t i t y T y p e i n t h e      

M o d e l P r o v i d e r C l a s s    

a ) L o g o n t o t h e G a t e w a y S e r v i c e d e v e l o p m e n t s y s t e m           b ) R u n t r a n s a c t i o n S E 8 0 . 

c ) E d i t y o u r M o d e l P r o v i d e r c l a s s Z C L _ G W 1 0 0 _ M P _        n n   

d ) A d d t w o n e w e l d s t o t h e b o o k i n g _ s d a t a t y p e :  

t y p e s :    

b e g i n o f b o o k i n g _ s ,    

a i r l i n e i d t y p e s p f l i - c a r r i d ,    

C o n t i n u e d o n n e x t p a g e      

2 4 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 261: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 261/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

c o n n e c t i o n n o t y p e s p f l i - c o n n i d ,    

f l i g h t d a t e t y p e s f l i g h t - f l d a t e ,    

b o o k i n g i d t y p e s b o o k - b o o k i d ,    c u s t o m e r n o t y p e s b o o k - c u s t o m i d ,    

c u s t o m e r n a m e t y p e s b o o k - p a s s n a m e ,    

p r i c e t y p e s f l i g h t - p r i c e ,    

c u r r e n c y c o d e t y p e s f l i g h t - c u r r e n c y ,    

b o o k i n g d a t e t y p e s b o o k - o r d e r _ d a t e ,    

t i t l e t y p e s t r i n g ,    

a g e n c y n u m t y p e s b o o k - a g e n c y n u m ,    

c a n c e l l e d t y p e s b o o k - c a n c e l l e d ,    

e n d o f b o o k i n g _ s .    

t y p e s :    

b o o k i n g s _ t t y p e s t a n d a r d t a b l e o f b o o k i n g _ s .    

e ) I n m e t h o d D E F I N E , a d d t h e s e t w o n e w e l d s t o t h e B o o k i n g e n t i t y      

t y p e .  

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' P r i c e '    

i v _ a b a p _ f i e l d n a m e = ' P R I C E ' ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' C u r r e n c y C o d e '    

i v _ a b a p _ f i e l d n a m e = ' C U R R E N C Y C O D E ' ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' B o o k i n g D a t e '    

i v _ a b a p _ f i e l d n a m e = ' B O O K I N G D A T E ' ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' A g e n c y '    

i v _ a b a p _ f i e l d n a m e = ' A G E N C Y N U M ' ) .    

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' C a n c e l l e d '    

i v _ a b a p _ f i e l d n a m e = ' C A N C E L L E D ' ) .    

" D e f i n e p r o p e r t y T i t l e . A s s i g n i t t o t h e A T O M f i e l d " T i t l e " ,    

" b u t d o n o t k e e p i t i n t h e c o n t e n t      

l o _ p r o p e r t y = l o _ e n t i t y _ t y p e - > c r e a t e _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' T i t l e '    

i v _ a b a p _ f i e l d n a m e = ' T I T L E ' ) .    l o _ p r o p e r t y - > s e t _ a s _ t i t l e ( i v _ k e e p _ i n _ c o n t e n t = a b a p _ t r u e ) .    

f ) S a v e a n d a c t i v a t e d t h e s e c h a n g e s    

2 .    I m p l e m e n t M e t h o d C R E A T E _ E N T I T Y i n t h e T o p L e v e l D a t a P r o v i d e r      

C l a s s    

a ) L o g o n t o t h e G a t e w a y S e r v i c e d e v e l o p m e n t s y s t e m          

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 4 3   

Page 262: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 262/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

 b ) R u n t r a n s a c t i o n s e 8 0   

c ) E d i t y o u r c l a s s Z C L _ G W 1 0 0 _ D P _        n n   

d ) R e d e n e m e t h o d / I W B E P / I F _ M G W _ A P P L _ S R V _ R U N T I M E ~ C R E -    

A T E _ E N T I T Y .  

e ) R e p l a c e t h e c o n t e n t s o f m e t h o d C R E A T E _ E N T I T Y w i t h t h e f o l l o w i n g      

c o d e .  

B e c a r e f u l t o r e p l a c e t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w w i t h t h e      

c o r r e c t n a m e o f y o u r D a t a o r M o d e l P r o v i d e r c l a s s    

m e t h o d / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ c r e a t e _ e n t i t y .    

d a t a :    

l o _ b o o k i n g t y p e r e f t o / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ,    

e x _ r e f t y p e r e f t o / i w b e p / c x _ m g w _ b u s i _ e x c e p t i o n .    

f i e l d - s y m b o l s :    

< f s _ b o o k i n g > t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

" C h e c k t o w h i c h e n t i t y t y p e t h e r e q u e s t b e l o n g s      

" I n t h i s c a s e , w e w i l l o n l y r e s p o n d t o c r e a t e r e q u e s t s f o r      

" B o o k i n g e n t i t y t y p e s      

c a s e i v _ e n t i t y _ n a m e .    

w h e n ' B o o k i n g ' .    

" C r e a t e t h e B o o k i n g o b j e c t a n d t h e d a t a s t r u c t u r e i n      

" w h i c h t h e b o o k i n g w i l l b e r e t u r n e d        

c r e a t e :    

o b j e c t l o _ b o o k i n g t y p e z c l _ g w 1 0 0 _ d p _ b o o k i n g _ n n ,    

d a t a e r _ e n t i t y t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

" T h e b o o k i n g c r e a t i o n w i l l t h r o w a n e x c e p t i o n i f i t f a i l s .    

" T h i s n e e d s t o b e c a u g h t a n d h a n d l e d c o r r e c t l y o t h e r w i s e      

" t h e u s e r w i l l g e t t h e v e r y u n h e l p f u l e r r o r m e s s a g e o n      

" t h e i r b r o w s e r ' A n e x c e p t i o n w a s t h r o w n '    

t r y .    

" T r y t o c r e a t e t h e b o o k i n g      

l o _ b o o k i n g - > c r e a t e _ e n t i t y (      

e x p o r t i n g i v _ e n t i t y _ n a m e = i v _ e n t i t y _ n a m e      i v _ e n t i t y _ s e t _ n a m e = i v _ e n t i t y _ s e t _ n a m e      

i v _ s o u r c e _ n a m e = i v _ s o u r c e _ n a m e      

i o _ d a t a _ p r o v i d e r = i o _ d a t a _ p r o v i d e r      

i t _ k e y _ t a b = i t _ k e y _ t a b      

i t _ n a v i g a t i o n _ p a t h = i t _ n a v i g a t i o n _ p a t h      

i m p o r t i n g e r _ e n t i t y = e r _ e n t i t y ) .    

" H a s a n e x c e p t i o n b e e n t h r o w n ?      

C o n t i n u e d o n n e x t p a g e      

2 4 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 263: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 263/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

c a t c h / i w b e p / c x _ m g w _ b u s i _ e x c e p t i o n i n t o e x _ r e f .    

" Y u p , s o h i j a c k t h e T I T L E p r o p e r t y t o u s e a s a c a r r i e r      

" f o r t h e e r r o r m e s s a g e      a s s i g n e r _ e n t i t y - > * t o < f s _ b o o k i n g > .    

< f s _ b o o k i n g > - t i t l e = e x _ r e f - > g e t _ m s g _ c o n t a i n e r ( )    

- > g e t _ l e a d i n g _ m e s s a g e _ t e x t ( ) .    

e n d t r y .    

e n d c a s e .    

e n d m e t h o d .    

f ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

3 .    I m p l e m e n t M e t h o d C R E A T E _ E N T I T Y i n t h e B o o k i n g D a t a P r o v i d e r      

C l a s s    

a ) E d i t y o u r B o o k i n g D a t a P r o v i d e r c l a s s Z C L _ G W 1 0 0 _ D P _ B O O K -    

I N G _        n n     . 

 b ) C h a n g e t h e i m p l e m e n t a t i o n o f m e t h o d C R E A T E _ E N T I T Y . 

c ) R e p l a c e t h e e n t i r e m e t h o d w i t h t h e f o l l o w i n g c o d e , r e m e m b e r i n g t o      

u p d a t e t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w :  m e t h o d / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ c r e a t e _ e n t i t y .    

d a t a :    

l s _ b o o k i n g t y p e z _ c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s ,    

l s _ s b o o k _ c r e a t e t y p e b a p i s b o n e w ,    

l t _ s b o o k _ c r e a t e _ r e t u r n t y p e b a p i r e t t a b ,    

l r _ s b o o k _ c r e a t e _ r e t u r n t y p e r e f t o b a p i r e t 2 ,    

l x _ b u s i _ e x c t y p e r e f t o / i w b e p / c x _ m g w _ b u s i _ e x c e p t i o n .    

f i e l d - s y m b o l s :    

< f s _ b o o k i n g > t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

c r e a t e d a t a e r _ e n t i t y t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

a s s i g n e r _ e n t i t y - > * t o < f s _ b o o k i n g > .    

" R e a d t h e d a t a s u p p l i e d b y t h e c l i e n t      

c a l l m e t h o d i o _ d a t a _ p r o v i d e r - > r e a d _ e n t r y _ d a t a      

i m p o r t i n g e s _ d a t a = l s _ b o o k i n g .    

l s _ s b o o k _ c r e a t e - a i r l i n e i d = l s _ b o o k i n g - a i r l i n e i d .    

l s _ s b o o k _ c r e a t e - c o n n e c t i d = l s _ b o o k i n g - c o n n e c t i o n n o .    

l s _ s b o o k _ c r e a t e - f l i g h t d a t e = l s _ b o o k i n g - f l i g h t d a t e .    

l s _ s b o o k _ c r e a t e - p a s s n a m e = l s _ b o o k i n g - c u s t o m e r n a m e .    

l s _ s b o o k _ c r e a t e - a g e n c y n u m = l s _ b o o k i n g - a g e n c y n u m .    

l s _ s b o o k _ c r e a t e - c u s t o m e r i d = l s _ b o o k i n g - c u s t o m e r n o .    

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 4 5   

Page 264: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 264/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

c a l l f u n c t i o n ' B A P I _ F L B O O K I N G _ C R E A T E F R O M D A T A '    

e x p o r t i n g b o o k i n g _ d a t a = l s _ s b o o k _ c r e a t e      

i m p o r t i n g a i r l i n e i d = l s _ b o o k i n g - a i r l i n e i d        b o o k i n g n u m b e r = l s _ b o o k i n g - b o o k i n g i d        

t a b l e s r e t u r n = l t _ s b o o k _ c r e a t e _ r e t u r n .    

r e a d t a b l e l t _ s b o o k _ c r e a t e _ r e t u r n      

i n d e x 1      

r e f e r e n c e i n t o l r _ s b o o k _ c r e a t e _ r e t u r n .    

i f l r _ s b o o k _ c r e a t e _ r e t u r n - > * - t y p e n e ' S ' .    

c r e a t e o b j e c t l x _ b u s i _ e x c .    

" T r a n s f e r t h e e r r o r m e s s a g e ( s ) i n t o t h e e x c e p t i o n o b j e c t      

l x _ b u s i _ e x c - > g e t _ m s g _ c o n t a i n e r ( ) - > a d d _ m e s s a g e s _ f r o m _ b a p i (      

i t _ b a p i _ m e s s a g e s = l t _ s b o o k _ c r e a t e _ r e t u r n ) .    

r a i s e e x c e p t i o n l x _ b u s i _ e x c .    

e l s e .    

" I t s v e r y i m p o r t a n t t h a t y o u c o m m i t a l l s u c c e s s f u l l y      

" a p p l i e d c h a n g e s , o t h e r w i s e t h e u p d a t e w i l l b e l o s t      

c a l l f u n c t i o n ' B A P I _ T R A N S A C T I O N _ C O M M I T ' .    

< f s _ b o o k i n g > = l s _ b o o k i n g .    

e n d i f .    

e n d m e t h o d .    

d ) S a v e a n d a c t i v a t e y o u r c h a n g e s    

T a s k 2 :    

T e s t t h e B o o k i n g C R E A T E _ E N T I T Y M e t h o d      

B e f o r e s t a r t i n g t h e a c t u a l t e s t p r o c e d u r e , w e m u s t r s t u n d e r s t a n d w h a t    

i n f o r m a t i o n i s r e q u i r e d i n o r d e r t o c r e a t e a i g h t b o o k i n g . I n o r d e r t o c r e a t e a      

B o o k i n g , v e v a l u e s m u s t b e s u p p l i e d t o t h e B A P I :  

o A i r l i n e I d      

o C o n n e c t i o n N o      

o F l i g h t D a t e      

o C u s t o m e r N o      

o A g e n c y      

C o n t i n u e d o n n e x t p a g e      

2 4 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 265: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 265/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

I n o r d e r t o d e t e r m i n e w h i c h v a l u e s m u s t b e s u p p l i e d t o t h e s e e l d s , w e n e e d t o      

l o o k i n s i d e s o m e t a b l e s i n t h e S A P s y s t e m . B u t r s t …          

1 .    T e s t i n g f r o m S A P G U I    

a ) F r o m t h e c o d i n g s h o w n a b o v e i n s e c t i o n 1 2 . 2 . 3 , i t c a n b e s e e n t h a t    

m e t h o d C R E A T E _ E N T I T Y i n t h e B o o k i n g p r o v i d e r c l a s s c r e a t e s a n e w        

i g h t b o o k i n g b y c a l l i n g B A P I _ F L B O O K I N G _ C R E A T E F R O M D A T A .  

T h e r e f o r e , i n o r d e r t o t e s t t h a t w e a r e u s i n g v a l i d d a t a , w e c a n r u n t h e      

s a m e B A P I i n t e s t m o d e f r o m w i t h i n t h e S A P s y s t e m .  

 b ) I n a n e w S A P G U I s e s s i o n , r u n t r a n s a c t i o n S E 3 7 . ( T y p e / O S E 3 7 i n t o   

t h e O K C o d e e l d a n d p r e s s e n t e r ) .  

c ) E n t e r t h e n a m e B A P I _ F L B O O K I N G _ C R E A T E F R O M D A T A a n d p r e s s    

F 8 t o e x e c u t e i t .  d ) E n t e r a n “ X ” i n t o t h e i n p u t p a r a m e t e r l a b e l l e d T E S T _ R U N .  

e ) W e n o w n e e d t o d e t e r m i n e w h a t v a l u e s t o u s e f o r o u r n e w i g h t    

 b o o k i n g . I n a n e w S A P G U I s e s s i o n , r u n t r a n s a c t i o n S E 1 6 . ( T y p e   

/ O S E 1 6 i n t o t h e O K C o d e e l d a n d p r e s s e n t e r ) .  

f ) L o o k a t t h e c o n t e n t s o f t a b l e S F L I G H T .  

g ) C h o o s e a n a r b i t r a r y c a r r i e r a n d i g h t n u m b e r . F o r e x a m p l e , y o u c o u l d      

s e l e c t L u f t h a n s a i g h t 0 4 0 0 .  

h ) P r e s s F 3 t o r e t u r n t o t h e S E 1 6 s e l e c t i o n s c r e e n a n d l t e r t h e d i s p l a y o f      

t a b l e S F L I G H T t o d i s p l a y o n l y t h o s e r o w s f o r y o u r c h o s e n i g h t .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 4 7   

Page 266: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 266/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

F i g u r e 2 9 6 : T a b l e S F L I G H T        

i ) C h o o s e a i g h t w h o s e d e p a r t u r e d a t e ( F L D A T E ) i s i n t h e f u t u r e a n d h a s    

s e a t s a v a i l a b l e ( w h e r e S E A T S M A X – S E A T S O C C > 0 ) .  

 j ) R e m e m b e r t h e d e t a i l s o f y o u r c h o s e n i g h t – i . e . t h e c o n t e n t s o f e l d s  C A R R I D , C O N N I D a n d F L D A T E . W e n o w h a v e 3 o f t h e 5 r e q u i r e d      

e l d s f o r c r e a t i n g a i g h t b o o k i n g .  

k ) P r e s s F 3 t w i c e t o g o b a c k t o t h e S E 1 6 s t a r t s c r e e n .  

l ) E n t e r t h e t a b l e n a m e S C U S T O M a n d p r e s s e n t e r .  

m ) O n t h e s e l e c t i o n s c r e e n , p r e s s F 8 t o d i s p l a y t h e t a b l e c o n t e n t s . S i n c e      

t h e r e a r e o v e r 4 0 0 0 e n t r i e s i n t h i s t a b l e , y o u w i l l o n l y b e s h o w n t h e      

r s t 2 0 0 .  

n ) C h o o s e a n y c u s t o m e r n u m b e r y o u l i k e ( e l d I D ) a n d r e m e m b e r i t . E . G .  

0 0 0 0 0 0 0 1 .  

o ) T h e n a l v a l u e w e n e e d i s a n A g e n c y I d . P r e s s F 3 t w i c e t o r e t u r n t o      

t h e S E 1 6 s t a r t s c r e e n .  

 p ) E n t e r t h e t a b l e n a m e S T R A V E L A G a n d p r e s s e n t e r f o l l o w e d b y F 8 . 

q ) C h o o s e a n y a g e n c y n u m b e r y o u l i k e ( e l d A G E N C Y N U M ) a n d      

r e m e m b e r i t . E . G . 0 0 0 0 0 0 0 1 .  

C o n t i n u e d o n n e x t p a g e      

2 4 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 267: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 267/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

r ) N o w t h a t w e h a v e a l l v e r e q u i r e d v a l u e s , s w i t c h t o t h e S A P G U I s c r e e n      

i n w h i c h y o u a r e t e s t r u n n i n g t h e B A P I ( t r a n s a c t i o n S E 3 7 ) .  

s ) O n t h e i n i t i a l s c r e e n f o r r u n n i n g a f u n c t i o n m o d u l e , y o u w i l l s e e t h e      n a m e s o f t h e i n p u t p a r a m e t e r s f o r t h i s f u n c t i o n m o d u l e .  

S i n c e B O O K I N G _ D A T A i s n o t a s i n g l e e l d , b u t a d a t a s t r u c t u r e , a n      

i c o n s h o w i n g a j i g s a w p u z z l e p i e c e a p p e a r s t o t h e r i g h t o f t h e e l d      

n a m e .  

F i g u r e 2 9 7 : I m p o r t P a r a m e t e r s      

C l i c k o n t h i s i c o n a n d e n t e r t h e v a l u e s w e h a v e j u s t d e r i v e d .  

F i g u r e 2 9 8 :      B O O K I N G _ D A T A        

O n c e t h e s e v a l u e s h a v e b e e n e n t e r e d , p r e s s F 3 t o r e t u r n t o t h e i n i t i a l    s c r e e n f o r t e s t i n g a f u n c t i o n m o d u l e .  

t ) P r e s s F 8 t o e x e c u t e t h e f u n c t i o n m o d u l e .  

u ) I n t h e “ E x p o r t p a r a m e t e r s ” s e c t i o n , y o u s h o u l d n o w s e e t h e r e s u l t s o f a      

s u c c e s s f u l t e s t r u n .  

F i g u r e 2 9 9 : E x p o r t P a r a m e t e r s      

F i g u r e 3 0 0 : T a b l e s      

C l i c k o n t h e i c o n n e x t t o t h e “ R E T U R N R e s u l t : ” t a b l e t h a t h a s 2 e n t r i e s .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 4 9   

Page 268: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 268/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

Y o u w i l l n o w s e e t h e m e s s a g e s c r e a t e d b y t h e B A P I .  

F i g u r e 3 0 1 : M e s s a g e s      

T h i s d e m o n s t r a t e s t h a t o u r t e s t d a t a i s s u i t a b l e f o r c r e a t i n g a i g h t    

 b o o k i n g . 

T h e r e a s o n w e d i d n o t t r y t o t e s t t h e s u i t a b i l i t y o f o u r d a t a f r o m t h e      

R E S T C l i e n t i s t h a t w h e n t e s t i n g f r o m w i t h i n S A P G U I , w e a r e t e s t i n g      

s i m p l y t h e c o r e f u n c t i o n a l i t y o f t h e b u s i n e s s p r o c e s s , r a t h e r t h a n t h e      

 b u s i n e s s f u n c t i o n a l i t y p l u s t h e X M L s e n t a c r o s s O D a t a i n t e r f a c e . 

W e c a n n o w p r o c e e d t o t e s t o u r G a t e w a y s e r v i c e i n t h e R E S T C l i e n t    k n o w i n g t h a t o u r t e s t d a t a i s v a l i d .  

2 .    T e s t i n g f r o m t h e R E S T C l i e n t i n F i r e f o x      

a ) O p e n t h e F i r e f o x b r o w s e r a n d s t a r t t h e R E S T C l i e n t a d d - o n .  

 b ) I n o r d e r t o p e r f o r m a C R E A T E o p e r a t i o n ; i t i s n e c e s s a r y t o r s t p e r f o r m     

a R E A D f o r t w o r e a s o n s :  

1 . T h e R E A D o p e r a t i o n s u p p l i e s u s w i t h a s u i t a b l e X M L d o c u m e n t    

t h a t c a n b e m o d i e d f o r t h e C R E A T E o p e r a t i o n .  

2 . T h e R E A D o p e r a t i o n m u s t b e u s e d t o o b t a i n a n X - C S R F - T o k e n      

w i t h o u t w h i c h , U P D A T E , D E L E T E o r C R E A T E o p e r a t i o n s    c a n n o t b e p e r f o r m e d .  

c ) F r o m w i t h i n t h e R E S T C l i e n t a d d - o n , i s s u e t h e U R L t o d i s p l a y t h e      

B o o k i n g s c o l l e c t i o n f r o m y o u r i g h t i n f o r m a t i o n s e r v i c e .  

C a u t i o n :      D u e t o t h e f a c t t h a t t h e r e a r e o v e r 2 8 , 0 0 0 b o o k i n g s    

i n t h e b a c k e n d s y s t e m ,      d o n o t      r e q u e s t t h e e n t i r e B o o k i n g s    

c o l l e c t i o n . I n s t e a d , r e s t r i c t t h e n u m b e r o f r e t u r n e d e n t i t i e s b y      

u s i n g t h e        $ t o p        q u e r y s t r i n g p a r a m e t e r .  

E . g .  

. . . / F l i g h t _ I n f o r m a t i o n _ n n / B o o k i n g s ? $ t o p = 1 0 0      

C o n t i n u e d o n n e x t p a g e      

2 5 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 269: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 269/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

F i g u r e 3 0 2 : C o d i n g      

d ) I n t h e “ F o r m a t t e d X M L ” s e c t i o n o f t h e R E S T C l i e n t , s c r o l l d o w n t h e      

l i s t a n d l o c a t e t h e        < a t o m : i d >        e l e m e n t o f s o m e b o o k i n g ( t h e e x a c t    

 b o o k i n g y o u c h o o s e i s n o t i m p o r t a n t ) . 

e ) C o p y t h e c o n t e n t s o f t h i s e l e m e n t t o t h e R E S T C l i e n t ’ s a d d r e s s l i n e .  

f ) A d d a r e q u e s t h e a d e r o f X - C S R F - T o k e n w i t h a v a l u e o f F e t c h .  

g ) A d d t h e q u e r y s t r i n g p a r a m e t e r s      a p - d s - d e b u g = t r u e        t o t h e U R L        

a n d s e n d i t t o t h e s e r v e r .  

h ) I n t h e “ R e n d e r e d X M L ” s e c t i o n o f t h e R E S T C l i e n t , c l i c k o n t h e S A P      

i c o n i n t h e b o t t o m r i g h t c o r n e r a n d t h e n s e l e c t t h e R e s p o n s e t a b .  i ) C o p y t h e v a l u e o f t h e X - C S R F - T o k e n a n d u s e t h i s t o r e p l a c e t h e v a l u e      

“ F e t c h ” i n t h e r e q u e s t h e a d e r .  

 j ) A d d a s e c o n d r e q u e s t h e a d e r c a l l e d C o n t e n t - T y p e w i t h a v a l u e o f   

a p p l i c a t i o n / a t o m + x m l ; t y p e = e n t r y        . 

k ) C h a n g e t h e H T T P m e t h o d f r o m G E T t o P O S T .  

l ) R e m o v e t h e k e y p r e d i c a t e a n d q u e r y s t r i n g f r o m t h e U R L u s e d t o      

 p e r f o r m t h e R E A D . 

T h e k e y p r e d i c a t e i s t h e p a r t o f t h e U R L i m m e d i a t e l y a f t e r t h e      

c o l l e c t i o n n a m e B o o k i n g s e n c l o s e d i n p a r e n t h e s e s .  T h e U R L s h o u l d n o w c o n t a i n n o t h i n g m o r e t h a n a r e f e r e n c e t o t h e      

B o o k i n g s c o l l e c t i o n .  

m ) C o p y t h e X M L i n t h e “ R e n d e r e d H T M L ” s e c t i o n t o t h e “ R e q u e s t    

B o d y ” . T h i s X M L w i l l n e e d t o b e e d i t e d b e f o r e i t c a n b e s e n t t o t h e      

s e r v e r a s a C R E A T E r e q u e s t .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 5 1   

Page 270: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 270/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

n ) I n t h e “ R e q u e s t B o d y ” s e c t i o n o f t h e R E S T C l i e n t , e d i t t h e X M L t o      

r e m o v e t h e f o l l o w i n g :  

1 . A n y h y p h e n c h a r a c t e r s a n d b l a n k l i n e s ( t h i s i s c a u s e d b y c o p y i n g      

t h e X M L f r o m a f o r m a t t e d d i s p l a y ) .  

2 . T h e        < a t o m : a u t h o r >        e l e m e n t    

3 . T h e        < a t o m : c a t e g o r y >        e l e m e n t    

4 . T h e        < a t o m : i d >        e l e m e n t    

5 . T h e        < a t o m : l i n k >        e l e m e n t    

6 . T h e        < a t o m : t i t l e >        e l e m e n t    

7 . T h e        < a t o m : u p d a t e d >        e l e m e n t    

o ) E n t e r y o u r v a l i d d a t a o b t a i n e d f r o m t e s t i n g B A P I _ F L B O O K I N G _ C R E -    

A T E F R O M D A T A i n t o t h e X M L .  Y o u r X M L s h o u l d l o o k s o m e t h i n g l i k e t h i s , w h e r e t h e r e q u i r e d v a l u e s    

a r e h i g h l i g h t e d i n y e l l o w .  

< a t o m : e n t r y      

x m l : b a s e =      

" h t t p : / / s o m e s e r v e r : 5 0 0 0 9 / s a p / o p u / o d a t a / s a p / f l i g h t _ i n f o r m a t i o n _ 0 1 / "      

x m l n s : a t o m = " h t t p : / / w w w . w 3 . o r g / 2 0 0 5 / A t o m "      

x m l n s : d =      

" h t t p : / / s c h e m a s . m i c r o s o f t . c o m / a d o / 2 0 0 7 / 0 8 / d a t a s e r v i c e s "      

x m l n s : m =      

" h t t p : / / s c h e m a s . m i c r o s o f t . c o m / a d o / 2 0 0 7 / 0 8 / d a t a s e r v i c e s / m e t a d a t a " >      

< a t o m : c o n t e n t t y p e = " a p p l i c a t i o n / x m l " >      

< m : p r o p e r t i e s >      

< d : A i r l i n e I d > L H < / d : A i r l i n e I d >      

< d : C o n n e c t i o n N o > 0 4 0 0 < / d : C o n n e c t i o n N o >      

< d : F l i g h t D a t e > 2 0 1 2 - 0 6 - 1 6 T 0 0 : 0 0 : 0 0 < / d : F l i g h t D a t e >      

< d : B o o k i n g I d > 0 0 0 0 0 0 0 0 < / d : B o o k i n g I d >      

< d : C u s t o m e r N o > 0 0 0 0 0 0 0 1 < / d : C u s t o m e r N o >      

< d : C u s t o m e r N a m e > H a r r y H a w k < / d : C u s t o m e r N a m e >      

< d : P r i c e > 0 . 0 0 < / d : P r i c e >      

< d : C u r r e n c y C o d e > E U R < / d : C u r r e n c y C o d e >      

< d : B o o k i n g D a t e > 2 0 1 2 - 0 2 - 2 3 T 0 0 : 0 0 : 0 0 < / d : B o o k i n g D a t e >      

< d : A g e n c y > 0 0 0 0 0 0 0 1 < / d : A g e n c y >      < d : C a n c e l l e d m : n u l l = " t r u e " / >      

< d : T i t l e m : n u l l = " t r u e " / >      

< / m : p r o p e r t i e s >      

< / a t o m : c o n t e n t >      

< / a t o m : e n t r y >      

C o n t i n u e d o n n e x t p a g e      

2 5 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 271: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 271/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

C a u t i o n :      I n a d d i t i o n t o t h e v a l u e s n e e d e d t o c r e a t e t h e i g h t    

 b o o k i n g , l o o k a t w h a t i s a l s o n e c e s s a r y f o r t h e X M L t o b e   c o n s i d e r e d v a l i d :  

• I n S P 3 o f G a t e w a y 2 . 0 , O D a t a p r o p e r t i e s o f t y p e      

E d m . S t r i n g        a r e n o t a l l o w e d t o b e e m p t y . ( T h i s    

c o n s t r a i n t w i l l b e r e l a x e d i n S P 4 o r c a n b e r e l a x e d i n S P 3      

 b y a p p l y i n g S A P N o t e 1 6 9 0 3 1 0 ) . 

T h e r e f o r e , y o u m u s t a l w a y s e n t e r a n i n i t i a l v a l u e      

a p p r o p r i a t e f o r t h e p r o p e r t y ’ s d a t a t y p e . I n t h e c a s e o f      

E d m . S t r i n g e l d s t h a t n e e d t o b e e m p t y , a d d t h e p a r a m e t e r    

m : n u l l = “ t r u e ”        . 

E . g .    < d : T i t l e m : n u l l = “ t r u e ” / >      • T h e d a t e i s a l w a y s s p e c i e d a s t i m e s t a m p i n t h e f o r m a t    

Y Y Y Y - M M - D D          T      H H : M M : S S w h e r e        T      i s a x e d      

s e p a r a t o r b e t w e e n t h e d a t e a n d t i m e p a r t s .  

I f y o u o n l y n e e d t o s p e c i f y a d a t e , t h e n t h e t i m e p a r t c a n      

 b e s e t t o 0 0 : 0 0 : 0 0 . 

• I f y o u u s e t h e        m : n u l l = “ t r u e ”        p a r a m e t e r , t h e n      

y o u m u s t t e r m i n a t e t h e e m p t y X M L e l e m e n t w i t h      

a s l a s h c h a r a c t e r . S e e t h e        < d : C a n c e l l e d >        a n d   

< d : T i t l e >        e l e m e n t s a b o v e .  

 p ) O n c e y o u r X M L l o o k s c o r r e c t , p r e s s s e n d . 

q ) Y o u s h o u l d r e c e i v e a n H T T P 2 0 1 C r e a t e d m e s s a g e .  

F i g u r e 3 0 3 : S t a t u s C o d e      

I f y o u r e c e i v e a n e r r o r m e s s a g e , t h e n u s e t r a n s a c t i o n      / I W F N D / E R R O R _ L O G i n t h e G a t e w a y s e r v e r t o s e e a d e t a i l e d e r r o r    

m e s s a g e .  

A f t e r t h e s u c c e s s f u l c r e a t i o n o f t h e i g h t b o o k i n g , y o u w i l l s e e w i t h i n      

t h e R e s p o n s e H e a d e r s e c t i o n o f t h e R E S T C l i e n t , a L o c a t i o n p a r a m e t e r    

f o l l o w e d b y a U R L . T h i s i s t h e U R L t o R E A D t h e i g h t b o o k i n g t h a t    

h a s j u s t b e e n c r e a t e d .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 5 3   

Page 272: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 272/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

U n f o r t u n a t e l y , t h e R E S T C l i e n t d o e s n o t p e r m i t y o u t o f o l l o w t h i s l i n k      

 b y c l i c k i n g o n i t . Y o u c a n ’ t e v e n c o p y a n d p a s t e t h e v a l u e !  

T o d e m o n s t r a t e t h a t t h e C R E A T E o p e r a t i o n w o r k e d c o r r e c t l y , g o t o t h e      “ F o r m a t t e d X M L ” s e c t i o n a n d l o o k f o r t h e        < a t o m : l i n k >        e l e m e n t .  

r ) C o p y t h e R E A D o p e r a t i o n ’ s U R L i n s i d e t h i s e l e m e n t a n d p a s t e i t i n t o      

t h e R E S T C l i e n t ’ s a d d r e s s l i n e .  

s ) C h a n g e t h e H T T P m e t h o d f r o m P O S T t o G E T a n d p r e s s S e n d .  

t ) Y o u w i l l n o w s e e t h e X M L r e s p o n s e o f a R E A D o p e r a t i o n o n t h e i g h t    

 b o o k i n g y o u h a v e j u s t c r e a t e d . 

K e e p t h e R E A D r e s p o n s e i n t h e R E S T C l i e n t , a s t h i s i s t h e b o o k i n g      

w e w i l l c a n c e l w h e n w e c o m e t o t e s t t h e C a n c e l B o o k i n g a c t i o n i n t h e      

n e x t s e c t i o n .  

2 5 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 273: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 273/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

E x e r c i s e 1 2 : I m p l e m e n t C a n c e l B o o k i n g      

C u s t o m A c t i o n      E x e r c i s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s e x e r c i s e , y o u w i l l b e a b l e t o :  

• I m p l e m e n t a n d t e s t t h e C r e a t e a n d C a n c e l B o o k i n g o p e r a t i o n s    

B u s i n e s s E x a m p l e      

T o p r o v i d e t h e u s e r s o f t h e F l i g h t I n f o r m a t i o n s e r v i c e w i t h t h e a b i l i t y t o c r e a t e a n d      

c a n c e l i g h t b o o k i n g s .  

T a s k :    

1 .    A d j u s t t h e G a t e w a y S e r v i c e ’ s M e t a d a t a      

2 .    I m p l e m e n t M e t h o d E X E C U T E _ A C T I O N i n t h e T o p L e v e l D a t a      

P r o v i d e r C l a s s    

3 .    I m p l e m e n t M e t h o d E X E C U T E _ A C T I O N i n t h e B o o k i n g D a t a P r o v i d e r      

C l a s s    

4 .    T e s t t h e C a n c e l B o o k i n g C u s t o m A c t i o n      

T h e O D a t a s p e c i c a t i o n s t a t e s t h a t a l l p a r a m e t e r s p a s s e d t o a S e r v i c e      O p e r a t i o n ( o r C u s t o m A c t i o n ) m u s t b e p a s s e d i n t h e q u e r y s t r i n g . T h i s i s    

t r u e i r r e s p e c t i v e o f w h e t h e r t h e G E T o r P O S T m e t h o d i s u s e d .  

A l s o t h e d a t a t y p e s o f c e r t a i n e l d s m u s t b e d e c l a r e d a s p a r t o f t h e q u e r y      

s t r i n g v a l u e .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 5 5   

Page 274: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 274/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

S o l u t i o n 1 2 : I m p l e m e n t C a n c e l B o o k i n g      

C u s t o m A c t i o n      T a s k :    

1 .    A d j u s t t h e G a t e w a y S e r v i c e ’ s M e t a d a t a      

a ) S t a r t t h e A B A P D e v e l o p m e n t W o r k b e n c h ( t x n s e 8 0 ) a n d e d i t y o u r    

M o d e l P r o v i d e r c l a s s Z C L _ G W 1 0 0 _ M P _        n n     . 

 b ) E d i t m e t h o d D E F I N E a n d a d d d e c l a r a t i o n s f o r t h e l o c a l o b j e c t s  

l o _ a c t i o n a n d l o _ p a r a m e t e r :  

m e t h o d D E F I N E .    

D a t a :    

l o _ e n t i t y _ t y p e t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ e n t i t y _ t y p ,    

l o _ p r o p e r t y t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ p r o p e r t y      

l o _ c o m p l e x _ t y p e t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ c m p l x _ t y p e ,    

l o _ a c t i o n t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ a c t i o n ,    

l o _ p a r a m e t e r t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ p a r a m e t e r .    

c ) A d d t h e f o l l o w i n g c o d e t o t h e e n d o f t h e m e t h o d :  

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

* C R E A T E T H E C a n c e l B o o k i n g A C T I O N      

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

l o _ a c t i o n = m o d e l - > c r e a t e _ a c t i o n ( ' C a n c e l B o o k i n g ' ) .    

l o _ a c t i o n - > s e t _ r e t u r n _ e n t i t y _ t y p e ( ' B o o k i n g ' ) .    

l o _ a c t i o n - > s e t _ h t t p _ m e t h o d ( ' P O S T ' ) .    

l o _ a c t i o n - > s e t _ r e t u r n _ m u l t i p l i c i t y ( c a r d i n a l i t y _ e n t i t y ) .    

l o _ p a r a m e t e r = l o _ a c t i o n - > c r e a t e _ i n p u t _ p a r a m e t e r (      

i v _ p a r a m e t e r _ n a m e = ' A i r l i n e I d '    

i v _ a b a p _ f i e l d n a m e = ' A I R L I N E I D ' ) .    

l o _ p a r a m e t e r - > b i n d _ d a t a _ e l e m e n t ( ' S _ C A R R _ I D ' ) .    

l o _ p a r a m e t e r = l o _ a c t i o n - > c r e a t e _ i n p u t _ p a r a m e t e r (      

i v _ p a r a m e t e r _ n a m e = ' C o n n e c t i o n N o '    

i v _ a b a p _ f i e l d n a m e = ' C O N N E C T I O N N O ' ) .    

l o _ p a r a m e t e r - > b i n d _ d a t a _ e l e m e n t ( ' S _ C O N N _ I D ' ) .    l o _ p a r a m e t e r = l o _ a c t i o n - > c r e a t e _ i n p u t _ p a r a m e t e r (      

i v _ p a r a m e t e r _ n a m e = ' F l i g h t D a t e '    

i v _ a b a p _ f i e l d n a m e = ' F L I G H T D A T E ' ) .    

l o _ p a r a m e t e r - > b i n d _ d a t a _ e l e m e n t ( ' S _ D A T E ' ) .    

l o _ p a r a m e t e r = l o _ a c t i o n - > c r e a t e _ i n p u t _ p a r a m e t e r (      

i v _ p a r a m e t e r _ n a m e = ' B o o k i n g I d '    

i v _ a b a p _ f i e l d n a m e = ' B O O K I N G I D ' ) .    

l o _ p a r a m e t e r - > b i n d _ d a t a _ e l e m e n t ( ' S _ B O O K _ I D ' ) .    

C o n t i n u e d o n n e x t p a g e      

2 5 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 275: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 275/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

e n d m e t h o d .    

d ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

2 .    I m p l e m e n t M e t h o d E X E C U T E _ A C T I O N i n t h e T o p L e v e l D a t a      

P r o v i d e r C l a s s    

a ) E d i t y o u r t o p l e v e l D a t a P r o v i d e r c l a s s Z C L _ G W 1 0 0 _ D P _        n n     . 

 b ) R e n e m e t h o d / I W B E P / I F _ M G W _ A P P L _ S R V _ R U N T I M E ~ E X E -  

C U T E _ A C T I O N .  

c ) R e p l a c e t h e c o d i n g t h i s m e t h o d w i t h t h e f o l l o w i n g , r e m e m b e r i n g t o      

a d j u s t t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w :  

m e t h o d / I W B E P / I F _ M G W _ A P P L _ S R V _ R U N T I M E ~ E X E C U T E _ A C T I O N .    

d a t a :    l o _ b o o k i n g t y p e r e f t o / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ,    

l s _ r t _ b o o k i n g t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

" T h e o n l y a c t i o n t h a t i s r e s p o n d e d t o i s C a n c e l B o o k i n g      

c a s e i v _ a c t i o n _ n a m e .    

w h e n ' C a n c e l B o o k i n g ' .    

c r e a t e :    

o b j e c t l o _ b o o k i n g t y p e z c l _ g w 1 0 0 _ d p _ b o o k i n g _ n n ,    

d a t a e r _ d a t a t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

l o _ b o o k i n g - > e x e c u t e _ a c t i o n (      

e x p o r t i n g i v _ a c t i o n _ n a m e = i v _ a c t i o n _ n a m e      

i t _ p a r a m e t e r = i t _ p a r a m e t e r      

i m p o r t i n g e r _ d a t a = e r _ d a t a ) .    

e n d c a s e .    

e n d m e t h o d .    

d ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

3 .    I m p l e m e n t M e t h o d E X E C U T E _ A C T I O N i n t h e B o o k i n g D a t a P r o v i d e r      

C l a s s    

a ) E d i t y o u r B o o k i n g D a t a P r o v i d e r c l a s s Z C L _ G W 1 0 0 _ D P _ B O O K -    

I N G _        n n     . 

 b ) C h a n g e t h e i m p l e m e n t a t i o n o f m e t h o d E X E C U T E _ A C T I O N . 

c ) R e p l a c e t h e c o d i n g i n t h i s m e t h o d w i t h t h e f o l l o w i n g , r e m e m b e r i n g      

t o a d j u s t t h e c l a s s n a m e s :  

m e t h o d / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ e x e c u t e _ a c t i o n .    

d a t a :    

w a _ b o o k i n g t y p e s b o o k ,    

l v _ c a r r i d t y p e s b o o k - c a r r i d ,    

l v _ c o n n i d t y p e s b o o k - c o n n i d ,    

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 5 7   

Page 276: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 276/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

l v _ f l d a t e t y p e s b o o k - f l d a t e ,    

l v _ b o o k i d t y p e s b o o k - b o o k i d ,    

l v _ k l i n e t y p e / i w b e p / s _ m g w _ n a m e _ v a l u e _ p a i r ,    l v _ l i n e s t y p e i .    

f i e l d - s y m b o l s :    

< f s _ b o o k i n g > t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

" C h e c k w h a t a c t i o n i s b e i n g r e q u e s t e d        

i f i v _ a c t i o n _ n a m e = ' C a n c e l B o o k i n g ' .    

c r e a t e d a t a e r _ d a t a t y p e z c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g _ s .    

a s s i g n e r _ d a t a - > * t o < f s _ b o o k i n g > .    

" W e r e w e p a s s e d a n y p a r a m e t e r s ?      

i f i t _ p a r a m e t e r i s n o t i n i t i a l .    

" Y u p , h o w m a n y ?      

d e s c r i b e t a b l e i t _ p a r a m e t e r l i n e s l v _ l i n e s .    

" M u s t h a v e e x a c t l y 4 p a r a m e t e r s      

i f l v _ l i n e s e q 4 .    

r e a d t a b l e i t _ p a r a m e t e r i n t o l v _ k l i n e      

w i t h k e y n a m e = ' A i r l i n e I d ' .    

i f s y - s u b r c = 0 . l v _ c a r r i d = l v _ k l i n e - v a l u e . e n d i f .    

r e a d t a b l e i t _ p a r a m e t e r i n t o l v _ k l i n e      

w i t h k e y n a m e = ' C o n n e c t i o n N o ' .    i f s y - s u b r c = 0 . l v _ c o n n i d = l v _ k l i n e - v a l u e . e n d i f .    

r e a d t a b l e i t _ p a r a m e t e r i n t o l v _ k l i n e      

w i t h k e y n a m e = ' F l i g h t D a t e ' .    

i f s y - s u b r c = 0 . l v _ f l d a t e = l v _ k l i n e - v a l u e . e n d i f .    

r e a d t a b l e i t _ p a r a m e t e r i n t o l v _ k l i n e      

w i t h k e y n a m e = ' B o o k i n g I d ' .    

i f s y - s u b r c = 0 . l v _ b o o k i d = l v _ k l i n e - v a l u e . e n d i f .    

e n d i f .    

e n d i f .    

" F i n d t h e b o o k i n g t o b e c a n c e l l e d        

s e l e c t s i n g l e *      

f r o m s b o o k      

i n t o w a _ b o o k i n g      

w h e r e c a r r i d = l v _ c a r r i d a n d        

c o n n i d = l v _ c o n n i d a n d        

f l d a t e = l v _ f l d a t e a n d        

C o n t i n u e d o n n e x t p a g e      

2 5 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 277: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 277/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

b o o k i d = l v _ b o o k i d .    

" W a s t h e b o o k i n g f o u n d        i f s y - s u b r c = 0 .    

" S e t t h e c a n c e l l e d f l a g a n d u p d a t e t h e d a t a b a s e      

w a _ b o o k i n g - c a n c e l l e d = ' X ' .    

u p d a t e s b o o k f r o m w a _ b o o k i n g .    

" R e t u r n t h e d e t a i l s o f t h e c a n c e l l e d b o o k i n g t o t h e c l i e n t .    

< f s _ b o o k i n g > - a i r l i n e i d = w a _ b o o k i n g - c a r r i d .    

< f s _ b o o k i n g > - c o n n e c t i o n n o = w a _ b o o k i n g - c o n n i d .    

< f s _ b o o k i n g > - f l i g h t d a t e = w a _ b o o k i n g - f l d a t e .    

< f s _ b o o k i n g > - b o o k i n g i d = w a _ b o o k i n g - b o o k i d .    

< f s _ b o o k i n g > - c u s t o m e r n o = w a _ b o o k i n g - c u s t o m i d .    

< f s _ b o o k i n g > - c u s t o m e r n a m e = w a _ b o o k i n g - p a s s n a m e .    

< f s _ b o o k i n g > - a g e n c y n u m = w a _ b o o k i n g - a g e n c y n u m .    

< f s _ b o o k i n g > - p r i c e = w a _ b o o k i n g - f o r c u r a m .    

< f s _ b o o k i n g > - c u r r e n c y c o d e = w a _ b o o k i n g - f o r c u r k e y .    

< f s _ b o o k i n g > - b o o k i n g d a t e = w a _ b o o k i n g - o r d e r _ d a t e .    

< f s _ b o o k i n g > - c a n c e l l e d = w a _ b o o k i n g - c a n c e l l e d .    

c o n c a t e n a t e ` B o o k i n g f o r ` < f s _ b o o k i n g > - c u s t o m e r n a m e      

` o n F l i g h t ` < f s _ b o o k i n g > - a i r l i n e i d        

< f s _ b o o k i n g > - c o n n e c t i o n n o      

` o n ` < f s _ b o o k i n g > - f l i g h t d a t e      

` h a s b e e n c a n c e l l e d . `    i n t o < f s _ b o o k i n g > - t i t l e .    

e l s e .    

c o n c a t e n a t e ` B o o k i n g ` l v _ b o o k i d        

` f o r f l i g h t ` l v _ c a r r i d l v _ c o n n i d        

` o n ` l v _ f l d a t e      

` c a n n o t b e f o u n d . `    

i n t o < f s _ b o o k i n g > - t i t l e .    

e n d i f .    

e n d i f .    

e n d m e t h o d .    

d ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

4 .    T e s t t h e C a n c e l B o o k i n g C u s t o m A c t i o n      

T h e O D a t a s p e c i c a t i o n s t a t e s t h a t a l l p a r a m e t e r s p a s s e d t o a S e r v i c e      

O p e r a t i o n ( o r C u s t o m A c t i o n ) m u s t b e p a s s e d i n t h e q u e r y s t r i n g . T h i s i s    

t r u e i r r e s p e c t i v e o f w h e t h e r t h e G E T o r P O S T m e t h o d i s u s e d .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 5 9   

Page 278: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 278/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

A l s o t h e d a t a t y p e s o f c e r t a i n e l d s m u s t b e d e c l a r e d a s p a r t o f t h e q u e r y      

s t r i n g v a l u e .  

a ) I n t h e R E S T C l i e n t , d e l e t e t h e f o l l o w i n g v a l u e s :  

1 . T h e C o n t e n t - T y p e r e q u e s t h e a d e r v a l u e      

2 . T h e e n t i r e r e q u e s t b o d y      

 b ) E n s u r e t h e H T T P m e t h o d i s s e t t o P O S T    

c ) E d i t t h e U R L s o t h a t i t c o n t a i n s t h e f o l l o w i n g s e g m e n t s c o n c a t e n a t e d      

t o g e t h e r a s a s i n g l e s t r i n g :  

U R L F r a g m e n t D e s c r i p t i o n      

i g h t _ i n f o r m a t i o n _ n n / G a t e w a y S e r v i c e n a m e      

C a n c e l B o o k i n g C u s t o m A c t i o n n a m e      

? S t a r t o f q u e r y s t r i n g      

A i r l i n e I d = ' L H ' Q u o t e d s t r i n g v a l u e      

& Q u e r y s t r i n g s e p a r a t o r    

C o n n e c t i o n N o = ' 0 4 0 0 ' Q u o t e d s t r i n g v a l u e      

& Q u e r y s t r i n g s e p a r a t o r    

F l i g h t D a t e = d a t e t i m e ' 2 0 1 2 - 0 6 - 1 6 T 0 0 : 0 0 ' D a t a t y p e + q u o t e d v a l u e      

& Q u e r y s t r i n g s e p a r a t o r    

B o o k i n g I d = ' 0 0 0 0 9 4 0 5 ' Q u o t e d s t r i n g v a l u e      

T h e f o r m a t o f t h e F l i g h t D a t e p a r a m e t e r i s w h a t u s u a l l y c a t c h e s p e o p l e      

o u t .  

T h i s i s t h e O D a t a s y n t a x f o r d e c l a r i n g t h a t t h e v a l u e i n t h e q u o t e d      

s t r i n g i s o f t y p e E d m . D a t e T i m e . N o w h i t e s p a c e i s p e r m i t t e d b e t w e e n      

t h e d a t a t y p e i d e n t i e r a n d t h e q u o t e d v a l u e .  

T h e U R L f o r i n v o k i n g t h e C a n c e l B o o k i n g a c t i o n w i l l l o o k l i k e t h e      

o n e s h o w n b e l o w .  

T h e v a l u e s t h a t y o u w i l l n e e d t o e d i t h a v e b e e n h i g h l i g h t e d i n y e l l o w .  

T h e s e s h o u l d b e c h a n g e d t o w h a t e v e r v a l u e s d e s c r i b e t h e b o o k i n g y o u      a r e c a n c e l l i n g :  

f l i g h t _ i n f o r m a t i o n _          n n     / C a n c e l B o o k i n g ? A i r l i n e I d = ' L H ' &      C o n n e c t i o n N o = ' 0 4 0 0 ' &      F l i g h t D a t e = d a t e t i m e ' 2 0 1 2 - 0 6 - 1 6 T 0 0 : 0 0 ' &      B o o k i n g l d = ' 0 0 0 0 9 4 0 5 '    

C o n t i n u e d o n n e x t p a g e      

2 6 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 279: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 279/346

G W 1 0 0 L e s s o n : D e v e l o p i n g D a t a P r o v i d e r C l a s s f o r U p d a t e      

d ) O n c e y o u h a v e b u i l t t h e c o r r e c t U R L , p r e s s s e n d . Y o u s h o u l d s e e a n      

H T T P S t a t u s C o d e o f 2 0 0 O k .  

F i g u r e 3 0 4 : S t a t u s C o d e      

e ) T h e “ F o r m a t t e d X M L ” r e s p o n s e s e c t i o n o f t h e R E S T C l i e n t w i l l s h o w        

t h e X M L r e p r e s e n t a t i o n o f c a n c e l l e d i g h t b o o k i n g .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 6 1   

Page 280: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 280/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

L e s s o n S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  • U n d e r s t a n d h o w t o i m p l e m e n t t h e C R E A T E o p e r a t i o n w i t h i n a G a t e w a y      

D a t a P r o v i d e r C l a s s .  

• U n d e r s t a n d h o w t o i m p l e m e n t a c u s t o m O D a t a a c t i o n .  

2 6 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 281: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 281/346

G W 1 0 0 L e s s o n : U s i n g A s s o c i a t i o n s a n d N a v i g a t i o n P a t h s      

L e s s o n : U s i n g A s s o c i a t i o n s a n d N a v i g a t i o n P a t h s      

L e s s o n O v e r v i e w          

T h i s l e s s o n c o v e r s t h e u s e o f O D a t a a s s o c i a t i o n s a n d n a v i g a t i o n p a t h s .  

L e s s o n O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• U n d e r s t a n d h o w E n t i t y T y p e s i n a D a t a M o d e l a r e R e l a t e d U s i n g      

A s s o c i a t i o n s .  

• U n d e r s t a n d h o w A s s o c i a t i o n s a r e I m p l e m e n t e d a t R u n t i m e U s i n g N a v i g a t i o n      P a t h s .  

B u s i n e s s E x a m p l e      

A s s o c i a t i o n s      

F i g u r e 3 0 5 : T u r n i n g D a t a i n t o I n f o r m a t i o n - U s i n g A s s o c i a t i o n s      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 6 3   

Page 282: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 282/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

F i g u r e 3 0 6 : D e n i n g A s s o c i a t i o n s i n t h e D a t a M o d e l - 1 /    

T h e     d e v e l o p m e n t      o f a G a t e w a y S e r v i c e t a k e s p l a c e o n w h i c h e v e r s y s t e m h a s t h e      

I W _ B E P c o m p o n e n t i n s t a l l e d .  

T h e     a c t i v a t i o n        o f a G a t e w a y s e r v i c e t a k e s p l a c e i n w h i c h e v e r S A P s y s t e m h a s    

t h e G W _ C O R E c o m p o n e n t i n s t a l l e d .  

I t i s e n t i r e l y p o s s i b l e t h a t t h e s e m a y b e d i f f e r e n t s y s t e m s .  

F i g u r e 3 0 7 : D e n i n g A s s o c i a t i o n s i n t h e D a t a M o d e l - 2 /    

T h e     d e v e l o p m e n t      o f a G a t e w a y S e r v i c e t a k e s p l a c e o n w h i c h e v e r s y s t e m h a s t h e      

I W _ B E P c o m p o n e n t i n s t a l l e d .  

T h e     a c t i v a t i o n        o f a G a t e w a y s e r v i c e t a k e s p l a c e i n w h i c h e v e r S A P s y s t e m h a s    

t h e G W _ C O R E c o m p o n e n t i n s t a l l e d .  

I t i s e n t i r e l y p o s s i b l e t h a t t h e s e m a y b e d i f f e r e n t s y s t e m s .  

2 6 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 283: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 283/346

G W 1 0 0 L e s s o n : U s i n g A s s o c i a t i o n s a n d N a v i g a t i o n P a t h s      

F i g u r e 3 0 8 : D e n i n g A s s o c i a t i o n s i n t h e D a t a M o d e l - 3 /    

T h e     d e v e l o p m e n t      o f a G a t e w a y S e r v i c e t a k e s p l a c e o n w h i c h e v e r s y s t e m h a s t h e      

I W _ B E P c o m p o n e n t i n s t a l l e d .  

T h e     a c t i v a t i o n        o f a G a t e w a y s e r v i c e t a k e s p l a c e i n w h i c h e v e r S A P s y s t e m h a s    

t h e G W _ C O R E c o m p o n e n t i n s t a l l e d .  

I t i s e n t i r e l y p o s s i b l e t h a t t h e s e m a y b e d i f f e r e n t s y s t e m s .  

F i g u r e 3 0 9 : D e n i n g A s s o c i a t i o n s i n t h e D a t a M o d e l - 4 /    

T h e     d e v e l o p m e n t      o f a G a t e w a y S e r v i c e t a k e s p l a c e o n w h i c h e v e r s y s t e m h a s t h e      

I W _ B E P c o m p o n e n t i n s t a l l e d .  

T h e     a c t i v a t i o n        o f a G a t e w a y s e r v i c e t a k e s p l a c e i n w h i c h e v e r S A P s y s t e m h a s    

t h e G W _ C O R E c o m p o n e n t i n s t a l l e d .  

I t i s e n t i r e l y p o s s i b l e t h a t t h e s e m a y b e d i f f e r e n t s y s t e m s .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 6 5   

Page 284: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 284/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

F i g u r e 3 1 0 : C r e a t i n g A s s o c i a t i o n s      

N a v i g a t i o n P a t h s      

F i g u r e 3 1 1 : C r e a t i n g N a v i g a t i o n P a t h s      

2 6 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 285: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 285/346

G W 1 0 0 L e s s o n : U s i n g A s s o c i a t i o n s a n d N a v i g a t i o n P a t h s      

F i g u r e 3 1 2 : I m p l e m e n t i n g N a v i g a t i o n P a t h s i n t h e T o p L e v e l D a t a P r o v i d e r      

C l a s s      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 6 7   

Page 286: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 286/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

2 6 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 287: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 287/346

G W 1 0 0 L e s s o n : U s i n g A s s o c i a t i o n s a n d N a v i g a t i o n P a t h s      

E x e r c i s e 1 3 : C r e a t e A s s o c i a t i o n s a n d      

N a v i g a t i o n P r o p e r t i e s      E x e r c i s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s e x e r c i s e , y o u w i l l b e a b l e t o :  

• A l l o w u s e r s t o t r a v e r s e b e t w e e n t h e e n t i t y t y p e s i n t h e F l i g h t I n f o r m a t i o n      

d a t a m o d e l . T h i s i s a c h i e v e d b y i m p l e m e n t i n g d e s i g n - t i m e a s s o c i a t i o n s a n d      

r u n t i m e n a v i g a t i o n p a t h s i n y o u r G a t e w a y s e r v i c e .  

B u s i n e s s E x a m p l e      

T o p r o v i d e t h e u s e r s w i t h t h e a b i l i t y t o o b t a i n i n f o r m a t i o n a b o u t b u s i n e s s o b j e c t s    

r e l a t e d t o t h e o n e c u r r e n t l y s e l e c t e d . T h i s a l l o w s t h e u s e r s t o g e t a n s w e r s t o       p r a c t i c a l q u e s t i o n s s u c h a s , “ I f I a m s t a r t i n g f r o m a p a r t i c u l a r a i r p o r t , t o w h i c h   

o t h e r a i r p o r t s c a n I y d i r e c t l y ? ”      

T a s k :    

1 .    C r e a t e A s s o c i a t i o n s B e t w e e n E n t i t y T y p e s    

I n o r d e r t o c r e a t e t h e r e a l - l i f e a s s o c i a t i o n s t h a t e x i s t b e t w e e n r e l a t e d p i e c e s    

o f i n f o r m a t i o n , O D a t a p r o v i d e s a f a c i l i t y t o c r e a t e a s s o c i a t i o n s .  

2 .    C r e a t e N a v i g a t i o n P r o p e r t i e s B e t w e e n A s s o c i a t i o n s    

T h e A s s o c i a t i o n s w e ’ v e j u s t c r e a t e d d e c l a r e n o t h i n g m o r e t h a n t h e e x i s t e n c e      

o f a n a s s o c i a t i o n b e t w e e n c e r t a i n e n t i t y t y p e s . I n o r d e r t o m a k e u s e o f t h e s e      

a s s o c i a t i o n s , w e n e e d t o p r o v i d e t h e u s e r w i t h a m e a n s o f n a v i g a t i n g f r o m          

o n e s i d e o f a n a s s o c i a t i o n t o t h e o t h e r . T h i s i s w h e r e N a v i g a t i o n P r o p e r t i e s    

a r e u s e d .  

3 .    M o d i f y m e t h o d G E T _ E N T I T Y S E T i n t h e T o p L e v e l D a t a P r o v i d e r C l a s s    

S o f a r , t h e c o d i n g i n m e t h o d G E T _ E N T I T Y S E T o f t h e t o p l e v e l D a t a      

P r o v i d e r c l a s s t a k e s a s i m p l i s t i c v i e w o f t h e r e q u e s t s i t r e c e i v e s . I t e x a m i n e s    

o n l y        t h e n a m e o f t h e e n t i t y s e t ( o r c o l l e c t i o n ) , a n d t h e n s i m p l y c a l l s t h e      

a s s o c i a t e d D a t a P r o v i d e r c l a s s f o r t h a t e n t i t y t y p e .  

T h i s c o d i n g i s n o t s u i t a b l e f o r h a n d l i n g n a v i g a t i o n p a t h s f o r t h e s i m p l e      

r e a s o n t h a t i f y o u w a n t t o s e e a l i s t o f i g h t s t h a t d e p a r t f r o m a g i v e n a i r p o r t ,    

t h e U R L w i l l r e f e r t o t h e A i r p o r t s c o l l e c t i o n , b u t t h e r e t u r n e d e n t i t y t y p e      

s h o u l d b e a c o l l e c t i o n o f i g h t s , n o t a i r p o r t s .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 6 9   

Page 288: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 288/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

T h e r e f o r e , w e n e e d t o e x t e n d t h e c o d i n g i n t h e G E T _ E N T I T Y S E T m e t h o d      

t o c a l l t h e D a t a P r o v i d e r c l a s s a s s o c i a t e d w i t h t h e e n t i t y t y p e b e i n g r e t u r n e d      

 – w h i c h i s n o t n e c e s s a r i l y t h e s a m e e n t i t y t y p e i d e n t i e d b y t h e c o l l e c t i o n   n a m e .  

4 .    T e s t N a v i g a t i o n P a t h s i n t h e B r o w s e r      

T h r e e n a v i g a t i o n p a t h s n e e d t o b e t e s t e d :  

• A i r p o r t s T o : F o r a n y g i v e n a i r p o r t , w e c a n l i s t t h e a i r p o r t t o w h i c h w e c a n      

y d i r e c t l y .  

• D e p a r t i n g F l i g h t s : F o r a n y g i v e n a i r p o r t , w e c a n l i s t t h e i g h t s t h a t t a k e      

f r o m t h e r e .  

• B o o k i n g s : F o r a n y g i v e n i g h t , w e c a n l i s t i t s b o o k i n g s .  

 N a v i g a t i o n p a t h s a r e t e s t e d b y c o n s t r u c t i n g a U R L t h a t i d e n t i e s a s p e c i c   a i r p o r t o r i g h t , a n d t h e n a p p e n d i n g t o i t t h e n a v i g a t i o n p a t h n a m e .  

2 7 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 289: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 289/346

G W 1 0 0 L e s s o n : U s i n g A s s o c i a t i o n s a n d N a v i g a t i o n P a t h s      

S o l u t i o n 1 3 : C r e a t e A s s o c i a t i o n s a n d      

N a v i g a t i o n P r o p e r t i e s      T a s k :    

1 .    C r e a t e A s s o c i a t i o n s B e t w e e n E n t i t y T y p e s    

I n o r d e r t o c r e a t e t h e r e a l - l i f e a s s o c i a t i o n s t h a t e x i s t b e t w e e n r e l a t e d p i e c e s    

o f i n f o r m a t i o n , O D a t a p r o v i d e s a f a c i l i t y t o c r e a t e a s s o c i a t i o n s .  

a ) S t a r t t h e A B A P D e v e l o p m e n t W o r k b e n c h ( t r a n s a c t i o n S E 8 0 ) a n d e d i t    

y o u r M o d e l P r o v i d e r c l a s s Z C L _ G W 1 0 0 _ M P _        n n     . 

 b ) E d i t m e t h o d D E F I N E a n d a d d a d e c l a r a t i o n f o r t h e l o c a l o b j e c t  l o _ a s s o c i a t i o n :  m e t h o d D E F I N E .    

D a t a :    

l o _ e n t i t y _ t y p e t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ e n t i t y _ t y p ,    

l o _ p r o p e r t y t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ p r o p e r t y      

l o _ c o m p l e x _ t y p e t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ c m p l x _ t y p e ,    

l o _ a c t i o n t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ a c t i o n ,    

l o _ p a r a m e t e r t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ p a r a m e t e r ,    

l o _ a s s o c i a t i o n t y p e r e f t o / i w b e p / i f _ m g w _ o d a t a _ a s s o c .    

c ) A d d t h e f o l l o w i n g c o d i n g t o t h e e n d t h e m e t h o d .  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

* A S S O C I A T I O N S      

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

" D e f i n e A s s o c i a t i o n A i r p o r t F r o m _ A i r p o r t s T o b e t w e e n A i r p o r t a n d        

" A i r p o r t      

l o _ a s s o c i a t i o n = m o d e l - > c r e a t e _ a s s o c i a t i o n (      

i v _ a s s o c i a t i o n _ n a m e = ' A i r p o r t F r o m _ A i r p o r t s T o '    

i v _ l e f t _ t y p e = ' A i r p o r t '    

i v _ r i g h t _ t y p e = ' A i r p o r t '    

i v _ r i g h t _ c a r d = c a r d i n a l i t y _ f e e d        

i v _ l e f t _ c a r d = c a r d i n a l i t y _ e n t i t y ) .    

" D e f i n e A s s o c i a t i o n A i r p o r t F r o m _ D e p a r t i n g F l i g h t s b e t w e e n A i r p o r t      

" a n d F l i g h t      

l o _ a s s o c i a t i o n = m o d e l - > c r e a t e _ a s s o c i a t i o n (      

i v _ a s s o c i a t i o n _ n a m e = ' A i r p o r t F r o m _ D e p a r t i n g F l i g h t s '    

i v _ l e f t _ t y p e = ' A i r p o r t '    

i v _ r i g h t _ t y p e = ' F l i g h t '    

i v _ r i g h t _ c a r d = c a r d i n a l i t y _ f e e d        

i v _ l e f t _ c a r d = c a r d i n a l i t y _ e n t i t y ) .    

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 7 1   

Page 290: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 290/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

" D e f i n e A s s o c i a t i o n F l i g h t _ B o o k i n g s b e t w e e n F l i g h t a n d B o o k i n g      

l o _ a s s o c i a t i o n = m o d e l - > c r e a t e _ a s s o c i a t i o n (      

i v _ a s s o c i a t i o n _ n a m e = ' F l i g h t _ B o o k i n g s '    i v _ l e f t _ t y p e = ' F l i g h t '    

i v _ r i g h t _ t y p e = ' B o o k i n g '    

i v _ r i g h t _ c a r d = c a r d i n a l i t y _ f e e d        

i v _ l e f t _ c a r d = c a r d i n a l i t y _ e n t i t y ) .    

T h r e e a s s o c i a t i o n s a r e c r e a t e d h e r e :  

• A n a s s o c i a t i o n s h o w i n g w h i c h a i r p o r t s c a n b e r e a c h e d f r o m a n y      

o t h e r a i r p o r t .  

• A n a s s o c i a t i o n s h o w i n g w h i c h i g h t s a r e d e p a r t i n g f r o m a      

 p a r t i c u l a r a i r p o r t . • A n a s s o c i a t i o n s h o w i n g t h e b o o k i n g s f o r a p a r t i c u l a r i g h t .  

d ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

e ) G o b a c k t o t h e b r o w s e r a n d r e - i s s u e t h e $ m e t a d a t a U R L .  

f ) Y o u w i l l n o w s e e v a r i o u s e x t r a e l e m e n t s i n t h e X M L        

 – t h r e e     < A s s o c i a t i o n >        e l e m e n t s , a n d w i t h i n      

t h e     < E n t i t y C o n t a i n e r >        e l e m e n t , t h r e e n e w        

< A s s o c i a t i o n S e t >        e l e m e n t s .  

2 .    C r e a t e N a v i g a t i o n P r o p e r t i e s B e t w e e n A s s o c i a t i o n s    

C o n t i n u e d o n n e x t p a g e      

2 7 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 291: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 291/346

G W 1 0 0 L e s s o n : U s i n g A s s o c i a t i o n s a n d N a v i g a t i o n P a t h s      

T h e A s s o c i a t i o n s w e ’ v e j u s t c r e a t e d d e c l a r e n o t h i n g m o r e t h a n t h e e x i s t e n c e      

o f a n a s s o c i a t i o n b e t w e e n c e r t a i n e n t i t y t y p e s . I n o r d e r t o m a k e u s e o f t h e s e      

a s s o c i a t i o n s , w e n e e d t o p r o v i d e t h e u s e r w i t h a m e a n s o f n a v i g a t i n g f r o m          o n e s i d e o f a n a s s o c i a t i o n t o t h e o t h e r . T h i s i s w h e r e N a v i g a t i o n P r o p e r t i e s    

a r e u s e d .  

a ) E d i t m e t h o d D E F I N E .  

 b ) A d d t h e f o l l o w i n g c o d i n g t o t h e e n d t h e m e t h o d . 

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

* N A V I G A T I O N P R O P E R T I E S      

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      

" N a v i g a t i o n P r o p e r t i e s f o r e n t i t y A i r p o r t      

l o _ e n t i t y _ t y p e = m o d e l - > g e t _ e n t i t y _ t y p e (      

i v _ e n t i t y _ n a m e = ' A i r p o r t ' ) .    

" A d d N a v i g a t i o n P r o p e r t y f r o m r o l e A i r p o r t F r o m        

" t o r o l e A i r p o r t s T o      

l o _ e n t i t y _ t y p e - > c r e a t e _ n a v i g a t i o n _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' A i r p o r t s T o '    

i v _ a s s o c i a t i o n _ n a m e = ' A i r p o r t F r o m _ A i r p o r t s T o ' ) .    

" A d d N a v i g a t i o n P r o p e r t y f r o m r o l e A i r p o r t F r o m        

" t o r o l e D e p a r t i n g F l i g h t s      

l o _ e n t i t y _ t y p e - > c r e a t e _ n a v i g a t i o n _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' D e p a r t i n g F l i g h t s '    

i v _ a s s o c i a t i o n _ n a m e = ' A i r p o r t F r o m _ D e p a r t i n g F l i g h t s ' ) .    

" N a v i g a t i o n P r o p e r t i e s f o r e n t i t y F l i g h t      

l o _ e n t i t y _ t y p e = m o d e l - > g e t _ e n t i t y _ t y p e (      i v _ e n t i t y _ n a m e = ' F l i g h t ' ) .    

" A d d N a v i g a t i o n P r o p e r t y f r o m r o l e F l i g h t t o r o l e B o o k i n g s      

l o _ e n t i t y _ t y p e - > c r e a t e _ n a v i g a t i o n _ p r o p e r t y (      

i v _ p r o p e r t y _ n a m e = ' B o o k i n g s '    

i v _ a s s o c i a t i o n _ n a m e = ' F l i g h t _ B o o k i n g s ' ) .    

N o t e :      N o t i c e t h a t t h e s e s t a t e m e n t s o p e r a t e o n t h e e n t i t y t y p e s    

f o r A i r p o r t a n d B o o k i n g , n o t t h e e n t i t y s e t s A i r p o r t s a n d      

B o o k i n g s .  

A n a v i g a t i o n p r o p e r t y i s i d e n t i e d b y t h e v a l u e o f t h e      

i v _ p r o p e r t y _ n a m e p a r a m e t e r , a n d t h e n g i v e n a n a s s o c i a t i o n o n      w h i c h t o o p e r a t e .  

c ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

d ) G o b a c k t o t h e b r o w s e r a n d r e - i s s u e t h e        $ m e t a d a t a        U R L .  

e ) Y o u w i l l n o w s e e s o m e n e w          < N a v i g a t i o n P r o p e r t y >        e l e m e n t s    

w i t h i n t h e        < E n t i t y T y p e >        e l e m e n t s f o r F l i g h t a n d A i r p o r t .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 7 3   

Page 292: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 292/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

3 .    M o d i f y m e t h o d G E T _ E N T I T Y S E T i n t h e T o p L e v e l D a t a P r o v i d e r C l a s s    

S o f a r , t h e c o d i n g i n m e t h o d G E T _ E N T I T Y S E T o f t h e t o p l e v e l D a t a      

P r o v i d e r c l a s s t a k e s a s i m p l i s t i c v i e w o f t h e r e q u e s t s i t r e c e i v e s . I t e x a m i n e s    o n l y        t h e n a m e o f t h e e n t i t y s e t ( o r c o l l e c t i o n ) , a n d t h e n s i m p l y c a l l s t h e      

a s s o c i a t e d D a t a P r o v i d e r c l a s s f o r t h a t e n t i t y t y p e .  

T h i s c o d i n g i s n o t s u i t a b l e f o r h a n d l i n g n a v i g a t i o n p a t h s f o r t h e s i m p l e      

r e a s o n t h a t i f y o u w a n t t o s e e a l i s t o f i g h t s t h a t d e p a r t f r o m a g i v e n a i r p o r t ,    

t h e U R L w i l l r e f e r t o t h e A i r p o r t s c o l l e c t i o n , b u t t h e r e t u r n e d e n t i t y t y p e      

s h o u l d b e a c o l l e c t i o n o f i g h t s , n o t a i r p o r t s .  

T h e r e f o r e , w e n e e d t o e x t e n d t h e c o d i n g i n t h e G E T _ E N T I T Y S E T m e t h o d      

t o c a l l t h e D a t a P r o v i d e r c l a s s a s s o c i a t e d w i t h t h e e n t i t y t y p e b e i n g r e t u r n e d      

 – w h i c h i s n o t n e c e s s a r i l y t h e s a m e e n t i t y t y p e i d e n t i e d b y t h e c o l l e c t i o n   

n a m e .  a ) E d i t y o u r t o p l e v e l D a t a P r o v i d e r c l a s s Z C L _ G W 1 0 0 _ D P _        n n     . 

S i n c e t h e r e a r e n o n a v i g a t i o n p a t h s r e l a t e d t o t h e B o o k i n g e n t i t y t y p e ,    

w e o n l y n e e d t o a d j u s t t h e c o d i n g f o r A i r p o r t s a n d F l i g h t s .  

 b ) J u s t a f t e r t h e d a t a d e c l a r a t i o n , d e c l a r e a e l d s y m b o l : f i e l d - s y m b o l s : < f s _ n a v _ p a t h > t y p e / i w b e p / s _ m g w _ n a v i g a t i o n _ p a t h .    

c ) R e p l a c e t h e c a s e b r a n c h f o r A i r p o r t s w i t h t h e f o l l o w i n g , r e m e m b e r i n g      

t o a d j u s t t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w :  

w h e n ' A i r p o r t s ' .    

" F i r s t c h e c k f o r n a v i g a t i o n p a t h s t h a t r e q u i r e a d i f f e r e n t      

" e n t i t y s e t t o b e r e t u r n e d t h a n t h e o n e i n d i c a t e d b y t h e      

" c o l l e c t i o n n a m e . E . G . A i r p o r t s ( ' F R A ' ) / D e p a r t i n g F l i g h t s      

" c o n t a i n s A i r p o r t s a s t h e e n t i t y s e t b u t r e q u i r e s a      

" c o l l e c t i o n o f F l i g h t s t o b e r e t u r n e d        

r e a d t a b l e i t _ n a v i g a t i o n _ p a t h a s s i g n i n g < f s _ n a v _ p a t h > i n d e x 1 .    

" I n s t a n t i a t e t h e d a t a p r o v i d e r o b j e c t f o r t h i s e n t i t y s e t      

i f s y - s u b r c = 0 a n d < f s _ n a v _ p a t h > - n a v _ p r o p = ' D e p a r t i n g F l i g h t s ' .    

c r e a t e :    

o b j e c t l o _ f l i g h t ,    

d a t a e r _ e n t i t y s e t t y p e z _ c l _ g w 1 0 0 _ m p _ n n = > f l i g h t s _ t .    

l o _ f l i g h t - > / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y s e t (      

e x p o r t i n g i v _ e n t i t y _ n a m e = i v _ e n t i t y _ n a m e      

i v _ s o u r c e _ n a m e = i v _ s o u r c e _ n a m e      

i v _ e n t i t y _ s e t _ n a m e = i v _ e n t i t y _ s e t _ n a m e      

i t _ f i l t e r _ s e l e c t _ o p t i o n s = i t _ f i l t e r _ s e l e c t _ o p t i o n s      

i t _ o r d e r = i t _ o r d e r      

i s _ p a g i n g = i s _ p a g i n g      

C o n t i n u e d o n n e x t p a g e      

2 7 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 293: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 293/346

G W 1 0 0 L e s s o n : U s i n g A s s o c i a t i o n s a n d N a v i g a t i o n P a t h s      

i t _ n a v i g a t i o n _ p a t h = i t _ n a v i g a t i o n _ p a t h      

i t _ k e y _ t a b = i t _ k e y _ t a b      

i v _ f i l t e r _ s t r i n g = i v _ f i l t e r _ s t r i n g      i v _ s e a r c h _ s t r i n g = i v _ s e a r c h _ s t r i n g      

i m p o r t i n g e r _ e n t i t y s e t = e r _ e n t i t y s e t ) .    

e l s e .    

c r e a t e :    

o b j e c t l o _ a i r p o r t ,    

d a t a e r _ e n t i t y s e t t y p e z _ c l _ g w 1 0 0 _ m p _ n n = > a i r p o r t s _ t .    

l o _ a i r p o r t - > / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y s e t (      

e x p o r t i n g i v _ e n t i t y _ n a m e = i v _ e n t i t y _ n a m e      

i v _ s o u r c e _ n a m e = i v _ s o u r c e _ n a m e      

i v _ e n t i t y _ s e t _ n a m e = i v _ e n t i t y _ s e t _ n a m e      

i t _ f i l t e r _ s e l e c t _ o p t i o n s = i t _ f i l t e r _ s e l e c t _ o p t i o n s      

i t _ o r d e r = i t _ o r d e r      

i s _ p a g i n g = i s _ p a g i n g      

i t _ n a v i g a t i o n _ p a t h = i t _ n a v i g a t i o n _ p a t h      

i t _ k e y _ t a b = i t _ k e y _ t a b      

i v _ f i l t e r _ s t r i n g = i v _ f i l t e r _ s t r i n g      

i v _ s e a r c h _ s t r i n g = i v _ s e a r c h _ s t r i n g      

i m p o r t i n g e r _ e n t i t y s e t = e r _ e n t i t y s e t ) .    

e n d i f .    

d ) R e p l a c e t h e c a s e b r a n c h f o r F l i g h t s w i t h t h e f o l l o w i n g , r e m e m b e r i n g t o      

a d j u s t t h e c l a s s n a m e s h i g h l i g h t e d i n y e l l o w :  

w h e n ' F l i g h t s ' .    

" F i r s t c h e c k f o r n a v i g a t i o n p a t h s t h a t r e q u i r e a d i f f e r e n t      

" e n t i t y s e t t o b e r e t u r n e d t h a n t h e o n e i n d i c a t e d b y t h e      

" c o l l e c t i o n n a m e . E . G . F l i g h t s ( A i r l i n e I d = ' J L ' ,    

" C o n n e c t i o n N o = ' 0 4 0 8 ' , F l i g h t D a t e = ' 2 0 1 1 0 4 2 3 ' ) / B o o k i n g s c o n t a i n s      

" F l i g h t s a s t h e e n t i t y s e t b u t r e q u i r e s a c o l l e c t i o n o f      

" B o o k i n g s t o b e r e t u r n e d        

r e a d t a b l e i t _ n a v i g a t i o n _ p a t h a s s i g n i n g < f s _ n a v _ p a t h > i n d e x 1 .    

" I n s t a n t i a t e t h e d a t a p r o v i d e r o b j e c t f o r t h i s e n t i t y s e t      i f s y - s u b r c = 0 a n d < f s _ n a v _ p a t h > - n a v _ p r o p = ' B o o k i n g s ' .    

c r e a t e :    

o b j e c t l o _ b o o k i n g ,    

d a t a e r _ e n t i t y s e t t y p e z _ c l _ g w 1 0 0 _ m p _ n n = > b o o k i n g s _ t .    

l o _ b o o k i n g - > / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y s e t (      

e x p o r t i n g i v _ e n t i t y _ n a m e = i v _ e n t i t y _ n a m e      

i v _ s o u r c e _ n a m e = i v _ s o u r c e _ n a m e      

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 7 5   

Page 294: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 294/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

i v _ e n t i t y _ s e t _ n a m e = i v _ e n t i t y _ s e t _ n a m e      

i t _ f i l t e r _ s e l e c t _ o p t i o n s = i t _ f i l t e r _ s e l e c t _ o p t i o n s      

i t _ o r d e r = i t _ o r d e r      i s _ p a g i n g = i s _ p a g i n g      

i t _ n a v i g a t i o n _ p a t h = i t _ n a v i g a t i o n _ p a t h      

i t _ k e y _ t a b = i t _ k e y _ t a b      

i v _ f i l t e r _ s t r i n g = i v _ f i l t e r _ s t r i n g      

i v _ s e a r c h _ s t r i n g = i v _ s e a r c h _ s t r i n g      

i m p o r t i n g e r _ e n t i t y s e t = e r _ e n t i t y s e t ) .    

e l s e .    

c r e a t e :    

o b j e c t l o _ f l i g h t ,    

d a t a e r _ e n t i t y s e t t y p e z _ c l _ g w 1 0 0 _ m p _ n n = > f l i g h t s _ t .    

l o _ f l i g h t - > / i w b e p / i f _ m g w _ a p p l _ s r v _ r u n t i m e ~ g e t _ e n t i t y s e t (      

e x p o r t i n g i v _ e n t i t y _ n a m e = i v _ e n t i t y _ n a m e      

i v _ s o u r c e _ n a m e = i v _ s o u r c e _ n a m e      

i v _ e n t i t y _ s e t _ n a m e = i v _ e n t i t y _ s e t _ n a m e      

i t _ f i l t e r _ s e l e c t _ o p t i o n s = i t _ f i l t e r _ s e l e c t _ o p t i o n s      

i t _ o r d e r = i t _ o r d e r      

i s _ p a g i n g = i s _ p a g i n g      

i t _ n a v i g a t i o n _ p a t h = i t _ n a v i g a t i o n _ p a t h      

i t _ k e y _ t a b = i t _ k e y _ t a b      

i v _ f i l t e r _ s t r i n g = i v _ f i l t e r _ s t r i n g      

i v _ s e a r c h _ s t r i n g = i v _ s e a r c h _ s t r i n g      

i m p o r t i n g e r _ e n t i t y s e t = e r _ e n t i t y s e t ) .    e n d i f .    

e ) S a v e a n d a c t i v a t e y o u r c h a n g e s .  

4 .    T e s t N a v i g a t i o n P a t h s i n t h e B r o w s e r      

T h r e e n a v i g a t i o n p a t h s n e e d t o b e t e s t e d :  

• A i r p o r t s T o : F o r a n y g i v e n a i r p o r t , w e c a n l i s t t h e a i r p o r t t o w h i c h w e c a n      

y d i r e c t l y .  

• D e p a r t i n g F l i g h t s : F o r a n y g i v e n a i r p o r t , w e c a n l i s t t h e i g h t s t h a t t a k e      

f r o m t h e r e .  

• B o o k i n g s : F o r a n y g i v e n i g h t , w e c a n l i s t i t s b o o k i n g s .  

C o n t i n u e d o n n e x t p a g e      

2 7 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 295: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 295/346

G W 1 0 0 L e s s o n : U s i n g A s s o c i a t i o n s a n d N a v i g a t i o n P a t h s      

 N a v i g a t i o n p a t h s a r e t e s t e d b y c o n s t r u c t i n g a U R L t h a t i d e n t i e s a s p e c i c   

a i r p o r t o r i g h t , a n d t h e n a p p e n d i n g t o i t t h e n a v i g a t i o n p a t h n a m e .  

a ) L i s t a l l t h e A i r p o r t s b y i s s u i n g t h e U R L f o r t h e A i r p o r t s c o l l e c t i o n .  

 b ) C h o o s e a s p e c i c a i r p o r t a n d l o o k f o r t h e     < a t o m : l i n k >        e l e m e n t s    

w i t h i n t h a t      < a t o m : e n t r y >        . 

I n o u r c a s e , t h e r e w i l l b e t h r e e        < a t o m : l i n k >        e l e m e n t s , t h e r s t o n e      

i s a s e l f r e f e r e n c e , a n d t h e n e x t t w o s h o w t h e r e l a t i v e U R L s f o r e a c h      

n a v i g a t i o n p a t h .  

F i g u r e 3 1 3 : C o d i n g      

c ) I s s u e t h e U R L s f o r t h e A i r p o r t s T o a n d D e p a r t i n g F l i g h t s n a v i g a t i o n      

 p a t h s . Y o u w i l l s e e a s u b s e t o f t h e l i s t o f a i r p o r t s a n d a s u b s e t o f t h e   

l i s t o f i g h t s r e s p e c t i v e l y .  

d ) S i m i l a r l y , s e l e c t a n i n d i v i d u a l i g h t , a n d t h e n i s s u e t h e B o o k i n g      

n a v i g a t i o n p a t h f o r t h a t o n e i g h t . Y o u w i l l t h e n s e e a l i s t o f a l l t h e      

 b o o k i n g s f o r t h a t i g h t . 

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 7 7   

Page 296: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 296/346

U n i t 5 : O D a t a C h a n n e l D a t a P r o v i d e r G W 1 0 0      

L e s s o n S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  • U n d e r s t a n d h o w E n t i t y T y p e s i n a D a t a M o d e l a r e R e l a t e d U s i n g      

A s s o c i a t i o n s .  

• U n d e r s t a n d h o w A s s o c i a t i o n s a r e I m p l e m e n t e d a t R u n t i m e U s i n g N a v i g a t i o n      

P a t h s .  

2 7 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 297: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 297/346

G W 1 0 0 U n i t S u m m a r y      

U n i t S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  

• U n d e r s t a n d a r c h i t e c t u r a l p r i n c i p l e s .  

• U n d e r s t a n d t h e R e l a t i o n s h i p b e t w e e n H T T P R e q u e s t s , O D a t a O p e r a t i o n s    

a n d M e t h o d s i n t h e D a t a P r o v i d e r C l a s s .  

• U n d e r s t a n d h o w t o i m p l e m e n t t h e Q U E R Y a n d R E A D o p e r a t i o n s .  

• U n d e r s t a n d h o w t o i m p l e m e n t t h e C R E A T E o p e r a t i o n w i t h i n a G a t e w a y      

D a t a P r o v i d e r C l a s s .  

• U n d e r s t a n d h o w t o i m p l e m e n t a c u s t o m O D a t a a c t i o n .  

• U n d e r s t a n d h o w E n t i t y T y p e s i n a D a t a M o d e l a r e R e l a t e d U s i n g      

A s s o c i a t i o n s .  

• U n d e r s t a n d h o w A s s o c i a t i o n s a r e I m p l e m e n t e d a t R u n t i m e U s i n g N a v i g a t i o n      

P a t h s .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 7 9   

Page 298: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 298/346

U n i t S u m m a r y G W 1 0 0      

2 8 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 299: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 299/346

Page 300: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 300/346

Page 301: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 301/346

U n i t 6        F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t    

U n i t O v e r v i e w          

I n t h i s u n i t , y o u w i l l l e a r n a b o u t t h e w i d e r a n g e o f p o s s i b i l i t i e s a v a i l a b l e t o y o u      

w h e n n e e d i n g t o c o n s u m e a G a t e w a y s e r v i c e .  

T h e t w o e x e r c i s e s d e a l w i t h t w o c o m m o n l y u s e d c o n s u m p t i o n s c e n a r i o s – J a v a      

a n d J a v a S c r i p t .  

U n i t O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s u n i t , y o u w i l l b e a b l e t o :  

• T h e g e n e r a l p r i n c i p l e s o f c o n s u m i n g a G a t e w a y S e r v i c e .  

• C r e a t i o n o f O D a t a p r o x y o b j e c t s .  

• C o n s u m p t i o n o f G a t e w a y S e r v i c e s u s i n g J a v a S e r v e r P a g e s a n d J a v a S c r i p t    

+ H T M L 5 .  

U n i t C o n t e n t s      

L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 8 2      

E x e r c i s e 1 4 : C o n s u m e a G a t e w a y S e r v i c e U s i n g J a v a S e r v e r    

P a g e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9 3      

E x e r c i s e 1 5 : C o n s u m e a G a t e w a y S e r v i c e u s i n g t h e S A P U I 5      

J a v a S c r i p t L i b r a r i e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0 5      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 8 1   

Page 302: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 302/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

L e s s o n O v e r v i e w          

T h i s l e s s o n c o v e r s :  

• T h e g e n e r a l p r i n c i p l e s o f c o n s u m i n g a G a t e w a y S e r v i c e      

• C r e a t i o n o f O D a t a p r o x y o b j e c t s    

• C r e a t i n g a n i P h o n e A p p l i c a t i o n t o C o n s u m e a G a t e w a y S e r v i c e      

• C o n s u m p t i o n o f G a t e w a y S e r v i c e s u s i n g J a v a S e r v e r P a g e s a n d J a v a S c r i p t +      

H T M L 5      

L e s s o n O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s l e s s o n , y o u w i l l b e a b l e t o :  

• T h e g e n e r a l p r i n c i p l e s o f c o n s u m i n g a G a t e w a y S e r v i c e .  

• C r e a t i o n o f O D a t a p r o x y o b j e c t s .  

• C o n s u m p t i o n o f G a t e w a y S e r v i c e s u s i n g J a v a S e r v e r P a g e s a n d J a v a S c r i p t    

+ H T M L 5 .  

B u s i n e s s E x a m p l e      

G a t e w a y S e r v i c e C o n s u m p t i o n O v e r v i e w          

F i g u r e 3 1 4 : M y G a t e w a y S e r v i c e W o r k s … N o w W h a t ?      

2 8 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 303: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 303/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 1 5 : G a t e w a y S e r v i c e C o n s u m p t i o n - W h e r e t o S t a r t ? 1 / 2      

S i n c e t h e e l d i s w i d e o p e n h e r e , t h e o n l y r e c o m m e n d a t i o n S A P m a k e s i s t h a t i f      

y o u w i s h t o c o n s u m e a G a t e w a y S e r v i c e f r o m a m o b i l e d e v i c e , t h a t y o u s h o u l d      

u s e t h e S y b a s e U n w i r e d P l a t f o r m s o f t w a r e .  

H o w e v e r , i f t h e S U P s o f t w a r e d o e s n o t p r o v i d e a g o o d t f o r y o u r s p e c i c u s e      

c a s e , t h e n y o u a r e a t l i b e r t y t o c h o o s e a n y p r o g r a m m i n g l a n g u a g e a n d s o f t w a r e      

e n v i r o n m e n t w i t h w h i c h y o u a r e c o m f o r t a b l e a n d t h a t m e e t s y o u r n e e d s .  

F i g u r e 3 1 6 : G a t e w a y S e r v i c e C o n s u m p t i o n - G e n e r a l P r i n c i p l e s      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 8 3   

Page 304: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 304/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

C r e a t i n g O D a t a P r o x y O b j e c t s      

F i g u r e 3 1 7 : G a t e w a y S e r v i c e C o n s u m p t i o n - P r o x y G e n e r a t i o n      

F i g u r e 3 1 8 : G a t e w a y P r o x y G e n e r a t i o n - E c l i p s e ( J a v a o r P H P )    

2 8 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 305: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 305/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 1 9 : G a t e w a y P r o x y G e n e r a t i o n - V i s u a l S t u d i o 2 0 1 0 ( C # )    

F i g u r e 3 2 0 : G a t e w a y P r o x y G e n e r a t i o n - F l a s h B u i l d e r ≥ 4 . 5 ( M X M L )    

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 8 5   

Page 306: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 306/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

F i g u r e 3 2 1 : G a t e w a y P r o x y G e n e r a t i o n - X C o d e ( O b j e c t i v e C ) 1 / 2      

F i g u r e 3 2 2 : G a t e w a y P r o x y G e n e r a t i o n - X C o d e ( O b j e c t i v e C ) 2 / 2      

2 8 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 307: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 307/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 2 3 : G a t e w a y P r o x y G e n e r a t i o n - S A P U I 5 ( J a v a S c r i p t + H T M L 5 )    

i P h o n e A p p C r e a t i o n      

F i g u r e 3 2 4 : C r e a t i n g a B a s i c i P h o n e A p p l i c a t i o n - 1 / 1 1      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 8 7   

Page 308: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 308/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

F i g u r e 3 2 5 : C r e a t i n g a B a s i c i P h o n e A p p l i c a t i o n - 2 / 1 1      

F i g u r e 3 2 6 : C r e a t i n g a B a s i c i P h o n e A p p l i c a t i o n - 3 / 1 1      

2 8 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 309: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 309/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 2 7 : C r e a t i n g a B a s i c i P h o n e A p p l i c a t i o n - 4 / 1 1      

F i g u r e 3 2 8 : C r e a t i n g a B a s i c i P h o n e A p p l i c a t i o n - 5 / 1 1      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 8 9   

Page 310: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 310/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

F i g u r e 3 2 9 : C r e a t i n g a B a s i c i P h o n e A p p l i c a t i o n - 6 / 1 1      

F i g u r e 3 3 0 : C r e a t i n g a B a s i c i P h o n e A p p l i c a t i o n - 7 / 1 1      

2 9 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 311: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 311/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 3 1 : C r e a t i n g a B a s i c i P h o n e A p p l i c a t i o n - 8 / 1 1      

F i g u r e 3 3 2 : C r e a t i n g a B a s i c i P h o n e A p p l i c a t i o n - 9 / 1 1      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 9 1   

Page 312: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 312/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

F i g u r e 3 3 3 : C r e a t i n g a B a s i c i P h o n e A p p l i c a t i o n - 1 0 / 1 1      

F i g u r e 3 3 4 : C r e a t i n g a B a s i c i P h o n e A p p l i c a t i o n - 1 1 / 1 1      

2 9 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 313: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 313/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

E x e r c i s e 1 4 : C o n s u m e a G a t e w a y S e r v i c e      

U s i n g J a v a S e r v e r P a g e s      E x e r c i s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s e x e r c i s e , y o u w i l l b e a b l e t o :  

• C r e a t e a J a v a S e r v e r P a g e b a s e d a p p l i c a t i o n t h a t c o n s u m e s t h e g e n e r a t e d      

G a t e w a y B a n k s e r v i c e c r e a t e d i n e x e r c i s e s 2 a n d 3 .  

B u s i n e s s E x a m p l e      

T o p r o v i d e t h e u s e r s w i t h t h e a b i l i t y t o o b t a i n a n d m a n i p u l a t e B a n k i n f o r m a t i o n      

f r o m a b r o w s e r b a s e d a p p l i c a t i o n .  

T a s k :    

P r e l i m i n a r y I n f o r m a t i o n :      I n o r d e r t o c o m p l e t e t h i s e x e r c i s e , y o u m u s t r s t    

h a v e s u c c e s s f u l l y g e n e r a t e d t h e G a t e w a y S e r v i c e Z B A N K _ I N F O _ n n w h e r e n n      

i s y o u r g r o u p n u m b e r .  

1 . A p p l i c a t i o n A r c h i t e c t u r e I n f o r m a t i o n      

2 . I m p l e m e n t t h e L o g o n J S P P a g e      

3 . I m p l e m e n t t h e B a n k L i s t J S P P a g e      

4 . I m p l e m e n t t h e B a n k G e t D e t a i l s J S P P a g e      

5 . I m p l e m e n t t h e B a n k U p d a t e J S P P a g e      

6 . I m p l e m e n t t h e B a n k C r e a t e J S P P a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 9 3   

Page 314: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 314/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

S o l u t i o n 1 4 : C o n s u m e a G a t e w a y S e r v i c e      

U s i n g J a v a S e r v e r P a g e s      T a s k :    

P r e l i m i n a r y I n f o r m a t i o n :      I n o r d e r t o c o m p l e t e t h i s e x e r c i s e , y o u m u s t r s t    

h a v e s u c c e s s f u l l y g e n e r a t e d t h e G a t e w a y S e r v i c e Z B A N K _ I N F O _ n n w h e r e n n      

i s y o u r g r o u p n u m b e r .  

1 . A p p l i c a t i o n A r c h i t e c t u r e I n f o r m a t i o n      

a ) T h e J S P a p p l i c a t i o n y o u w i l l m o d i f y h a s t h e f o l l o w i n g a r c h i t e c t u r e .  

F i g u r e 3 3 5 : A r c h i t e c t u r e      

Y o u w i l l b e p e r f o r m i n g m o s t o f y o u r d e v e l o p m e n t w o r k i n t h e      

B a n k M o d e l . j a v a l e ; h o w e v e r , a p a r t f r o m l o g i n . j s p , e a c h o f t h e J S P      

 p a g e s m a k e s a r e f e r e n c e t o a J a v a p r o x y c l a s s t h a t y o u w i l l g e n e r a t e . T h e s e r e f e r e n c e s n e e d e d t o b e u p d a t e d o n c e y o u h a v e g e n e r a t e d t h e      

 p r o x y c l a s s e s . 

2 . I m p l e m e n t t h e L o g o n J S P P a g e      

a ) S t a r t E c l i p s e u s i n g t h e        E c l i p s e – S A P U I 5        s h o r t c u t i n y o u r      N : \ M y    

 D o c u m e n t s    f o l d e r . P l e a s e d o n o t u s e a n y o t h e r E c l i p s e i n s t a l l a t i o n t h a t    

i s a c c e s s i b l e f r o m t h e W i n d o w s S t a r t m e n u .  

 b ) Y o u w i l l s e e t h a t a s o l u t i o n f o r t h i s e x e r c i s e a l r e a d y e x i s t s a s p r o j e c t  

G W 1 0 0 _ B a n k _ J S P _ S o l u t i o n . T h i s s o l u t i o n c a n b e r u n i m m e d i a t e l y      

a n d p o i n t s t o t h e G a t e w a y s e r v i c e Z B A N K _ I N F O _ 0 0 .  

c ) E x p a n d t h e t e m p l a t e e x e r c i s e p r o j e c t G W 1 0 0 _ B a n k _ J S P _ E x . Y o u w i l l    

n o t i c e t h a t t h e r e a r e s e v e r a l l e s t h a t c o n t a i n e r r o r s . T h e s e e r r o r s a r e      

d u e t o t h e f a c t t h a t t h e p r o x y o b j e c t u s e d t o c o m m u n i c a t e w i t h G a t e w a y      

i s m i s s i n g .  

d ) S e l e c t t h e p r o j e c t n a m e        G W 1 0 0 _ B a n k _ J S P _ E x        a n d p r e s s      C t r l - N            . 

C o n t i n u e d o n n e x t p a g e      

2 9 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 315: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 315/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 3 6 : P r o j e c t E x p l o r e r      

e ) I n t h e p o p - u p w i n d o w , s e l e c t      S A P N e t W e a v e r G a t e w a y → P r o x y    

G e n e r a t i o n        a n d p r e s s      N e x t     . 

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 9 5   

Page 316: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 316/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

F i g u r e 3 3 7 : S e l e c t a W i z a r d      

f ) N o w s e l e c t      J a v a S E          f r o m t h e d r o p d o w n l i s t i n t h e s e c t i o n        C r e a t e a n e w         p r o x y f o r     . T h i s w i l l c a u s e a n i n p u t e l d t o a p p e a r i n w h i c h t h e p a c k a g e      

n a m e o f t h e g e n e r a t e d p r o x y c l a s s i s t o b e e n t e r e d . P r e s s t h e b r o w s e      

 b u t t o n a n d s e l e c t    c o m . s a p . t r a i n i n g . g w 1 0 0 . p r o x y      . 

F i g u r e 3 3 8 : J a v a S E        

g ) O n t h e n e x t s c r e e n , p r e s s t h e        C a t a l o g        b u t t o n a n d t h e n s e l e c t s y s t e m          

Z M E f r o m t h e        S A P N e t W e a v e r G a t e w a y c o n n e c t i o n        : d r o p d o w n l i s t .  

A f e w s e c o n d s l a t e r , y o u w i l l s e e a l i s t o f a l l t h e s e r v i c e s a v a i l a b l e i n      

t h a t G a t e w a y s y s t e m .  

C o n t i n u e d o n n e x t p a g e      

2 9 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 317: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 317/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 3 9 : L i s t o f S e r v i c e s      

h ) S c r o l l d o w n t h e l i s t o f s e r v i c e s o n t h e l e f t s i d e o f t h e s c r e e n a n d s e l e c t    

y o u r      Z _ B A N K _ I N F O _ n n        s e r v i c e .  

B e f o r e p r e s s i n g        O K      , i t i s w o r t h c h e c k i n g t h a t y o u d o n o t h a v e      a n y u n w a n t e d d a t a s t r u c t u r e s i n t h e i n t e r f a c e . E x p a n d t h e      

s t r u c t u r e u n d e r n e a t h y o u r      Z B A N K _ I N F O _ n n        s e r v i c e a n d c h e c k      

t h a t y o u h a v e o n l y o n e c o l l e c t i o n ( w h i c h w i l l t y p i c a l l y b e c a l l e d      

 z _ g w 1 0 0 _ r f m _ b a n k _ n n C o l l e c t i o n     ) . 

I f a n y e x t r a i t e m s a p p e a r ( s a y        B A N K _ D E T A I L o r B A N K _ A D D R E S S      

e t c ) , t h e n y o u h a v e e i t h e r l e f t a n u n w a n t e d d a t a s t r u c t u r e i n y o u r    

i n t e r f a c e , o r y o u h a v e f o r g o t t e n t o a t t e n a l l t h e e l d s i n y o u r i n t e r f a c e .  

I f t h i s i s t h e c a s e , t h e n y o u n e e d t o g o b a c k t o t h e m a p p i n g d e n i t i o n o f      

y o u r g e n e r a t e d G a t e w a y s e r v i c e a n d r e m o v e a n y d a t a s t r u c t u r e s .  

i ) P r e s s      O K      a n d t h e n        F i n i s h        . T w o J a v a c l a s s e s t o b e c r e a t e d : o n e c l a s s i s    g e n e r a t e d f o r t h e a c t u a l s e r v i c e , a n d o n e c l a s s i s g e n e r a t e d f o r e a c h o f      

t h e c o l l e c t i o n s a v a i l a b l e v i a t h a t s e r v i c e .  

 j ) E x p a n d     s r c → c o m . s a p . t r a i n i n g . g w 1 0 0 . m o d e l      a n d o p e n t h e l e      

 B a n k M o d e l . j a v a     . 

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 9 7   

Page 318: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 318/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

k ) Y o u m u s t n o w a d d t h e c o d i n g t o c o n n e c t t o t h e S A P N e t W e a v e r    

G a t e w a y s y s t e m . I n m e t h o d l o g i n ( ) , y o u w i l l s e e a T O D O c o m m e n t    

m a r k e r . A f t e r t h e d e c l a r a t i o n o f t h e n u l l I R e s t C l i e n t o b j e c t , a d d t h e      f o l l o w i n g c o d i n g :  

F i g u r e 3 4 0 : C o d i n g      

Y o u m u s t i n s e r t t h e c o r r e c t h o s t n a m e , p o r t a n d c l i e n t o f t h e G a t e w a y      

s e r v e r , a n d y o u m u s t a l s o e n s u r e t h a t y o u r o w n G a t e w a y s e r v i c e p r o x y      

c l a s s i s r e f e r e n c e d .  

T h e s e a r e h i g h l i g h t e d i n y e l l o w a b o v e .  

l ) C h e c k t h a t t h e c o r r e c t i m p o r t s t a t e m e n t s a r e b e i n g u s e d . T h e q u i c k e s t    

w a y t o d o t h i s i s t o p r e s s C t r l - S h i f t - O ( l e t t e r “ O ” ) . T h i s r u n s t h e      

O r g a n i s e I m p o r t s      c o m m a n d w h i c h s a d d s m i s s i n g i m p o r t s t a t e m e n t s    

a n d r e m o v e s u n u s e d i m p o r t s t a t e m e n t s .  

m ) T h e r e a r e s e v e r a l r e f e r e n c e s t h r o u g h o u t t h e        B a n k M o d e l . j a v a        l e t o c l a s s    

 z _ g w 1 0 0 _ r f m _ b a n k _ 0 0     . T h i s i s t h e c l a s s u s e d i n t h e s a m p l e s o l u t i o n .  

Y o u n e e d t o a l t e r t h e s e r e f e r e n c e s t o p o i n t t o y o u r o w n p r o x y c l a s s .  

n ) S a v e        B a n k M o d e l . j a v a        . 

o ) W e a r e n o w r e a d y t o t e s t t h e l o g i n f u n c t i o n a l i t y .  

 p ) E x p a n d t h e S e r v e r s n o d e i n y o u r w o r k s p a c e a n d s e l e c t    T o m c a t v 7 . 0      

S e r v e r a t l o c a l h o s t - c o n g        . P r e s s      F 5     t o s y n c h r o n i s e t h e w o r k s p a c e      

e n t r i e s w i t h t h e l e s y s t e m . T h i s s t e p i s o n l y n e e d e d o n c e .  

q ) E x p a n d t h e b r a n c h        W e b C o n t e n t      . W i t h        l o g i n . j s p      s e l e c t e d , p r e s s t h e        R u n    b u t t o n o n t h e t o o l b a r . 

A l o c a l T o m c a t s e r v e r w i l l n o w b e s t a r t e d a n d y o u w i l l s e e t h e l o g i n      

s c r e e n a p p e a r w i t h i n E c l i p s e .  

r ) E n t e r y o u r u s e r i d a n d p a s s w o r d a n d p r e s s      L o g i n        . 

C o n t i n u e d o n n e x t p a g e      

2 9 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 319: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 319/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 4 1 : L o g i n      

s ) I f s u c c e s s f u l . Y o u w i l l s e e t h e n e x t s c r e e n i n w h i c h y o u a r e a s k e d t o      s e l e c t a c o u n t r y .  

F i g u r e 3 4 2 : L o g i n – C o u n t r y      

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     2 9 9   

Page 320: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 320/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

3 . I m p l e m e n t t h e B a n k L i s t J S P P a g e      

a ) O p e n l e        B a n k M o d e l . j a v a        l e a g a i n a n d l o c a t e t h e        g e t L i s t ( )    m e t h o d .  

 b ) A d d t h e f o l l o w i n g c o d i n g a f t e r t h e d e c l a r a t i o n o f t h e n u l l    L i s t      o b j e c t    

F i g u r e 3 4 3 : C o d i n g      

M a k e s u r e t h a t y o u r o w n g e n e r a t e d p r o x y c l a s s i s r e f e r e n c e d c o r r e c t l y :  

• I n t h e m e t h o d ’ s s i g n a t u r e      

• I n t h e h i g h l i g h t e d r e f e r e n c e s a b o v e      

c ) S a v e y o u r c h a n g e s a n d t e s t t h e b a n k l i s t f u n c t i o n a l i t y . I n o r d e r t o d o      

t h i s , y o u m u s t a l w a y s s t a r t f r o m t h e l o g i n p a g e .  

d ) A f t e r l o g g i n g o n a n d s e l e c t i n g a c o u n t r y , y o u s h o u l d n o w s e e a l i s t    

o f b a n k s .  

F i g u r e 3 4 4 : L i s t o f B a n k s      

C o n t i n u e d o n n e x t p a g e      

3 0 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 321: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 321/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

4 . I m p l e m e n t t h e B a n k G e t D e t a i l s J S P P a g e      

a ) O p e n l e        B a n k M o d e l . j a v a        l e a g a i n a n d l o c a t e t h e        g e t D e t a i l s ( )    m e t h o d .  

 b ) A d d t h e f o l l o w i n g c o d i n g a f t e r t h e d e c l a r a t i o n o f t h e n u l l    b a n k L i s t     . 

F i g u r e 3 4 5 : B a n k D e t a i l s      

M a k e s u r e t h a t y o u r o w n g e n e r a t e d p r o x y c l a s s i s r e f e r e n c e d c o r r e c t l y :  

• I n t h e m e t h o d ’ s s i g n a t u r e      

• I n t h e h i g h l i g h t e d r e f e r e n c e s a b o v e      

c ) S a v e y o u r c h a n g e s a n d t e s t t h e b a n k d e t a i l f u n c t i o n a l i t y . I n o r d e r t o d o      

t h i s , y o u m u s t a l w a y s s t a r t f r o m t h e l o g i n p a g e .  

d ) R e p e a t t h e l o g o n a n d c o u n t r y s e l e c t i o n p r o c e s s . C h o o s e a b a n k f r o m          

t h e l i s t t o s e e i t s d e t a i l s .  

F i g u r e 3 4 6 : C o d i n g      

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 0 1   

Page 322: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 322/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

5 . I m p l e m e n t t h e B a n k U p d a t e J S P P a g e      

a ) O p e n l e        B a n k M o d e l . j a v a        l e a g a i n a n d l o c a t e t h e        u p d a t e ( )    m e t h o d .  

 b ) A d d t h e f o l l o w i n g c o d i n g   

F i g u r e 3 4 7 : C o d i n g      

M a k e s u r e t h a t y o u r o w n g e n e r a t e d p r o x y c l a s s i s r e f e r e n c e d c o r r e c t l y :  

• I n t h e m e t h o d ’ s s i g n a t u r e      

• I n t h e h i g h l i g h t e d r e f e r e n c e s a b o v e      c ) S a v e y o u r c h a n g e s a n d t e s t t h e b a n k u p d a t e f u n c t i o n a l i t y . I n o r d e r t o d o      

t h i s , y o u m u s t a l w a y s s t a r t f r o m t h e l o g i n p a g e .  

d ) R e p e a t t h e l o g o n a n d c o u n t r y s e l e c t i o n p r o c e s s . C h o o s e a b a n k f r o m          

t h e l i s t t o s e e i t s d e t a i l s , t h e n m o d i f y t h o s e d e t a i l s a n d p r e s s t h e U p d a t e      

 b u t t o n . 

e ) O n c e y o u s e e t h e        B a n k h a s b e e n s u c c e s s f u l l y u p d a t e d        m e s s a g e , p r e s s    

t h e b a c k b u t t o n t o r e t u r n t o t h e l i s t o f b a n k s . I f y o u c h a n g e d t h e B a n k ’ s    

n a m e , y o u w i l l n o w s e e t h e c h a n g e i n t h e l i s t .  

C o n t i n u e d o n n e x t p a g e      

3 0 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 323: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 323/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

6 . I m p l e m e n t t h e B a n k C r e a t e J S P P a g e      

a ) O p e n l e        B a n k M o d e l . j a v a        l e a g a i n a n d l o c a t e t h e        u p d a t e ( )    m e t h o d .  

 b ) A d d t h e f o l l o w i n g c o d i n g . 

F i g u r e 3 4 8 : C o d i n g      

M a k e s u r e t h a t y o u r o w n g e n e r a t e d p r o x y c l a s s i s r e f e r e n c e d c o r r e c t l y :  

• I n t h e m e t h o d ’ s s i g n a t u r e      

• I n t h e h i g h l i g h t e d r e f e r e n c e s a b o v e      

c ) S a v e y o u r c h a n g e s a n d t e s t t h e b a n k c r e a t e f u n c t i o n a l i t y . I n o r d e r t o d o      

t h i s , y o u m u s t a l w a y s s t a r t f r o m t h e l o g i n p a g e .  

d ) R e p e a t t h e l o g o n a n d c o u n t r y s e l e c t i o n p r o c e s s . O n t h e b a n k l i s t    

s c r e e n , p r e s s t h e        C r e a t e B a n k        l i n k a t t h e t o p o f t h e s c r e e n .  

e ) E n t e r s o m e d a t a f o r a n e w b a n k . T h e l e n g t h o f t h e b a n k i d v a r i e s    

d e p e n d i n g o n t h e c o u n t r y y o u h a v e s e l e c t e d . F o r t h e U S , t h e b a n k i d      

m u s t b e a 9 d i g i t n u m b e r , b u t f o r G e r m a n y , i t i s a n 8 d i g i t n u m b e r .  

A l s o , i f y o u c h o o s e G e r m a n y ( c o u n t r y c o d e D E ) , t h e n d o n o t e n t e r a      

v a l u e i n t h e R e g i o n e l d .  

f ) A f t e r p r e s s i n g t h e        C r e a t e        b u t t o n , y o u s h o u l d s e e a m e s s a g e s a y i n g      

 B a n k h a s b e e n c r e a t e d s u c c e s s f u l l y    . 

g ) R e t u r n t o t h e l i s t o f b a n k s a n d y o u w i l l s e e y o u r n e w l y c r e a t e d b a n k i n      

t h e l i s t .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 0 3   

Page 324: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 324/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

3 0 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 325: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 325/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

E x e r c i s e 1 5 : C o n s u m e a G a t e w a y S e r v i c e      

u s i n g t h e S A P U I 5 J a v a S c r i p t L i b r a r i e s      E x e r c i s e O b j e c t i v e s      

A f t e r c o m p l e t i n g t h i s e x e r c i s e , y o u w i l l b e a b l e t o :  

• C r e a t e a J a v a S c r i p t b a s e d a p p l i c a t i o n t h a t c o n s u m e s t h e c u s t o m w r i t t e n      

G a t e w a y F l i g h t I n f o r m a t i o n s e r v i c e c r e a t e d i n e x e r c i s e s 5 t o 1 3 .  

B u s i n e s s E x a m p l e      

T o p r o v i d e t h e u s e r s w i t h t h e a b i l i t y t o o b t a i n a n d m a n i p u l a t e F l i g h t i n f o r m a t i o n      

f r o m a b r o w s e r b a s e d a p p l i c a t i o n .  

T a s k :    

I n o r d e r t o c o m p l e t e t h i s e x e r c i s e , y o u m u s t r s t h a v e s u c c e s s f u l l y b u i l t t h e      

G a t e w a y S e r v i c e F l i g h t _ I n f o r m a t i o n _ n n w h e r e n n i s y o u r g r o u p n u m b e r .  

1 . C r e a t e a B S P A p p l i c a t i o n      

2 . C r e a t e a n I C F N o d e f o r t h e B S P A p p l i c a t i o n      

3 . C r e a t e a n S A P U I 5 A p p l i c a t i o n i n E c l i p s e      

4 . E d i t t h e U I 5 V i e w s , C o n t r o l l e r s a n d M o d e l    

5 . S t a r t b u i l d i n g t h e i n d e x . h t m l p a g e      

6 . P u b l i s h t h e P r o j e c t t o t h e S A P S e r v e r e l e m e n t c o n t a i n i n g t h e f o l l o w i n g c o d e :  

7 . A d d C o n t e n t t o t h e S h e l l    

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 0 5   

Page 326: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 326/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

S o l u t i o n 1 5 : C o n s u m e a G a t e w a y S e r v i c e      

u s i n g t h e S A P U I 5 J a v a S c r i p t L i b r a r i e s      T a s k :    

I n o r d e r t o c o m p l e t e t h i s e x e r c i s e , y o u m u s t r s t h a v e s u c c e s s f u l l y b u i l t t h e      

G a t e w a y S e r v i c e F l i g h t _ I n f o r m a t i o n _ n n w h e r e n n i s y o u r g r o u p n u m b e r .  

1 . C r e a t e a B S P A p p l i c a t i o n      

a ) I n t h i s e x e r c i s e , y o u w i l l c o n s u m e a G a t e w a y s e r v i c e f r o m a b a s i c      

( r e a d - o n l y ) H T M L 5 a n d J a v a S c r i p t a p p l i c a t i o n . Y o u w i l l d e v e l o p t h i s    

a p p l i c a t i o n i n E c l i p s e a n d p u b l i s h i t d i r e c t l y i n t o t h e N e t W e a v e r    

G a t e w a y s e r v e r .  

B u i l d i n g a p r o j e c t t h i s w a y m e a n s t h a t t h e N e t W e a v e r s e r v e r o n w h i c h      

G a t e w a y h a s b e e n i n s t a l l e d w i l l a c t n o t o n l y a s t h e s u p p l i e r o f O D a t a      

s e r v i c e s , b u t a l s o a s t h e w e b s e r v e r .  

I n o r d e r t o a l l o w l e s t o b e p u b l i s h e d i n t o t h e N e t W e a v e r s e r v e r ,    

y o u m u s t r s t c r e a t e a B S P a p p l i c a t i o n t o a c t a s a c o n t a i n e r f o r t h e      

 p u b l i s h e d l e s . 

L o g o n t o t h e A B A P s y s t e m i n w h i c h y o u r      F L I G H T _ I N F O R M A T I O N _ n n      

s e r v i c e w a s d e v e l o p e d .  

 b ) I n t r a n s a c t i o n S E 8 0 , c r e a t e a B S P A p p l i c a t i o n c a l l e d     Z G W 1 0 0 _ U I 5 _ n n      

w h e r e        n n     i s y o u r g r o u p n u m b e r .  

C a u t i o n :      B S P A p p l i c a t i o n n a m e s a r e l i m i t e d t o 1 5 c h a r a c t e r s .  

F i g u r e 3 4 9 : B S P A p p l i c a t i o n      

c ) D o u b l e c l i c k o n y o u r B S P a p p l i c a t i o n n a m e a n d s w i t c h t o c h a n g e m o d e .  d ) S e l e c t t h e P r o p e r t i e s t a b a n d e n t e r      / u i / c l _ u i 5 _ b s p _ a p p l i c a t i o n        a s t h e      

A p p l i c a t i o n C l a s s .  

C o n t i n u e d o n n e x t p a g e      

3 0 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 327: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 327/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 5 0 : A p p l i c a t i o n C l a s s      

e ) S a v e a n d a c t i v a t e t h e B S P a p p l i c a t i o n      

2 . C r e a t e a n I C F N o d e f o r t h e B S P A p p l i c a t i o n      

a ) R u n t r a n s a c t i o n        S I C F          . 

 b ) E n t e r a s e r v i c e p a t h o f     / s a p / b c / u i 5 _ u i 5 / s a p      a n d a p p l y t h e l t e r .  

F i g u r e 3 5 1 : / s a p / b c / u i 5 _ u i 5 / s a p        

c ) R i g h t - c l i c k o n n o d e s a p a n d s e l e c t      N e w s u b - e l e m e n t     . 

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 0 7   

Page 328: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 328/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

d ) T h e I C F n o d e m u s t h a v e t h e s a m e a s t h e B S P a p p l i c a t i o n –      

 Z G W 1 0 0 _ U I 5 _ n n     – a n d p r e s s t h e g r e e n t i c k i c o n .  

F i g u r e 3 5 2 : Z G W 1 0 0 _ U I 5 _ n n      

e ) R i g h t - c l i c k o n y o u r n e w I C F n o d e a n d s e l e c t      A c t i v a t e        f r o m t h e m e n u .  

f ) C o n r m t h e a c t i v a t i o n . T h e p r e p a r a t i o n s t e p s a r e n o w c o m p l e t e f o r    

 p u b l i s h i n g a n S A P U I 5 a p p l i c a t i o n i n t o t h e S A P s y s t e m o f t h e n a m e   

 Z G W 1 0 0 _ U I 5 _ n n     . 

3 . C r e a t e a n S A P U I 5 A p p l i c a t i o n i n E c l i p s e      

a ) U s e t h e        E c l i p s e – S A P U I 5        i c o n i n t h e        N : \ M y D o c u m e n t s      d i r e c t o r y      

t o s t a r t E c l i p s e . I n t h e E c l i p s e w o r k s p a c e , t h e r e i s a l r e a d y a s a m p l e      

s o l u t i o n f o r t h i s a p p l i c a t i o n .   b ) P r e s s    C t r l - N            a n d     s e l e c t S A P U I 5 A p p l i c a t i o n → S A P U I 5 A p p l i c a t i o n      

 P r o j e c t   . 

C o n t i n u e d o n n e x t p a g e      

3 0 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 329: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 329/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 5 3 : S A P U I 5 A p p l i c a t i o n      

c ) T h e S A P U I 5 p r o j e c t m u s t h a v e t h e s a m e n a m e a s t h e I C F N o d e y o u      

c r e a t e d , w h i c h i n t u r n h a s t h e s a m e n a m e a s t h e B S P A p p l i c a t i o n . E n t e r    

 z g w 1 0 0 _ u i 5 _ n n     a n d d o n ’ t s w i t c h o f f t h e        C r e a t e a n i n i t i a l v i e w          c h e c k      

 b o x . P r e s s N e x t . 

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 0 9   

Page 330: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 330/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

F i g u r e 3 5 4 : z g w 1 0 0 _ u i 5 _ n n      

d ) A p p e n d        / v i e w s      t o t h e F o l d e r n a m e –        W e b C o n t e n t / z g w 1 0 0 _ u i 5 _ n n / v i e w s    e ) E n t e r a v i e w n a m e o f        s h o w F l i g h t s      a n d p r e s s      F i n i s h        . 

F i g u r e 3 5 5 : s h o w F l i g h t s      

f ) T h r e e l e s h a v e b e e n c r e a t e d –        i n d e x . h t m l , s h o w F l i g h t s . c o n t r o l l e r . j s    

a n d s h o w F l i g h t s . v i e w . j s .  

g ) C r e a t e t w o m o r e v i e w s b y p r e s s i n g        C t r l - N            a n d s e l e c t i n g        S A P U I 5      

 A p p l i c a t i o n → S A P U I 5 A p p l i c a t i o n V i e w    

C o n t i n u e d o n n e x t p a g e      

3 1 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 331: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 331/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 5 6 : A p p l i c a t i o n V i e w          

h ) C a l l s t h e v i e w s      s h o w A i r p o r t s      a n d     s h o w B o o k i n g s      a n d d o n o t f o r g e t t o      

c r e a t e t h e s e v i e w s i n y o u r      / v i e w s      f o l d e r !    

4 . E d i t t h e U I 5 V i e w s , C o n t r o l l e r s a n d M o d e l    

a ) E x p a n d t h e s a m p l e s o l u t i o n f o r t h i s e x e r c i s e        G W 1 0 0 _ U I 5 _ S o l →            

W e b C o n t e n t → g w 1 0 0 _ u i 5 _ s o l     . 

 b ) I n a d d i t i o n t o s e e i n g t h e v i e w s d i r e c t o r y , y o u w i l l a l s o s e e a     m o d e l s    

d i r e c t o r y . H o l d d o w n        C t r l      a n d d r a g t h e        m o d e l s      d i r e c t o r y f r o m t h e      

s o l u t i o n a n d d r o p i t o n y o u r      z g w 1 0 0 _ u i 5 _ n n        d i r e c t o r y . Y o u w i l l    

 b e a s k e d t o s e l e c t h o w t h e f o l d e r s h o u l d b e i m p o r t e d i n t o y o u r  

 p r o j e c t . S e l e c t    C o p y l e s a n d f o l d e r s      . 

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 1 1   

Page 332: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 332/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

F i g u r e 3 5 7 : C o p y F i l e s a n d F o l d e r s      

c ) E x p a n d t h e v i e w s d i r e c t o r y i n t h e s o l u t i o n , a n d y o u w i l l s e e a n e x t r a l e      

c a l l e d        u i _ u t i l i t i e s . j s      . C o p y t h i s l e b y h o l d i n g d o w n        C t r l      a n d d r a g g i n g i t    

i n t o y o u r o w n v i e w s d i r e c t o r y . I n t h e p o p - u p w i n d o w , s e l e c t t h a t y o u      

w a n t t o c o p y t h e l e .  

F i g u r e 3 5 8 : C o p y F i l e      

d ) E x p a n d t h e m o d e l s d i r e c t o r y i n y o u r p r o j e c t a n d o p e n        i g h t I n f o M o d e l . j s      . 

F i g u r e 3 5 9 : C o d i n g      

C o n t i n u e d o n n e x t p a g e      

3 1 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 333: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 333/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

Y o u m u s t e d i t t h e h i g h l i g h t e d s e c t i o n s a n d e n t e r y o u r o w n v a l u e s f o r    

t h e s e r v i c e n a m e , u s e r i d a n d p a s s w o r d .  

e ) T h e f o l l o w i n g 2 s t e p s e a c h n e e d t o b e p e r f o r m e d t h r e e t i m e s . S t e p 1 f o r    e a c h o f t h e        s h o w A i r p o r t s      ,    s h o w F l i g h t s      a n d     s h o w B o o k i n g s      c o n t r o l l e r s    

a n d s t e p b ) f o r t h e v i e w s .  

1 .    O p e n l e        s h o w < e n t i t y _ t y p e > . c o n t r o l l e r . j s      a n d a d d a n e w m e t h o d b y      

e n t e r i n g t h e u n d e r l i n e d t e x t s h o w n b e l o w .  

F i g u r e 3 6 0 : C o d i n g      

C h a n g e t h e e n t i t y t y p e n a m e h i g h l i g h t e d i n y e l l o w f o r e a c h o f t h e      

A i r p o r t s , F l i g h t s a n d B o o k i n g s c o n t r o l l e r s .  

B e c a r e f u l t o e n t e r e a c h e n t i t y t y p e n a m e c o r r e c t l y ! E n t i t y t y p e n a m e s    

a r e c a s e - s e n s i t i v e . A l s o , t h e c o n t r o l l e r n a m e u s e s t h e p l u r a l o f t h e e n t i t y      

t y p e n a m e , w h e r e a s t h e n e w m e t h o d n a m e a n d t h e v a l u e i t r e t u r n s a r e      

s i n g u l a r .  

T h i s f u n c t i o n i s n e c e s s a r y s o t h a t e a c h v i e w c o n t r o l l e r c a n r e t u r n t h e      

n a m e o f t h e e n t i t y t y p e i t i s r e s p o n s i b l e f o r d i s p l a y i n g .  

2 .    O p e n l e        s h o w < e n t i t y _ t y p e > . v i e w . j s      a n d a d d t h e u n d e r l i n e d      

s t a t e m e n t .  

F i g u r e 3 6 1 : C o d i n g      

M a k e s u r e t h a t i n t h e p a r a m e t e r l i s t t o t h e      

b u i l d T a b l e F r o m M e t a d a t a ( )      f u n c t i o n , y o u a r e c a l l i n g t h e      

c o r r e c t      g e t < e n t i t y _ t y p e > . e n t i t y n a m e ( )      m e t h o d .  

C h a n g e t h e h i g h l i g h t e d e n t i t y t y p e n a m e f o r t h e a p p r o p r i a t e n a m e      

r e m e m b e r i n g a b o u t c a s e - s e n s i t i v i t y .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 1 3   

Page 334: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 334/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

T h e f u n c t i o n        b u i l d T a b l e F r o m M e t a d a t a ( )      i s f o u n d w i t h i n t h e      

u i _ u t i l i t i e s . j s      l e t h a t y o u c o p i e d f r o m t h e s a m p l e s o l u t i o n .  

5 . S t a r t b u i l d i n g t h e i n d e x . h t m l p a g e      

a ) S o f a r w e h a v e a s s e m b l e d t h e p i e c e s n e e d e d t o r u n a n S A P U I 5      

a p p l i c a t i o n . W e n o w n e e d t o j o i n t h e s e p i e c e s t o g e t h e r s o t h a t t h e y      

f u n c t i o n a s a n a p p l i c a t i o n . T h i s f u n c t i o n a l i t y w i l l b e c o n t a i n e d w i t h i n      

t h e s i n g l e w e b p a g e i n d e x . h t m l .  

O p e n t h e        i n d e x . h t m l      l e . Y o u w i l l n d t h a t s t u b c o d e h a s b e e n g e n e r a t e d      

t h a t c o n t a i n s t h e i n s t r u c t i o n s n e e d e d t o l o a d t h e S A P U I 5 l i b r a r i e s .  

 b ) P r e s s    C t r l - S h i f t - F          t o f o r m a t t h e c o d e . T h i s i s s i m p l y t o r e d u c e t h e w i d t h      

o f t h e i n d e n t e d c o d e .  

c ) T h e r s t t h i n g t o d o i s t o i n s t r u c t S A P U I 5 t h a t y o u w i l l r e q u i r e t h e u s e      o f t h e        s a p . u i . t a b l e        a n d     s a p . u i . u x 3        l i b r a r i e s .  

F i g u r e 3 6 2 : C o d i n g      

d ) N e x t , t h e m o d e l o b j e c t m u s t b e i n i t i a l i s e d a n d t h e        u i _ u t i l i t i e s . j s      l i b r a r y      

r e f e r e n c e d b y i n c l u d i n g        < s c r i p t >        t a g s t h a t p o i n t t o t h e s e J a v a S c r i p t    

l e s .  

A f t e r t h e t a g        < / s c r i p t >        f o r t h e a b o v e c o d i n g , a d d t h e c o d i n g b e l o w        

m a k i n g s u r e y o u e n t e r t h e c o r r e c t p a t h n a m e s f o r y o u r p r o j e c t .  

F i g u r e 3 6 3 : C o d i n g      

e ) I m m e d i a t e l y a f t e r t h i s , y o u s h o u l d h a v e a n o t h e r      < s c r i p t >        e l e m e n t    

c o n t a i n i n g t h e f o l l o w i n g c o d e :  

F i g u r e 3 6 4 : C o d i n g      

D o n o t d e l e t e t h e c a l l t o        s a p . u i . l o c a l R e s o u r c e s ( )      b u t d e l e t e      

e v e r y t h i n g e l s e h i g h l i g h t e d i n y e l l o w .  

C o n t i n u e d o n n e x t p a g e      

3 1 4      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 335: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 335/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

F i g u r e 3 6 5 : C o d i n g      

f ) N o w c o m e s t h e p a r t w h e r e w e d e n e t h e s c r e e n l a y o u t b y u s i n g a        S h e l l    

o b j e c t . T h i s o b j e c t d e n e s t h e l e f t h a n d , t o p a n d r i g h t h a n d n a v i g a t i o n      

a r e a s a n d a c e n t r a l c o n t e n t a r e a .  

g ) I m m e d i a t e l y a f t e r t h e c a l l t o        s a p . u i . l o c a l R e s o u r c e s ( )      a d d   

t h e f o l l o w i n g c o d e , m a k i n g s u r e y o u c o r r e c t t h e n a m e s h i g h l i g h t e d      

i n y e l l o w f o r y o u r p r o j e c t .  

F i g u r e 3 6 6 : C o d i n g      

O n i t s o w n , t h i s d e n e s n o t h i n g m o r e t h a n a n e m p t y s h e l l . H o w e v e r , i t    

i s a g o o d s t a r t i n g p o i n t f o r u n d e r s t a n d i n g t h e s t r u c t u r e o f t h e s c r e e n .  

W e a r e a n e a r l y r e a d y t o m a k e a n i n i t i a l t e s t o f t h i s a p p l i c a t i o n , b u t    

r s t w e n e e d t o d o t w o t h i n g s : r s t l y , a d d t h e l i n e o f c o d e t h a t p l a c e s    

t h e s h e l l o b j e c t o n t h e s c r e e n , a n d s e c o n d l y , t o p u b l i s h t h e a p p l i c a t i o n      

i n t o t h e S A P s e r v e r .  

h ) A d d t h e f o l l o w i n g l i n e o f c o d e i m m e d i a t e l y b e f o r e t h e        < / s c r i p t >        t a g   

F i g u r e 3 6 7 : C o d i n g      

6 . P u b l i s h t h e P r o j e c t t o t h e S A P S e r v e r e l e m e n t c o n t a i n i n g t h e f o l l o w i n g c o d e :  

a ) E v e n t h o u g h o u r p r o j e c t i s i n c o m p l e t e , i t i s s u f c i e n t l y f u n c t i o n a l t o b e      

a b l e t o s e e t h e e m p t y s h e l l o b j e c t o n t h e s c r e e n . B u t r s t w e n e e d t o      

 p u b l i s h o u t p r o j e c t t o t h e w e b s e r v e r ( i . e . t h e S A P N e t W e a v e r G a t e w a y   

s e r v e r ) .  

1 ) I n E c l i p s e , s a v e a l l o p e n l e s b y p r e s s i n g C t r l - S h i f t - S      

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 1 5   

Page 336: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 336/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

 b ) I n t h e P r o j e c t E x p l o r e r v i e w t o t h e l e f t o f y o u r s c r e e n , r i g h t c l i c k o n   

y o u r S A P U I 5 p r o j e c t n a m e a n d s e l e c t      T e a m → S h a r e P r o j e c t     . 

c ) T h i s w i l l o p e n a p o p - u p w i n d o w i n w h i c h y o u a r e a s k e d t o i d e n t i f y t o      w h i c h t y p e o f r e p o s i t o r y y o u w o u l d l i k e t o p u b l i s h t h e p r o j e c t .  

F i g u r e 3 6 8 : P r o j e c t P u b l i s h i n g 1 / 2      

F i g u r e 3 6 9 : P r o j e c t P u b l i s h i n g 2 / 2      

d ) S e l e c t      S A P U I 5        R e p o s i t o r y a n d p r e s s      N e x t     . 

C o n t i n u e d o n n e x t p a g e      

3 1 6      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 337: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 337/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

e ) N o w s e l e c t t h e c o r r e c t S A P s y s t e m a n d p r e s s      N e x t     . 

f ) E n t e r y o u r      u s e r i d        a n d     p a s s w o r d        a n d p r e s s      N e x t     . 

g ) Y o u w i l l n o w s e e a l i s t o f a l l B S P A p p l i c a t i o n s w i t h i n t h e S A P s y s t e m          

t h a t h a v e        / u i / c l _ u i 5 _ b s p _ a p p l i c a t i o n        a s t h e i r a p p l i c a t i o n      

c l a s s .  

P l e a s e m a k e s u r e y o u c h o o s e y o u r o w n B S P A p p l i c a t i o n – n o t s o m e o n e      

e l s e ’ s !    

C a u t i o n :      T h e S A P S e r v e r C o n n e c t i v i t y p l u g - i n d o e s n o t c h e c k      

t o s e e w h e t h e r t h e B S P A p p l i c a t i o n h a s a n a s s o c i a t e d I C F      

n o d e . T h i s i s b e c a u s e a n I C F N o d e i s t r e a t e d a s a r u n t i m e e n t i t y ,    

w h e r e a s t h e S A P U I 5 a p p l i c a t i o n y o u a r e p u b l i s h i n g a n d i t s    

a s s o c i a t e d B S P A p p l i c a t i o n a r e t r e a t e d a s a d e s i g n t i m e e n t i t i e s .  

F i g u r e 3 7 0 : B S P A p p l i c a t i o n      

h ) P r e s s F i n i s h . A l l t h a t h a s h a p p e n e d i s t h a t y o u h a v e i d e n t i e d t o t h e      

S A P s y s t e m t h a t t h e c o n t e n t s o f y o u r S A P U I 5 p r o j e c t a r e , a t s o m e      

 p o i n t i n t h e f u t u r e , g o i n g t o b e s h a r e d . H o w e v e r , n o l e s h a r i n g h a s  

y e t t a k e n p l a c e !    

T h e     S h a r e P r o j e c t      s t e p i s a o n e - o f f p r e p a r a t o r y s t e p t h a t d o e s n o t n o w        

n e e d t o b e r e p e a t e d .  

i ) R i g h t - c l i c k a g a i n o n y o u r p r o j e c t a n d s e l e c t      T e a m → S u b m i t     . 

C l i c k t h r o u g h t h e s c r e e n s a n d y o u w i l l s e e a l i s t t h a t s h o w s w h i c h l e s    

i n y o u p r o j e c t n e e d t o b e s y n c h r o n i z e d .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 1 7   

Page 338: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 338/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

S i n c e t h i s i s t h e r s t t i m e y o u h a v e s u b m i t t e d t h e p r o j e c t , a l l t h e l e s    

w i l l b e t r a n s f e r r e d .  

F i g u r e 3 7 1 : S u b m i t t h e P r o j e c t    

 j ) I n S A P G U I , l o g o n o n t o t h e t r a i n i n g s y s t e m a g a i n a n d r u n t r a n s a c t i o n   

S I C F          . k ) E n t e r a s e r v i c e p a t h o f        / s a p / b c / u i 5 _ u i 5 / s a p      / a n d a p p l y t h e l t e r .  

l ) R i g h t c l i c k o n y o u r B S P A p p l i c a t i o n a n d s e l e c t      T e s t S e r v i c e        . 

m ) Y o u s h o u l d n o w s e e a n e m p t y s h e l l a p p e a r i n y o u r b r o w s e r .  

F i g u r e 3 7 2 : B r o w s e r      

n ) T h e s h e l l i s n o t q u i t e a s d u l l a s i t a p p e a r s ! C l i c k o n t h e P E O P L E s i d e b a r    a n d n o t i c e t h a t r s t l y , t h e c o n t e n t a r e a a n i m a t e s a s t h e n e w n a v i g a t i o n      

a r e a i s e x p o s e d , a n d s e c o n d l y , y o u d i d n ’ t h a v e t o w r i t e a n y c o d i n g t o      

c r e a t e t h i s f u n c t i o n a l i t y . S i m i l a r l y , l o o k a t t h e S e a r c h , O p e n R e c e n t    

I t e m s a n d F e e d e r i c o n s o n t h e l e f t .  

7 . A d d C o n t e n t t o t h e S h e l l    

C o n t i n u e d o n n e x t p a g e      

3 1 8      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 339: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 339/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

a ) I n E c l i p s e , o p e n t h e        i n d e x . h t m l      l e a n d l o c a t e t h e p r o p e r t y        w o r k s e t I t e m s    

i n s i d e t h e s h e l l d e c l a r a t i o n . A t t h e m o m e n t , t h i s p r o p e r t y i s j u s t a n      

e m p t y a r r a y ( i d e n t i e d b y t h e e m p t y b r a c k e t s      [ ]   )  I n s i d e t h e        w o r k s e t I t e m s      e m p t y b r a c k e t s , a d d t h e f o l l o w i n g c o d e :  

F i g u r e 3 7 3 : C o d i n g      

T h i s c r e a t e s a s i n g l e m e n u i t e m c a l l e d        F l i g h t I n f o r m a t i o n        w i t h t h r e e      

s u b - i t e m s – F l i g h t s , A i r p o r t s a n d B o o k i n g s .  

 b ) A f t e r t h e d e c l a r a t i o n f o r t h e     o S h e l l        o b j e c t , a d d t h e f o l l o w i n g c o d e      

F i g u r e 3 7 4 : C o d i n g      

T h i s c o d i n g g o e s i m m e d i a t e l y b e f o r e t h e n a l s t a t e m e n t    

o S h e l l . p l a c e A t ( " c o n t e n t " ) ;    

c ) S a v e        i n d e x . h t m l      a n d r i g h t - c l i c k o n y o u r W e b C o n t e n t f o l d e r . S e l e c t      T e a m        → S u b m i t      . Y o u w i l l n o w s e e t h a t t h e o n l y c h a n g e t o t h e p r o j e c t i s t h e      

i n d e x . h t m l l e . W h e n y o u p r e s s n i s h , t h i s l e w i l l b e u p d a t e d w i t h i n      

t h e S A P N e t W e a v e r s e r v e r .  

d ) S w i t c h b a c k t o y o u r b r o w s e r a n d p r e s s      F 5     o r    C t r l - R          t o r e f r e s h t h e      

s c r e e n .  

C o n t i n u e d o n n e x t p a g e      

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 1 9   

Page 340: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 340/346

U n i t 6 : F r o n t - e n d A p p l i c a t i o n D e v e l o p m e n t G W 1 0 0      

e ) Y o u w i l l n o w s e e t h e s a m e s h e l l , b u t t h i s t i m e w i t h a m e n u s t r u c t u r e      

a n d a t a b l e f o r e a c h o f t h e F l i g h t , A i r p o r t a n d B o o k i n g e n t i t y t y p e s .  

F i g u r e 3 7 5 : B r o w s e r      

Y o u h a v e n o w s u c c e s s f u l l y c o m p l e t e d a b a s i c S A P U I 5 a p p l i c a t i o n t h a t    

i s h o s t e d f r o m w i t h i n a n S A P A B A P s y s t e m .  

3 2 0      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 341: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 341/346

G W 1 0 0 L e s s o n : C o n s u m i n g G a t e w a y S e r v i c e s      

L e s s o n S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  • T h e g e n e r a l p r i n c i p l e s o f c o n s u m i n g a G a t e w a y S e r v i c e .  

• C r e a t i o n o f O D a t a p r o x y o b j e c t s .  

• C o n s u m p t i o n o f G a t e w a y S e r v i c e s u s i n g J a v a S e r v e r P a g e s a n d J a v a S c r i p t    

+ H T M L 5 .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 2 1   

Page 342: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 342/346

U n i t S u m m a r y G W 1 0 0      

U n i t S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  

• T h e g e n e r a l p r i n c i p l e s o f c o n s u m i n g a G a t e w a y S e r v i c e .  

• C r e a t i o n o f O D a t a p r o x y o b j e c t s .  

• C o n s u m p t i o n o f G a t e w a y S e r v i c e s u s i n g J a v a S e r v e r P a g e s a n d J a v a S c r i p t    

+ H T M L 5 .  

3 2 2      © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d . 2 0 1 2      

Page 343: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 343/346

Page 344: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 344/346

Page 345: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 345/346

G W 1 0 0 C o u r s e S u m m a r y      

C o u r s e S u m m a r y      

Y o u s h o u l d n o w b e a b l e t o :  

• U n d e r s t a n d t h e v a r i o u s d e v e l o p m e n t a n d i n s t a l l a t i o n o p t i o n s f o r S A P      

 N e t W e a v e r G a t e w a y . 

• E x p l a i n w h a t f u n c t i o n a l i t y S A P N e t W e a v e r G a t e w a y d o a n d d o e s n o t    

 p r o v i d e . 

• U n d e r s t a n d h o w t o g e n e r a t e a G a t e w a y S e r v i c e s t a r t i n g f r o m a n R F C A B A P      

F u n c t i o n M o d u l e o r a n O b j e c t f r o m t h e B u s i n e s s O b j e c t R e p o s i t o r y .  

• D e v e l o p f r o m s c r a t c h y o u r o w n G a t e w a y S e r v i c e i n A B A P .  

• C o n s u m e a G a t e w a y S e r v i c e u s i n g e i t h e r a J a v a a p p l i c a t i o n o r a J a v a S c r i p t    

( b r o w s e r ) b a s e d a p p l i c a t i o n .  

2 0 1 2 © 2 0 1 2 S A P A G . A l l r i g h t s r e s e r v e d .     3 2 3   

Page 346: GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

7/23/2019 GW100 - 2012 - Building OData Services Using SAP NetWeaver Gateway

http://slidepdf.com/reader/full/gw100-2012-building-odata-services-using-sap-netweaver-gateway 346/346

C o u r s e S u m m a r y G W 1 0 0      

3 2 4 © 2 0 1 2 S A P A G A l l r i g h t s r e s e r v e d 2 0 1 2