+ All Categories
Home > Documents > Sap Exercise on Alv Report

Sap Exercise on Alv Report

Date post: 15-Oct-2015
Category:
Upload: ben-slimane-hatem
View: 275 times
Download: 10 times
Share this document with a friend
Popular Tags:

of 28

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


Recommended