Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SAP R3
MDULO ABAP
Data: 26-05-03
1) Em forma de LISTA............................................................................................................................. 6
2) Em forma de GRID .............................................................................................................................. 7
cones: .................................................................................................................................................... 20
Alterando cor de linha: ........................................................................................................................... 22
"
!
!
Module-Pool ........................................................................................................................................... 26
Container: ............................................................................................................................................... 27
Codificao / Explicao:....................................................................................................................... 28
Estruturas ZKNA1 / ZLFA1:.................................................................................................................. 30
PF-STATUS: .......................................................................................................................................... 31
Data: 26-05-03
Viso Geral:
ALV Abap List View - Basicamente uma funo Standard que pega a sua tabela
Menu stander de
funes
Menu Z de funes
Fig. 01
Data: 26-05-03
Exemplo Excel ALV: clicando no boto que chama o Excel, monta-se dentro do ALV
uma planilha Excel.
Fig. 02
Data: 26-05-03
Opo de grfico:
Fig. 03
** Esta opo no foi utilizada no exemplo
Data: 26-05-03
Fig. 04
Data: 26-05-03
2) Em forma de GRID
Fig. 05
Data: 26-05-03
&
)
Data: 26-05-03
$(
$(
./ ." , /&."
!
0.1) +.
8 4! +!
8 "!/ 4! +!
)0&
&
$1; "
$!%3
9< 4
19+)
9"$!
+/$)
= $)
&"="%
"9)>)
% *3
;133
$( &#
$( &#
%
%
3
.
/& !""6. !/
) %* B
*3
2 %* B
3+B
2 %* B
/!B
2 %* B
):B
2 %* B
) %* B(
Data: 26-05-03
3, & %
:
+!
% !3)!"
:
;133
% 3+B
3 /!B
. ):B
+!
. 3!,!+. !"
:
%
%
3
.
*3
3+B
/!B
):B
Variantes
Busca de Variantes previamente geradas:
C
D
D
(
3 )(
3 )(
(
(
")
*1356. $1",
"
3)!" &
. & .9
!/E
F
"
H
,"
3) G
3)!
F
3.) *.13+
G I(
(
(
(
D(
&
*J(
*J(
(
(
./ !") *1356. !",.%4! "!
3)! &
*1356. 3)! . )!34 ) +. "1,!"".(((
J
F
"
3) G
3)!
" !
G
D
!"
3) G
3)!
F
3.) *.13+ G I(
!>!,1)
, ".
(
(
(
D(
Data: 26-05-03
L
D $1",
(
+ +."(
) * 3 %MN
D % (
(
(
Data: 26-05-03
Processamento do ALV:
D
% (
O
D'
H
$1 %+ 4! +!
$1 %+ * !%+, )
"!) % 0.1)
D D
H
* !%+, )
"
% 0.1)
$1 %+ ! !3)) $ H
7
+!* 3
P1!$ " % (
! !3)"
+ "&% 0
% ")(
D
/
!/ !>!,156.(((
+(
F
$
,
,
,
,;9
%%$
%%$
%%$
.13+ +
G
,; & .9 /
G
,; ).& .* & 9!
G
,; 1"! ,.// 3+ G
(((
, %%$ ,; &* ") )1" "!) G
" % 0.1)
G
" !
G
) * !%+, )
G
) ! !3)"
G
) ". )
G
) .1)) $
!& +
DD
"
% 0.1)
) % * !%+, )
) % ! !3)"
) ". ) %
G ) * 3 %
F
& .9 / ! .
G B
H
G I(
"0 "1$ , QR :(
D
"0 /"9 +
"0 /"9)0
D
"0 /"93.
S H "0 /"9 B "0 /"9 I "0 /"9 @ "0 /"9 J(
(
Data: 26-05-03
Definio de CABEALHO:
O
D'
T
T
T
H
$1 %+ 4! +!
. /
)!>)
D
$1 %+ 4! +! (
(((
' %" % ")4! +!
%" % ")4! +! )0&
%" % ")4! +! ;!0
%" % ")4! +!
3*.
%" % ")4! +!
% ")4! +! (
D(
$1 %+ * !%+, )
$1 %+ * !%+, )
' % * !%+, )
% ,.13)
. . .
D(
D
)
* !%+, )(
!) * !%+, )
D
H
% (
* !%+, )(
+ )
!%+, )(
G % ,.13) U B(
,.% &."
G % ,.13)(
* !%+3 /!
G
2
(
!* ) $3 /!
G
(
++ ,)>)
G
(
.1)&1)%!3
G J (
+ ) )0&!
G
H
(
4.)"&.)
G
(
"!%)!>) %
G
/& !" (
!%+, )
!) * !%+, )(
8
Data: 26-05-03
Pode-se atribuir determinado campo para chamar uma funo quando o usurio clicar
duas vezes em cima dele. No exemplo, estamos utilizando isso no campo BELNR que
executa a transao FB03. Para isso, ativar o campo hotspot da tabela et_fieldcat.
VD(
%
%
%
%
%
%
%
D
% *
,.13)
* !%+, )
* !%+, )
* !%+, )
* !%+, )
* !%+, )
* !%+, )
!%+, )(
,.% &."
* !%+3 /!
!* ) $3 /!
++ ,)>)
.1)&1)%!3
+ ) )0&!
G % ,.13) U B(
G % ,.13)(
G
(
G
(
G
(
G B: (
G
H
(
% * !%+, ) 4.)"&.)
F (
% * !%+, ) "!%)!>) %
G
W/( .,( (
% * !%+, )
!) * !%+, )(
D
%
,.13)
* !%+,
* !%+,
* !%+,
* !%+,
* !%+,
* !%+,
* !%+,
* !%+, )(
)
)
)
)
)
)
)
,.% &."
* !%+3 /!
!* ) $3 /!
++ ,)>)
.1)&1)%!3
+ ) )0&!
4.)"&.)
G % ,.13) U B(
G % ,.13)(
G
F (
G
(
G
(
G X: (
G
H
(
G
(
) % Y +. &
% * !%+, ) !+ )
) % Y +. &
% * !%+, ) 3&1)
F (
F (
% * !%+, ) "!%)!>) %
G
>)( K)!/ (
% * !%+, )
!) * !%+, )(
Podemos definir um campo que ao ser mostrado na tela, mostre a sua somatria. No
exemplo abaixo, utilizamos o campo WRBTR.
%.
%
%
%
%
%
%
%
%
%
%
%
%
%
,.13)
* !%+,
* !%+,
* !%+,
* !%+,
* !%+,
* !%+,
* !%+,
* !%+,
* !%+,
* !%+,
* !%+,
* !%+, )(
)
)
)
)
)
)
)
)
)
)
)
,.% &."
* !%+3 /!
) $3 /!
++ ,)>)
.1)&1)%!3
+ ) )0&!
4.)"&.)
"!%)!>) %
<1")
!&)!>) ++ ,
3. Y! .
G % ,.13) U B(
G % ,.13)(
G S
(
G
(
G
(
G BX(
G
(
G F (
G
%. (
G
(
G
%. (
G F (
% * !%+, ) +. "1/
% * !%+, )
Data: 26-05-03
F (
!) * !%+, )(
Definio de LAYOUT:
D
D
"!) % 0.1)
"!) % 0.1)
' !"
!"
% 0.1)(
K D
D
D ((((
!" % % 0.1) +!* 1%)
H
!" % % 0.1) Y!$
DD
!" % % 0.1) *I,.+!
!"
"
%
% 0.1)(
% 0.1)
% (
?Z
)!/
D
G
F (
F (
G
G , + "&% 0(
D(
F (
$1 %+ ! !3)) $
$1 %+ ! !3)) $
)
!)
! !3)"(
! !3)"
! !3)"(
! !3)
%"
%"
%
%
%" % ! !3)"(
! !3)" 3 /! G "% " ! $!*. ! % 3! .1)&1)(
! !3)" *. / G
(
%" % ! !3)"
!) % ! !3)"(
! !3)
%"
%"
DD
(
%" % ! !3)"(
% ! !3)" 3 /! G "% " ! 1"! ,.// 3+(
% ! !3)" *. / G
DD
(
%" % ! !3)"
!) % ! !3)"(
=9 )!% G F (
F
"[ \ !>!,1) +. 3. /.+.
! !3) F
( R
D
D
%" % ! !3)"(
%" % ! !3)" 3 /! G "% " ! !3+ .* % ")(
%" % ! !3)" *. / G F
(
%" % ! !3)"
!) % ! !3)"(
Data: 26-05-03
( R
#
7
%" % ! !3)"(
% ! !3)" 3 /! G "% " ! ).& .* & 9!(
% ! !3)" *. / G
(
%" % ! !3)"
!) % ! !3)"(
(
! !3)
%"
%"
(
%" % ! !3)"(
% ! !3)" 3 /! G "% " ! ).& .* % ")(
% ! !3)" *. / G
(
%" % ! !3)"
!) % ! !3)"(
(
, %%$ ,; *. /"(
")! )!")! !> )! &. " !")!"
&!%.
((
B G :(
D % ).& .* % ")(
D >!3+ .* % ")(
D ).& .* & 9!(
D % 1"! ,.// 3+
% +1//0 1,.//
% +1//0 "!%* !%+(
(
D(
P1!$
+!3
% ")
". ) ) * 3 % $0
P1!$
"
"
% (
% (
) ". ) % (
!* !"4 ) ". ) % (
P1!$
"!
!>!,1) + 3. , /&.
2
&." 56. :B
". ) % "&." G :B (
". ) % * !%+3 /! G
2
(
". ) % ) $3 /! G
(
". ) % 1& G F (
4 ". ) %
S G F (
4 ". ) % "1$).) G F (
8 3 , % Y
,./ F &
4 ". ) % 9 .1& G
(
8 3 , % Y
,./
&
4 ". ) %
) ". ) % (
4
4
4
4
).) % Y 56.
P1!$
...
D(
8 +!* 3
P1!$
"
Definio do ALV:
Esta a funo principal do ALV que executada aps ter definido Layout, colunas,
etc...
+ "&% 0
+(
F
$
,
,
,
,;9
%%$
%%$
%%$
.13+ +
G
,; & .9 /
G
,; ).& .* & 9!
G
,; 1"! ,.// 3+ G
(((
, %%$ ,; &* ") )1" "!) G
" % 0.1)
G
" !
G
) * !%+, )
G
) ! !3)"
G
) ". )
G
) .1)) $
!& +
DD
"
% 0.1)
) % * !%+, )
) % ! !3)"
) ". ) %
G ) * 3 %
F
& .9 / ! .
G B
H
G I(
"0 "1$ , QR :(
D
"0 /"9 +
"0 /"9)0
D
"0 /"93.
S H "0 /"9 B "0 /"9 I "0 /"9 @ "0 /"9 J(
(
Data: 26-05-03
Criao de FORMS:
Aps ter executado a funo, mostrar o relatrio assim como na fig. 01.
Existem alguns forms que sero utilizados. Basta apenas defini-los dentro do seu
programa que a funo ALV o encontra mas tem que definir utilizando a mesma
estrutura logo em baixo seno vai ocorrer Dumping por diferena de campos.
FORM USER_COMMAND:
*---------------------------------------------------------------------*
*
FORM USER_COMMAND
*
*---------------------------------------------------------------------*
form user_command using f_ucomm like sy-ucomm
i_selfield type slis_selfield.
Utiliza-se este form para chamar a transao do link, caso o usurio clique duas vezes
em cima do campo, ele chamara uma transao que voc definiu.
Este campo i_selfield-tabindex possui o numero da linha que o usurio clicou, assim
pode-se dar um read table index i_selfied-tabindex na nossa tabela interna para pegar
todos os dados da linha da nossa tabela interna. Ou pegar o dado do campo value da
tabela i_selfield que seria o registro corrente.
No exemplo, mostra-se a Sntese do Documento chamando-se a transao FB03.
1,.//(
SH
, + "&% 0(
"!%* !%+ * !%+3 /!(
SH
(
,.3"!91
.
+. , /&. \ "[ ! % Y
. "!91 3)!'
BA
BB ?3./! + ) $!%
3. , ".
A
IA % P1! +1&%. 3. ) &. +! , /&. +!"!< +. ?3. , ".
A
@A 3,.3)
"! .
3 , >
K
?
& ^/!) .A
) * 3 %
F
"!%* !%+ ) $ 3+!>(
"0 "1$ , G :(
!")! &.3). "! . ! % Y
1/ % P1! +1&%. 3. , /&.
)!/ "!
+1 "?IA .&5_!"'
BA !
) 3" 56.
:@ !>!,1) ""! ,./ 1/ & ^/!) . &!3 "'
D
"!%* !%+
%1!(
IA !
) 3" 56.
:@ !>!,1) ""! ,./ +. " & ^/!) . ? >!/&%.A'
D
) * 3 % $!%3 (
D
2
) * 3 % $1; "(
:@
2
(
(
(
(
) ;3 B
) %* B
F
F
D D
D D
C
SH
C
C
B
B
(
(
X (
Data: 26-05-03
FORM TOP_OF_PAGE:
*---------------------------------------------------------------------*
*
FORM TOP_OF_PAGE
*
*---------------------------------------------------------------------*
*---------------------------------------------------------------------*
FORM top_of_page.
* Serve para imprimir o cabealho do ALV.
Utiliza-se a funo REUSE_ALV_COMMENTARY_WRITE para imprimir os dados
dentro do ALV. Para isso, temos que preencher a tabela de cabealho definindo o tipo
SLIS_LISTHEADER, que j foi realizado no PERFORM ALV_BUILD_HEADER.
Neste ponto define-se o LOGO tambm.
O
D'
H
$1 %+ 4! +!
DD
F
) % ") ,.//!3)
%.9.
0 G )
G
%
Z
% ")4! +!
( 8
* 91
. /
D >!3+ .* % ")(
=9 )!% G
2
@(
S
' #B:
S
' #I`
(
F (
(
(
D(
Data: 26-05-03
&
3, & %
:
$1; "
$!%3
9< 4
19+)
9"$!
+/$)
= $)
&"="%
"9)>)
% *3
;133
?@:A
) * 3 %
INCLUDE <ICON>.
Para que o campo ICON exista na tab. de impresso, segue exemplo:
$1; " $!%3
= $) &"="%
D $"!9
) * 3
SH
$!%3
"
D
9< 4
19+) 9"$!
"9)>) % *3 ;133
+/$)
%
$!%3 (
G
D
(
F(
%
,.13)
* !%+,
* !%+,
* !%+,
* !%+,
* !%+,
%
* !%+, )(
)
)
)
)
)
*
Data: 26-05-03
G % ,.13) U B(
,.% &."
G % ,.13)(
* !%+3 /!
G
(
!* ) $3 /!
G
(
.1)&1)%!3
G J (
+ ) )0&!
G
H
(
!%+, )
!) * !%+, )(
cone
Fig. 06
Data: 26-05-03
!"
"!) % 0.1)
'
%
%
%
!" %
% 0.1)
% 0.1)
% 0.1)
!"
% 0.1)
% (
% 0.1)(
Y!$
G F (
*I,.+!
G , + "&% 0(
,.%= +)4 .&) / Y! G F (
Nova
COR de
linha
Fig. 07
Data: 26-05-03
Fig. 08
Data: 26-05-03
ALV Mltiplo:
H a possibilidade de ter uma tela com vrios ALVs. Abaixo mostra-se um exemplo
com 2 (dois) ALVs numa mesma tela.
O processo para tal execuo um pouco diferente do ALV estudado acima:
ALV com
dados de
Clientes
ALV com
dados de
Fornecedores
Fig. 09
Data: 26-05-03
1"!
,.// 3+
1,.//
"!%* !%+
,) .3 G
"0 1,.//
"% " "!%* !%+(
F (
1,.//(
SH
, + "&% 0(
( ( (
SH
T
(
!")! &.3). !>&. ) ""! . ,.3)!W+. + " ) $( 3)( &
1) % Y + " 3. & .9 / +!
DW%) &%.(((
F
) ;3 B
D D
C
B
(
F
) %* B
D D
C
B
(
C
SH
"! !/
X (
(
D(
Data: 26-05-03
DD
Fig. 10
Data: 26-05-03
Container:
O CONTAINER nada mais do que o CUSTOM CONTROL.
Fig. 11
Data: 26-05-03
Codificao / Explicao:
D )!")(
'
$( &#
/& !""6. !/
+!
)0&! ;3 B
;133
2 ;3 B ;133
% 3+B
2 ;3 B % 3+B
3 /!B
2 ;3 B 3 /!B
. ):B
2 ;3 B . ):B
)0&! ;3 B
$( &#
%
%
3
.
/& !""6. !/
)0&! %* B
*3
2 %* B %
3+B
2 %* B %
/!B
2 %* B 3
):B
2 %* B .
)0&! %* B(
+!
% !3)!"
. 3!,!+. !"
*3
3+B
/!B
):B
'
$!% "
) ;3 B
) %* B
3)! 3 "
)0&! ;3 B
)0&! %* B
' .; ,.+!
2
!,%
56. +!
]" )
9) ;3 B
9) %* B
"
+. "
%. !"
9 ,.3)
9 ,.3)
: S
: S
H H
H H
"0 1,.//
2 B !
B &
"! !/ !> $ + " 3."
\" + ,4 / + +. D\).+.'
D H
9
)0&! ;3 B
)0&! %* B
9 +B
9 ,1")./ ,.3)
9 ,1")./ ,.3)
3!
3!
,% 91
;3 B
%* B
." 3./!"
.
+B
$ >.'
]" 3 )!%
2 B
B
:B::
+
,% 91
,% 91
,1")./ ,.3)
,1")./ ,.3)
3!
3! (
D
B::(
D
D
&$.
(
D
B:: (
B ?
A &
(
(
3"&. ) ."
%. !" + " ) $( 3)]"( &
+!3) . + " !") 1)1
1) % Y + " 3." /\).+." P1! !>&. ) 6. ."
%. !" &
."
) ;3 B
9) ;3 B(
) %* B
9) %* B(
Data: 26-05-03
! B.
*.
Y .
9 ,1")./ ,.3) 3! ;3 B
(
. .$<!). !>&. ) 3+. . 3./! +.
Z
9 ,1")./ ,.3) 3! ;3 B
F
,.3) 3! 3 /! G 9 ,.3) 3! ;3 B(
.
,./ . 3./! +. .$<!).
9! +.
Z
9 +B
F
& !3) G 9 ,1")./ ,.3) 3! ;3 B(
!
.
!>&. ) 3+.
!") 1)1
aC2 B] ,./ ." + +."
"! !/ !> $ +." 3 ) $( a
2 B]
D H
9 +B R"!) ) $%! *. * ") + "&% 0
F
") 1,)1 ! 3 /! G 2 B
1/
?C2
F
H
) $%
") 1,)1 ! 3 /! G C2 B
) .1)) $
G 9) ;3 B(
(
9 ,1")./ ,.3) 3! %* B
(
Z
9 ,1")./ ,.3) 3! ;3 B
F
,.3) 3! 3 /! G 9 ,.3) 3! %* B(
Z
9 +B
F
& !3) G 9 ,1")./ ,.3) 3! ;3 B(
D H
9 +B R"!) ) $%! *. * ") + "&% 0
F
") 1,)1 ! 3 /! G
B
1/
?C
BA ,./ ." , /&." + ) $%
B
F
") 1,)1 ! 3 /! G C
B
H
) .1)) $
G 9) %* B(
(
D
(
D
D
&
(
! ,) .3 . ,1")./ ! !3)"'
D H
,% 91 ,*=GR+ "& ),4(
.; ,.+!(
SH
F
(
D !> ) & .9 /(
SH
H
(
+. 3.)4 39
(
.; ,.+!(
D
(
).
D !> ) & .9 /(
D H
D H
D(
D(
Data: 26-05-03
D
D
R
SGR
H(
Fig. 12
Fig. 13
Data: 26-05-03
PF-STATUS:
Fig. 14
Data: 26-05-03