Date post: | 15-Oct-2015 |
Category: |
Documents |
Upload: | ben-slimane-hatem |
View: | 275 times |
Download: | 10 times |
of 28
5/26/2018 Sap Exercise on Alv Report
1/28
CASESTUDY1:
Functional Description:
The purpose of this development is to display sales order flow information like sales orders,
delivery orders and billing documents. User can download or send email this report.
1. Report need to contain sales order information, delivery information and billing
information and need to display totals and sub-totals of the amount based on the
sales order no delivery document number and billing document number.
2. User can display or download or send mail based on selection of check boes.
Detailed Functional Requirements:
1. !reate a report with following in selection screen. "ll are optional.
A. Selection screen block 1.
i# Radiobutton $%ased on sales documents#
ii# Radiobutton $%ased on &elivery documents#
iii# Radiobutton$ %ased on %illing &ocuments#
iv# 'ales &ocument (umber $)%"*-)%+(#- 'elect option
v# &elivery &ocument (umber$*-)%+(#- 'elect option
vi# %illing &ocument (umber$)%R*-)%+(#- 'elect option
. Selection screen block !.
i# &isplay on screen $!heck %o#
ii# 'end mail $!heck %o#
iii# User & $'elect option with no interval#
iv# &ownload $!heck %o#
v# /ile name$arameter#
5/26/2018 Sap Exercise on Alv Report
2/28
2. +nable and disable select options based on radio button selection.
0. et sales order flow data from )%"*, )%", *, ', )%R*, and )%R.
. et material tet from 3"*T using 3"T(R 4 )%"-3"T(R and 'R"' 4 '5-
"(U.
6. et customer information from *("1 using *U((R 4 *-*U((R.
7. "ccording to user selection display report or download report in ecel format and
send e-mail to '" inbo with ecel attachment.
8. Report need to contain the following fields9
". 'ales document number $)%"*-)%+(#
%. 'ales document item $)%"-:'(R#
!. '& creation date $)%"*-"U&"T#
&. 'ales :rgani;ation $)%"*-)*:R#
+. 'ales group$ )%"*-)%R#
/. 'ales office$)%"*-)*%UR#
. 3aterial$)%"-3"T(R#
. &elivery &ocument (umber$*-)%+(#
*. &elivery &ocuments tem$'-:'(R#
. 'hipping oint$*-"T+#
3. &elivery &ate$*-/&"T#
(. lant$'-?+R*'#
:. 'torage location$ '-:RT#
5/26/2018 Sap Exercise on Alv Report
3/28
. 'hip to party$*-*U((R#
@. 'hip-to-party name$*("1-("3+1#
R. 'hip-to-party city$*("1-:RTA1#
'. %illing document number$)%R*-)%+(#
T. %illing document item$)%R-:'(R#
U. %illing date $)%R*-/*&"T#
). !ompany !ode$)%R*-%UR'#
?. (et value$)%R*-(+T?R#
B. !alculate subtotals and totals for net amount fields $)%R-(+T?R# based on billing
document number and company code.
C.
5/26/2018 Sap Exercise on Alv Report
4/28
PROGRAM CODE:
Report ZSR_427.
tables:vbak,vbap,lips,likp,vbrp,vbrk,makt,kna1,somlreci1.
type-pools:slis.
selection-screenbeginofblockb1 it!frametitlete"t-##1.
parameters: p_sal$oc ra$iob%ttongro%pg1 %ser-comman$ a1 $efa%lt&'
&,
p_$el$oc ra$iob%ttongro%pg1 ,
p_bil$oc ra$iob%ttongro%pg1.
select-options: s_s$no forvbak-vbeln mo$if i$aa1,
s_$$ocno forlikp-vbeln mo$if i$aa2,
s_b$ocno forvbrk-vbeln mo$if i$aa(.
selection-screenen$ofblockb1.
selection-screenbeginofblockb2 it!frametitlete"t-##2.
parameters: p_$is asc!eckbo",
p_mail asc!eckbo",
p_$on asc!eckbo",
p_file likerlgrap-filename.
select-options: s_%ser forsomlreci1-receiver nointervals $efa%ltsy
-%name.
selection-screenen$ofblockb2.
types:beginofty_vbak,
vbeln typevbeln_va,
a%$at typea%$at,
vkorg typevkorg,
vkgrp typevkgrp,
vkb%r typevkb%r,
en$ofty_vbak.
5/26/2018 Sap Exercise on Alv Report
5/28
types:beginofty_vbap,
vbeln typevbeln_va,
posnr typeposnr_va,
matnr typematnr,
matkl typematkl,
en$ofty_vbap.
types:beginofty_lips,
vbeln typevbeln_vl,
vgbel typevgbel,
vgpos typevgpos,
posnr typeposnr_vl,
erks typeerks_$,
lgort typelgort_$,
en$ofty_lips.
types:beginofty_likp,
vbeln typevbeln_vl,
vstel typevstel,
lf$at typelf$at_v,
k%nnr typek%ne,
en$ofty_likp.
types: beginofty_vbrp,
vbeln typevbeln_vf, posnr typeposnr_vf,
vgbel typevgbel,
vgpos typevgpos,
en$ofty_vbrp.
types: beginofty_vbrk,
vbeln typevbeln_vf,
fk$at typefk$at,
b%krs typeb%krs,
netr typenetr,
en$ofty_vbrk.
types: beginofty_makt,
matnr typematnr,
makt" typemakt",
spras typespras,
en$ofty_makt.
types: beginofty_kna1, name1 typename1_gp,
5/26/2018 Sap Exercise on Alv Report
6/28
ort#1 typeort#1_gp,
k%nnr typek%nnr,
en$ofty_kna1.
types: beginofty_final,
vbeln_vbak typevbeln_va,
posnr_vbap typeposnr_va,
a%$at typea%$at,
vkorg typevkorg,
vkgrp typevkgrp,
vkb%r typevkb%r,
matnr typematnr,
makt" typemakt",
matkl typematkl,
vbeln_likp typevbeln_vl,
posnr_lips typeposnr_vl,
vstel typevstel,
lf$at typelf$at_v,
erks typeerks_$,
lgort typelgort_$,
k%nnr typek%ne,
name1 typename1_gp,
ort#1 typeort#1_gp,
vbeln_vbrk typevbeln_vf,
posnr_vbrp typeposnr_vf,
fk$at typefk$at,
b%krs typeb%krs, netr typenetr,
en$ofty_final.
$ata:i_vbak typestan$ar$tableofty_vbak,
a_vbak typety_vbak.
$ata:i_vbap typestan$ar$tableofty_vbap,
a_vbap typety_vbap.
$ata:i_lips typestan$ar$tableofty_lips,
a_lips typety_lips.
$ata:i_likp typestan$ar$tableofty_likp,
a_likp typety_likp.
$ata: i_vbrp typestan$ar$tableofty_vbrp,
a_vbrp typety_vbrp.
5/26/2018 Sap Exercise on Alv Report
7/28
$ata: i_vbrk typestan$ar$tableofty_vbrk,
a_vbrk typety_vbrk.
$ata: i_makt typestan$ar$tableofty_makt, a_makt typety_makt.
$ata: i_kna1 typestan$ar$tableofty_kna1,
a_kna1 typety_kna1.
$ata: i_final typestan$ar$tableofty_final,
a_final typety_final.
$ata:fiel$catalog typeslis_t_fiel$cat_alv it!!ea$erline.
$ata: p_string typestring.
*********************************************************************
******************************************
$ata$oc_$ata likeso$occ!gi1.$ataob)ect_i$ likesoo$k.
$ataob)cont likesoli occ%rs1#it!!ea$erline.
$atareceiver likesomlreci1 occ%rs1it!!ea$erline.
*********************************************************************
******************************************
atselection-screeno%tp%t.
loopatscreen.
case&'&.
!enp_sal$oc.
casescreen-gro%p1.
!en&**1&.
screen-inp%t+ &1&.
!en&**2&.
*
screen-inp%t+ &. screen-o%tp%t+ &.
5/26/2018 Sap Exercise on Alv Report
8/28
*
!en&**(&.
screen-inp%t+ &.
screen-o%tp%t+ &.
en$case.
mo$ifyscreen.
!enp_$el$oc.
casescreen-gro%p1.
!en&**2&.
screen-inp%t+ &1&.
!en&**1&.
screen-inp%t+ &.
screen-o%tp%t+ &.
!en&**(&.
screen-inp%t+ &.
screen-o%tp%t+ &.
en$case.
mo$ifyscreen.
!enp_bil$oc.
casescreen-gro%p1.
!en&**(&.
screen-inp%t+ &1&.
!en&**1&.
screen-inp%t+ &.
screen-o%tp%t+ &.
!en&**2&.
screen-inp%t+ &.
screen-o%tp%t+ &.
en$case.
mo$ifyscreen.
en$case.
en$loop.
start-of-selection.
ifp_sal$oc + &'&.
selectvbeln a%$at vkorg vkgrp vkb%r fromvbak intotablei_vbak
!Rvbeln s_s$no.
5/26/2018 Sap Exercise on Alv Report
9/28
ifsy-s%brc + #an$i_vbak isnotinitial.
selectvbeln posnr matnr matkl fromvbap intotablei_vbap for
al/0RS i_vbak Rvbeln + i_vbak-vbeln.
en$if. ifsy-s%brc + #an$i_vbap isnotinitial.
selectvbeln vgbel vgpos posnr erks lgort fromlips intotable
i_lips 3R*//0RS i_vbap Rvgbel + i_vbap-vbeln *5vgpos
+ i_vbap-posnr.
en$if.
ifsy-s%brc + #an$i_lips isnotinitial.
selectvbeln vstel lf$at k%nnr fromlikp intotablei_likp for
all0RS i_lips Rvbeln + i_lips-vbeln.
en$if.
ifsy-s%brc + #an$i_lips isnotinitial.
selectvbeln posnr vgbel vgpos fromvbrp intotablei_vbrp for
all0RS i_lips Rvgbel + i_lips-vbeln *5vgpos + i_lips-
posnr.
en$if.
ifsy-s%brc + #an$i_vbrp isnotinitial.
selectvbeln fk$at b%krs netr fromvbrk intotablei_vbrk for
all0RS i_vbrp Rvbeln + i_vbrp-vbeln.
en$if.
ifsy-s%brc + #an$i_vbap isnotinitial.
select matnr makt" spras frommakt intotablei_makt foralle
ntrS i_vbap Rmatnr + i_vbap-matnr *5spras + sy-lang%.
en$if.
ifsy-s%brc + #an$i_likp isnotinitial.
selectname1 ort#1 k%nnr fromkna1 intotablei_kna1 foralle
ntrS i_likp Rk%nnr + i_likp-k%nnr.
else.
messagee(68##9 it!&no entries fo%n$&.
en$if.
loopati_vbap intoa_vbap.
rea$tablei_vbak it!keyvbeln + a_vbap-vbeln intoa_vbak.
ifsy-s%brc + #. rea$tablei_lips it!keyvgbel + a_vbap-vbeln vgpos + a_
5/26/2018 Sap Exercise on Alv Report
10/28
vbap-posnr 0a_lips.
ifsy-s%brc + #.
rea$tablei_likp it!keyvbeln + a_lips-vbeln intoa_li
kp.
ifsy-s%brc + #.
rea$tablei_vbrp it!keyvgbel + a_lips-vbeln vgpos +a_lips-posnr 0a_vbrp.
ifsy-s%brc + #.
rea$tablei_vbrk it!keyvbeln + a_vbrp-vbeln into
a_vbrk.
ifsy-s%brc + #.
rea$tablei_makt it!keymatnr + a_vbap-matnr spra
s + sy-lang% 0a_makt.
ifsy-s%brc + #.
rea$tablei_kna1 it!keyk%nnr + a_likp-k%nnr in
toa_kna1.
a_final-vbeln_vbak + a_vbak-vbeln.
a_final-posnr_vbap + a_vbap-posnr.
a_final-a%$at + a_vbak-a%$at.
a_final-vkorg + a_vbak-vkorg.
a_final-vkgrp + a_vbak-vkgrp.
a_final-vkb%r + a_vbak-vkb%r.
a_final-matnr + a_vbap-matnr.
a_final-makt" + a_makt-makt".
a_final-matkl + a_vbap-matkl.
a_final-vbeln_likp + a_likp-vbeln.
a_final-posnr_lips + a_lips-posnr.
a_final-vstel + a_likp-vstel. a_final-lf$at + a_likp-lf$at.
a_final-erks + a_lips-erks.
a_final-lgort + a_lips-lgort.
a_final-k%nnr + a_likp-k%nnr.
a_final-name1 + a_kna1-name1.
a_final-ort#1 + a_kna1-ort#1.
a_final-vbeln_vbrk + a_vbrk-vbeln.
a_final-posnr_vbrp + a_vbrp-posnr.
a_final-fk$at + a_vbrk-fk$at.
a_final-b%krs + a_vbrk-b%krs.
a_final-netr + a_vbrk-netr.
appen$a_final toi_final.
en$if.
en$if.
en$if.
en$if.
en$if.
en$if.
en$loop.
5/26/2018 Sap Exercise on Alv Report
11/28
ifp_$on + &'&.
perform$onloa$.
en$if.
ifp_mail + &'&.
performmail .
en$if.
ifp_$is + &'&.
performb%il$_fiel$catalog.
performalv$isplay.
else.
performnormal_$isplay.
en$if.
elseifp_$el$oc + &'&.
selectvbeln vstel lf$at k%nnr fromlikp intotablei_likp !ere
vbeln s_$$ocno.
ifsy-s%brc + #an$i_likp isnotinitial.
selectvbeln vgbel vgpos posnr erks lgort fromlips intotable
i_lips 3R*//0RS i_likp Rvbeln + i_likp-vbeln.
en$if.
ifsy-s%brc + #an$i_lips isnotinitial.
selectvbeln posnr matnr matkl fromvbap intotablei_vbap for
al/0RS i_lips Rvbeln + i_lips-vgbel *5posnr + i_lips-
vgpos.
en$if.
ifsy-s%brc + #an$i_vbap isnotinitial.
selectvbeln a%$at vkorg vkgrp vkb%r fromvbak intotablei_vb
ak 3R*//0RS i_vbap Rvbeln + i_vbap-vbeln.
en$if.
ifsy-s%brc + #an$i_lips isnotinitial.
selectvbeln posnr vgbel vgpos fromvbrp intotablei_vbrp for
all0RS i_lips Rvgbel + i_lips-vbeln *5vgpos + i_lips-posnr.
5/26/2018 Sap Exercise on Alv Report
12/28
en$if.
ifsy-s%brc + #an$i_vbrp isnotinitial.
selectvbeln fk$at b%krs netr fromvbrk intotablei_vbrk for
all0RS i_vbrp Rvbeln + i_vbrp-vbeln.
en$if.
ifsy-s%brc + #an$i_vbap isnotinitial.
select matnr makt" spras frommakt intotablei_makt foralle
ntrS i_vbap Rmatnr + i_vbap-matnr *5spras + sy-lang%.
en$if.
ifsy-s%brc + #an$i_likp isnotinitial.
selectname1 ort#1 k%nnr fromkna1 intotablei_kna1 foralle
ntrS i_likp Rk%nnr + i_likp-k%nnr.
else.
messagee(68##9 it!&no entries fo%n$&.
en$if.
loopati_lips intoa_lips.
rea$tablei_likp it!keyvbeln + a_lips-vbeln intoa_likp.
ifsy-s%brc + #. rea$tablei_vbap it!keyvbeln + a_lips-vgbel posnr + a_
lips-vgpos 0a_vbap.
ifsy-s%brc + #.
rea$tablei_vbak it!keyvbeln + a_vbap-vbeln intoa_vb
ak.
ifsy-s%brc + #.
rea$tablei_vbrp it!keyvgbel + a_lips-vbeln vgpos +
a_lips-posnr 0a_vbrp.
ifsy-s%brc + #.
rea$tablei_vbrk it!keyvbeln + a_vbrp-vbeln into
a_vbrk.
ifsy-s%brc + #.
rea$tablei_makt it!keymatnr + a_vbap-matnr spra
s + sy-lang% 0a_makt.
ifsy-s%brc + #.
rea$tablei_kna1 it!keyk%nnr + a_likp-k%nnr in
toa_kna1.
a_final-vbeln_vbak + a_vbak-vbeln.
a_final-posnr_vbap + a_vbap-posnr.
a_final-a%$at + a_vbak-a%$at.
a_final-vkorg + a_vbak-vkorg.
a_final-vkgrp + a_vbak-vkgrp. a_final-vkb%r + a_vbak-vkb%r.
5/26/2018 Sap Exercise on Alv Report
13/28
a_final-matnr + a_vbap-matnr.
a_final-makt" + a_makt-makt".
a_final-matkl + a_vbap-matkl.
a_final-vbeln_likp + a_likp-vbeln.
a_final-posnr_lips + a_lips-posnr.
a_final-vstel + a_likp-vstel. a_final-lf$at + a_likp-lf$at.
a_final-erks + a_lips-erks.
a_final-lgort + a_lips-lgort.
a_final-k%nnr + a_likp-k%nnr.
a_final-name1 + a_kna1-name1.
a_final-ort#1 + a_kna1-ort#1.
a_final-vbeln_vbrk + a_vbrk-vbeln.
a_final-posnr_vbrp + a_vbrp-posnr.
a_final-fk$at + a_vbrk-fk$at.
a_final-b%krs + a_vbrk-b%krs.
a_final-netr + a_vbrk-netr.
appen$a_final toi_final.
en$if.
en$if.
en$if.
en$if.
en$if.
en$if.
*
en$loop.
ifp_$on + &'&.
perform$onloa$.
en$if.
ifp_mail + &'&.
performmail .
en$if.
ifp_$is + &'&.
performb%il$_fiel$catalog.
performalv$isplay.
else.
performnormal_$isplay.
en$if.
elseifp_bil$oc + &'&.
5/26/2018 Sap Exercise on Alv Report
14/28
selectvbeln fk$at b%krs netr fromvbrk intotablei_vbrk !ere
vbeln s_b$ocno.
ifsy-s%brc + #an$i_vbrk isnotinitial.
selectvbeln posnr vgbel vgpos fromvbrp intotablei_vbrp forall0RS i_vbrk Rvbeln + i_vbrk-vbeln.
en$if.
ifsy-s%brc + #an$i_vbrp isnotinitial.
selectvbeln vgbel vgpos posnr erks lgort fromlips intotable
i_lips 3R*//0RS i_vbrp Rvbeln + i_vbrp-vgbel *5posnr
+ i_vbrp-vgpos.
en$if.
ifsy-s%brc + #an$i_lips isnotinitial.
selectvbeln vstel lf$at k%nnr fromlikp intotablei_likp for
all0RS i_lips Rvbeln + i_lips-vbeln.
en$if.
ifsy-s%brc + #an$i_lips isnotinitial.
selectvbeln posnr matnr matkl fromvbap intotablei_vbap for
al/0RS i_lips Rvbeln + i_lips-vgbel *5posnr + i_lips-
vgpos.
en$if.
ifsy-s%brc + #an$i_vbap isnotinitial.
selectvbeln a%$at vkorg vkgrp vkb%r fromvbak intotablei_vb
ak 3R*//0RS i_vbap Rvbeln + i_vbap-vbeln.
en$if.
ifsy-s%brc + #an$i_vbak isnotinitial.
selectvbeln posnr matnr matkl fromvbap intotablei_vbap for
al/0RS i_vbak Rvbeln + i_vbak-vbeln.
en$if.
ifsy-s%brc + #an$i_vbap isnotinitial.
select matnr makt" spras frommakt intotablei_makt foralle
ntrS i_vbap Rmatnr + i_vbap-matnr *5spras + sy-lang%.
en$if.
ifsy-s%brc + #an$i_likp isnotinitial.
selectname1 ort#1 k%nnr fromkna1 intotablei_kna1 forallentrS i_likp Rk%nnr + i_likp-k%nnr.
5/26/2018 Sap Exercise on Alv Report
15/28
else.
messagee(68##9 it!&no entries fo%n$&.
en$if.
loopati_vbrp intoa_vbrp. rea$tablei_vbrk it!keyvbeln + a_vbrp-vbeln intoa_vbrk.
ifsy-s%brc + #.
rea$tablei_lips it!keyvbeln + a_vbrp-vgbel posnr + a_
vbrp-vgpos 0a_lips.
ifsy-s%brc + #.
rea$tablei_likp it!keyvbeln + a_lips-vbeln intoa_li
kp.
ifsy-s%brc + #.
rea$tablei_vbap it!keyvbeln + a_lips-vgbel posnr +
a_lips-vgpos 0a_vbap.
ifsy-s%brc + #.
rea$tablei_vbak it!keyvbeln + a_vbap-vbeln into
a_vbak.
ifsy-s%brc + #.
rea$tablei_makt it!keymatnr + a_vbap-matnr spra
s + sy-lang% 0a_makt.
ifsy-s%brc + #.
rea$tablei_kna1 it!keyk%nnr + a_likp-k%nnr in
toa_kna1.
a_final-vbeln_vbak + a_vbak-vbeln.
a_final-posnr_vbap + a_vbap-posnr.
a_final-a%$at + a_vbak-a%$at. a_final-vkorg + a_vbak-vkorg.
a_final-vkgrp + a_vbak-vkgrp.
a_final-vkb%r + a_vbak-vkb%r.
a_final-matnr + a_vbap-matnr.
a_final-makt" + a_makt-makt".
a_final-matkl + a_vbap-matkl.
a_final-vbeln_likp + a_likp-vbeln.
a_final-posnr_lips + a_lips-posnr.
a_final-vstel + a_likp-vstel.
a_final-lf$at + a_likp-lf$at.
a_final-erks + a_lips-erks.
a_final-lgort + a_lips-lgort.
a_final-k%nnr + a_likp-k%nnr.
a_final-name1 + a_kna1-name1.
a_final-ort#1 + a_kna1-ort#1.
a_final-vbeln_vbrk + a_vbrk-vbeln.
a_final-posnr_vbrp + a_vbrp-posnr.
a_final-fk$at + a_vbrk-fk$at.
a_final-b%krs + a_vbrk-b%krs.
a_final-netr + a_vbrk-netr.
appen$a_final toi_final.
en$if.
5/26/2018 Sap Exercise on Alv Report
16/28
en$if.
en$if.
en$if.
en$if.
en$if.
en$loop.
ifp_$on + &'&.
perform$onloa$.
en$if.
ifp_mail + &'&.
performmail .
en$if.
ifp_$is + &'&.
performb%il$_fiel$catalog.
performalv$isplay.
else.
performnormal_$isplay.
en$if.
en$if.
*&-------------------------------------------------------------------
--*
*& Form BUILD_FIELDCATALOG
*&-------------------------------------------------------------------
--*
* text
*--------------------------------------------------------------------
--*
* -->
p1 text
*
5/26/2018 Sap Exercise on Alv Report
17/28
ifp_file isinitial.
callmet!o$ cl_g%i_fronten$_services+file_save_$ialog
e"porting
* !"'o_t!t(e ) Gu!_Do"(oa' Demo
it!_enco$ing + &'& initial_$irectory + &5:;&
c!anging
filename + filename
pat! + pat!
f%llpat! + f%llpat!
+ user_at!o" ) user_at!o"
* ,!(e_e"o'!" ) e"o'!"
e"ceptions
cntl_error + 1
error_no_g%i + 2
not_s%pporte$_by_g%i + (
ot!ers + 4.
ifsy-s%brc _5/*5&
e"porting
* BI_FILE7I8E )
filename + p_string filetype + &5*0&
5/26/2018 Sap Exercise on Alv Report
18/28
* A$$ED )
* 93ITE_FIELD_7E$A3ATO3 )
* :EADE3 ) ;;
* T3UC_T3AILIG_BLA7 )
* 93ITE_LF
)
* COL_7ELECT
) * COL_7ELECT_4A7 )
* DAT_4ODE )
* COFI34_O=E393ITE )
* O_AUT:_C:EC )
* CODE$AGE )
* IGO3E_CE33 ) ABA$_T3UE
* 3E$LACE4ET
)
* 93ITE_BO4
)
* T3UC_T3AILIG_BLA7_EOL )
* 91__FO34AT
)
* 91__7I8E )
* 91_T_FO34AT
)
* 91_T_7I8E )
* 93ITE_LF_AFTE3_LA7T_LIE ) ABA$_T3UE
* 7:O9_T3A7FE3_7TATU7 ) ABA$_T3UE
* I4$O3TIG
* FILELEGT:
)
tables
$ata_tab + i_final
* FIELDA4E7 )
e"ceptions
file_rite_error + 1
no_batc! + 2 g%i_ref%se_filetransfer + (
invali$_type + 4
no_a%t!ority + ?
%nknon_error + @
!ea$er_not_alloe$ + 7
separator_not_alloe$ +
filesiAe_not_alloe$ + 6
!ea$er_too_long + 1#
$p_error_create + 11
$p_error_sen$ + 12
$p_error_rite + 1(
%nknon_$p_error + 14
access_$enie$ + 1?
$p_o%t_of_memory + 1@
$isk_f%ll + 17
$p_timeo%t + 1
file_not_fo%n$ + 16
$ataprovi$er_e"ception + 2#
control_fl%s!_error + 21
ot!ers + 22
.
ifsy-s%brc
5/26/2018 Sap Exercise on Alv Report
19/28
en$if.
en$form. +DO9LOAD
*&-------------------------------------------------------------------
--*
*& Form ?u!('_,!e('ata(o
*&-------------------------------------------------------------------
--*
* text
*--------------------------------------------------------------------
--*
formb%il$_fiel$catalog .
fiel$catalog-fiel$name + &BC/_BC*D&.
fiel$catalog-selte"t_m + &sales $oc%ment no&.
fiel$catalog-col_pos + 1.
fiel$catalog-emp!asiAe + &'&.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &ESR_BC*E&.
fiel$catalog-selte"t_m + &sales $oc%ment item&.
fiel$catalog-col_pos + 2.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &*>5*0&.
fiel$catalog-selte"t_m + &S5 creation 5ate&.
fiel$catalog-col_pos + (.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &BDR=&.
fiel$catalog-selte"t_m + &sales organisation&.
fiel$catalog-col_pos + 4.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &BD=RE&.
fiel$catalog-selte"t_m + &sales gro%p&.
fiel$catalog-col_pos + ?.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &BDC>R&.
fiel$catalog-selte"t_m + &sales office&.
fiel$catalog-col_pos + @.
appen$fiel$catalog . clearfiel$catalog.
5/26/2018 Sap Exercise on Alv Report
20/28
fiel$catalog-fiel$name + &F*0R&.
fiel$catalog-selte"t_m + &material&.
fiel$catalog-col_pos + 7.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &F*D0'&.
fiel$catalog-selte"t_m + &material $escription&.
fiel$catalog-col_pos + .
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &F*0D/&.
fiel$catalog-selte"t_m + &material gro%p&.
fiel$catalog-col_pos + 6.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &BC/_/DE&.
fiel$catalog-selte"t_m + &$elivery $oc%ment no&.
fiel$catalog-col_pos + 1#.
fiel$catalog-emp!asiAe + &'&.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &ESR_/ES&.
fiel$catalog-selte"t_m + &$elivery $oc%ment item&.
fiel$catalog-col_pos + 11. appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &BS0/&.
fiel$catalog-selte"t_m + &s!ipping point&.
fiel$catalog-col_pos + 12.
appen$fiel$catalog .
clearfiel$catalog.
*
fiel$catalog-fiel$name + &/35*0&.
fiel$catalog-selte"t_m + &$elivery $ate&.
fiel$catalog-col_pos + 1(.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &RDS&.
fiel$catalog-selte"t_m + &plant&.
fiel$catalog-col_pos + 14.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &/=R0&.
fiel$catalog-selte"t_m + &storage location&. fiel$catalog-col_pos + 1?.
5/26/2018 Sap Exercise on Alv Report
21/28
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &D>R&.
fiel$catalog-selte"t_m + &s!ip to party&.
fiel$catalog-col_pos + 1@. appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &*F1&.
fiel$catalog-selte"t_m + &s!ip to party name&.
fiel$catalog-col_pos + 17.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &R0#1&.
fiel$catalog-selte"t_m + &s!ip to party city&.
fiel$catalog-col_pos + 1.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &BC/_BCRD&.
fiel$catalog-selte"t_m + &billing $oc%ment no&.
fiel$catalog-col_pos + 16.
fiel$catalog-emp!asiAe + &'&.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &ESR_BCRE&. fiel$catalog-selte"t_m + &billing $oc%ment item&.
fiel$catalog-col_pos + 2#.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &3D5*0&.
fiel$catalog-selte"t_m + &billing $ate&.
fiel$catalog-col_pos + 21.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &C>DRS&.
fiel$catalog-selte"t_m + &company co$e&.
fiel$catalog-col_pos + 22.
appen$fiel$catalog .
clearfiel$catalog.
fiel$catalog-fiel$name + &0R&.
fiel$catalog-selte"t_m + &net val%e&.
fiel$catalog-col_pos + 2(.
fiel$catalog-$o_s%m + &'&.
fiel$catalog-$atatype + &G>RR&.
appen$fiel$catalog . clearfiel$catalog.
5/26/2018 Sap Exercise on Alv Report
22/28
* CALL FUCTIO
3EU7E_AL=_FIELDCATALOG_4E3GE
* E$O3TIG
* I_$3OG3A4_A4E ) 873_52@;;;
* I_ITE3AL_TABA4E ) !_,!"a(
* I_7T3UCTU3E_A4E ) !_,!"a(** I_CLIET_E=E3_DI7$LA# )
** I_ICLA4E )
** I_B#$A77IG_BUFFE3 )
** I_BUFFE3_ACTI=E )
* C:AGIG
* t_,!e('at ) ,!e('ata(o
* ECE$TIO7
* ICO7I7TET_ITE3FACE ) 1
* $3OG3A4_E33O3 ) 2
* OT:E37 )
* 0
* IF
s6-su?r
;0
** 4E77AGE ID 7#-47GID T#$E 7#-47GT# U4BE3 7#-47GO
** 9IT:
7#-47G=1 7#-47G=2 7#-47G= 7#-47G=50
* EDIF0
en$form. + BUILD_FIELDCATALOG
*&-------------------------------------------------------------------
--*
*& Form AL=DI7$LA#
*&-------------------------------------------------------------------
--** text
*--------------------------------------------------------------------
--*
* -->
p1 text
* S_*/B_=R5_5SE/*H&
e"porting
* I_ITE3FACE_C:EC )
* I_B#$A77IG_BUFFE3 )
* I_BUFFE3_ACTI=E )
i_callback_program + sy-repi$
* I_CALLBAC_$F_7TATU7_7ET
)
* I_CALLBAC_U7E3_CO44AD )
* I_CALLBAC_TO$_OF_$AGE )
* I_CALLBAC_:T4L_TO$_OF_$AGE )
* I_CALLBAC_:T4L_ED_OF_LI7T )
* I_7T3UCTU3E_A4E )
* I_BACG3OUD_ID )
* I_G3ID_TITLE )
5/26/2018 Sap Exercise on Alv Report
23/28
* I_G3ID_7ETTIG7 )
* I7_LA#OUT
)
it_fiel$cat + fiel$catalogIJ
* IT_ECLUDIG )
* IT_7$ECIAL_G3OU$7 )
* IT_7O3T )* IT_FILTE3 )
* I7_7EL_:IDE )
* I_DEFAULT
)
*
* !_sa.e )
* I7_=A3IAT
)
* IT_E=ET7 )
* IT_E=ET_EIT
)
* I7_$3IT )
* I7_3E$3E$_ID )
* I_7C3EE_7TA3T_COLU4
) ;
* I_7C3EE_7TA3T_LIE ) ;
* I_7C3EE_ED_COLU4 ) ;
* I_7C3EE_ED_LIE ) ;
* I_:T4L_:EIG:T_TO$ ) ;
* I_:T4L_:EIG:T_ED ) ;
* IT_AL=_G3A$:IC7 )
* IT_:#$E3LI
)
* IT_ADD_FIELDCAT )
* IT_ECE$T_IFO )
* I3_7AL=_FULL7C3EE_ADA$TE3 )
* I4$O3TIG
* E_EIT_CAU7ED_B#_CALLE3 )* E7_EIT_CAU7ED_B#_U7E3 )
tables
t_o%ttab + i_final
e"ceptions
program_error + 1
ot!ers + 2.
ifsy-s%brc
5/26/2018 Sap Exercise on Alv Report
24/28
formmail .
loopati_final intoa_final.
concatenatea_final-vbeln_vbak
a_final-posnr_vbap
a_final-a%$at
a_final-vkorg
a_final-vkgrp
a_final-vkb%r
a_final-matnr
a_final-makt"
a_final-matkl
a_final-vbeln_likp
a_final-posnr_lips
a_final-vstel
a_final-lf$at
a_final-erks
a_final-lgort
a_final-k%nnr
a_final-name1
a_final-ort#1
a_final-vbeln_vbrk
a_final-posnr_vbrp
a_final-fk$at
a_final-b%krs intoob)cont-lineseparate$byspace.
appen$ob)cont.
en$loop.
* !"sert ree!.er sap "ame
refres!receiver.
clearreceiver.
move: sy-%name toreceiver-receiver,
&'& toreceiver-e"press,
&C& toreceiver-rec_type.
appen$receiver.
* !"sert ma!( 'esr!pt!o"
rite&Sen$ing a mail t!ro%g! abap&
to$oc_$ata-ob)_$escr.
callf%nction&S__5G>F0_S5_*E1&
e"porting
$oc%ment_$ata + $oc_$ata
importing
ne_ob)ect_i$ + ob)ect_i$ tables
5/26/2018 Sap Exercise on Alv Report
25/28
ob)ect_content + ob)cont
receivers + receiver
e"ceptions
too_many_receivers + 1
$oc%ment_not_sent + 2
$oc%ment_type_not_e"ist + ( operation_no_a%t!oriAation + 4
parameter_error + ?
"_error + @
enK%e%e_error + 7
ot!ers + .
.
ifsy-s%brc
p1 text*
5/26/2018 Sap Exercise on Alv Report
26/28
a_final-vbeln_vbrk ,
a_final-posnr_vbrp,
a_final-fk$at ,
a_final-b%krs ,
a_final-netr.
en$loop.
en$form. + O34AL_DI7$LA#
'!R++('
5/26/2018 Sap Exercise on Alv Report
27/28
'!R++('
5/26/2018 Sap Exercise on Alv Report
28/28