Académique Documents
Professionnel Documents
Culture Documents
" #
$ !
"
% & '
( ) "
%
* +(
+( ,
- .
( + ( / )! (
9! !( (
:+ ! ,:+ 4( ! (! # # ! !
! ! # # &+ ,:+ ( ( J+ # !!) ! (
%! ! !' #!' ! ! + ## ! ,
$
, !
" " )
!0
1
$
! "
# ! $
%
!
# ! $
, # #
! #*+ -
. . !
&
& /, #
& 0
& 1
& 2
& 3 #
!
,4 !! !
,5 ! ,) !
,/ 6 !
#'# ( "
$
!
"
# !
# ' ## #
% #
& % #
) +
#
#
$# ( $# (
# #
)
$ * #
! "
#$ # !" % #$ # ! % &
' !"
( ) * *
% ! % "' ( ) % + ,
! ) "
# ! ) ,! " ! %
"
- )
) , # ! ! !
," $
//0$
//
//
//0
//0
- .)
//
$ $ $
," // $
#$ # ! ( "
. ( *
( ""
# ! ) % % ) ( ! ) "
. ! ! ) * + "
-
- # .
4 $ $ ( # $
4 $ (1 #
4 ," , #
, - , # 2 2
4 ,"(13 1 #3
4 ,"(3$ $ #
!!!
4 )
4 $ $ ##
4 !!!
4 " -
- #
% "0
!% 1 ! !
"
!" .
! ! + "
0 ( % !
" ! + % %
2% ! "
/
) " -
) " -
+
#(
#
#
5
+#
- - #
# -
#
, #
-
, 3
3
+
-
$# 3
$# -
" -
+
0 % !% ! ) # !2 % ! "
( % %% ! ) "
) ! % , # !2 % ! ,! ( 4
2 !*%! + 5 +
56 + 6* ! ! ) (
7% 7"
2%*% 1 ! *!
* ! ) ! % "
3
#
-
/
," .) //
- /
%
//
+
, #
$# #
& . + %% % ! ) " (
, %, ( ! " %
! ) 4
% 9*
% % * ! *
% 5 ! % 6*
% % 5 * * *% +!
6*
% % *
% "
,! % ( 4
) !% 1 ! "
. +, ! " # 4 ( ! , ) +
% % " &! + ) ! ( "
' + ( % + "
8
- 3 %
, ## 7
#
%
)
$ 6
)
$ 6 !!!
!!!
; ) <( ( , 4
( ! ) ! *
* , + ! "
0 ! ! "
0 % % 9 , , "2 *! !
% % ! ) ,
"0 9 , 5 %! ( %
% * , % 6"
:
%
Application
hierarchy
Package
Package Program
Function group
BC400 Class/Interface
...
Inactive objects
7 6 . (# #
Local objects
# #
&
#
$899
"$ * ,
# ! ) !4
( ( "
( %% ! ) 4 *% *
& ' ! ) "
! ) ( ) 4
= 4 *! *( *
= % 4 *%
0 ! % ) ) % ( "
) ! ( "
' + ) ) ! ) "
' + ) ) ! )
"
0 ( , ) "
0 ) ! %> ! ! =( "
% #
7 6 , -
#
0 , , ,% ( " ! ,
) ! ( ! ! ; ) <( "
) ! ! "
/ #
#
#
#( #
6
<( ( " , (
( !% 9 !"
& % > 4
0 ! ! + ) %
( " ! ! ( % ) !
( "
0 ! ) ! !
! "
0 9 % ) ! ! % ) " 2% !%
> ) ! 9 ) *! ! ) ! +
"
$
$ #
<
: $899099
- +6 99
# $ #
- . /+ # ;
# : +5
#
% #
;
0 + % ; ) <( 4
. # "/ ! ) ! %
+ % "? + ! !, " 2%
+ 9 * 9 , ! + "
. # "/ $ ! ( "1
% + !% "
+ % % , 4
$ % 2%! ! ! , ( * ! %
( "
% % !% )
+ "0 % ( "
&' ( %0 ! ( HOME" 0 , %
% = % % "
( %' , +
!"
$ ) =
+ # =
: $899099
) = " >?@99AB =
C6 $899
!!! (*
+ # =
#( #
% ! ) > %
( ) "= * > % )
! " #$$" 1 +, > "
0 ! > , ! ( + % &! "
! ! ) 5 + * 6 ) "
! ! + !"
- 6"
1 #
XXX YYY
#
D ( E
- #
...
& ( "
1 , "
% , + !, "
. ! + "
"
9 ( ( "
; ( "
& ! , , + !, *
" + * + !, ,
, "
0 ! % ( , 4
! "
-
- 6""
* comments ...
* comments ... $
D # # E
* comments ...
ENDSELECT.
0 (( , +*" !
& ! "
2%! , % ! *! (
> + ""
0 ( ( ' ( 4
% , "
% % , , "
+ % % 5 * * 6"
< ( % %
& ! * % "
/
-F(-& )$ ) $
REPORT ...
IF sy-subrc EQ 0.
NEW-LINE.
WRITE: wa_scarr-carrid,
wa_scarr-carrname,
wa_scarr-url.
ELSE.
WRITE 'Sorry, no data found!'.
ENDIF.
= ! & * & ! , ( ! %
sy-subrc , % 9 % , "
( ,! , 9 % !"
0 % , , ( (
% ( "
3
$
$
: $89909901-
# $ # <
!!!
. / B
!!!
+6 #
-
#
!!! ,6
% , ( % % ' ( 4
2 ( * ( ) ! "? + ! !
, " 2% 9 * ! + !
> "5 ! %# "/
"6
' ! + % , "@ 9 % +
( > % "
" ( "
< , "
= * ( ) * ! 5 , *! 9,
( 6"
%9 ! 9"
4* ( % & "
8
START-OF-SELECTION.
+ SELECT SINGLE * FROM scarr
INTO wa_scarr
WHERE carrid = pa_car.
IF sy-subrc = 0.
WRITE
MOVE-CORRESPONDING wa_scarr
C TO sbc400_carrier.
# CALL SCREEN 100.
6 MOVE-CORRESPONDING sbc400_carrier
!!!
TO wa_scarr.
,B
WRITE:
WRITE wa_scarr-carrid,
? wa_scarr-carrname,
wa_scarr-currcode.
ENDIF.
% ( % ! + !, % &
4
#$ + ! ! % ,
! "
+ ! !% % %% ( , % + !,
"
@ % ! , % ( %
& . + "
:
" #
-
,- - . / 0 1 ,- 0 2 / 1
D E D E
D E
$ $
D E D E
2%! ( ) ( * # # ,!
#$ # !% "
! ) 9 # # % ( ! *
,( " ( ( %! , , , 9 !
*% 9 "
2%! 9 ( *! , , , ( ! "
2%! ( * % ( ) ! ( ! %
' ". ! ( * % , 4
2 ( *, ( ( ( , "
! 9 + "
( ( ( , "
1 )
-
,- - . / 0 1 ,- 0 2 / 1
D E
D E
$ $
D E D E
6 D E' 6 '
#
# ! !
. ( ) * ) 5A; '6 5 6
#$ # ! "
) 9 5 6"
) !* 9 !"
2%*% 9 * , 9 ! ( 9 *
( ( + "
0 ! % , ( ! , 9 4
2%! ! % ( * ( ( + % "
2%! 9 % * ,( * ( ( + "
! ( "
+ % ! % ( ' (
" ( ) ! 7 7 ! , )
( " * ( , #$ # !, ( ( *
, % * ( (*"
$ $
- . #
:991-
: $89909901-
: $899099
6 !!!
: $89909901-
!!!
$#
#&
+
!!!
!!!
2%! , % =( ! 1 !
*! ( "
* ! ) % ! ; ) <( "2 9 %
* & "? + ! !,
"
( + * ,*% !
( "
1 % > " - * "
( ! "
! ) *! ( +
> > "
" $ ,
- . #
,
% !!!
"
- / !!!
+ ##
:991-
=( % ! * % ,4
<( 5 1 ! 6"
2 . 9 * * "
1 9"
9% . "0 9
% , ( "
!!! 7 #
!!!
!!!
, "
- /
" "
!!! !!!
! % ) "
! % % ! %( 5 6
% , "
! % $ % ( % "
= 9 * "
3 # ! 1# #
# # 1# #
D # #E D #
E
, "
- /
" "
!!! !!!
-
+#
1# #
# # #
TYPES type_name TYPE ...
" #
D- E
DATA myvar TYPE type_name .
D P
T N
DATA myvar2 LIKE myvar.
I C
F X
STRING
XSTRING
0 & ! * ! ! ) "
% , & ! 4
d ' 5 *% 4 YYYYMMDD6
t 5$ *% 4 HHMMSS6
i 2 5, 6
f = 5 6
string 5 *( 6
xstring &! > 5B - *( 6
% % % , ! 4
c 5 6
n < 5" 6
x &! 5B - 6
p + 5 + C ! 6" 0 ( %!
% "
0 , % % % & ! + !, %
TYPES DATA"
0 LIKE % & ! & "
/
# 5 #
...
TYPES t_percentage(3) TYPE p DECIMALS 2.
& 4
4
/ & &5
.
.
3
,6
,6
3 #
% # # 6 # #
123 $ 'Hallo'
-123 # '123.45'
,# '123.45E01'
,6
$
0 ! ( %9 ) 9" ( %
"
. ! % %9 ( & " ( .
" !> +"
0 5, % ( 6 " !
! % ! , ( % ! "A
! "
0 ( 5 *% *"""6 9 "
! ! ( *% !"
2% 9 ( *! ( , "
% , " $ "$ " ! + ,!
% % ( ) , $ " 3 24 ( %
" ( % "
(( 4
( % , ( ! "
" + ! "
8
5 #
#
CONSTANTS c_qf TYPE s_carr_id VALUE 'QF'.
DATA: carrid1 TYPE s_carr_id,
carrid2 TYPE s_carr_id VALUE 'LH',
counter TYPE i.
6 - 78 .& .
9+
carrid2 = carrid1. 78 78
CLEAR: carrid1,
carrid2,
counter.
2% * 9 (
( % ) "
1 ! ) ( ( ! *
%% ( ! % 3 24 "
0 3 ! % ) " , ! 9(
( % 4
3 $ 1
5 1
2% ) %% ! * ! ( !% (
9 "
0 , % % ! ( + !,
% 3 "
2 % ) ( % ! "0 ,
% % ( % ! + !, %
2 "
:
$ # #
? $ / & + #
2 & ! ( . 7 7 ! , "< +
+ !, % ! + "E
4
+
-
* ?
/ '(
** ,
DIV 2 ( ,
MOD # , (
% % %% ! & ( "
= 9 * % , ( % % 4
5 $ 2 "/ & ( 01
. % * + % "
! + "
! !% # ) * , *%
+ 9 * % *% , ! , * $( * % !
$ "
0 , % % % + !,
% 4$ "
$ #
IF var > 0 .
-
ELSEIF var = 0 .
-
ELSE .
-
CASE mycarrid.
ENDIF .
WHEN 'AA'.
-
WHEN 'LH'.
-
WHEN OTHERS .
-
ENDCASE .
DO n TIMES. 3
sy-index
-
ENDDO.
WHILE <condition>.
-
ENDWHILE. 3
sy-index
/ # /
i " # # 6
s - - 6
w $ 6( -
e + $ 6( -
a # # 6
x - ) MESSAGE_TYPE_X -
0 , : "0 ( %!
% "
0 7,$6 % ( " ! !*
9"
! 2' ( " 9 %% > % % 4
a % 9"
x 1. , "
e ( 9 "
w 7 ( 9 "
i , % % 9"
s % , "
0 , % % % ( ! 9% :
+ !, "
1# #) -
#
, #
DATA wa_focc TYPE sbc400focc.
- - $899, $$
DATA wa_spfli TYPE spfli.
-
# - ,3"
#
#
#
. . -. / :
* 6-
/ . . . 2- 2- / - / 2
* 6 -
2 & ! % ) 5+ , % 6" 0
( ! ) "
* * ( % ( "
, %% ,! % % 4
. $ D $+ D! ! ! D! "
. $ 2 D D! % !
"2 D D!
D D! "
7% 7% ( * , *
!! "
%# " ! ! > $ 2 % % % "
- 3 #)
. . -. / :
* 6- -
0 % ! !, $+ "
!
:," D! D ;
111 ;
" D! D
"1 ( ( !! ! , "
0 , % % % + !, % $+ "
0 % ) % , !"
= ! * ) % !4
$ % :," D ;
111 ;
" D 1
-
- $
/ . . / .
* 6 9+ 9- ;<' *** - /
,! , ! 4
D 9 D "
= *! ! "
/
5 # -
/ . . . -. 2 / :
* 6-
* 6-
. . -. / :
3 9 " ,": D $ D %
D % D " %
( ( "
1
3
# #
- #
,# #
2 ) , , ! % ,
, + !" % "2 ! !
! ! ! "
% ( ! ( ("
( ! , , + !"
( % + , " (
% + , ( % "
! % ! & ! " ! !*
( ( "
2 % ( ! , ( ! ( % (
% " ! % 4
# % % *
% *
% ! ( "
8
" # #
" 6 H ?
=$
B 99BG H!AGH
=& =
H 3. 9899 I!BIH =- =
> 3. 989H G!HG>
8 J, 999A B9!999
> #
A -J 9KII B!IHA
=-
I & 999G H!AGH =-
=.
! % ! % % , 4
2
% ( ( % "0 ! %! ! *
,( * ! ! "
8 &
+! > % %! " +!
% ) 9 ) * ! ". > +!
, + !"
. * ,! % !, ! %%
"
. ( 4# , <4 ===>< , > +!
, "", ( , ! 9 ! "
, . 42 * ! * *
% " , .
"
. ( 4 , 9- %% %
"
:
#
" 6 # . #
# )3 '3 9; (' ;3 9; + +;3 9;
" 6
?
=
% %(&%"J&+ &%"J&+ L % %(&%"J&+ &%"J&+
6#
&
6
! % ! "2 (
! ! 4
. * !" & 9 +!
"
. * ,! ( + !" .
* 9 ! "& 9 +! "
. * ( (' & ( " >
+! > % ". ! ! +! "
! ( ,! ,
! 4
! % 9 4
% > +! %9 "
. * ! % , > +!
! "
2 * ! , * ! 9 &
, 9 "
1# # #
# SBC400_T_SBC400FOCC
3 SBC400FOCC
- #
?
? ( =
? CARRID, CONNID, FLDATE
. . -. / :
6- -
TYPES tt_flightinfo 3 # #
TYPE STANDARD TABLE OF sbc400focc
. . -. / :
6- -
0 % ! ! * $+ "
! % , $+ $ 2 "
! % , $ 2 "
+ !% % 7,$6 "< > % + !%
"
0 , % % % % !
+ !, % $+ "
0 % ) % , !"
= ! *! % ! 4
$ D $+ D+ $ 2 D! 7,$6 + !D %1
$ #6
APPEND wa to itab.
"
INSERT wa INTO TABLE itab <condition>.
)
READ TABLE itab INTO wa <condition>.
$
MODIFY TABLE itab FROM wa [ <condition> ].
#
DELETE itab <condition>.
1
% , ( % "' % (
( % 4
2 111 " 2 2 , % %
% ,"$ "
, ". * ! %
"
2 $ % %! ? @ > "
," $ % ( % "
" % ( "
0 , % % & ( + !,
"
-
" - #)
6- -
* 6- -
0 !% % , > (
," $ "
. * *, , *
! % + !"
/
) 3
6- -
* 6- -
0 % 2 !
, "
2 9 * % % 7 ,$ "
2%! , % *% ( %
, ( , , + "
3
) " 6
0 ," - % "2 9 !
% 9 " ! % ! % "
2 ( 9 * ! % %( % "
2 9 ,* % "
8
) ?
IF sy-subrc = 0. sy-tabix
WRITE: / wa_flightinfo-seatsmax,
wa_flightinfo-seatsocc,
wa_flightinfo-percentage,
'%'.
ENDIF.
0 76 , % ( "H !
% "
. ! % + !*+ ! ! +
+! "
2 ( 9 * ! , %
( 7AB7"
5 % 4 % + % "6
9 , , ! 9% , !
% + !" 9 % 9
"
5 % 4 % ! % ,
% # "6
< % !+ !, .2B$ 2 H10 + !%
" 2%! , % *! ( 7,$6 8 + "
:
- - #
SORT itab_flightinfo.
REFRESH itab_flightinfo.
FREE itab_flightinfo.
0 %! ! %! %
+ % $ "
$ A " ,": B " ,": C
A + % A " ,": B " ,": C
1""
% A " ,": B " ,": CC
A $ -$ C
A$ 2 C1
+! % % > 4.
"
. $ -$ ! + % % ,
! % "
. * ( > % %% +!
, $ 2 "
2 9 * %
9 , % *9 "
0 , % % + !, % $"
-
" # # . 3
" ! "
DATA itab DATA itab
TYPE STANDARD TABLE OF scarr TYPE STANDARD TABLE OF scarr
WITH NON-UNIQUE KEY carrid. WITH NON-UNIQUE KEY carrid
DATA wa LIKE LINE of itab . WITH HEADER LINE .
. #
" # # " # #
-
#
-J3 % -J3
% -J3
F2 % F2 % ! & "
! , & ( % * % ! "
& ( ; JA JA "
-
# ## )
# ( #
- # #
( #
- = #
- 6 - SELECT
, 6
D27 2E SELECT
& # # #
42 #" 2' #( #
# # 6 2 (& (3 #, # 2
. % *! ( ( 4@ 0 3
"
2%! !+ , > 4
%
2 $ ( "
%
% 2 $ 9"
, & %
2%! + , , % % ! + %*
! #$ + %
% ( & ' !" %> ! % "' +
( ( "0 7 94 92 %
, % ! "
-
)
# ; #; ; # ;
#7 # ##
0 , JA 2 $"
2 $ % % , %% +4
2 $ , (
( ( * , % "
5 ( ,6 % ,
"
,"$ ) , "
76 ( % % "2 %
"
0 , % + !, % 2 $"
-
) - #)
#
0
-$ ))
SELECT SINGLE *
FROM scarr
INTO wa_scarr
WHERE carrid = pa_car .
IF sy-subrc = 0.
...
ENDIF.
. 2 $ ,":2 G *! % "
> * + !% 76 ( " +G
! % , % %
" 2%! !, * > %
"
,"$ %! , % ! "
, % ,! >
% "
. " ,": , 2 % ,"$ ! % %
"; ! (
". * % %*,
+ "
2% , % * 9 ( "
,":2 % !
" % "=
2 $ ,":2 %% 2 $ ,
+ !% , "
--
) - #3
0 #
-,3"1.
0 899
ENDSELECT
IF sy-subrc = 0.
sy-dbcnt ...
ENDIF.
. ,":2 % 2 $ * ! ( %
" ( , ! % "
% > ! 76 "
. 76 * & ( % % "
% "
% , 76 + , " "
% + " & !
!
, 2 $ " 2 $1 > !
% " 2 $ * % 2 $ " 9
( % > ! "
% " 2 $ * 9 % "
-/
) - #3 " # #
0
#
-,3"1.
0
IF sy-subrc = 0.
sy-dbcnt ...
ENDIF.
,"$ $ 2 & ! ! %
% ! " "
!= 9 *! " 2 $ "
2%! , ( , * ,
! % *! " ,": $ 2 "
9 ( % , "
-3
-
2 * !! ) 9 % > !
"= * ) ! ! !
) " ,"$ ) , %
" , 4
%2! *! % %
> % 2 $ "2 ! %! %
,"$ " , % " % %
"
, # ! %0 %! % ) ,"$ "
19 4
' 4
D 0 1 % *
D 0 1 % *
D% 0 1 % % *
D 9 0 1 % 9*
D 0 1 % "
# ;= 1A1 2;<"
1A1 % 9
=#;? %
,"$ / H ; H ; H& ; H ( .; H 0
. B1#1 """
-8
- # - $
-:
$# ( - #
3 # 899
# - ,3"
2 * % + !% ,! " $5 ! 2"$6"
2%! % * & '
*, % % "5 & ! ( 2 $
!"6
2%! 9 !, % 76 *! ( 2, "$
, , % "
( 9 % * % !
% "
/
- # "
- 6
# - ,3"
$" F,) / #
/ % $" F,) / A )3 ''!3 ())!3 ! @8'(A
/
) 3 #
- ,3" M # -$ ))
A )3 ''!3 ())!3 ! @8'(A A )3 ''!3 '') A;
M
# #
A )3 ''!3 ())!3 ! @8'(A '') A;
2%! , % , ! *!
> ! "A !* % , % % 4
. K
B , + +K2 * %
+ " !% % ( %
+ "
. K. *! (
%! % , "
/
5 M
5
4 - # D E
: $
+ % ! ! !"
% & ' ! ( ," %%
! %( , " 0 , % % A ! " 0"0
) 1 " 0"0 4 %"
0 ! + & "2 + , & L "
* > ! % "0 , %
% + !, % 2 $ "
/
- $
INSERT
UPDATE
SELECT
DELETE
MODIFY
. ; JA* , 2 $ ! 4 $ *," $*
2 $ , +"
0 ! % ,
"
; JA 9 " % ,
% ! * ! % 9 *% , %*
> "
? % ( ( + !, "
/
/ -
! !
! !
! ! /
- ## + 4
...
... !
... !
!
!
! - ##
! -
!
!
... !
...
... 6 - ##
! !
! # !
! !
...
...
... -
!
! ...
! ...
...
(" 2 ! %
( ! % $ >
( "
' 9 % " ! % %
%% ) " ( 9 , "
% * * %% ) %
% "
% + ! ( & 42 ( +
% ! "
@ * + ! "0
7 + 7 !( , " ! !
%! % % "
& %
! " "
% % % % "
9 "
/-
$ $ ## -
REPORT ...
DATA: a TYPE ... ,
b TYPE ... ,
c TYPE ... .
$ ## D ' ' E
!!
!
$ $
' ' % 5 ( 6 %
) % 5& ( ( 6 & "
4
9 9#
% % " (
% ( & "
9 9 &
& % % "
( % ( &
" ( % ! ! !
"
9 9# 9 9
% ' # % "
( % % '
. "0 % ! , ! ,
( , !"
//
- $ ## "
REPORT ...
DATA: a TYPE ... ,
b TYPE ... ,
c TYPE ... .
PERFORM xyz
$ ##
USING
a
CHANGING
b
c.
FORM xyz
USING
value(f1) ... " 2D
CHANGING
value(f2) ... " 2D .'
f3 ... . E 2' -
...
ENDFORM.
2 % % ! & ( ( % ( ! ! %
!" ) %9 % = ! ( 4 ,": *
6 ":,": ". ! % %
"
. * , 4 ,":
6 ":,":"
0 % ! % % 4
9 9# 5&D6
A + % % 4 ,": + , # /% 0 "
9 9 & 5&E6
A + % % 6 ":,":"
5= % ! % % ! 4 ,":
"6 = ( *4 ,": 6 ":,": ( %% "
5B , ( *%! 4 ,": *
, ( 1"6
9 9# 9 9 5& 6
A + % % 6 ":,": + , # /% 0 "
/3
5 # $
TYPES t_perc TYPE p DECIMALS 2.
TYPES t_perc TYPE p DECIMALS 2.
DATA: a TYPE i,
DATA: a TYPE i, b TYPE i ,
b TYPE i , c TYPE t_perc .
c TYPE t_perc .
...
...
PERFORM calc_perc
PERFORM calc_perc USING
USING a
a b
5
b # CHANGING
$
CHANGING ) c.
c. # 4
#
FORM calc_perc FORM calc_perc
USING USING
value(f_part) TYPE ANY value(f_part) TYPE i
value(f_all) TYPE ANY value(f_all) TYPE i
CHANGING CHANGING
value(f_pc) TYPE ANY . value(f_pc) TYPE t_perc .
ENDFORM. ENDFORM.
% ) 5 6 % ". (
! , ! , ! % % "
&! ! % ! ! % % !
% " ( ! %! * ! 9 +
! + !! % "
$+ "+ ( ! "5 % % % %
!"6 2 * ! 7 7% %
" 2% ! *
( I
2%! ! , * * .* (! % 7 7 " 2%!
, % *! ( ! % ! ". . *
% ! ( ( "
! *&* * * ! % "
/8
- " # #
... ...
- #
FORM fill_wa FORM fill_itab
CHANGING CHANGING
f_wa TYPE sbc400focc . f_itab TYPE sbc400_t_sbc400focc .
% ( ! " !
% , "
! % * ! ,
! 9"
. *! ! % ,
! 9"
& ( 4
. % *! ! 9 9 &
% ! * %% > ! , "
/:
3 # 1# #" # #
...
FORM fill_itab
CHANGING
f_itab TYPE sbc400_t_sbc400focc.
3 # #
DATA l_wa LIKE LINE OF f_itab .
ENDFORM.
0 + % , "
& % ) ! ( "
! !
% % 9 " ! % ! %
"
) % % "0
( % * , ( "; , *! ! % !
"
. % ) ) *
( ( ) % ,
) % " + , # # "
(( I # %
) % (
% "
! % ) "
( % + % !" @ %9 &H111 % 7%
7 H111 % 7 ) 7 "
3
$ ## -
DATA: carrid TYPE sbc400focc-carrid,
it_flightinfo TYPE sbc400_t_sbc400focc,
lines TYPE i.
PERFORM count_lines
USING
carrid
it_flightinfo
CHANGING
lines.
FORM count_lines
USING
f_carr TYPE sbc400focc-carrid
f_itab TYPE sbc400_t_sbc400focc
CHANGING
value(f_lines) TYPE i.
DATA l_wa LIKE LINE OF f_itab.
CLEAR f_lines.
LOOP AT f_itab INTO l_wa WHERE carrid = f_carr.
ADD 1 TO f_lines.
ENDLOOP.
ENDFORM.
9 , % %
%% "
= % * &H ( &H %
! % &H ( !"
, + > % " %
! % % "
3
+ -
- . #
:990, )/ ...
PERFORM count_lines
USING
4 f_carr
N
f_itab
CHANGING
f_lines . &
- ... #
$ &% 03"%+-
FORM count_lines
USING
f_carr TYPE ...
f_itab TYPE ...
CHANGING
value(f_lines) TYPE ... .
...
ENDFORM.
, "
. * % ) "
0 ,! ! % % "
' ( %% ! 40 (
7 7 !7 ( "
( !*! % "
! % 9 ! % " B , ( *! (
% , "
3
-
# #
!
) !
# ##
!
3
3
$ % &
'
!"
#
! .
( )
& &
*+ ,
-+ ,
*+ *+ -+ *+ *+
!"#$% &'
() * ) )(+ ) , ( ) ) -)(
. * '/ -01- 0 )(/ ** ) )(+ ) &'
1) () * ), )(+ ) ) 2 ,)( . * !
)(+ ) ) 2 ,)() 2 -3&'
( ,)( )(+ ) ) 2 ! ) ( )( ! ) ) ),* (
4 ,)( )(+ ) , ), )(+ ) ) 2 '
) ( )(+ ) & ,)(4 () )(+ ) ) 2 '
3 ( *(), ( )( ( ) - & )(+ ) *(), )
( ) 5' () ( 4 ), %6 ('
# ,)( ) ) ) 5 ) ), )
)2 5 5 5), )(+ ) *(), '
7 )4 ) ,)( ) ( 4 )* 7) 8 8 88& /
)(+ ) )(+ ) *(), ( ) + )2 ! 5 5 ) ) 4
) ) ( * 9! :&' 5 ) 4 ( )( ) ( (!
) 4 ('
)(+ ) ) 2 !) 2 , ( 4 )* )2 9 )(
: ) ( * &'
' & &
&
&
3$/ 3$#/
7
3/5 *3$#/
0 3/ 3 6
3 ) 63% )/
% !)/. 2 32 .!13% % 2 2 3$
03/5 *3$)1 .
$!1)# 3 ) % 3$1) 0
;
$#/). $#/). *888'-888
0
*888 -888 9888 0 8*'8-'89
$
$#/). $#/). *888'-888:9888
0
*888 -888 9888 0 89
)(+ ) ) 5) ) . 4 ( ! * 5 ) * 5
) '
)(+ ) " ) 5) ) . ) 5 * 5 45 ) * 5 ) !
'
3, ( )(+ ) "! )* ( 4 4 5' 3 ) ( )( ! (
. 4 ( ! * 5 ) * 5 ) '3 ) * 5
) ! ( ) 5 . * 5 4 5'
8
!
; $8-;
< & 5
.3 !+=
.
& . = 5
>
$ 7
; # 4 )7 >( 4! /; 5 "
? ( ) ( ! 5 *() ( * (,)( 4 () ) ( (
)(( *) )(+ ) '
' ( ( )(+ ) ( ( )' )(+ ) ) 2
( ) (& ) )(+ ) , ( ) ) &' # ( 4 )
4 )(+ ) ,)( ( ) ) 5 ) . ,)( . * -" !
@) &'
) ( )(+ ) ) 2 ) ( ) ) ' 3,
! 5 ( ( )(+ ) ,)( )(+ ) ) 2 '
( ) ) 6 )(+ ) ) 2 , '
A,) ), )4 4! ( ) ) ( 5 * 5
)(( *) '
3= A% 7 / )(+ ) ) 2 ) ( ) "
# BA%3 9 B< $' (( ) 5 " *() ( 5
( ) ( ) ( '
>
$8-
. 2 8?6
::::
#
# 4 )7 >( 4! /
$@! * 3$/ 3$#/*
& 3$/ 3$#/ 7 * 0 * 7!6 *8-*
$#/ 7 *$#/).* 7!6 $#/:
)
*888
7 .>(.#$) 5! 8:
2 !.. 1! !8A9 % 7 4 $#/:
!5 7 :
:::::
$#/ *888
C
6 0 1
!
!
. (
!
"
!
#
!
$ ( * *() ( 4 ) 5 ,() ) (
*() ( ' 5 ) 5 , * * *() ( '
*() ( ( + '
- ) () * ( ) . *() ( ! ) ( )( ! 5 ) (
( ) ) )( 5 ( ), *() ( ' 5 (4 . 4 5 ,( )(
*() ( ,)( , ) ) '3 ) ! , ) () * ) 4( , )
) ),,(( , ) )()* ( ) '
, ) ) !, ) () * ) ) ,) ) /
@ ( ) ) )2 &
()
(
5 5 , ) ) , ) () *'
D
. 1
FUNCTION <name>.
,
INCLUDE L<fgrp>UXX. FUNCTION <name>.
...
INCLUDE L<fgrp>U01. FUNCTION <name>.
...
ENDFUNCTION.
...
ENDFUNCTION.
ENDFUNCTION.
INCLUDE L<fgrp>F<xx>. FORM <form_1>
... ENDFORM. + ,
' &, + ,, ,
( 7 B
B . (
B ) (
B # (
B " (
4 '
*)( ) 2 )( ) * ( !*)5 )(* (, !
4 * 5), '- ) () * ) )* 5
*)( () *() ( ! ) 4 (' 3 ,) ) *)( ** )
5) ) ) ( 4 ), ) ) /
3 ) ( ) !, ) () * ) ( ' ) 5) ) * (
) , ) ) ))'
0
- ) ) ,() . ( 5 % ) - ) &'
* , ) ) ,)( * * , ) ) &' 5 ( )
. ( 5 ! ), 1) # ),? )( 1#? &'
0
, ) ) . *( *( )( *() ' *() ( )
) , ) ) , *() '
1
( , ) () *
(( ) <C
3 4 ) ( ! )2 ,)(, ) () *
< ( ), , ) () * :" 0<E = 1<& F ( )&
) ) @ * 5!G ( A 2 G*)* * F ( )&
) ,( G9 G!G3 ( - ) () *G*)* * F ( )&
2
(( ) <C
3 4 ) ( ! )2 ,)(, ) () *
< ( ), , ) () * :" 0<E = 1<& ) G@ * 5G
3 ( ( (!)* ) . ( ) & ,)( ** ( ) )
:" 0<E = 1<&
A* /G( G F G- ) =) G' F ( )&
< ( G( - ) =) G*)* *' F ( )&
2
! 1 # ! . 4
! " # $ %
! #
"
3 ! ( ( 4 !5) ) ( 0 /
1 ) ,() ) ( 5 '
( ,)( 4 ) , )
,)( * (*) '
;
7
! 1 # ! . 4
! " # $ "$
( +
% ", - . ' ( )%* .
% ", - * ' ( )%*
& ' ( ) ')
3 (, *( ( ( ) . *() ( , ) ) '
% 0
9) ,) ) 5* ),* ( (/
/ *( ( ( ( ,(( ,() *() ( ) , ) ) '
*( ( ( ( ,(( ,() , ) ) ) *() ( '
+ +* ( ( ) *)( .*)( * ( ( ' 5 (
( ,(( ,() *() ( ) , ) ) ' , ) )
) ( ( ) *() ( '
*( ( ( * )* ) ,)( ( ,(( ( ' ( )
*)( .*)( ' 9) ) )) ( *( ( ,)( )( , )
) '3 !5) ) ( ,( ( ) (* ( ( 5* 5*
5* ,() @ ) (5)( ( 5* &'
8
FUNCTION bc402_fmdd_divide1_packed.
*"------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(I_NUMBER1) TYPE DEC8_2 DEFAULT 1
*" REFERENCE(I_NUMBER2) TYPE DEC8_2
*" EXPORTING
*" VALUE(E_RESULT) TYPE DEC8_2
*" EXCEPTIONS
*" ...
*"------------------------------------------------
9) ( *)(! *( ( ' *( ( ) ) )
** 5 (' <.*)( * ( ( ( 5 )* ) ' 9) , 2 ,)(
)* ) *)( *( ( , () ) ( 54 '?
*() ( , ) ) 5) *() ( ,) * ) ( (
** )* ) * ( ( )( )' ) ) ! ) .*( ) ,)( ),H F3
# 13<@ )(H F 3 7A # 13<@! ( H F ,)( ), )* )
*( (' 7) <E A% * ( ( ( 5 )* ) * ( ('
>
!"
! 1 # ! . 4
! % #
& * (
0 + %( 1 ( ( /
+ 1 &+ 2 +
RAISE <exception>.
C
($ !"
! 1 # ! . 4
& ' $$
))
4 % ' %0 + ( 1 ( / 5
4% '% + 1 + %+ 1 &+ 2 3
( 4 ) , , ( 5) ) (, ,)(
, ) ) ' ) ) ! " #$ %&'' ' ).' . *) ,(
( ) ) ) '<. * ) ' 5* )4 )/
<. * ) ' E0' )(': E0'&'
)( " " A 2 ( ) ) )( . *) ' )( (
. * ) !,)( . * !5)
/ 9 % /.& :% 3 45
3, ) ( )(,)( . *) *( (! <E A% 37 ) )
**5 '
D
C
&
% ", - .
% ", - * 5
( *8888888888888D 3 * D *8888888888888
! 1 # ! . 4
# $
FUNCTION bc402_fmdd_divide1_packed.
*"---------------------------------
*"*"Local Interface:
*" IMPORTING
*" EXPORTING
*" EXCEPTIONS
*"---------------------------------
...
ENDFUNCTION.
? 5) ( , ) ) 5 ) 5 ( )(( *) # '
, ) ), , ) ) ( *() ( ' 9) ) ) #
( 5) )$# ! ) 4 (' 3 ) 5 *() '
-#7 3A7 <7@-#7 3A7 ( ), , )
) ' , ) ) (, * 5 ,)( ),+ '
( ) 5 * ) () (, ' (, 5 ,
) )(( *) '
2
! 1 # ! . 4
( ) $ *%
) +*
9) , ) ) ( #
$ ($%
) 5 ) * ) '#. " (#&'
( , - ,() 4 (, , ) ' B ( 5) 4 )**)( 5
)*()4 *)(! *( ( * 4 ' ) ( )( ( (
*( (! ) ) *( ( ' . , ) ) ( ( 5
* ) & )( ) ( $ * ) &'
) 2
B
REPORT sapbc400wbt_getting_started.
TABLES sbc400_carrier.
DATA wa_scarr TYPE scarr.
E$ F8838831. PARAMETERS pa_car TYPE scarr-carrid.
E$ F8838831. !"
:::
SELECT SINGLE * FROM scarr
INTO wa_scarr
:::
WHERE carrid = pa_car.
IF sy-subrc = 0.
MOVE-CORRESPONDING wa_scarr TO sbc4
CALL SCREEN 100.
MOVE-CORRESPONDING sbc400_carrier T
...
. 4
;G ; $
B !
;G ;
+ ))
9 .&
4 & .
. /00(1 - 2 " 3
, 3 # ,
3 64
63 63 5 637 8 637688
;
$
+ ))
9 .&
4 & .
" 3
, 3 # ,
3 64
63 63 5 637 8 637688
9) ( *) 5 ) ,() ), )( .'
9) ) ( *) * , " /
& $# & $#&# #&#+ #2
3,5) ) #$( ! *() ( ( ,( . ( *) '
3,5) &1 ( *) ! 5 (( () ) 5) ( (( 5) ) )
5 '
? ( *) ! " ? )( ) ) ) 5,)( 4 )* ( )
( *) ' ) ( ( ( *() ( ( 5)( () ( *) '
8
G
% 6 < +
pa_carr
=
< +
G LH
%
5 :6 G
* 3 , 64
-
9
:::
*8
6 ) 5
*) ( *) * ) , ) / 9) ( ,) ) 5*
), *) /
$
*() ( ( ) ), , '
$ < < 2
*() ( ( , ) 5 , )
) ) ( ) ) 4 ,, '
$ < <
*() ( ( , ) 5 , )
) ) ( ) ) ) ), , ,, '
9) *) *) ) )* ( )( &= )(. '
>
.
+ ))
9 .&
,
2 & ' 4 & .
4!
9) ( , ) ), ( ( 5 ( ( ( , ) '
@) ) (5 ) ) *) * 5,)( ( ('
C
7
+ ))
9 .&
4 & .
" 3
9) ( ) ), ( 5 ( , ) ' @)
) (5 ) * 5'
D
.
+ ))
9 .&
2 / 1 ( : 8 -
!" . " )
/ 1 ( : 8 - "
)2 #5 3675!.
...
FORM count_lines USING
f_carr TYPE ...
f_itab TYPE ...
CHANGING
value(f_lines) TYPE ... .
DATA l_wa LIKE LINE OF f_itab.
CLEAR f_lines.
...
, 3 # ,
3 64
63 63 5 637 8 637688
>
:
> :
> :
$ % + +
) ) ), .( !5) )/
• 5+ . , ) )
• () ( 5) () , ) )
• @ *() (
• ( )(+ ) ) 2 4 5 ( )
) *() (
;
; B) 5, ) ) ( ( 5,() , ) )
" 30 A= 79 A@<0 < @< 31J
( ( ) <> ( * %'
! 1 % + # ( #$ ($%) 2
- ) ) " 30 A= 79 A@<0 < @< 31
( ) L@ * 5M
* L)( ) M
, ) ) ( ( 5
L- 6% * M* ) ( L - )M ( .'
-4 , ) ) ( ( 5'
8 @) )(+ ) * J 3, )! ) * J
9 ! )(+ ) '3 * 5
L B< $0 # BA%3 90 M () '
> -) ) . ) ), , ) ) ('
( ) L M
( ) L@ M
% + + -
( , ) () *90KK ) )2 '
( ( ) <C ( * %'
! 1 1$5 / #0&1$&# 2
L1) A 2 M
1) A 2 KK
L- ) () * M )2 ( '# ) .
) )) L ( M, )'
- ) () * 90KK
)( . N
() ( *) KK
( ) L 4M
( ) L1) A 2 M
8
5+ )(+ ) , "#$% ' ? )
( L M!L 8M L M,)( , 4J 3
5) , *( ( ,)( )(+ ) , "#$% J
( ( ) # ( * %'
! 1 % + # #! %'
(#! $6&#
$ / #' $%)'2
, ' )(( *) G G
,) 5 ) G@ * 5G'
( ) < 8 *()4 ) ,)( '
( 4 ,) ) /
3 ( )( (
8 @
)
3 ( ) # ! , "#$% ' )(( *)
G G ,) 5 ) G@ * 5G'
@, )(+ ) ) 2 9KK )(+ ) L M
)(+ ) , L M'
( ( ) # ( *
)) F " ? )( F@ 4 )* FA ( )) F
)(+ ) A 2 FA 2 '
)(+ ) ) 2 L M' 9) ) .
) ( )(+ ) ) 2 ,)( /
A 2 9KK
-
"#%$
, (5) 4 ( ) ) ! 4 5) ( '
>
@, () 9KK *(), 9KK0 ;8 ) '
)(+ ) ) 2 9KK ) () ' @ , )(+ ) 5 4
( ) )(+ ) ) 2 9KK,)( () 9KK!
4 G M L@ * 5M!,)( . * ' () 9KK )
5) ( ,'
( ( ) - ( *
%' )+$$'#&#$ ' *&$# & 4 % )+$$'#&#
$ 4 %'
( ) L( %) M
%) 9KK
N
( ) L 4M
* L )(+ ) M
( ) L ()*) (), 7 M
( ) L 4M
( ) L )(+ ) @ M
( ) L@)7) * M
( ) L= < (5), )(+ ) A 2 M
)(+ ) A 2 L9KKM
<.* ( ( ( ** ( ,( ) 4 '
L 4 5M '
( ) L M
( L M!L M L M!,)( . * '
( ) L 4L
L) * 5 ) M '
( ) L M
(5L M!,)( . * '
( ) L 4M
( ) L ( M
( ) L" M
* L# (M
3@ KK
( ) L 4L
C
; () ( , ) ) !9KK # BA%3: 3A7!,)( )(+ )
) 2 9KK *()4 )(+ ) ) ( ! * 5
* ) ) * 5 ) '
( ( ) < >!,)( . * '
- ) ) 9KK # BA%3: 3A7
( ) (
- ) () * 90KK
)( . N
* L3 *)(M
*( ( )( ) L)( .M ,)( )'
* L<.*)(M
*( ( )( ) L)( .M ,)( )'
* L<. * ) M
*( ( )( ) L)( .M ,)( )'
* L)( .M
,) ) *() ( . ),,( *) ) )' *)(
.*)( * ( ( ( ,( ) (L1) 3 (, M'
= ( ) , ) ) '
( ( ) <D !,)( . * ' (,( (
4 ,) ) )( ./
= )( .
# (O ) )(+ )
# (O ) )
D
FUNCTION Y##AUTHORIZATION.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" REFERENCE(ID_ACTVT) TYPE ACTIV_AUTH
*" EXPORTING
*" NO_AUTHORITY
*" USER_UNKNOWN
*"----------------------------------------------------------------------
* data
DATA: ld_subrc LIKE sy-subrc.
* Check
* for activity
ID 'ACTVT'
FIELD id_actvt
FIELD id_bukrs.
ld_subrc = sy-subrc.
* Evaluation of sy-subrc
CASE ld_subrc.
WHEN 0.
ed_answer = 'YES'.
WHEN 4 or 12.
ed_answer = 'NO'.
WHEN 40.
ed_answer = 'NO'.
ed_answer = 'NO'.
ENDCASE.
ENDFUNCTION.
8 , ) ) ' 5 , ) ) 5 . )(
5) ( )(+ ) , ) ) '
@ 4 )* ) , ) ) !9KK # BA%3: 3A7 < !
,( ) '
( , ) ) 9KK # BA%3: 3A7 < 5
5) ( 5) (, ) ) 9KK # BA%3: 3 A7' 3 ) ))
,) ) /
FUNCTION Y##AUTHORIZATIONTEST.
*"----------------------------------------------------------------------
*"*"Local interface:
*"----------------------------------------------------------------------
BREAK-POINT.
id_actvt = '01'
id_bukrs = '1000'
id_uname = 'AC400-##'
IMPORTING
ed_answer = ld_answer
EXCEPTIONS
authority_incomplete = 1
no_authority = 2
user_unknown = 3
OTHERS = 4.
* Test should deliver: ed_answer = 'NO'
* and sy-subrc = 4
EXPORTING
id_actvt = '01'
id_bukrs = '2000'
id_uname = 'AC400-99'
IMPORTING
ed_answer = ld_answer
EXCEPTIONS
authority_incomplete = 1
no_authority = 2
user_unknown = 3
OTHERS = 4.
id_actvt = '01'
id_bukrs = '2000'
id_uname = 'ODYSSEUS'
IMPORTING
ed_answer = ld_answer
EXCEPTIONS
authority_incomplete = 1
no_authority = 2
user_unknown = 3
OTHERS = 4.
ENDFUNCTION.
!" #
# # $% ! !
)
+
*# !
' ! %
& # # & #
&
#
# # %
#
( !
& #
! " # $ %
! $ ! &'
( )* + " ! # $ " '
)* + ! # $ " "! !
' "! $,! -! "
! " ""# " '
!
" # $ %
( )* + "! " !
-! " "! " '
"! ! "! " " " )* +
# "! # " "! " ' "! !
"! " " '
. ! ! $ " ! !
" # $ "'
/ " " ! " 0 -! "'
& # ,
)
, - .
...
* / 0 # %
1 ! #
12
4
& * # %
#
1 ( #
12
4
& # #
1
)
...
DATA wa_spfli TYPE spfli.
PARAMETERS pa_car TYPE s_carr_id.
& # *#
#
3
!
SELECT * FROM spfli !
INTO wa_spfli
WHERE carrid = pa_car .
WRITE: / ...
ENDSELECT.
3
& #
)
...
DATA wa_spfli TYPE spfli.
SELECT-OPTIONS
so_car FOR wa_spfli-carrid .
/ ! *#
-& # # .
& #
# / 15 3
/ )
1 15 )
ENDSELECT.
/ ! ! 4 $,! %
( $,! " ! !" " " "
$ ' $ " "! "" ! &" ! '
( 0 " " $ "! $,!
" " %
" ! " # " "# $ ! ) + " &! " "
) +
# # " " ")$ '''+% / $ " " 7 "
! "
#% " " "# " # #
" " " "# '
( ! $ " " $,! " $ '(
$,! " "# " ! ! $ $
" # '*" " " ! " &' ! " $ !
2 " " ! "" ! " $ '
. %
" ! 2 " " ! '
6
1, 6 #7 & # &#
...
PARAMETERS pa_car TYPE s_carr_id.
CONSTANTS actvt_display(2) VALUE '03'.
START-OF-SELECTION.
...
8
%
= /
(
% # #7
( ,!
:99 :89
#% # #7
899 :;9
<99
:
% #
% > #
:99 :89
899 :;9
CALL SCREEN 100.
<99
2 , % ?9
/ " " 2 !
$ ! " " " " " " ! ! $ ;
" ! ; "
$ ! " " 0 "! $ !7 " " '
" # " '
%
&#
%
( #
% 1 - # .
( ! $ "%
# (
( ! " " $" " " " & " $
" ) "& " !" +'
)# (
/ ! ! " "' < " " "!
'
(
( ! " " !" ! 9 '
! #% # #(
( ! "! ! $ "! $ " "
" "# ") $ + "! ! $ "! " "!
* ++
' # % 1
' # % 1
# %
#
!
1
% :99
...
% :99
...
PROCESS BEFORE OUTPUT. CALL SCREEN 100.
... ...
& ) #7
&#
% #
!" #
PROCESS BEFORE OUTPUT.
... / &1 * @ @ 2 *:99
! +# #7 ,
PROCESS AFTER INPUT. % # !" # =
MODULE user_command_100.
/
!
)
1 ! )#
...
"# !
MODULE user_command_100 INPUT. *+ , $% " %&'% (%
ENDMODULE.
1
(, &# & > #
% :99
...
3
1 % & > # +(,
% :99
...
6
1 % & > # + !
% :99
...
8
&% ,1, %6 ( #
START-OF-SELECTION.
...
AT LINE-SELECTION.
...
CALL SCREEN 100.
...
:
/ #
( 1 ' &% 3
4 4
' /
' /
@ !
!
# !
( # 7% ( # 7%
' $
) $
+ & $-
@ ! @ !
# ! # !
( # 7% ( # 7%
!
BACK %EX RW %PRI %SC %SC+ P-- P- P+ P++
=
# # 7%
(8 PICK
(A <...> & #
+ # 7%
(B
(C
( 7 # " " %
## ( ! ! ! ! " "2 " " !
! " 7 ' ( ! "" ! 7
! ! ! ! $ "'
# # 2) "( * ! " " " " $
! ! ! 7 '
. # 2 )( " ! ! " " " !#"
$ " ! '/ ! 7 " $ 7 " " ! ! ! "! "
" " '
! $ ! $" " ! 7 "
"2 " ' ! " &! $ " " $ '
& @ @ )
@ ! @ !
( 1 '
, , ,
PRI PICK & # BACK
& E& F %SC & #
%EX 1, %SC+ 1, #
RW #
# ! # !
( # 7% ( # 7%
& # /
! !" #
%
@ ! SCREEN
# ! SCREEN
( # 7% SCREEN
& # E
8
#
( # #
@ ! @ !
( 1 '
,
: & # BACK + &
# #
# ! # !
( # 7% ( # 7%
& + (+&1 1 / 2 ! #7 - .
SET TITLEBAR 'T_ABC'.
) - % .
! +
# #7
!" #
# ) %1 2.#
) . + ) /#)3
4 ! " )) % ) )0 56 )7
% (% /////
.#
) . +
.#
) 0 ( 1#
(0))#
1#
%
1
# !" # +
!" # - # . #
-( # !" # .
: G
!" # ! :
8 )
:
8
8
!" # : <
:
: 8 H0I
8
8
: B
:
8 &
8
3
/ !" # @
)
: 8
DATA ref1 TYPE REF TO myclass.
DATA ref2 TYPE REF TO myclass.
:
CREATE OBJECT ref1 ...
8
...
6
1 " %& &
' # # #
EE #
99:J
99C;
3
3 @ # 9;99
9;98
#
8
& '
& #
& ( %
:
% !" #
% :99 #
)
PBO module
...
# #
#
' ...
& # #
&& ) / 1
*' /* & @* 2 /21
*' /* *' /
# #
#
'
& # #
/ # ! @ 1 / %
2&
# % #
.
.
@ %
2&
! CREATE
OBJECT
/ # #
*' /* *' /
CREATE OBJECT L
& #
@ %
/ # i_parent
!
@
2&
@ %
it_outtab - % .
1( 1&3* ) 1* /& 0
% #
2 2 /21 *:
6
# @ B
3 6 @ # 89
# *
DATA: container_r TYPE REF TO cl_gui_custom_container ,
START-OF-SELECTION.
* fill internal table ...
CALL SCREEN 100.
1
/
*
CREATE OBJECT grid_r
EXPORTING i_parent = container_r.
...
ENDIF.
ENDMODULE.
3
& '
*
CREATE OBJECT grid_r
EXPORTING i_parent = container_r .
CALL METHOD
grid_r-
grid_r->set_table_for_first_display
EXPORTING i_structure_name = 'SPFLI'
CHANGING it_outtab = gdt_spfli .
ENDIF.
ENDMODULE.
6
& %
%
# %
)% # # $ #
! 7 % # %
8
=
. 7( 0 #" 5 #
! ! & "! 7 $ %
• ( " " $""
• ( $ !! ! " !
• ( ! ! " ! "
• - $ !!
• FD "!" " "
:
# #
. 7( 0 #" 5 #
#$ ! !
!
0
%&'
() ) *
$ +
- * - ,
- *
. /!
$ $
$ 1 $
!" !"
;
,
$ 1 $
!" !"
"#! $ ! % - 7%-
" *
"#! # $ !" (0 (0 ! ! %! ( *
) ! - (0 ! ( ( !. (0 ! ! $! !
*
)" $ % - . " " (0 !
! * )" . !"! (0 - 8 ! ! (# # $
! ## % *
: ! ( $ .# " ##$ -$
" !"! ! 0 ! .# #* :
0 (0 " ##$ *
<
* 1
-
! " # -
$ % * -
)*
,
) *
=
*. /! 0
%&'
() ) * $ +
,
* $ . ) * !"
, ! . ) *
!"
*
1 2
,
, 2
)
) 2
4 !"! ! % (0 ! *: &
B 8! , ( ! . " ! (0 $! ! /
C . ! !! ! ! (0 *
) .# - ! (0 ( ## " "! % *
58 #& $! % ## " ! #*
) - # . & ! (0 .
% ## ( % ! ( * 58 #& !% " ! # 8!
! ## ( *5 ( " ##$!%#. #&
) 3 % , /
) 2) , /
) " ! # !% ( ! .! ( , /
" % ! ( "!# , /
) (# " 3 ?! ! , /*
A
* 1 $
3 4
3 !" 4
2 2
1
,
: ( ! " % ! ## (0 ! *:
. ! $ " !% !&
8!
!# 8! " ! #! ## ( #! ! % *: " ! #
! " " ! % ! # ( ! !"! *
3 ! : ! 5.
" ! #! ## ! ## ( #! ! % !
*
3 ! )
: #! ! % ## " # ! " # * : ! # !!
*
* ) *
) *
2
1,
1 2
) *
) ** ) **
PROGRAM ... . PROGRAM ... .
... ...
6 7 !"! ! - !" (0 ! ( ! #*
:! ! 8 ! " % * )" (0 ! ! % !-
. ! $ $ (0 ! ( !"! ! ( . #! !
*
2 # * 3- "! #. # "% #! $ ! !"! ! $ $
! (0 ! #"- ! # % *
" # * - !"! ! $! "! #. # "% # ! * : ! ! " !#! (
4 !"! ! ! -$ ! ! ! ! 2 ! 94 !"! ! 9*
: !"! ! 0 $ # %# .! #* : "
0 !% !"! ! ! # ! ! ! !*
*
INTERFACE
<badi-interface>.
,
DATA: a1 ...
1
METHODS m1
EXPORTING
1 e_par1
e_par2 9
* 1 IMPORTING
3 4 5 i_par1.
METHODS m2 ...
ENDINTERFACE.
) !
* ) 8) !
3 4 6766 )
3 ! ) % " * 3 ! ) .!
" ##$!% ! &
% &: ! " " % "! ! 3 !
) ! " "! " * : !! " ! ! # *:
% ## ! " " % 3 ) # *
4 &B!7 8! -" ! ( ! 3 )* :
!% ! ! # ! 2 "!!! .!!(# $ 3 )!
! # *
&B!7 8! - ( "! ! 3 )
! # *
. # $ "! 3 )&
) "
# ,3 ) # / ! # ! "
: % # ,3 ) # / " ##$!% 7&
'!# !%&)" 3 ) ! ( 8 ! !! #- 3 ) #
# . #! ! # ! ## *
#&: 3 ) # ## !. ! # ! *
1
)
0: ; < 8 0 %
= *
3! 4
REPORT <program_using_badi>.
DATA: r_var
<badi-class>
TYPE REF TO <badi-interface>.
START-OF-SELECTION.
CALL METHOD =
cl_exithandler=>get_instance
CHANGING
instance = r_var. r_var
END-OF-SELECTION.
: (. 8! ! ## 3 ! ) *: ( $ ##
# #! *
'! - . "! " . !(# " 3 )! " *: "
" . !(# . ! " 3 )*
(0 " !% ! "! ##, /* : ! ! " % 3 )
# * : ! (0 " # " ! " *
: ! (0 " ( ## .! ( , /*
,
* 1
3! 4
3 4
,
3 4
, < 3! 4>3 4
8 , <
;
* ,
, < 3! 4>3 4
00 , < 3 : 4 ;* % 89
8 , <
* ,
* 2
, $
3 : 4 8
) ! # !% # - !. ##" ! " *
: - ! ! # !% # ! #! # 3 !# * C - !.
! " * !" $ # ( .!!(# ! # !*
<
3 4
#. ! !. ! # ! " 3 ! ) *' ! !
- " ! # ! $ ##!% % ! 8 *
)" !. ! # ! - # % ## * : ## ! #! !
% !## *C $ . - ! " # ! # % (# "!
!. ! # ! * 2 #!7 ##9 BB 2 :@4 5 '2D :)@D9- ##9 BB
4 5:C@? BE5F):C D?B5 >H 5:E)D : D 59! !## 8 . % !
! # ! *: ! # #! ## ## " # *
!. !. 3 ) #! !%! # " ! # ! $!
.!% 7 # !"! ! * 6 - .
!. ! !. ! $ *
4 #!# ! # ! 8! ! " 3 ! ) . #
! # ! *@ # ! # ! ( !. ! *
=
@ ) $
, ! ) *
8 $
) *
A
!
3 )
!
2 ! ) " ! " @(0 D .!% "!
$ 3 ) ! " '! !# !%
!%*
:7 # # 7 3 ) ' BE 2:C@ ): E C5 I* : $ !
3 ) ' BE 2:C@ ): E C5 I ( # %JC $
3 ) .J
6 C5 IEB5? 5 E 2:C@ ): .J
C $ # " !+ ! 7J
C $ ! # ! # 8! " 3 )
' BE 2:C@ ): E C5 IJ
) # 3 ) ' BE 2:C@ ): E C5 I* 2
! # ! KK' BE 2:C@ ): * . ! # !
# # (0 * . !+ ! " # % B( .
!
+! !# " # % B*
! # ! - # " ! #
KK 2:C@ )G :)@D ! ! # ! .#
!+! % !% # % *) ! - .
" ! # !+ ! (0 *
; D $ ! # ! ! 3 ) .! *: B
7 !# *
"
3 )
!
2 ! ) " ! " @(0 D .!% "!
$ 3 ) ! " '! !# !%
!%*
2 ! 5= → →
→
@ 95 9" # ! (0 * B 7" 9? "!!! 9
93 ! ) 9* 2 " ##$!% ! !
#! ! ')L @L
4 8* * " !
:7 # # 7 3 ) ' BE 2:C@ ): E C5 I* : $ !
3 ) ' BE 2:C@ ): E C5 I ( # %JC $
3 ) .J
2 " ##$!% ! ! ! ! &
3 )D ' BE 2:C@ ): E C5 I
: 9 !( 9 ( % $ 7%
9' BE @ :)D E 5 M) 5 9* ? (# #!7 ! 7 % .!$
7% ! *: 7% (# % 9') B9* :
9) " 9 ( % #! 8 # N
9 C5 IEB5? 5 E 2:C@ ): 9*
6 C5 IEB5? 5 E 2:C@ ): .J
C $ # " !+ ! 7J
: 9) " 9 ( % #!
9 C5 IEB5? 5 E 2:C@ ): 9* ? (# #!7 .!$ !
*) !8! * .!$ 8 !
% ( !% 958 ! 9 ( *: # "
!+! 7! .! ( " 9D@E 2:C@ ): 9
8 ! *
C $ ! # ! # 8! " 3 )
' BE 2:C@ ): E C5 IJ
.!$ ! # ! " !!!# (
!% → *
) # 3 )' BE 2:C@ ): E C5 I* 2
! # ! KK' BE 2:C@ ): * .
! # ! # # (0 * . !+ ! " # %
B( . !+ ! !# " # % B*
! # ! - # " ! #
KK 2:C@ )G :)@D ! ! # ! .#
!+! % !% # % *) ! - .
" ! # !+ ! (0 *
$ ! # ! " !!!#
( !% → *@ 9) " 9 ( %-
(# #!7 % !*
; D $ ! # ! ! 3 ) .! *: B
7 !# *
@ 9) " 9 ( %- ( % *
#
!
"
"
$ %
& " !
"
& '
! "
)
"
(
*
&
!
( "
(
$+
+ " ) )
")
) )
$
" $
% $ ! ) ! $+ ! $ &
% $ . % $ / . $ " 0"
+ /&
% $ ( $ $ )+
$ .$ $ !/&
$ $ $ 1 $ 2 $ )
# ) & $ $ + 1 $
$ ) # ) 2 % $ $ ! $ &
$ $ $ + $ ) !
% $ &% $ $ 2 $ &
$ $ $ % $ & + 0 !
! $ $ $ 3 ! !3&
-
. " ) )
%
) , -
% &
&
! " )
#
$ %
&
&
" $
0 $ ) + 1 $ 45 $
) & $ $ $ ) $ !
( .$ $ ) ( 2/&
45 $ ) " 31 $ 4+ 3 + + 1 $ 0
$ $ $ + $ ) # ) &
" " /
" % ) * ;
1# 3&/ & # #<&/ =
# ) #44 8/44 # # 9: #<&/ 9:
1#$// 5#6 # #$76 >
12/ + 3# / 2 " # #<&/ 91
" (
) ) ) /0:
2)&
) ?8/44##3& /
" " / #
$ 2 $ $ 2
$ $ $ &7 $ ( $ ! 0
&
7 $ ) )+ $ % 8 9 $
$ $ *
+ $ $ &
7 $ ! 0 ( $ &
7 $ 5 ! $ &: $ # + ! )$
+) )& $ ) % 8 9
$ $ $ &
7 $ ( ( $ ) ++ &
6
$ )
6 "
;
$ 0 ") $2
$ ) .$ 45/ # ) &7 $2 2 *
• 0+ + $ !1 $ 0
$ )
• + $ + ! $ !% $ !
)
• = 2 + ! 0 $ !$ $ &
! 0 $
$ $ 7>># &? 0 $
: ) &? ) $ $ $
"$ ! +
2 @ &A ! ! &
!$ ) $ $ $ 7>># 0 )+ ) !
7>>1 1 $ & )$ 1 $ "
3 B4 3 ++ + 0+
$ $ )$ $ $ 0 $ $ &
)$ 0 $ $!! ), 0 &
:! # ) &4 + 1 $ &
<
$ ) #
)$ ( + $ ) ) + !
1 $ ") $ # & ") $ (
( ) 1 $ &
1 CD7>>@ 2 + 37>> 3
% 8 9 # & )+ = 42 ! &
:= ( $ &1 2 !
$ *
8D 4C
8@ D 81C
#? D 4C
48'% D 4
4C D C4
CE ?44 8 &
% $CD7>>@ + 3 B# 3
$+ % 8 9 2 . CD7>>@ /
)& ! 1 $ 7>>1 % $ &%
$ " ! )$ # CD7>>@ $ B8 :&
) ! % ! &8 3 !3
+!" 3 % 8 9 3F 3?+ 3 + ! "
3'$ ?+ 3 3 $ 3 +!" 3 1
: % )3&
: $ ) &8 (
), $&
! 0 $
$ $ 7>># &? 0 $
: ) &? ) $ $ $
"$ ! +
2 @ &A ! ! &
0 $ ( *
→ → →
* →
→ → →
! →" # →$
" % & ' % %
7 $ + ) 0 ! B )
! → → →
→ ' "
% → &" '
B & $ )+
0+ + CD D1 &
!$ ) $ $ $ 7>># 0 )+ ) !
7>>1 1 $ & )$ 1 $ "
3 B4 3 ++ + 0+
$ $ )$ $ $ 0 $ $ &
1 $ 2 4 8 &
"# → ( ) * ' → +
→# →
" #
)$ 0 $ $!! ), 0 &
1 $ 2 4 8 &
"# → ( ) * ' → +
→# →
" #
7 $ $ 0 ) ! →+
&
:! # ) &4 + 1 $ &
$ ) #
)$ ( + $ ) ) + !
1 $ ") $ # & ") $ (
( ) 1 $ &
1 CD7>>@ 2 + 37>> 3
% 8 9 # & )+ = 42 ! &
:= ( $ &1 2 !
$ *
8D 4C
8@ D 81C
#? D 4C
48'% D 4
4C D C4
CE ?44 8
% $CD7>>@ + 3 B# 3
$+ % 8 9 2 . CD7>>@ /
)& ! 1 $ 7>>1 % $ &%
$ " ! )$ # 7>>DB8 : $ B8 :&
) ! % ! &8 3 !3
+!" 3 % 8 9 3F 3?+ 3 + ! "
3'$ ?+ 3 3 $ 3 +!" 3 1
: % )3&
: $ ) &8 (
), $&
!
(
" #
%& '
')
$
!
" ## # $ % & $ &' ( ) $#(
% % & * + % * &' % $ !
, $ # - #$ % !
)
('/--- #
('/---
# * +
( $
"' 1
) 0.
'
# )
)
,-----
,--.--
$ )
% $# #
% /% $ $# % $ $
/% !
, $ * & % - #% $
* $ /% % #$ % $# !
0 % - $ ( % $ #% #
$ %# & #% !
0 - * $ % ($ #% + 12!1
3 #% #%# % + 1 1!
.
%
)) .
5
--. ) 0.
#
) 03
) 0,
) 4 .- 5
.-
,- '
3-
4 3-
$ )6-- 1 3-
#
( /---
, # +& * $# % $#
% % - !
, $# & + !
, #+ #% (* ( % ( #+
#+ $!
, %$& # # !0 +
% - !
5 % ##% # % $ !
4
( : 5
) 4 ) 4 5 %
8
7
8
7 8
7 9 8
$# * (* & &' * ##
% $ /% ! $ % & $ % ( ) $#(
## & $# ! #( $ 6$ &#
$ 7 % & # ## & $# 8!
$# $ #% !9 #% # + (
+ /% !, * & & % ( ## & !
, #$ * " #- * *
/% ##!
;: ; :
) 4 ) 4 5 %
8
7
8
:
:
:
7 8
: <
9 8
9 $ % % # *
/% * & !5 % $# % % % # ##! 9
$# * !
, $ *& & $# ! 9 $
* $% $
* % ! % ! "%
* % $ % $ & &' ! %& $# * % # + $#
$# % % ! #%# * & % * %# $# "%
* % %# # #%# 6 $# #7! 0 $#
" 6 % % "% 7 ( #, : * $ #&#
$ & % 13&' 1 #% !
8
$ : >
))
$ .-. )
:
$ .-, #
8
: # 0 0
7
8
7 8
$ .-= >
7 :
9 8
9 &' $ # !5 %
!
9 $ %& !, # )
& !
9 %& ## $ %
$ %# %& !< ( % #
# # # %&
& % &' !
, $# (* $ * ( ##
% %& !
;
% $
% --. 2 $ .-?
(
$ .-,
% --, #
9
$ .-.
$
% )
' $ .-=
>
%& & (* %
* %& #&# $ &' ! < (
% %& # % #&# # $ %
(&% * % /% % % !
5 % % * % %& #!
% %& $ %* #)&# (& %
$ &' % #&# % !
0 % - ( % % * % # ## $# ! 0
##( % * % % % !" ( % %
% % #! < ( % /% #% &
$ ( # #% & % #&#!
: # :
#
!$
# % !&
, * + % = &# # " % !
&# # % ##* % % # &# & ##*
$ ( $$ !
" % /% % # &# #%
$ ( $$ !
>* % % & * $# % - !
? % * % ( % % & # # /%
) # ( # ( # #% !
<% & $ ( ( !
$
" !
+
#
% ) ( %* ##& &# =
• @ % %# $# ##
% * % %# $# ##
#- # < $#
# !A $ % ) B
% %# 5CC? D9>9 5 #%# %$%
* % % $ $ # % & (*
#% % %& ( ##* %#=
E #
% ) ) $ %
" % % %# 5CC? D9>9 5 & % $#
## ( % /% !< %*
/% !, (% F& #- % %#
# % $# ## !
@ % * % %# $# ##
< #- $ # < !
? $ # * /% BD * %$%
/% B
5CC9 G % $ % * # #%
1H #1 %& 6 #
$ % 7! % 5CC? D9>9 5 %
%# % !3 1@ 1 &$ &% $ (
##* % #%# /% !
$# 5CC! 0 $# ( /% &% $
; 61 # 17 #%# $ % * %
% $ # # #/%
!
% $# 5CC $# 3 %& $# !
. + $ % #$# &% $ ;
61 # 17!
4 #%# % % # < !
% * % %# $# ##
#- # < !A $ %
) B? # $ % #% B
HH & →
→ → → →
H # <
% &% 1 # 6 * 71
## A
## A
1 %1
#
#
, 1# A ! 1 &$ * $ % I
1# A ! 1 &$ * #% ! .H !5 % %
$% #$ $# 1, #0 1 # #! ,
$ & # !, # =
, $ % H ,9H "
J #% H J3F@H
J #% @ H J3F9D
.
" % % %# 5CC? D9>9 5 & % $#
## ( % /% !< %*
/% !, (% F& #- % %#
# % $# ## !
5 % F& &
→ → → →
→
0 $# # # % 6 ,@47( %
1H # J #% 1 % 1H #1
%& & ! → →
→ →
!, % %#
:G " GH ,9 0 FG<9 ,@ 9GJ F@9 & #- *
9 ( ) $#!
% %# 5CC? D9>9 5 #%# %$%
* % % $ $ # % & (*
#% % %& ( ##* %#=
E #
% ) ) $ %
* The table parameter RTABLE_VAL of type TPLIC_RVAL_TAB
FUNCTION Y##WHENERGY.
*"------------------------------------------------------------------
----
*"*"Local interface:
*" IMPORTING
*" REFERENCE(ID_MATNR) TYPE MATNR
*" REFERENCE(PERIOD_FROM)
*" REFERENCE(PERIOD_CNT)
*"------------------------------------------------------------------
----
* data
* Clear output
CLEAR rtable_val[].
4
* Get master data
SELECT SINGLE *
FROM mara
INTO ls_mara
CASE ls_mara-tempb.
WHEN '01'.
ld_temp_faktor = 1.
WHEN '02'.
ld_temp_faktor = 2.
WHEN '03'.
ld_temp_faktor = 3.
WHEN OTHERS.
ENDCASE.
CASE ls_mara-voleh.
WHEN 'M3'.
WHEN OTHERS.
"nothing to do.
ENDCASE.
DO period_cnt TIMES.
ENDDO.
ENDFUNCTION.
, % % %# # < !
@ % * % %# $# ##
< #- $ # < !
? $ # * /% BD * %$%
/% B
, # 6 : >7(
→ → → →
→ " #$ % →
H # <
#
, % % % #% 1H # 3 # ##0 1
$% &% !5 % % $% &% )$ # * ##
( $ %# ( # $ ! $ #
#
% % =
>% & K%
? + %# ; $
5CC9 G % $ % * # #%
1H #1 %& 6 #
$ % 7! % 5CC? D9>9 5 %
%# % !3 1@ 1 &$ &% $ (
##* % #%# /% !
$# ## % 6 ,@47&
! → → → →
# 1H #1 %& &' ! 1
<% 1 ) %!
<% 5CC9 G % $
&% 1F * F #1
, &$ 1" A 1
F ! <% > 5CC? D9>9 5
, &$ 10 $# 1
" <% > 5CC? D9>9 5
, &$ 1@ 1
, &$ 1 ## #% 1
# 1K% # 1 1"% 1 *!
% &% 1 1
8
$# 5CC! 0 $# ( /% &% $
; 61 # 17 #%# $ % * %
% $ # # #/%
!
$# ## % 6 ,@47 &
! → → → →
1 , $# =
, $# 5CC
9
9 *=
,$ 1"% 1
3&' 1 ; 1
# K% A %&# # + #
0 ( =
5CC9 G % $ 60AGH ,> E 3 H #7L
3 , #
K%
% &% 1 # K% 1
9 1 ,0J91 1# 1 #% !
% $# 5CC $# 3 %& $# !
$# ## % 6 ,@47 &
! → → → →
1 , $# 1=
, $# 3
9
9 *=
% &% 10 *1
,$ 1 %& $# 1
3&' 5CC
# 1 ,0J91
;
. + $ % #$# &% $ ;
61 # 17!
4&
→ → → →
$ & → #
J
< = % $
, % $
< #5 % #
% &% 3 *
H + % $ & !
4 #%# % % # < !
5 % # 6 : >7&
→ → →
→ → " #
$ % →
H # <
#
, % % % #% 1H # 3 # ##0 1
$% &% !5 % % $% &% )$ # * ##
( $ %# ( # $ ! 1 ; 1 *
/% * #%# % % % %#!
! " #$ % !!& &! '
• &!
• ! &! % &!
• !! !
( !
!% * '
01 ( " ! -! -$
&!
0&1 ( & - &! +$ & -
& ! ,
01 ( ! ! - ! -$
&!,
01 3 & - &! ) - ) $ - &
,
. 677 ? (= 95 - ,
! ""
( !
!% * '
01 ( " ! -! -$
&!
0&1 ( & - &! +$ & -
& ! ,
01 ( ! ! - ! -$
&!,
01 3 & - &! ) - ) $ - &
,
→ ! → " → # $%&&
@
! 8 & &!8
& &! 5
. 8 -$8
. ( &! 5
( ( &! 677 5
. AB !=&C D
→ ! → " → # $%&&
! 8 & &!8
& &! 677 5
. A D
( &- 8 !) $ 8
4 % E F -!$G !
!%
. 8 ) 8
→ ! → " → # $%&&
! 8 8
677 (3=;
. 8 8
- - 677
( &- 8 8
($- 8 2 58
; ,
( &- 8< ! 5 8
." < ! 3;3(3
(" 3 !>
." < ! (3<
(" )
." < ! 59 (
(" ?
:
. 8 ) 8
. AB !=&C D
→ ! → " → # $%&&
! 8 ($- 8
($- 677 (3=;
. 8 8
! 8 9! 8
(" - 677
( &- 8 ($- 8
! 89! $($- 8
! 8 8
677 (3=;
( &- 8. ! B & !
8
!& !
!& !
B !& !
2
. 8 ) 8
. 8B !=&C 8
. 677 ? (= 95 - ,
6 ! % & : %$ &
- 677 ? (= 95, $ ) - 0 & & !%1#$
! "
' → (% →$ (
&$ $,
→ ! → ) → !* +
< % B ! &C
B ! &C 77
H
! I( 77
" →
677 ? (= 95 0% - ! 1
(!
($- 8 9" &! 8
. 8 )8
. 8B !=&C 8
3 - - ! #% % !
! 8 8 86778,
*&---------------------------------------------------------------------
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ac400customer.
* Tables
TABLES: kna1.
* Parameters
* Types
* Constants
PERFORM main
USING p_date
r_kunnr[]
p_action.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_P_DATE text
* -->P_R_KUNNR[] text
* -->P_P_ACTION text
*----------------------------------------------------------------------*
FORM main
* data
DATA: lt_kna1 TYPE yt_kna1.
* Authorization check
CALL FUNCTION 'Y_AC400AUTHORITY'
IMPORTING
ed_answer = ld_answer.
CASE ld_answer.
WHEN 'IES'.
"ok
WHEN OTHERS.
J
MESSAGE e600(f1) WITH sy-uname text-001.
ENDCASE.
SELECT *
FROM kna1
* insert ykna1
LOOP AT lt_kna1
INTO ls_kna1.
* Initialize
WHEN 'INITI'.
PERFORM initialize
USING p_date
ls_kna1.
* Activate
WHEN 'ACTIV'.
PERFORM activate
USING p_date
ls_kna1.
* Reactivate
WHEN 'REACT'.
PERFORM react
USING p_date
ls_kna1.
* Undefined input
WHEN OTHERS.
ENDCASE.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
FORM initialize
USING id_date TYPE date_from
* data
SELECT SINGLE *
FROM adrc
INTO ls_adrc
WHERE addrnumber = is_kna1-adrnr
ls_yadrc-date_from = id_date.
INSERT ac400adrc FROM ls_yadrc.
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_ID_DATE text
* -->P_LS_KUNNR text
*----------------------------------------------------------------------*
FORM activate
USING id_date TYPE date_from
* data
SELECT SINGLE *
FROM adrc
INTO ls_adrc
SELECT SINGLE *
FROM ac400adrc
INTO ls_ac400adrc
WHERE addrnumber = is_kna1-adrnr
IF sy-subrc = 0.
* init ls_kna1_new
ls_adrc_new-date_from = gc_first_date.
* Update customers
ls_adrc_old-date_from = id_date - 1.
ls_adrc_old-date_to = id_date - 1.
ELSE.
"nothing to do
ENDIF.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
FORM react
USING id_date TYPE date_from
* data
SELECT *
FROM adrc
IF ld_len > 0.
* Incorrect sentence
LOOP AT lt_adrc
INTO ls_adrc_f
EXIT.
ENDLOOP.
ls_adrc_f-date_from = id_date - 1.
ls_adrc_f-date_to = id_date - 1.
* Correct sentence
ls_adrc_r-date_to = gc_last_date.
"! $ "
. ! ) #$ % - - )! & &$ - +$ 0
1, $ -! +$ ,( - - - -
% .& $ , $# -! - - ,
( !
!% &C * '
01 &! 0- !
1+ $ - )!
0&1 - % ) - - - , !
! #
- +$ - ) !) ,3 +$ & " # -
)! &$ - ,4 ) # % -!$ ,
@
:
#
"! $ "
. ! ) #$ % - - )! & &$ - +$ 0
1, $ -! +$ ,( - - - -
% .& $ , $# -! - - ,
. " -!# !
! - - '
, ' →- →- ' ! $ → → →
"
! ) 08
81, ., 8( !3 8- & ,( &!
8<K( 48 0 !!
$ &! ) %1,6 $0 9 1 + ! + ) %,(
&! ) % <K( 4 ( 4,( &! ( 4 0% $ ) %% 9 :1
- - > - - ,
( !
!% &C * '
01 &! 0- !
1+ $ - )!
0&1 - % ) - - - , !
! #
- +$ - ) !) ,3 +$ & " # -
)! &$ - ,4 ) # % -!$ ,
. % - &! # ! +8
8,
*&---------------------------------------------------------------------*
H
*&---------------------------------------------------------------------*
* size category 0.
* Mandt x Mandt
* Rrcty x Rrcty
* Opvar x Opvar
* Mkoar x Mkoar
REPORT ac400pv.
* Types
* Parameters
* Data
* Set status
SET PF-STATUS '1000'.
USING p_opvar
CHANGING lt_t001b_old.
USING p_opvar
CHANGING lt_ac400t001b.
PERFORM load_periv
USING p_opvar
CHANGING ls_t001.
INTO ls_t001b_old.
PERFORM get_day
USING lt_ac400t001b
ls_t001b_old
CHANGING ls_ac400t001b
ld_day_found.
WHEN 'Y'.
PERFORM check_day
USING ls_t001
ls_ac400t001b
ls_t001b_old
CHANGING ld_result.
J
* Branch according to ld_result
CASE ld_result.
WHEN 'Y'.
* Calculate Customizing
PERFORM calc_t001b
USING ls_t001
ls_t001b_old
CHANGING ls_t001b_new.
* Display Customizing
PERFORM show_t001b
USING ls_t001b_old
ls_t001b_new.
* Undefined
WHEN OTHERS.
ENDCASE.
WHEN OTHERS.
"nothing to do
ENDCASE.
ENDLOOP.
* at user-command
AT USER-COMMAND.
PERFORM do_ucomm
USING sy-ucomm
lt_t001b_new.
*&---------------------------------------------------------------------*
*& Form load_t001b
*&---------------------------------------------------------------------*
FORM load_t001b
USING id_opvar TYPE opvar
* Clear output
CLEAR et_t001b.
* data
* select
SELECT *
FROM t001b
* INTO es_t001b
*&---------------------------------------------------------------------*
*& Form load_ac400t001b
*&---------------------------------------------------------------------*
FORM load_ac400t001b
* Clear output
CLEAR et_ac400t001b[].
* Select
SELECT *
FROM ac400t001b
*&---------------------------------------------------------------------*
*& Form load_periv
*&---------------------------------------------------------------------*
FORM load_periv
* Clear output
CLEAR es_t001.
* get priv
SELECT *
FROM t001
INTO es_t001
EXIT.
ENDSELECT.
*&---------------------------------------------------------------------*
*& Form get_day
*&---------------------------------------------------------------------*
FORM get_day
ed_day_found TYPE c.
* Clear output
CLEAR es_ac400t001b.
ed_day_found = 'N'.
* Get sentence
LOOP AT it_ac400t001b
INTO es_ac400t001b
ed_day_found = 'Y'.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Form check_day
*&---------------------------------------------------------------------*
FORM check_day
* Clear output
CLEAR ed_result.
* data
DATA: ld_systemday TYPE n LENGTH 2.
ld_systemday = sy-datum+6(2).
EXPORTING
i_date = sy-datum
i_periv = is_t001-periv
IMPORTING
e_buper = ld_actbuper
e_gjahr = ld_actgjahr.
ENDIF.
* 2.) Check whether set period < current period
ld_result = ld_result + 1.
ld_result = ld_result + 1.
ENDIF.
IF ld_result = 2.
ed_result = 'Y'.
ELSE.
ed_result = 'N'.
ENDIF.
*&---------------------------------------------------------------------*
FORM calc_t001b
* set output
es_t001b_new = is_t001b_old.
EXPORTING
input_period = is_t001b_old-frpe1
input_year = is_t001b_old-frye1
input_periv = is_t001-periv
IMPORTING
next_period = es_t001b_new-frpe1
next_year = es_t001b_new-frye1.
input_period = is_t001b_old-tope1
input_year = is_t001b_old-toye1
input_periv = is_t001-periv
IMPORTING
next_period = es_t001b_new-tope1
next_year = es_t001b_new-toye1.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
FORM show_t001b
USING is_t001b_old TYPE ys_t001b
WRITE:/ is_t001b_old-mkoar.
is_t001b_old-frpe1,
is_t001b_old-frye1,
'-',
is_t001b_old-tope1,
is_t001b_old-toye1.
is_t001b_new-frye1,
'-',
is_t001b_new-tope1,
is_t001b_new-toye1.
WRITE:/.
*&---------------------------------------------------------------------*
FORM do_ucomm
CASE id_ucomm.
WHEN 'ENTR'.
"nothing to do.
WHEN 'SAVE'.
PERFORM save
USING it_t001b.
LEAVE SCREEN.
WHEN OTHERS.
LEAVE SCREEN.
ENDCASE.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
FORM save
:
%
& !
• )! * $ !
• !! $ -
3 #$ - #
! # ! # ,6 % -
- ! - ,( - ! -!$& ! - ! !
,(
- $- 0 # ! # 1 ! &C ! & ) !&!
-! ,( - $- !& * $,3 !$ $- #!! -
$- ! & ! ,( - & ! - ! $- , -
! $- # - ! ! - - - '
3 ! !
!'
! KKKKKKKKKKK
3 KKKKKKKKKKKK
5 ! ! -$
& ! # ! '
!
! - KKKKKKKKKKKK
5 ! ! !
! ! -
H
%
& !
3 #$ - # ! # ! # ,6 % -
- ! - ,( - ! -!$& ! - ! !
,(
- $- 0 # ! # 1 ! &C ! & ) !&!
-! ,( - $- !& * $,3 !$ $- #!! -
$- ! & ! ,( - & ! - ! $- , -
! $- # - ! ! - - - '
3 ! !
!'
! KKKKKKKKKKK
3 KKKKKKKKKKKK
5 ! ! -$
& ! # ! '
!
! - KKKKKKKKKKKK
5 ! ! !
! ! -
. !!$# - !& " &! ) ,
3 % 9 - ) "
,
= $ ) - 0 -! & !%1# ,6
%$ - =&C ; ) 0 9 1, $ 677 # !
J
8 ! 05 - ( 18 ! &C ,9 $ - 677 9(%
! 8 8,
*&---------------------------------------------------------------------*
LM 5 - 9(
*&
*&---------------------------------------------------------------------*
* Screen 1000 referenced in the report has the following settings
*Properties
*Element list
*Name Type Row Column Def.L. Vis.L. Hght Scrollable Format
*SETHEADER-SETCLASS Text 1 1 22 22 1
*
* Element list (continued)
*SETHEADER-SETCLASS x x x
*GD_SETCLSTEXT x x
*SETHEADER-SETNAME x x x
*ALV
*
* Element list (special attributes and display attributes)
*SETHEADER-SETCLASS O obl.
*GD_SETCLSTEXT N n. poss. x
*SETHEADER-SETNAME poss.
*ALV
*
*Flow logic
** Set status
* module status_1000.
*
** Adjust field name and list
* module adjust_window.
**
*process after input.
* Function keys
REPORT ac400set.
*Referenced tables
TABLES: setheader.
*Data declaration.
*Data instantiation
CREATE OBJECT go_container
dynnr = '1000'
container_name = 'ALV'.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
CASE sy-ucomm.
* Other or undefined
WHEN 'ENTR'
OR ' '.
PERFORM set_selection_status
USING setheader
CHANGING gt_outtab.
* Other commands
WHEN OTHERS.
LEAVE SCREEN.
ENDCASE.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
FORM set_selection_status
* data
CASE is_setheader.
* Undefined/empty parameters
WHEN ls_empty_setheader.
ld_status = 'UNDEF'.
* Unchanged parameters
WHEN ls_old_setheader.
ld_status = 'IDENT'.
WHEN OTHERS.
* First time
IF ls_old_setheader = ls_empty_setheader.
ld_status = 'FIRST'.
* Change
ELSE.
ld_status = 'NEW'.
ENDIF.
* get data
PERFORM get_data
USING is_setheader
CHANGING ct_outtab.
* Update ls_old_setheader
ls_old_setheader = is_setheader.
ENDCASE.
* Remember status
PERFORM remind_status
USING 'SET'
CHANGING ld_status.
*&---------------------------------------------------------------------*
*& Form get_data
*&---------------------------------------------------------------------*
FORM get_data
* Clear output
CLEAR et_outtab[].
* data
CASE is_setheader-setname.
* All objects
WHEN ld_empty_setname.
SELECT *
FROM setheader
* One object
WHEN OTHERS.
SELECT *
FROM setheader
ENDCASE.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
MODULE adjust_window OUTPUT.
PERFORM adjust_window
USING gt_outtab
setheader
CHANGING gd_setclstext.
*&---------------------------------------------------------------------*
FORM adjust_window
USING it_outtab TYPE yt_setheader
* data
DATA: ld_status TYPE string.
* set ld_status
PERFORM remind_status
USING 'GET'
CHANGING ld_status.
* Evaluate status
CASE ld_status.
* Undefined
WHEN 'UNDEF'.
* Maintain cd-setclstext
PERFORM get_setclstext
USING is_setheader
CHANGING cd_setclstext.
* Existing selection
@
WHEN 'IDENT'.
"nothing to do
* First selection
WHEN 'FIRST'.
* Generate ALV
i_structure_name = 'SETHEADER'
CHANGING
it_outtab = gt_outtab.
* Maintain cd_setclstext
PERFORM get_setclstext
USING is_setheader
CHANGING cd_setclstext.
WHEN 'NEW'.
CALL METHOD go_alv->refresh_table_display.
* Maintain cd_setclstext
PERFORM get_setclstext
USING is_setheader
CHANGING cd_setclstext.
WHEN OTHERS.
* Maintain cd_setclstext
PERFORM get_setclstext
USING is_setheader
CHANGING cd_setclstext.
ENDCASE.
ENDFORM. "adjust_window
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* This routine stores the status of selection parameters and
FORM remind_status
* data
* Evaluate action
CASE id_action.
* Set status
WHEN 'SET'.
ld_status = cd_status.
* Read status
WHEN 'GET'.
cd_status = ld_status.
ENDCASE.
ENDFORM. "remind_status
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
FORM get_setclstext
USING is_setheader TYPE ys_setheader
* Clear output
CLEAR ed_setclstext.
* data
EXPORTING
name = 'SETNAMENEW'
langu = sy-langu
IMPORTING
dd04v_wa = ls_dd04v_wa.
* set output
ed_setclstext = ls_dd04v_wa-ddtext.
* Class set
WHEN OTHERS.
* select
SELECT SINGLE *
FROM setclst
INTO ls_setclst
* set output
ed_setclstext = ls_setclst-descript.
ENDCASE.