Sunday 16 August 2015

Create, Modify and Delete entries dynamically f rom any custom table by using Object Oriented ALV

Thi s   progra m  i s   us e d  to  cre a te ,  modi fy  a nd  de l e te   e ntri e s   dyna mi ca l l y  from  a ny  cus tom
ta bl e   by  us i ng  obj e ct  ori e nte d ALV.
St ep  by  St ep  procedure
1.  Go  t o  SE80->  creat e  a  program  and  writ e  t he  f ollowing  code
T Y P E - P O O L S :
v i m t y .
T Y P E S   :
B E G I N   O F   t y _ m o d ,
r o w   T Y P E   i ,
E N D   O F   t y _ m o d .
D A T A :
g _ c o n t a i n e r                 T Y P E   s c r f n a m e   V A L U E   ' C U S T O M _ C O N T A I N E R ' ,
g r i d 1                             T Y P E   R E F   T O   c l _ g u i _ a l v _ g r i d ,
g _ c u s t o m _ c o n t a i n e r   T Y P E   R E F   T O   c l _ g u i _ c u s t o m _ c o n t a i n e r .
D A T A :
i _ t a b l e                         T Y P E   R E F   T O   d a t a ,
w a _ a l l                           T Y P E   R E F   T O   d a t a .
D A T A :
o r g _ c r i t _ i n s t             T Y P E   v i m t y _ o c _ t y p e ,
o l d _ r c                           L I K E   s y - s u b r c ,
a c t _ l e v e l                     L I K E   a u t h b - a c t v t ,
o n l y _ s h o w _ a l l o w e d     T Y P E   c ,
i _ e x c l u d e                     T Y P E   u i _ f u n c t i o n s .
D A T A   :
i _ m o d                             T Y P E   S T A N D A R D   T A B L E   O F   t y _ m o d ,
i _ d e l                             T Y P E   S T A N D A R D   T A B L E   O F   t y _ m o d .
F I E L D - S Y M B O L S :
< i _ i t a b >           T Y P E   t a b l e ,
< w a _ t a b >           T Y P E   A N Y .
D A T A :   B E G I N   O F   h e a d e r   O C C U R S   1 .
I N C L U D E   S T R U C T U R E   v i m d e s c .
D A T A :   E N D   O F   h e a d e r .
D A T A :   B E G I N   O F   n a m t a b   O C C U R S   5 0 .
I N C L U D E   S T R U C T U R E   v i m n a m t a b .
D A T A :   E N D   O F   n a m t a b .
D A T A :   v i m _ w h e r e t a b   L I K E   v i m w h e r e t b   O C C U R S   1 0 .
D A T A :   d b a _ s e l l i s t   L I K E   v i m s e l l i s t   O C C U R S   1 0 .
S E L E C T I O N - S C R E E N   B E G I N   O F   B L O C K   b b   W I T H   F R A M E   T I T L E   t e x t - 1 0 0 .
P A R A M E T E R :   v i e w n a m e   T Y P E   t v d i r - t a b n a m e .
S E L E C T I O N - S C R E E N   S K I P   2 .
S E L E C T I O N - S C R E E N   B E G I N   O F   L I N E .
S E L E C T I O N - S C R E E N   P U S H B U T T O N   2 0 ( 1 0 )   t e x t - 1 0 1   U S E R - C O M M A N D   b 1 .   " D i s p l a y
S E L E C T I O N - S C R E E N   P U S H B U T T O N   3 6 ( 1 0 )   t e x t - 1 0 2   U S E R - C O M M A N D   b 2 .   " C h a n g e
S E L E C T I O N - S C R E E N   E N D   O F   L I N E .

S E L E C T I O N - S C R E E N   E N D   O F   L I N E .
S E L E C T I O N - S C R E E N   E N D   O F   B L O C K   b b .
A T   S E L E C T I O N - S C R E E N .
C A S E   s y - u c o m m .
W H E N   ' B 1 ' .
S E T   P F - S T A T U S     ' A L V ' .
C A L L   S C R E E N   9 0 0 1 .
W H E N   ' B 2 ' .
S E T   P F - S T A T U S   ' A L V 1 ' .
C A L L   S C R E E N   9 0 0 1 .
E N D C A S E .

 C l a s s   u s e d   t o   g e t   c h a n g e d   d a t a
C L A S S   l c l _ e v e n t _ h a n d l e r   D E F I N I T I O N   .
P U B L I C   S E C T I O N   .
M E T H O D S :   h a n d l e _ d a t a _ c h a n g e d
F O R   E V E N T   d a t a _ c h a n g e d   O F   c l _ g u i _ a l v _ g r i d
I M P O R T I N G   e r _ d a t a _ c h a n g e d .
E N D C L A S S .                                         " l c l _ e v e n t _ h a n d l e r   D E F I N I T I O N
*   C l a s s   u s e d   t o   g e t   c h a n g e d   d a t a
C L A S S   l c l _ e v e n t _ h a n d l e r   I M P L E M E N T A T I O N   .
*     H a n d l e   D a t a   C h a n g e d
M E T H O D   h a n d l e _ d a t a _ c h a n g e d   .
P E R F O R M   h a n d l e _ d a t a _ c h a n g e d   U S I N G   e r _ d a t a _ c h a n g e d   .
E N D M E T H O D .                                         " h a n d l e _ d a t a _ c h a n g e d
E N D C L A S S .                                         " l c l _ e v e n t _ h a n d l e r   I M P L E M E N T A T I O N
Sav e  and  act iv at e.
2.  Creat e  a  screen  9001 wit h  cust om  cont ainer.




I n  t he  PBO  ev ent   (Module  ST AT US_9001),   writ e  t he  f ollowing  code.
* & - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
* &             M o d u l e     S T A T U S _ 9 0 0 1     O U T P U T
* & - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
*               t e x t
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
M O D U L E   s t a t u s _ 9 0 0 1   O U T P U T .
D A T A   :
g r _ e v e n t _ h a n d l e r   T Y P E   R E F   T O   l c l _ e v e n t _ h a n d l e r   .
*   C r e a t i n g   a n   i n s t a n c e   f o r   t h e   e v e n t   h a n d l e r
C R E A T E   O B J E C T   g r _ e v e n t _ h a n d l e r   .
T R Y .
C R E A T E   D A T A   i _ t a b l e   T Y P E   T A B L E   O F   ( v i e w n a m e ) .
A S S I G N   i _ t a b l e - > *   T O   < i _ i t a b > .
C R E A T E   D A T A   w a _ a l l   L I K E   L I N E   O F   < i _ i t a b > .
A S S I G N   w a _ a l l - > *   T O   < w a _ t a b > .
*           S e l e c t i n g   d a t a   d y n a m i c a l l y
S E L E C T   *   F R O M   ( v i e w n a m e )   I N T O   T A B L E   < i _ i t a b > .
*           B u i l d i n g   t h e   f i e l d c a t e l o g
C A L L   F U N C T I O N   ' L V C _ F I E L D C A T A L O G _ M E R G E '
E X P O R T I N G
i _ s t r u c t u r e _ n a m e               =   v i e w n a m e
C H A N G I N G
c t _ f i e l d c a t                         =   l i _ f i e l d c a t
E X C E P T I O N S
i n c o n s i s t e n t _ i n t e r f a c e   =   1
p r o g r a m _ e r r o r                     =   2
O T H E R S                                   =   3 .
I F   s y - s u b r c   < >   0 .
M E S S A G E   I D   s y - m s g i d   T Y P E   s y - m s g t y   N U M B E R   s y - m s g n o
W I T H   s y - m s g v 1   s y - m s g v 2   s y - m s g v 3   s y - m s g v 4 .
E N D I F .
*           M a k i n g   f i e l d s   e d i t a b l e   e x c e p t   k e y   f i e l d s
I F   s y - u c o m m   =   ' U P D '   O R     s y - u c o m m   =   ' C H A N G E ' .
L O O P   A T   l i _ f i e l d c a t   I N T O   l w a _ f i e l d c a t .
I F   l w a _ f i e l d c a t - k e y   =   s p a c e .
l w a _ f i e l d c a t - e d i t   =   ' X ' .
M O D I F Y   l i _ f i e l d c a t   F R O M   l w a _ f i e l d c a t .
E N D I F .
E N D L O O P .
E N D I F .
*           M a k i n g   f i e l d s   e d i t a b l e
I F   s y - u c o m m   =   ' N E W ' .
L O O P   A T   l i _ f i e l d c a t   I N T O   l w a _ f i e l d c a t .
l w a _ f i e l d c a t - e d i t   =   ' X ' .
M O D I F Y   l i _ f i e l d c a t   F R O M   l w a _ f i e l d c a t .
E N D L O O P .
l h _ f l a g   =   ' X ' .
C L E A R   :   < i _ i t a b > .
D O   1 0 0   T I M E S .
1/8/14 Create, Modify  and Delete entries dy namically  from any  custom table by  using Object Oriented ALV
file:///G:/ALV/ALV3.Cre/ALV3.htm 4/5
A P P E N D   < w a _ t a b >   T O   < i _ i t a b > .
E N D D O .
E N D I F .
*           E x c l u d e   b u t t o n s
P E R F O R M   e x c l u d e _ t b _ f u n c t i o n s   C H A N G I N G   i _ e x c l u d e .
I F   g _ c u s t o m _ c o n t a i n e r   I S   I N I T I A L .
C R E A T E   O B J E C T   g _ c u s t o m _ c o n t a i n e r
E X P O R T I N G
c o n t a i n e r _ n a m e   =   g _ c o n t a i n e r .
C R E A T E   O B J E C T   g r i d 1
E X P O R T I N G
i _ p a r e n t   =   g _ c u s t o m _ c o n t a i n e r .
E N D I F .
*           M a k i n g   a l l   f i e l d s   n o n - e d i t a b l e   i f   d i s p l a y   m o d e
I F   s y - u c o m m   =   ' S H O W ' .
L O O P   A T   l i _ f i e l d c a t   I N T O   l w a _ f i e l d c a t .
l w a _ f i e l d c a t - e d i t   =   '   ' .
M O D I F Y   l i _ f i e l d c a t   F R O M   l w a _ f i e l d c a t .
E N D L O O P .
E N D I F .
I F   s y - u c o m m   =   ' S A V E ' .
L O O P   A T   l i _ f i e l d c a t   I N T O   l w a _ f i e l d c a t .
I F   l w a _ f i e l d c a t - k e y   N E   s p a c e .
l w a _ f i e l d c a t - e d i t   =   s p a c e .
M O D I F Y   l i _ f i e l d c a t   F R O M   l w a _ f i e l d c a t .
E N D I F .
E N D L O O P .
E N D I F .
*           D i s p l a y i n g   A L V   G r i d
C A L L   M E T H O D   g r i d 1 - > s e t _ t a b l e _ f o r _ f i r s t _ d i s p l a y
E X P O R T I N G
i _ s t r u c t u r e _ n a m e           =   v i e w n a m e
i t _ t o o l b a r _ e x c l u d i n g   =   i _ e x c l u d e
C H A N G I N G
i t _ o u t t a b                         =   < i _ i t a b >
i t _ f i e l d c a t a l o g             =   l i _ f i e l d c a t .
I F   s y - s u b r c   N E   0 .
E X I T .
E N D I F .
*             G e t t i n g   t h e   c h a n g e d   d a t a
S E T   H A N D L E R   g r _ e v e n t _ h a n d l e r - > h a n d l e _ d a t a _ c h a n g e d   F O R   g r i d 1   .
C A T C H   c x _ s y _ c r e a t e _ d a t a _ e r r o r .
E N D T R Y .
E N D M O D U L E .                                   "   S T A T U S _ 9 0 0 1     O U T P U T

No comments:

Post a Comment