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
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